2021-11-02 05:39:04 +00:00
# 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
2021-11-21 17:31:31 +00:00
ni input output template.html atom-template.xml url
2021-11-02 05:39:04 +00:00
```
Where:
2021-11-21 17:31:31 +00:00
* 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
2021-11-21 18:46:10 +00:00
* url: canonical url where your site will be hosted
2021-11-02 05:39:04 +00:00
## How to use
2021-11-21 17:31:31 +00:00
In `input` folder, create files that end with `.gmi` . Use `[[]]` to reference other files in them. For example:
2021-11-02 05:39:04 +00:00
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 >
2021-11-21 17:31:31 +00:00
```
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 /)