minori v0.0.45
MinoriWiki
MinoriWiki is a static Wiki site Generator
Currently under development - PRs welcome
Usage
- Install via NPM:
npm install minori -g
- Create an empty directory
minori init
- Edit
config.yml
to fit your needs - Use
minori note [filename]
to create new note or edit existing one, you can also useapi/data
for filename to create directories - Deploy your files generated under site directory (Default to
wiki
) to production environment with commandminori commit
.
Directories
source
(defaults tonotes
) directory contains all note markdown filesstatic
(defaults tostatic
) directory will be copied tosite
directory, you could store any static files that may be used in your wiki site.site
(defaults towiki
) directory contains generated site files.
If you are going to change the site
directory, just rename the wiki
folder to keep Git objects.
Commands
minori init
orminori i
- Init under current working directoryminori note [filename]
orminori n [filename]
- Create or edit noteminori done
orminori d
- Generate site filesminori commit
orminori c
- Commit changes and deploy to production environmentminori updatecfg
orminori u
- Update currentconfig.yml
file with the new version installed. New config file will written toconfig.yml.new
.minori server
orminori s
- Start a static file server to preview your wiki site locally.
Theme
Theme is customizable. Theme directory should contain:
assets
directory to store style sheets, scripts, fonts, etc.index.ejs
is the homepage template.page.ejs
is the post page template.changes.ejs
is the changelog page template.
The following variables are passed to EJS:
config
- the parsedconfig.yml
objectcategories
- Array of category object:
[
{
"name": "uncategoried",
"pages": [
{
"title": "page title",
"link": "page-file-name",
"category": "uncategoried",
"time": 1471234567890,
"content": "parsed html"
},
...
]
},
...
]
page
-{}
in homepage and the specified page object in post page.
When parsing changelog page, the commits object is passed:
[
{
hash: '2765ac1dea7f8080048d6f603683615b2f2c2c78',
abbrevHash: '2765ac1',
subject: 'update test.md',
committerName: 'foo bar',
committerDate: 'Tue Dec 1 15:48:53 2015 +0800',
status: [ 'M' ],
files: [ 'test.md' ]
}, {
hash: '9bf21ee34231208fd2e24469b7472b54df3954182',
abbrevHash: '9bf21ee',
subject: 'update',
committerName: 'foo bar',
committerDate: 'Tue Dec 1 15:26:06 2015 +0800',
status: [ 'M' ],
files: [ 'test.md' ]
}
]
Speed
For 1200 * Format Test Page in 3 different categories:
- with MathJax
~> time minori d
minori d 70.00s user 1.42s system 105% cpu 1:07.76 total
- without MathJax
~> time minori d
minori d 10.91s user 1.01s system 105% cpu 11.320 total
Tested on a ThinkPad X1 Carbon 2015 (i7-5600U / 16G RAM / 512G NVMe) with Arch Linux.
License
MIT.
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago