A Simple blog running on NodeJs, ExpressJs and MongoDB for casual blogging. Comes packed with a test suite that does Js and Css linting as well as Css stats.
This package requires:
- Node
- Bower
- Ruby and scss-lint
>= 0.18.0. - Mongodb
Installs all node and bower components
> npm installThe content is set up in "./app/content"
Inside are 3 files:
about.html- This is optional and is just an about page if you wish to use it.cookiepolicy.html- again optional and is the site's cookie policy.content.json- This is not optional and is where all configuration is done.
The config file is broken up in various parts :
"config":{
"port":"4040",
"sessionSecret":"session_secret_here",
"mongoConnect":"mongodb://localhost:27017/blog"
}port is the port that you want the node app to use. If left empty it will bind to process.env.PORT whidh is required for heroku.
sessionSecret is required by session cookies.
mongoConnect is the mongodb port and database that the app should connect to.
"blogSetup":{
"blogname":"blog name",
"blogTagLine":"blog title",
"blogDescription":"blog description"
},blogname is the name that will be used as the blogname across the site. It will show up in the main page title.
blogTagLine is the tagline of the site that will be used as a slogan across the site including in the header.
blogDescription a short description of what the blog is about. This shows up on the aside in the main menu just under the about me section.
"metas":{
"title":"meta title",
"keywords":"meta keywords",
"description":"meta description",
"author":"author",
"subject":"subject",
"language":"lang"
}, "OG": {
"sitename":"site name",
"url":"url",
"title":"",
"description":"description",
"image":"image",
"type":"website"
},The metas and OG section are your basic OpenGraph and Google meta Seo descriptions.
"aboutMe":{
"name":"about me",
"description":"my description",
"skypeLink":"skype link",
"githubLink":"github link",
"linkedIn":"linkedin",
"twitter":"twitter"
},name Your name if you wish to use it. Section will not show if empty.
description A short description if you wish to use it. Section will not show if empty.
skypeLink A link to your skypename. Section will not show if empty.
githubLink A link to your github page. Section will not show if empty.
linkedIn A link to your linkedIn page. Section will not show if empty.
twitter A link to your twitter account. Section will not show if empty.
"asideTwitter":{
"twitterName":"twittername",
"widgetID":"1234"
},This section is for enabling a twitter feed on the aside in desktop mode. It will not show if empty
twitterName is your twitter ID.
widgetID is the ID generated when creating a twitter widget from the twitter API website.
"footer":{
"line1":"copyright",
"line2":"<a href=\"#\">links</a>"
}The whole content of the footer. Each line is processed onto a seperate line and can include markup or just text.
Default task that starts the server, compiles css and js and launches browserSync. You must be connected to a mongo instance for this to work.
> gruntCompiles all the css stylesheets and Javascript. All minified.
> grunt buildGrunt test will compile styles for the test platform, and perform a full suite of tests on the codes and present it in a consumable format in your browser.
> grunt test