# metalsmith-scaffold

> A quite comprehensive setup based on Metalsmith to create a static website.

Latest version **0.1.0** (published 2015-12-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install metalsmith-scaffold
pnpm add metalsmith-scaffold
yarn add metalsmith-scaffold
bun add metalsmith-scaffold
```

## Health

**Score 5/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: insecure dependencies; abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2015-12-26 |
| First published | 2015-12-26 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 21 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Stefan Walther |
| Maintainers | stefanwalther |

## Links

- npm: https://www.npmjs.com/package/metalsmith-scaffold
- npm.io page: https://npm.io/package/metalsmith-scaffold

## Dependencies (21)

- [del](https://npm.io/package/del.md) ^2.2.0
- [glob](https://npm.io/package/glob.md) ^6.0.2
- [colors](https://npm.io/package/colors.md) ^1.1.2
- [moment](https://npm.io/package/moment.md) ^2.10.6
- [handlebars](https://npm.io/package/handlebars.md) ^4.0.5
- [metalsmith](https://npm.io/package/metalsmith.md) ^2.1.0
- [helper-hybrid](https://npm.io/package/helper-hybrid.md) ^0.2.2
- [extend-shallow](https://npm.io/package/extend-shallow.md) ^2.0.1
- [metalsmith-less](https://npm.io/package/metalsmith-less.md) ^2.0.0
- [metalsmith-tags](https://npm.io/package/metalsmith-tags.md) ^1.1.0
- [metalsmith-debug](https://npm.io/package/metalsmith-debug.md) 0.0.2
- [metalsmith-assets](https://npm.io/package/metalsmith-assets.md) ^0.1.0
- [metalsmith-drafts](https://npm.io/package/metalsmith-drafts.md) github:stefanwalther/metalsmith-drafts#draft-default
- [metalsmith-rename](https://npm.io/package/metalsmith-rename.md) ^1.0.0
- [handlebars-helpers](https://npm.io/package/handlebars-helpers.md) ^0.5.8
- [metalsmith-layouts](https://npm.io/package/metalsmith-layouts.md) ^1.4.2
- [metalsmith-in-place](https://npm.io/package/metalsmith-in-place.md) ^1.3.2
- [metalsmith-markdown](https://npm.io/package/metalsmith-markdown.md) ^0.2.1
- [metalsmith-permalinks](https://npm.io/package/metalsmith-permalinks.md) ^0.4.0
- [metalsmith-collections](https://npm.io/package/metalsmith-collections.md) ^0.7.0
- [metalsmith-register-helpers](https://npm.io/package/metalsmith-register-helpers.md) ^0.1.2

## Recent versions

- 0.1.0 (latest) — 2015-12-26

## README

# metalsmith-scaffold

> A quite comprehensive setup based on Metalsmith to create a static website.

**Work in progress: stay tuned**

## About

The goal of this project is to create a nice scaffold using Metalsmith which can then be used in multiple projects with very little configuration.

### Status so far

What's planned (not everything covered right now):

* [x] Markdown conversion
* [x] Less conversion
* [x] Cleaning the build directory
* [x] Error handling to ensure that everything went well
* [ ] Error notification
* **Different:**

  - [x] layouts
  - [x] content types
  - [] collections

* **Dynamic loading** of:
  - [x] handlebar templates
  - [x] partials
  - [] Metalsmith plugins

* Site **features**:
  - [x] Tags
* Full test coverage to ensure that everything continues to work

## Configuration

Configuring the scaffold is very similar to using [metalsmith-cli](https://github.com/segmentio/metalsmith#cli), but the big difference is still, that no CLI is used, everything is nicely available in a JavaScript API.
Therefore much easier to deploy programmatically and output can be automatically tested.

### Configuration Options

The following options needs to be defined to get the project up and running:

#### Source

```json
source: "path/to/source"
```

Reference: [metalsmith#sourcepath](https://github.com/segmentio/metalsmith#sourcepath)

#### Destination

```json
destination: "path/to/destination"
```

Reference: [metalsmith#destinationpath](https://github.com/segmentio/metalsmith#destinationpath)

#### Markdown

```json
markdown: {
    smartypants: true,
    smartLists: true,
    gfm: true,
    tables: true
}
```

Reference: [metalsmith-markdown](https://github.com/segmentio/metalsmith-markdown) resp. [marked](https://github.com/chjj/marked)

#### Layouts

```json
layouts: {
    directory: path.join( __dirname, "./fixtures/setup/layouts" ),
    partials: path.join( __dirname, "./fixtures/setup/partials" ),
    engine: "handlebars",
    default: "default.hbt",
    pattern: "*.hbt"
}
```

Reference: [metalsmith-layouts](https://github.com/superwolff/metalsmith-layouts)

#### Inplace

```json
inPlace: {
    engine: "handlebars",
    pattern: "**/*.md"
}
```

Reference: [metalsmith-inplace](https://github.com/superwolff/metalsmith-in-place)

#### Register helpers

> Register Handlebar helpers automatically.

```json
registerHelpers: {
    "directory": path.join( __dirname, "./fixtures/setup/helpers" )
}
```

Reference: [metalsmith-register-helpers](https://github.com/losttype/metalsmith-register-helpers)

#### Drafts

> Enable drafts

```json
drafts: {
    default: true
},
```

Reference: [metalsmith-drafts](https://github.com/segmentio/metalsmith-drafts)
(actually in the project I have used a modification of metalsmith-drafts which considers all documentes as draft by default: [stefanwalther/metalsmith-drafts](https://github.com/stefanwalther/metalsmith-drafts))

#### Assets

> Copy assets to the output directory.

```json
assets: {
    source: path.join(__dirname, "./fixtures/content/assets"),
    destination: "./assets"
}
```

Reference: [metalsmith-assets](https://github.com/treygriffith/metalsmith-assets)

## Author

**Stefan Walther**

+ [qliksite.io](http://qliksite.io)
* [twitter/waltherstefan](http://twitter.com/waltherstefan)
* [github.com/stefanwalther](http://github.com/stefanwalther)

## License

Released under the MIT license.

***

_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on December 26, 2015._

---
_Source: https://npm.io/package/metalsmith-scaffold · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
