• Stars
    star
    3,048
  • Rank 14,780 (Top 0.3 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 9 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Client-Side JavaScript Site Generator

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.

More Repositories

1

simplestore

A clean, responsive storefront boilerplate with no database or backend
JavaScript
499
star
2

awesome-odroid-go

🕹 A collection of awesome ODROID-GO emulators, games & resources 👾
167
star
3

webden

Open source mobile friendly code playground 📱
JavaScript
144
star
4

itg_flat_vim

Port of the awesome Sublime Text theme itg.flat for VIM
Vim Script
40
star
5

OPZgo

Ultra-portable backups for Teenage Engineering's OP-Z
Python
35
star
6

cms.js-themes

Themes and Templates for CMS.js
HTML
32
star
7

pwa-calculator

A Progressive Web App Calculator with offline support
CSS
29
star
8

cms.js-starter

Starter Template for CMS.js
HTML
17
star
9

jsden

Minimal JavaScript Playground ⌨️
JavaScript
13
star
10

clog.js

Render JavaScript console messages to HTML
9
star
11

arduboy-flashcart-loader

Single command index, build and upload for the Arduboy FX
Python
6
star
12

slim-rest-api-demo

Basic REST API Demo Using Slim Framework
PHP
4
star
13

slim-cars

A Simple REST API using Slim Framework
PHP
4
star
14

VimJs

Fork of Lu Wang's Vim.js w/ some modifications
Vim Script
3
star
15

slim-cars-frontend

A Front-end for REST API using Slim Framework
JavaScript
2
star
16

sqljs-demo

Demo using SQLite database with client side SQL.js library
JavaScript
2
star
17

vuetify-vuex-aws-cognito-starter

Implements a basic authentication flow for signing up/signing in users as well as protected client side routing using AWS Cognito, Vuetify, Vuex, and Vue Router
Vue
2
star
18

blog

Tutorials, resources and tips for web devs
HTML
1
star
19

linuxjs

C
1
star
20

dotfiles

Vim Script
1
star
21

car-three.js

WebGL 3D Car example with Three.js and tQuery
JavaScript
1
star
22

cdmedia.github.io

HTML
1
star