Nomad Packaging Mechanism

    stationary-md

    2.1.2 • Public • Published

    Stationary

    Stationary is a dead simple tool to generate a static blog from markdown files. Its aims are to be;

    • Simple to configure
    • Simple to style

    npm install -g stationary-md

    Config

    properties:
      author:
        name: Amman Vedi
        links:
          main: https://github.com/ammanvedi
      stylesheets:
        post: styles/post.scss
        index: styles/index.scss
      markdown:
        source: mock-markdown
      templates:
        index: templates/index.html
        post: templates/post.html
      output:
        directory: _generated/
      extra:
        template: templates/extra.html
          stylesheet: styles/extra.scss
          slug: test-extra

    Markdown

    Markdown is parsed and generated into html with Marked, so if it works here then it will be fine when passed through this generator

    Markdown source directory should contain a set of markdown files and associated yaml metadata file

    my-post.md
    my-post.yaml

    The yaml file should contain metadata, here is an example

    publishDate: "2020-06-16T18:00:28+0000"
    tags:
      - flow
      - javascript
      - type-theory
    title: flow's type inference quirk
    slug: flow-type-inference-quirk-vs-typescript
    imageUrl: ''

    this config will be passed to you in your templates

    Templates

    A template should be provided for the index page and the posts page. Both of these use handlebars syntax.

    Index templates are passed the following model

    export type IndexModel = {
        styles: string,
        config: Config, // the stationary.config.yaml as json
        posts: Array<PostMetadata & {link: string}> // post metadata yaml as json
    }

    Post templates are passed;

    export type PostModel = {
        styles: string,
        metadata: PostMetadata,
        content: string,
        nextPost: PostMetadata | null,
        previousPost: PostMetadata | null
    }

    Examples

    You can see a complete example usage in the test/ folder

    Developing

    npm install - To install packages

    npm run build - To build the package

    npm run mock - to run the generator on some mock blog posts

    npm run serve-test - to start a server on port 6003 to view mock output

    Keywords

    none

    Install

    npm i stationary-md

    DownloadsWeekly Downloads

    2

    Version

    2.1.2

    License

    MIT

    Unpacked Size

    251 kB

    Total Files

    37

    Last publish

    Collaborators

    • ammanvedi