Back to rankings

chrisdiana/cms.js

JavaScriptchrisdiana.github.io/cms.js

Client-Side JavaScript Site Generator

javascriptstatic-site-generatorfile-basedsingle-page-appmarkdownmarkdown-parser
Star Growth
Stars
3.1k
Forks
281
Weekly Growth
Issues
15
1.5k2k2.5k3k
Jan 2016Jul 2019Jan 2023Jul 2026
Artifactsnpmnpm install cms.js
README

CMS.js Logo

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.).

CMS.js Screenshot

Join the chat at https://discord.gg/A2cHjg3 Join the chat at https://gitter.im/cms-js/community Version npm version License

English | 简体中文

WebsiteDocsNewsletterDemo

New Features in Version 2

  • Zero dependencies
  • Abstract types
  • Custom Templates
  • Search, Filtering, Tagging and Sorting
  • Github & Server Mode
  • Extendable Markdown Renderer and Plugins
  • Super small footprint - 10kb minified

Demo

Check out a working demo here

Quick Start

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.

  1. Clone the starter repo: git clone https://github.com/chrisdiana/cms.js-starter.git or download the latest release here
  2. Configure js/config.js to your liking
  3. Make sure to set your Github settings in js/config.js if using Github mode
  4. If using Github mode, create a new branch from your master or working branch called gh-pages (Github's default branch for hosting)
  5. Visit your site! (which should be located at https://yourusername.github.io/cms.js-starter)

CDN

You can also get started using the CDN:

<script src="https://unpkg.com/@chrisdiana/cmsjs"></script>

Themes

Try out CMS.js with a variety of popular CSS frameworks such as Bootstrap, Foundation, and Bulma. Check out all the themes available here.

CMS.js Themes

Documentation

Check out the rest of the documentation on how to use configuration settings, options, etc. at the Wiki.

How it works

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.

Migration from Jekyll

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.

Coming soon!

  • Pagination
  • Template caching
  • Loader
  • CLI Utilities

Thanks!

Contributing

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!

List of contributors

You can find the list of contributors here.

Related repositories
freeCodeCamp/freeCodeCamp

freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.

TypeScriptnpmBSD 3-Clause "New" or "Revised" Licenselearn-to-codenonprofits
contribute.freecodecamp.org
452.4k45.6k
practical-tutorials/project-based-learning

Curated list of project-based tutorials

PythonPyPIMIT Licensetutorialproject
274.6k35.4k
react/react

The library for web and native user interfaces.

JavaScriptnpmMIT Licensejavascriptreact
react.dev
246.7k51.3k
facebook/react

The library for web and native user interfaces.

JavaScriptnpmMIT Licensejavascriptreact
react.dev
233k47.8k
vuejs/vue

This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core

TypeScriptnpmMIT Licensevuejavascript
v2.vuejs.org
210.1k33.8k
trekhleb/javascript-algorithms

📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings

JavaScriptnpmMIT Licensejavascriptalgorithms
196.3k31k
getify/You-Dont-Know-JS

A book series (2 published editions) on the JS language.

Otherbook-seriesjavascript
amazon.com/dp/B085XXCJ7X
184.6k33.5k
twbs/bootstrap

The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.

MDXMIT Licensecssbootstrap
getbootstrap.com
174.5k78.7k
airbnb/javascript

JavaScript Style Guide

JavaScriptnpmMIT Licensejavascripteslint
148.1k26.6k
Chalarangelo/30-seconds-of-code

Coding articles to level up your development skills

JavaScriptnpmCreative Commons Attribution 4.0 Internationalawesome-listjavascript
30secondsofcode.org
128.5k12.5k
electron/electron

:electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS

C++MIT Licenseelectronjavascript
electronjs.org
122.1k17.3k
nodejs/node

Node.js JavaScript runtime ✨🐢🚀✨

JavaScriptnpmOthernodejsjavascript
nodejs.org
118.4k36.2k