@elucidata/tilt
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Tilt

Static website toolkit with Metalsmith underpinnings

npm install --save-dev @elucidata/tilt

Example Configuration

build.js

import { dirname } from 'path';
import { Tilt } from '@elucidata/tilt'
import * as layouts from './theme/layouts.js'

const info = {
  site: {
    title: "A Test Blog",
    author: "Me",
    description: "A simple example of a simple blog. Simple.",
    url: 'http://localhost',
  },
  build: {
    cwd: dirname(new URL(import.meta.url).pathname),
    source: './content',
    destination: './www',
    clean: true,
  }
}

const site = Tilt.configure((site) => { site
  .setBuildInfo(info.build)
  .setSiteInfo(info.site)
  .enableLayouts(layouts)
  .enableGenerators()
  .enableAliases()
  .enableCleanUrls()
  .enableTaxonomy()
  .applyDefaultMetadata({
    "posts/**": {
      layout: "Post",
    },
  })
  .enableCollections({
    "posts/**": {},
  })
  .enableDrafts({
    mode: process.env.NODE_ENV === "production" ? 'purge' : 'mark',
    collections: ["posts"]
  })
  .enableContentRegistry({
    css: `theme/css/shared.css`,
    js: `theme/js/shared.js`
  })
  .copyStaticFiles({
    './assets': './',
    './theme/assets': './theme',
  })
})


console.time("Site built");
console.log("Building...")

site.build((err) => {
  if (err) throw err
  console.timeEnd("Site built");
})

Package Sidebar

Install

npm i @elucidata/tilt

Weekly Downloads

13

Version

1.0.0

License

MIT

Unpacked Size

140 kB

Total Files

148

Last publish

Collaborators

  • elucidata