Skip to content

A metalsmith plugin to render files using ReactJS based templates.

License

Notifications You must be signed in to change notification settings

dahmian/metalsmith-react-templates

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

metalsmith-react-templates

A templating plugin using React.js templates

npm Build Status Code Climate

About

metalsmith-react-templates is a metalsmith plugin to render files using React.js based templates.

Installation

$ npm install metalsmith-react-templates

CLI Usage

Install the node modules and then add the metalsmith-react-templates key to your metalsmith.json plugins. The simplest use case just requires the template engine you want to use:

{
  "plugins": {
    "metalsmith-react-templates": true
  }
}

If you want to specify additional options, pass an object:

{
  "plugins": {
    "metalsmith-react-templates": {
      "baseFile": "base.html",
      "nonStatic": false,
      "directory": "templates"
    }
  }
}

Javascript Usage

Simplest use case:

var templates = require('metalsmith-react-templates');

metalsmith.use(templates());

To specify additional options:

metalsmith.use(templates({
  baseFile: 'base.html'
  nonStatic: false,
  directory: 'templates'
}));

Options

baseFile (optional)

( default: null )

  • Specifies a file which the contents of the react template will render into.
  • This is similar to the index.html file which you React.render() your components in.
  • In your base file, put {{content}} in the location where you want your data will render into.

nonStatic (optional)

( default: false )

  • Since this is a static site generator, by default, it will render the React Templates using renderToStaticMarkup()
  • However, you may choose to make a static site generator with React functionalities (similar to first render from server) and subsequently pull page routes via JavaScript / React.
  • Setting this parameter to true will cause templates to be parsed using renderToString()

directory (optional)

( default: 'templates' )

  • Sets the directory which your react templates (or baseFile) resides.

pattern (optional)

( default: null )

  • specifies a file filter pattern

html (optional)

( default: true )

  • Renames files from *.md to *.html

Other Usage Notes

Specifying Templates

If a rtemplate field is set in the yaml front-matter of your markdown files, metalsmith-react-templates will use the specified template instead of default.jsx

Other Links

About

A metalsmith plugin to render files using ReactJS based templates.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 53.9%
  • CSS 46.1%