• Stars
    star
    204
  • Rank 192,063 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 9 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

MinoriWiki is a static Wiki site Generator

MinoriWiki

MinoriWiki

MinoriWiki is a static Wiki site Generator npm version

Currently under development - PRs welcome

Usage

  1. Install via NPM: npm install minori -g
  2. Create an empty directory
  3. minori init
  4. Edit config.yml to fit your needs
  5. Use minori note [filename] to create new note or edit existing one, you can also use api/data for filename to create directories
  6. Deploy your files generated under site directory (Default to wiki) to production environment with command minori commit.

Directories

  • source (defaults to notes) directory contains all note markdown files
  • static (defaults to static) directory will be copied to site directory, you could store any static files that may be used in your wiki site.
  • site (defaults to wiki) 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 or minori i - Init under current working directory
  • minori note [filename] or minori n [filename] - Create or edit note
  • minori done or minori d - Generate site files
  • minori commit or minori c - Commit changes and deploy to production environment
  • minori updatecfg or minori u - Update current config.yml file with the new version installed. New config file will written to config.yml.new.
  • minori server or minori 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 parsed config.yml object
  • categories - 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.

More Repositories

1

telegram-stickerimage-bot

Bot to export telegram stickers to images
JavaScript
411
star
2

the_start.md

237
star
3

moedns

MoeDNS - A DNS Management app using Node.js, MongoDB, for use with PowerDNS/MySQL or MiniMoeDNS/MySQL.
JavaScript
84
star
4

kancolle-broker

Play kantai collection without proxy
JavaScript
65
star
5

planet.js

river of news nodejs implementation
HTML
47
star
6

flame-sourcecode

Flame malware sourcecode available !!
40
star
7

fcitx-quickphrase

QuickPhrase smilies for Fcitx IMF
21
star
8

zen

Zen is a blog app using Node.js and MongoDB.
CSS
20
star
9

minimoedns

MiniMoeDNS is a DNS server for MoeDNS.
JavaScript
15
star
10

shadowsocks-qrgen

A web-based QRCode generator for shadowsocks
HTML
14
star
11

1password2pass

1password2pass is a tool to import passwords from 1password keychain to pass (passwordstore.org)
JavaScript
13
star
12

MTab

Yet another Chrome newtab extension
CSS
7
star
13

repo-arm-server

Arch Rollback Machine Server script
JavaScript
6
star
14

SYNOP-service

课程设计:SYNOP 报文译码与查询系统
JavaScript
6
star
15

kankore_footer

萌购页面下方的「翻滚吧舰娘!」
CSS
6
star
16

powerddns

DDNS API for PowerDNS
JavaScript
4
star
17

sublive

Live ass subtitles/danmaku API server for local players
JavaScript
4
star
18

CubeCrush

A very basic cube game using Unity.
C#
4
star
19

MinoriWiki-theme-semantic-ui

MinoriWiki theme based on Semantic UI
HTML
3
star
20

openmprdb-cli-example

Example client for NyaaCat/OpenMPRDB
JavaScript
3
star
21

NJLUG-site

Site app for Nanjing Linux User Group
JavaScript
2
star
22

dokuwiki-exporter

JavaScript
2
star
23

lixian-exporter-ui

An Web UI for xunlei-lixian resource export/sharing
JavaScript
2
star
24

phoenixlzx.github.com

Project Homepage
2
star
25

autodkms

Simple hook for automatically build all dkms modules after kernel update
Shell
2
star
26

FFFac

FFF.ac is a URL shorterner
JavaScript
2
star
27

dotvim

Vim configuration
Vim Script
2
star
28

directshare

A simple file sharing application using direct http links.
JavaScript
1
star
29

KNA-stats-analyzer

Download stats analyzer for KNA subtitle team
JavaScript
1
star
30

tomori

SMTP to SparkPost API relay
JavaScript
1
star
31

wiki

HTML
1
star
32

micromoedns

Cached DNS server featuring anti-dns-pollution, custom blacklist & hosts and more.
JavaScript
1
star