|
1 | 1 | 
|
2 | 2 |
|
3 |
| -**UPDATES COMING SOON!** |
4 |
| - |
5 |
| -CMS.js is fully client-side, Javascript site generator in the spirit of [Jekyll](https://github.com/jekyll/jekyll) |
6 |
| -that uses plain ol' HTML, CSS and Javascript to generate your website. CMS.js is like a file-based CMS. |
7 |
| -It takes your content, renders Markdown and delivers a complete website in Single-Page |
8 |
| -App fashion...without the aid of server-side scripting (no Node.js, PHP, Ruby, etc.). |
| 3 | +CMS.js is fully **C**lient-side, JavaScript **M**arkdown **S**ite generator in the spirit of [Jekyll](https://github.com/jekyll/jekyll) that uses plain ol' HTML, CSS and JavaScript to generate your website. CMS.js is like a file-based CMS. |
| 4 | +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.). |
9 | 5 |
|
10 | 6 | 
|
11 | 7 |
|
| 8 | +## New Features in Version 2.0 |
| 9 | + |
| 10 | +* Zero dependencies |
| 11 | +* Abstract types |
| 12 | +* Custom Templates |
| 13 | +* Search, Filtering, Tagging and Sorting |
| 14 | +* Github & Server Mode |
| 15 | +* Extendable Markdown Renderer and Plugins |
| 16 | +* Super small footprint - 8kb minified |
12 | 17 |
|
13 | 18 |
|
14 | 19 | ## Demo
|
15 | 20 |
|
16 |
| -Check out a working [demo here](http://chrisdiana.github.io/cms.js/demo/) |
| 21 | +Check out a working [demo here](http://chrisdiana.github.io/cms.js/demo) |
17 | 22 |
|
18 | 23 |
|
19 | 24 | ## Quick Start
|
20 | 25 |
|
21 |
| -CMS.js currently supports two website modes, Github and Server. |
22 |
| - |
23 |
| -**Github Mode** |
24 |
| - |
25 |
| -This is the default mode for CMS.js. Host your website on Github using |
26 |
| -Github Pages, similar to Jekyll. |
27 |
| - |
28 |
| -**Server Mode** |
29 |
| - |
30 |
| -Use server mode if you choose to self host your content. Apache and NGINX servers are supported. |
31 |
| -If using server mode, make sure the server's directory indexing feature is enabled. |
| 26 | +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](https://github.com/chrisdiana/cms.js/wiki/Server-Mode). |
32 | 27 |
|
33 |
| -* Apache - Make sure `htaccess` is enabled OR `Options Indexes` is set for your directory. |
34 |
| -* NGINX - Make sure `autoindex on` is set for your directory |
| 28 | +1. Clone the starter repo: `git clone https://github.com/chrisdiana/cms.js-starter.git` or download the [latest release](https://github.com/chrisdiana/cms.js/releases/latest) |
| 29 | +2. Configure `js/config.js` to your liking |
| 30 | +3. Make sure to set your Github settings in `js/config.js` if using Github mode |
| 31 | +4. If using Github mode, create a new branch from your master or working branch called `gh-pages` (Github's default branch for hosting) |
| 32 | +5. Visit your site! |
35 | 33 |
|
36 |
| -More info on server setup is available on the [wiki](https://github.com/chrisdiana/cms.js/wiki/Server-Support-&-Setup) |
37 | 34 |
|
| 35 | +## Themes |
38 | 36 |
|
39 |
| -**Install** |
| 37 | +Try out CMS.js with a variety of popular CSS frameworks such as Bootstrap, Foundation, and Bulma. Check out all the themes [available here](https://github.com/chrisdiana/cms.js-themes). |
40 | 38 |
|
41 |
| -1. Clone the repo: `git clone https://github.com/chrisdiana/cms.js.git` or download the [latest release](https://github.com/chrisdiana/cms.js/releases/latest) |
42 |
| -2. Configure `js/config.js` to your liking |
43 |
| -3. Make sure to set your `githubUserSettings` in `js/config.js` if using Github mode |
44 |
| -4. If using Github mode, create a new branch from your master or working branch called `gh-pages` |
45 |
| - (Github's default branch for hosting) |
46 |
| -5. Visit your site! |
| 39 | + |
47 | 40 |
|
48 | 41 |
|
49 | 42 | ## How it works
|
50 | 43 |
|
51 | 44 | **Github Mode**
|
52 | 45 |
|
53 |
| -In Github mode, CMS.js uses the Github API to get the content of your gh-pages repo |
54 |
| -and serve them as a full website. |
| 46 | +In Github mode, CMS.js uses the Github API to get the content of your repo and serve them as a full website. |
55 | 47 |
|
56 | 48 | **Server Mode**
|
57 | 49 |
|
58 |
| -In Server mode, CMS.js takes advantage of the Server's Directory Indexing feature. By allowing indexes, |
59 |
| -CMS.js sends an AJAX call to your specified folders and looks for Markdown files. |
| 50 | +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. |
60 | 51 | After they are found, it takes care of everything else and delivers a full website.
|
61 | 52 |
|
62 | 53 |
|
63 | 54 | ## Migration from Jekyll
|
64 | 55 |
|
65 | 56 | **Importing Posts**
|
66 | 57 |
|
67 |
| -Once CMS.js is installed and running, simply copy all of your posts from your Jekyll |
68 |
| -project's `_post` folder to your designated CMS.js posts folder. |
| 58 | +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. |
69 | 59 |
|
70 | 60 | **Importing Pages**
|
71 | 61 |
|
72 |
| -Copy all of your Markdown pages from your Jekyll projects root folder into your designated |
73 |
| -CMS.js pages folder. |
| 62 | +Copy all of your Markdown pages from your Jekyll projects root folder into your designated CMS.js pages folder. |
| 63 | + |
| 64 | + |
| 65 | +## Coming soon! |
| 66 | + |
| 67 | +* Pagination |
| 68 | +* Template caching |
| 69 | +* Loader |
| 70 | +* CLI Utilities |
74 | 71 |
|
75 | 72 |
|
76 | 73 | ## Thanks!
|
77 | 74 |
|
78 | 75 | * [Poole](https://github.com/poole/poole) (*Default Theme*)
|
79 |
| -* [jQuery](https://jquery.com/) |
80 |
| -* [Marked](https://github.com/chjj/marked) |
81 | 76 |
|
82 | 77 |
|
83 | 78 | ## Contributing
|
84 | 79 |
|
85 |
| -All forms of contribution are welcome: bug reports, bug fixes, pull requests and simple suggestions. |
86 |
| -If you do wish to contribute, please follow the [Airbnb Javascript Style Guide](https://github.com/airbnb/javascript/tree/master/es5) Thanks! |
| 80 | +All forms of contribution are welcome: bug reports, bug fixes, pull requests and simple suggestions. If you do wish to contribute, please run `npm run lint` before submitting a PR. Thanks! |
87 | 81 |
|
88 | 82 |
|
89 | 83 | ## List of contributors
|
|
0 commit comments