Client-Side JavaScript Site Generator
CMS.js is a fully Client-side, JavaScript Markdown Site generator in the spirit of Jekyll that uses plain ol' HTML, CSS and JavaScript to generate your website. CMS.js is like a file-based CMS. It takes your content, renders Markdown and delivers a complete website in Single-Page App fashion...without the aid of server-side scripting (no Node.js, PHP, Ruby, etc.).
English | 简体中文
Website • Docs • Newsletter • Demo
Check out a working demo here
CMS.js supports two website modes, Github and Server. Host your website on Github using Github Pages (similar to Jekyll) or use Server mode if you choose to self host your content. Learn more about server mode and setup here.
git clone https://github.com/chrisdiana/cms.js-starter.git
or download the latest release here
js/config.js
to your likingjs/config.js
if using Github modegh-pages
(Github's default branch for hosting)https://yourusername.github.io/cms.js-starter
)You can also get started using the CDN:
<script src="https://unpkg.com/@chrisdiana/cmsjs"></script>
Try out CMS.js with a variety of popular CSS frameworks such as Bootstrap, Foundation, and Bulma. Check out all the themes available here.
Check out the rest of the documentation on how to use configuration settings, options, etc. at the Wiki.
Github Mode
In Github mode, CMS.js uses the Github API to get the content of your repo and serve them as a full website.
Server Mode
In Server mode, CMS.js takes advantage of the Server's Directory Indexing feature. By allowing indexes, CMS.js sends an AJAX call to your specified folders and looks for Markdown or HTML files. After they are found, it takes care of everything else and delivers a full website.
Importing Posts
Once CMS.js is installed and running, simply copy all of your posts from your Jekyll project's _post
folder to your designated CMS.js posts folder.
Importing Pages
Copy all of your Markdown pages from your Jekyll projects root folder into your designated CMS.js pages folder.
All forms of contribution are welcome: bug reports, bug fixes, pull requests and simple suggestions. If you do wish to contribute, please check out the Contributing Guide before making a pull request. Thanks!
You can find the list of contributors here.