https://github.com/gromnitsky/jekyllmk
A make-based simple site generator; UNMAINTAINED, see https://github.com/gromnitsky/naif-blog-engine
https://github.com/gromnitsky/jekyllmk
Last synced: 7 months ago
JSON representation
A make-based simple site generator; UNMAINTAINED, see https://github.com/gromnitsky/naif-blog-engine
- Host: GitHub
- URL: https://github.com/gromnitsky/jekyllmk
- Owner: gromnitsky
- Created: 2016-03-28T18:06:37.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-10-17T02:37:55.000Z (almost 9 years ago)
- Last Synced: 2025-01-20T06:42:14.985Z (9 months ago)
- Language: JavaScript
- Homepage:
- Size: 657 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# jekyllmk
Despite its name, this is not a clone of Jekyll written in a
Make-based language. It's:* an Angular2 app written in ES6, w/o decorators;
* a Make-based convoluted example of a build system for a JavaScript
app.The purpose of it is a stand-alone blog that can be served via any
static HTTP server. (When I write _a stand-alone_ I feel like I'm
being transferred into 2006.) A semi-live example
[exists](http://sigwait.tk/blog/), that's hosted on a tuppeny openwrt
router.Similarities between Jekyll & jekyllmk:
* a name.
* (can't think of anything else at the moment)Differences between Jekyll & jekyllmk:
* GNU Make + nodejs, no Rubies whatsoever which may be sad for Ruby is
still the pleasantest language in the world;
* json, not yaml in the configuration;
* only markdown is supported;
* you cannot use any variables from the front-matter in the post body;
* jekyllmk is an SPA that renders .md files on the fly;
* the most common blog widgets are pre-build like navigation, calendar,
tag search;
* on each post modification/creation an index is rebuild (index is
used by SPA for navigation);
* Atom feed is build automatically.## Requirements
* Node.js 6.6
* Tcl/Tk 8.6.4 (for generation of a new site only)
* `npm i -g json`## Quick start
0. Clone the repo.
1. Generate a new site
$ cd $somedir
Warning: a Tcl/Tk 8.6 is required for the next step. It'll
show you a preferences dialog like this:
$ make -f $repo/main.mk generate NEW=mysite
A new dir `mysite` should appear. Build the site using the
makefile from that dir:$ make -f mysite/Makefile
Give `production/site` dir to any static HTTP server.
2. Write a new post
$ cd $somedir
$ make -f mysite/Makefile new
$ make -f mysite/Makefile3. Sync with a remote machine
Edit `sync.dest` variable in `$mysite/Makefile`. Then
$ cd $somedir
$ make -f mysite/Makefile sync## Bugs
* Angular2.
* Works only w/ modern browsers.## TODO
* FTS. We can employ sqlite FTS & write a tiny server that responds w/
an jekyllmk-index-like json.
* A default way to add third-party JS comments systems.## License
MIT.