1 | <p align="center"><img src="http://groundedrob.com/images/projects/buk.png" height='250px'></p>
|
2 |
|
3 | ## About Bük
|
4 | > Markdown based Javascript wiki engine.
|
5 |
|
6 | Bük is a flat file markdown based wiki engine written in Javascript.
|
7 |
|
8 | **No server needed.**
|
9 |
|
10 | Simply drop in your .md files in a folder, update manifest.json and you get a blazing fast wiki with an integrated fuzzy search feature.
|
11 |
|
12 | ## Get started
|
13 |
|
14 | 1) Get Bük ( via npm or git clone)
|
15 | > ##### NPM
|
16 | NPM is the recommended way of installing Bük.
|
17 |
|
18 | ```
|
19 | npm install buuk
|
20 | ```
|
21 |
|
22 | > ##### Git Clone
|
23 | Alternatively, you can install Bük by directly cloning the repository from Github
|
24 |
|
25 | ```
|
26 | git clone https://github.com/hang-up/buk.git buk
|
27 | npm install
|
28 | ```
|
29 | ---
|
30 |
|
31 | 2) Drop your markdown files inside `dist/assets`.
|
32 | 3) Update `manifest.json`
|
33 | 4) `npm run build`
|
34 |
|
35 |
|
36 | ## Usage
|
37 | # Manifest.json
|
38 |
|
39 | The heart of Bük is laying on its `manifest.json` file. The manifest for the current boilerplate follows this structure:
|
40 | ```
|
41 | {
|
42 | "app": "Name of the wiki",
|
43 | "version": "1.0.0",
|
44 | "description": "General description of the wiki.",
|
45 | "sub": "More details about the wiki.",
|
46 |
|
47 | "options": {
|
48 | "advanced_slugs: true
|
49 | }
|
50 |
|
51 | "articles" : { // All articles to be indexed
|
52 | "Category 1": [ // Category name
|
53 | {
|
54 | "title": "Article title", // Article name
|
55 | "tags": [ // Tags to use when searched
|
56 | "tag 1",
|
57 | "tag 2",
|
58 | "tag 3"
|
59 | ]
|
60 | }
|
61 | ]
|
62 | }
|
63 | }
|
64 | ```
|
65 |
|
66 | ### File naming convention
|
67 | **Your markdown (.md) file names must match the slug generated by Bük or defined in `manifest.json`.**
|
68 | See the options section below to know more about how we auto generate slugs.
|
69 |
|
70 | ### Options
|
71 | #### advanced_slugs
|
72 | 1. When `advanced_slugs` is set to `true` (default setting), Bük will generate a slug based on the following pattern: `direct-parent-category-title-of-the-article` (eg. usage-manifest.json).
|
73 | 2. When set to `false`, Bük will simply take the title of the article as slugs (eg. manifest.json)
|
74 |
|
75 | > Advanced slugs are useful when having multiple articles with the same title defined in the manifest.
|
76 |
|
77 | #### Override slugs
|
78 | By default, Bük will generate a slug for every article indexed in the manifest.json file based on its `title` key.
|
79 | If you wish to have a custom slug for an article, simply add a `"slug"` key to your article.
|
80 | ```
|
81 | {
|
82 | "title": "Article title", // Article name
|
83 | "tags": [ // Tags to use when searched
|
84 | "tag 1",
|
85 | "tag 2",
|
86 | "tag 3"
|
87 | ],
|
88 | "slug": "custom-slug" // Associated .md file must be named custom-slug.md
|
89 | }
|
90 | ```
|
91 |
|
92 | ### Nested categories
|
93 | Bük allows an infinite degree of nested categories. Simply build your hierarchy inside `manifest.json` and name your markdown files accordingly.
|
94 | An example of manifest using nested categories:
|
95 | ```
|
96 | "articles" : {
|
97 | "Level 0": {
|
98 | "Level 1" : {
|
99 | "Level 2 Category 1": [
|
100 | {
|
101 | "title": "Article Title", // level-2-category-1-article-title.md
|
102 | "tags": [
|
103 | "licence",
|
104 | "author",
|
105 | "misc"
|
106 | ]
|
107 | }
|
108 | ],
|
109 |
|
110 | "Level 2 Category 2": [
|
111 | {
|
112 | "title": "Article Title", // level-2-category-2-article-title.md
|
113 | "tags": [
|
114 | "licence",
|
115 | "author",
|
116 | "misc"
|
117 | ]
|
118 | }
|
119 | ]
|
120 | }
|
121 | }
|
122 | }
|
123 | ```
|
124 |
|
125 | ### Built using:
|
126 | * [vue](https://vuejs.org/) - [vuex](https://vuex.vuejs.org) - [vue-router](https://router.vuejs.org)
|
127 | * [fuse.js](http:http://fusejs.io/)
|
128 |
|
129 | ### Parser
|
130 | Bük is using [markdown-it](https://github.com/markdown-it/markdown-it) as a parser to display your markdown pages. If you encounter any parsing caveats, please address your issues [here](https://github.com/markdown-it/markdown-it/issues).
|
131 |
|
132 | ### Licence
|
133 | MIT
|
134 |
|
135 |
|