X-Git-Url: https://git.r.bdr.sh/rbdr/page/blobdiff_plain/7348f5ea3a1182c9f4a75d05a405e90f9e33797c..160a27bd2aa334a881f7c54847ef406925f87633:/README.md?ds=inline diff --git a/README.md b/README.md new file mode 100644 index 0000000..b842b0a --- /dev/null +++ b/README.md @@ -0,0 +1,70 @@ +# page + +A static website generator for exactly 1 use case. + +"I have a bunch of gemini files that I want to serve as-is, but I also +want to generate some HTML" + +## How to use + +1. Stand on the directory you want to turn into a page +2. run page +3. your output is in ../_html + +So for example: + +``` +$ pwd +/home/rbdr/web/website +$ page +$ ls .. +website/ +website_html/ +``` + +## Front Matter + +You can add some optional front matter. We'll look at the two first lines that +start with `---` + +The format is: + +``` +--- title: the title of the page +--- description: a description +``` + +This only works if they are the first lines of the page. + +## Local Path Translation + +Links that end with `.gmi` will be replaced with `.html` unless they specifically start with `gemini:` + +## Layouts + +page expects a file called _layout.html in the root. It expects three placeholders: + +* {{ content }} the generated HTML from parsing the gemini text files. +* {{ title }} the frontmatter title or an empty string. +* {{ description }} the frontmatter description or an empty string. + + +## Hidden folders + +Hidden folders are copied as well, we only make an exception for `.git/`, and +`.gitignore` which are explicitly ignored. This is handy for folders like +`.well-known`, but could cause unwanted behavior if there's other hidden files +in the directory. + +## What happens to files that aren't gemini? + +They're copied as-is. + +# Building + +This project is built using cargo. A makefile is provided to run common tasks. + +Build dev version with `make` or `make build`. + +Build release with `make -e profile=release` or `make -e profile=release build`. +