ni/README.md

71 lines
1.6 KiB
Markdown

# ni
Ni is a static wiki generator. It allows you to write files that reference each other, and to generate an html output that includes links and back links.
## How to run
```shell
ni input output template.html atom-template.xml url
```
Where:
* input: source folder containing `.gmi` files
* ouput: destination folder for `.html` files
* template.html: html template file
* atom-template.xml: xml template for atom feed
* url: canonical url where your site will be hosted
## How to use
In `input` folder, create files that end with `.gmi`. Use `[[]]` to reference other files in them. For example:
in `coffee.gmi`
```markdown
# coffee
A popular machine is the [[aeropress]].
```
The above automatically create a link in the generated .html file, but it requires `aeropress.gmi` to be created:
```markdown
# aeropress
Created by Alan Adler
```
Here is an example of template:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ichipedia</title>
</head>
<body>
<nav><a href="/">home</a> <a href="/changelog.html">changelog</a></nav>
{{ template "content" . }}
<footer>
<hr>
<a href="https://ichi.city">
<img src="https://ichi.city/banner.png" alt="ichi"/>
</a>
</footer>
</body>
</html>
```
Here is an example of an atom-template.xml:
```xml
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Ichipedia</title>
<link rel="alternate" href="https://wiki.ichi.city"/>
<author>
<name>m15o</name>
</author>
{{ template "content" . }}
</feed>
```
Finally, an example of a canonical url is: `https://wiki.ichi.city/` (make sure to add the trailing /)