Skip to content

Commit

Permalink
v2.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisdiana committed Nov 21, 2018
1 parent 80f63a6 commit 0a8509d
Show file tree
Hide file tree
Showing 37 changed files with 3,186 additions and 721 deletions.
28 changes: 28 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"env": {
"browser": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": 5
},
"rules": {
"indent": [
"error",
2
],
"linebreak-style": [
"error",
"unix"
],
"quotes": [
"error",
"single"
],
"semi": [
"error",
"always"
],
"no-unused-vars": 0
}
}
5 changes: 1 addition & 4 deletions .gitignore
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
.DS_Store
node_modules/*
bower_components/*
release/*
release.zip
.idea/
dev/*
*.swp
2 changes: 1 addition & 1 deletion LICENSE.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2016 Chris Diana
Copyright (c) 2018 Chris Diana

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
Expand Down
74 changes: 34 additions & 40 deletions README.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,89 +1,83 @@
![CMS.js Logo](https://raw.githubusercontent.com/chrisdiana/cms.js/gh-pages/img/logo-md.png)

**UPDATES COMING SOON!**

CMS.js is fully client-side, Javascript site 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.
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 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.
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](https://raw.githubusercontent.com/chrisdiana/cms.js/gh-pages/img/screenshot.png)

## New Features in Version 2.0

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


## Demo

Check out a working [demo here](http://chrisdiana.github.io/cms.js/demo/)
Check out a working [demo here](http://chrisdiana.github.io/cms.js/demo)


## Quick Start

CMS.js currently supports two website modes, Github and Server.

**Github Mode**

This is the default mode for CMS.js. Host your website on Github using
Github Pages, similar to Jekyll.

**Server Mode**

Use server mode if you choose to self host your content. Apache and NGINX servers are supported.
If using server mode, make sure the server's directory indexing feature is enabled.
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).

* Apache - Make sure `htaccess` is enabled OR `Options Indexes` is set for your directory.
* NGINX - Make sure `autoindex on` is set for your directory
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)
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!

More info on server setup is available on the [wiki](https://github.com/chrisdiana/cms.js/wiki/Server-Support-&-Setup)

## Themes

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

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)
2. Configure `js/config.js` to your liking
3. Make sure to set your `githubUserSettings` 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!
![CMS.js Themes](./img/themes.png)


## How it works

**Github Mode**

In Github mode, CMS.js uses the Github API to get the content of your gh-pages repo
and serve them as a full website.
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 files.
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.
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.
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!

* [Poole](https://github.com/poole/poole) (*Default Theme*)
* [jQuery](https://jquery.com/)
* [Marked](https://github.com/chjj/marked)


## Contributing

All forms of contribution are welcome: bug reports, bug fixes, pull requests and simple suggestions.
If you do wish to contribute, please follow the [Airbnb Javascript Style Guide](https://github.com/airbnb/javascript/tree/master/es5) Thanks!
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!


## List of contributors
Expand Down
1 change: 0 additions & 1 deletion css/style.css

This file was deleted.

Loading

0 comments on commit 0a8509d

Please sign in to comment.