csycms
v2.0.6
Published
csycms CLI
Downloads
11
Readme
csycms CLI
CSYCMS, acronym for Csyber Systems Content Management System is a:
- Markdown powered (blog aware) static site generator,
- markdown powered knowledge-base,
- Flat-file CMS, and
- API server for node.js
If we had known about Jekyll in 2018 (3 years ago) when we began this project, we would probably have chosen to use it for building our sites. But now three years down the line we been able to add features that Jekyll does not have and it would be more expensive for us to switch over to it than to keep patching things up here an adding new features that we need along the way. — Brian Onang'o, csycms developer.
Table of Contents
- Inspiration
- Features
- Comparison with Other Systems
- Requirements
- QuickStart
- From GitHub
- Features
- Common Features
- Unique Features
- Other Advantages
- Configuration
- Updating
- Contributing
- Security issues
- License
- Todo
Inspiration
We received much inspiration for this project from php's User Frosting and node's Raneto
Features
- Static Site Generation - You can build your site and with one command generate a static site to be hosted for instance on github pages.
- Static Site server - You can also choose not to build run your site and server it using csycms.
- API server - You can also choose to have csycms server the API for your site, but have the front end hosted elsewhere or also from csycms.
- Multiple sites - You can build and server multiple sites using csycms
Visit http://learn.csycms.csymapp.com to see a demo and get started!
The underlying architecture of CSYCMS is designed to use well-established and best-in-class technologies. Some of these key technologies include:
- Markdown: for easy content creation
- Hogan Templating: for powerful control of the user interface
- Microservices to make deployments of multiple sites more stable
Welcome to the world of CSECO and Csyber Systems where every other words begins with cs
, pronouced psy
. So that csycms
is pronounced psy cms
Comparison with Other Systems
Jekyll
- csycms is built with node, Jekyll with Ruby.
- csycms has an api server, Jekyll seems not to have one.
- both generate sites which can be hosted on github pages
Grav
- Grav is php, csycms is node.
- Grav is a CPU gazzler especially when performing a search. csycms tries not to be.
Raneto
- csycms has an api server, Raneto seems not to have one.
- csycms can host several sites.
Therefore, while the other systems (listed above and more) are older and more stable, in our own little world here, csycms seems to have features that they lack.
Requirements
- OS: linux
- Node v12+
If you intend to use csycms to server your sites, then you'll need to install nginx to set up a reverse proxy.
QuickStart
npm install -g csycms
sudo csycms init
sudo csycms site --create -n "$SITENAME" -p "$PORT"
Edit site configurations in /etc/csycms/sites-available/$SITENAME
Once you have editted the configurations, you can restart the subprocess serving the site using csycms site --restart -n $SITENAME
Configuration
Set configurations in /etc/projectname/config/system.yml
with:
sshKey: ~/.ssh/id_rsa # ssh key
PORT: 2121 # port for communication between csycms and sites
update: 86400 # system update interval in seconds
todo
- [ ] Contact Page on site template & co.
- [ ] Custom Error Pages.
- [ ] Protected Content.
- [ ] Search.
- [ ] http -> https on github pages
- [ ] Built with csycms
- [ ] sync site without message