Skip to content
This repository has been archived by the owner on Jul 13, 2024. It is now read-only.

Latest commit

 

History

History
65 lines (45 loc) · 2.33 KB

README.md

File metadata and controls

65 lines (45 loc) · 2.33 KB

Ghostline Framework

Ghostline Framework

DotMH Future Gadget Lab lerna

Ghostline is an opinionated framework for building static sites. It is built atop the Metalsmith static site generator. The framework consists of some practical code i.e. plugins as well as process and methodology.

NOTE These plugins are only designed to work within the Ghostline framework, though they may work fine outside with just standard Metalsmith they make some assumptions including that you are using handlebars for templates.

Plugins

The Framework uses many plugins some developed especially for Ghostline and some Third Party.

Ghostline Plugins

Base

  1. Handlebar Tools - Allows you to load Partials and Helpers so views have access
  2. Handlebar Content - Allows you to use partials in content pages
  3. Gallery - Allows the embedding of a gallery by scanning a folder
  4. Draft Excluder - Stops draft posts from been published
  5. Meta Loader - Loads in global metadata in a connivent easy to use way.
  6. Includes - Allows the including of a page and all its data in another page
  7. Inherit - Inherit meta data from another page
  8. Is Current - Find the current page
  9. List - Allows the listing of pages in another page
  10. Image Manger - Helps when embedding images

Optional

These optional plugins allow you to add extra functionality

  1. Image Colors - find the dominant colors in your images
  2. Storybook Renderer - Build a storybook out of your handlebar partials
  3. Meta Data Debugger - Debug issues with meta data
  4. Countdown - Add a counter to your site

Installing

You can install plugins individually click on a plugin to go to its readme to see how.

Bundles

There are also packages for 'Base' , 'Optional' and 'All'

Installs all the plugins under the base heading above.

Install with

npm i @ghostline/bundle-<BUNDLE>

i.e.

npm i @ghostline/bundle-base 

You can then use them by including the individual plugins from the bundle, for example for ghostline/bundle-base

const {handlebarContents} = require('@ghostline/bundle-base');