π basic CMS system using markdown
This is a content management system. Using such a system, you can create content easily and seamlessly.
express
for the APIfirebase-admin
for data persistence (NoSQL DB)joi
for input validationmarkdown-it
for converting markdown to HTML
- serif font for body
- edit article feature
- grid system with sidebar?
- global 'new articles' list
- categories and tags
- search functionality
- images
- Clone this repo
$ git clone https://github.com/moritzmitterdorfer/basic-cmd.git
- Install NPM packages
$ npm install
- Create a Google Firebase project and start a DB. Dowload the credentials file and place it in
db/credentials
and update the path indb/index.js
line 22 and 26:
/** retrieve credentails from json file */
const serviceAccount = require('./credentials/{YOUR_FILE}.json');
/** initialize the app */
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://{YOUR_ADDRESS}.firebaseio.com"
});
- Start server
$ npm start
- go to
localhost:3000
to reach the website
For creating an article, go to localhost:3000/articles/new
.
You can write your own CSS to customize the site (instead of using client/static/style.css
). In addition, you can modify the html pages in client/views
.