reem v0.0.5
Reem
Reem is a static site generator written in JavaScript. Reem reads a source directory into a tree structure, which is then processed internally and then by customizable plugins and middleware. The final tree is rendered and written to the output directory, and the site is ready to host.
Reem has both a command-line interface and a programming interface suitable for personal and automated production of static sites.
Reem is realistic to people's needs; specializing to no single use case, but advocating specialization as much as possible.
Getting Started
Installation
Reem is available on npm and should be installed globally for the command-line interface.
npm -g install reemInitialization
In a chosen static site directory run:
reem --initWhich creates the default folder/file structure:
site
|- layout/
|- output/
|- source/
|- reemfile.jsThe layout directory contains the templates, includes, and other rendering files. The source directory contain posts, assets, directories, and any other files. The output directory contains, well, the output.
The reemfile.js is where Reem can be configured; changing defaults, overriding the default folder structure, and modifying Reem's behavior can all done within this JavaScript file.
Building
The command for building the source directory and writing to the output directory is plainly:
reemAdventure Time!
Reem is a complex beast of unimaginable flexibility, performance, and developer joy. Now that you have her by your side and know how to fight with her, please sit down and read.
Reading
The Reem Wiki has official documentation, tutorials, and examples.
- Introducing Reem, A Philosophy and Features Brief
- Creating a Static Markdown Website, Beginner Tutorial
- Superusing the CLI, Reem's Command-line Guide
- Developing a Great Reem Plugin, Best Practices and Good Manners
Plugins
reem-coffeecompiles CoffeeScript files to JavaScript and supports source maps.reem-drafthides unfinished posts from production builds.reem-flowprovides control structures for adding plugins to Reem.reem-markdownconverts Markdown to HTML.
More Reem plugins can be found on npm.
Contributing
Reem is a relatively new static site generator. To ensure the community their plugins will not potential break every day, Reem will strive to keep any and all changes backwards-compatible until the v1.0.0 release. So basically, v0 is being treated like v1.
Contributions are incredibly welcome. If you find an bug, open an issue. Feature requests are also welcome, but considering making a standalone plugin first. Any pull requests must pass the tests found in test/; if the pull does not pass, please explain why.
# running tests
npm run test