kujo v1.1.15
kujo
kujo is a simple Node.JS static site generator that supports single file modular themes written in handlebars.
Much like jekyll, it provides a single command CLI tool to build Markdown + YAML frontmatter article files into ready to deploy static websites.
Compared to bulky dynamically generated sites, a static site made with kujo has some advantages:
- is super lightweight and loads super fast
- fits on all your screens (and it's mobile first)
- looks the same in all your browsers
- accessible to everyone that visits your site
- legible and gets your point across
- can be hosted for free with github pages
It was inspired by the the mu CSS framework, a classless 1 kb CSS framework that can be easily extended and customised.
kujo's website was built with kujo itself, check out the repo.
website - getting started
kujo builds Markdown + frontmatter assets into ready to deploy HTML5 websites. It provides functions to manage and iterate over directories of articles and it provides a small but powerful view engine based on handlebars.
Strive for simplicity:
By now, the source code counts for ~500 lines of code
, including view templates, the CLI app and the main library. kujo tries to use the most out of ES6 and modern Node.JS features such as asynchronous functions, fs/promises and template literals.
Strive for customisation:
By default, kujo spits out CSS-less and class-less HTML files. To tweak your website, you can add a custom CSS theme file, or you can tweak and replace the views that are used to generate the HTML build. By extending the view templates, you can have fine grained control over every element of your site.
kujo also provides options to extend the Markdown parser with features such as syntax highlighting, text beautification and inline HTML. Support for custom blocks is coming soon!
Installing
kujo requires Node.JS >= 10 and npm installed on your system.
To use the CLI interface install kujo globally:
npm install -g kujo
To check if you have installed kujo correctly, you can run this command which will display the usage help :
kujo --help
You may want to download the kujo source code manually. To do so run:
git clone https://github.com/0x0f0f0f/kujo
After downloading the repo, you can install the dependencies by running
cd kujo
npm install
Usage
Check out the Getting Started guide, or take a look at some open source websites made with kujo:
If you'd like to add your kujo website to this list, open a PR.
Roadmap
- Base library
- Native filesystem promises (Node >=10)
- Internal frontmatter parser
- CLI interface
- Github Pages Website
- API documentation
- Custom blocks
License
kujo is distributed under the MIT license
Contributing
Pull requests are welcome! If you encounter any problem with this repository, you can open an issue or you can open a pull request.