node package manager



A Simple Blog Generator with minimum impact on the orignal folder.

It generates a .jog/ folder containing local settings and a _site/ folder containing the built blog posts.


$ sudo npm install jog-cli -g


  • Create New Blog: jog init
    • Add local settings.
  • Generate Site: jog generate
    • Generate post pages to _site folder (by default).
  • Open Local Server: jog watch [--port <port>]
    • Auto rebuild markdown file for live inspection.
  • Publish Post: jog publish <post-file> [--target-folder <targetFolder>]
    • Build markdown post to target folder.
  • Clean Built Site: jog empty
    • Remove generated post pages.
  • Clear All: jog clear
    • Restore to the original note folder by removing .jog/ and generated post pages.
  • Getting Help: jog [command] -h


Feel free to modify the local settings in .jog/:

  • config.json
    • "Source Folder Name"
    • "Site Folder Name"
  • template/
    • page template
    • ...


You could create a mini-blog by running jog in a subfolder. This will generate index pages for posts in this subfolder. Local settings and generated pages in the subfolder will be ignored when building main blog folder.


Inside jog-cli global package folder:

$ gulp install
$ gulp

Main Functions

  • post.ts
    • buildPost
    • parsePost
  • blog.ts
    • scanFolderAndBuildPosts
    • classifyPosts
    • comparePosts
    • buildIndexPages
    • generateBlog
  • config.ts
    • loadConfig


MIT Licensed.