mightymite
A minimal static site-generator.
Last updated 5 years ago by elcontraption .
Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install mightymite 
SYNC missed versions from official npm registry.

Mightymite

A tiny (yet mighty) markdown-based content store and API.

Why?

I needed a dead-simple database-less API for accessing content written in markdown with YAML front-matter, that also handles the compilation into JSON and parsing of markdown into HTML. The file-based nature of the API lends itself to hosting anywhere static files may be hosted.

How it works

Content is organized as index.md files within /content, in a hierarchy of directories that will map to the client application routes. Each file is parsed as YAML/markdown, with the body compiled as HTML, and output as JSON to /api.

To avoid unnecessary imports on the client side, documents may import certain collections of other files at compilation time using an import syntax. For instance, you may want to include a limited set of attributes from the latest n blog posts on the home page.

Beyond that, any front-mattter attributes will be available under attributes, and the body HTML will be available at body.

Installation

$ yarn add mightymite # or npm install mightymite

Usage

# View commands and options
$ mightymite --help

# Build
$ mightymite build

# Rebuild on file change
$ mightymite watch

# Specify source or output directories other than the defaults
$ mightymite build --src src --out dist
$ mightymite watch --src src --out dist

Configuration

You may use a custom config file by passing along the config flag:

$ mightymite build --config mightymite.json

And in mightymite.json:

{
  "debug": "true",
  "src": "src",
  "out": "dist"
}

Import syntax

Content from additional files may be imported using the import attribute:

# /content/index.md
title: Home

_import:
  posts:
    match:
      - 'news/**/index.md'
      - '!news/index.md'
    order: date
    sort: desc
    limit: 5
    body: true
    attributes:
      - title
      - date

Data files

Any .yaml files within the content directory will be converted to JSON and moved to their corresponding location in the output directory. Imports are supported.

# /data.yaml

title: My Site

# Let's import the description from the about page
_import:
  about:
    match: '/about/index.md'
    attributes:
      - description

Routes file

A register of all routes are published to the output directory in routes.json.

Current Tags

  • 0.4.5                                ...           latest (2 years ago)

28 Versions

  • 0.4.5                                ...           2 years ago
  • 0.4.4                                ...           2 years ago
  • 0.4.3                                ...           2 years ago
  • 0.4.2                                ...           2 years ago
  • 0.4.1                                ...           2 years ago
  • 0.4.0                                ...           2 years ago
  • 0.3.8 [deprecated]           ...           5 years ago
  • 0.3.7                                ...           5 years ago
  • 0.3.6                                ...           5 years ago
  • 0.3.5                                ...           5 years ago
  • 0.3.4                                ...           5 years ago
  • 0.3.3                                ...           5 years ago
  • 0.3.2                                ...           5 years ago
  • 0.3.1                                ...           5 years ago
  • 0.3.0                                ...           5 years ago
  • 0.2.3                                ...           5 years ago
  • 0.2.2                                ...           5 years ago
  • 0.2.1                                ...           5 years ago
  • 0.2.0                                ...           5 years ago
  • 0.1.9                                ...           5 years ago
  • 0.1.8                                ...           5 years ago
  • 0.1.7                                ...           5 years ago
  • 0.1.6                                ...           5 years ago
  • 0.1.5                                ...           5 years ago
  • 0.1.4                                ...           5 years ago
  • 0.1.3                                ...           5 years ago
  • 0.1.2                                ...           5 years ago
  • 0.1.1                                ...           5 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 1
Dependencies (10)
Dev Dependencies (0)
None
Dependents (1)

Copyright 2014 - 2017 © taobao.org |