create manpage
.
This commit is contained in:
parent
bac12e68b1
commit
db86bbeb96
1 changed files with 163 additions and 0 deletions
163
kew.1
Normal file
163
kew.1
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
.Dd December 2025
|
||||
.Dt KEW 1
|
||||
.Os
|
||||
.
|
||||
.Sh NAME
|
||||
.Nm kew
|
||||
.Nd super simple static site supplier
|
||||
.
|
||||
.Sh SYNOPSIS
|
||||
.Nm kew
|
||||
.Ar <in>
|
||||
.Ar <out>
|
||||
.
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
is a minimal static site generator inspired by werc.
|
||||
It transforms a directory tree containing Markdown files and static assets
|
||||
into a fully static HTML website.
|
||||
.
|
||||
.Pp
|
||||
The filesystem defines structure, navigation, and meaning. There is no metadata, database, runtime server, or dynamic behaviour.
|
||||
.
|
||||
.Sh OPERATION
|
||||
Given an input directory and an output directory
|
||||
.Nm
|
||||
does this:
|
||||
.
|
||||
.Bl -bullet -compact
|
||||
.It
|
||||
recursively walks the input directory tree.
|
||||
.It
|
||||
mirrors the directories structure into the output directory.
|
||||
.It
|
||||
copies all non Markdown files.
|
||||
.It
|
||||
converts all
|
||||
.Pa .md
|
||||
files into
|
||||
.Pa .html
|
||||
using
|
||||
.Xr lowdown 1 .
|
||||
.It
|
||||
shoves all generated HTML pages in a single global HTML template.
|
||||
.It
|
||||
generates navbar from the directory hierarchy.
|
||||
.El
|
||||
.
|
||||
.Pp
|
||||
The resulting output directory is suitable to be directly served by any HTTP server.
|
||||
.
|
||||
.Sh MARKDOWN PROCESSING
|
||||
Markdown files are converted to HTML using
|
||||
.Xr lowdown 1 .
|
||||
.
|
||||
.Pp
|
||||
For every file:
|
||||
.Bd -literal -offset indent
|
||||
page.md->page.html
|
||||
.Ed
|
||||
.
|
||||
.Pp
|
||||
Relative links referring to
|
||||
.Pa .md
|
||||
files are rewritten to point to the correct
|
||||
.Pa .html
|
||||
files.
|
||||
.
|
||||
.Sh TEMPLATE
|
||||
The HTML template is a regular HTML file located at the root of the input
|
||||
directory.
|
||||
Its filename is defined at compile time.
|
||||
.
|
||||
.Pp
|
||||
The template should contain the following placeholders:
|
||||
.
|
||||
.Bl -tag -width Ds
|
||||
.It Li {{TITLE}}
|
||||
replaced with the site title.
|
||||
.It Li {{NAV}}
|
||||
replaced with the generated navbar HTML.
|
||||
.It Li {{CONTENT}}
|
||||
replaced with the page content.
|
||||
.It Li {{FOOTER}}
|
||||
replaced with footer text.
|
||||
.El
|
||||
.
|
||||
.Pp
|
||||
All pages use the same template. No per-page templating is supported.
|
||||
.
|
||||
.Sh FILE LAYOUT
|
||||
Example input layout:
|
||||
.Bd -literal -offset indent
|
||||
in/
|
||||
|-->index.md
|
||||
|-->docs/
|
||||
| |-->system/
|
||||
| |-->init.md
|
||||
| |-->networking/
|
||||
| |-->ethernet.md
|
||||
|
|
||||
|-->style.html
|
||||
|-->template.html
|
||||
.Ed
|
||||
.
|
||||
.Pp
|
||||
Corresponding output layout:
|
||||
.Bd -literal -offset indent
|
||||
out/
|
||||
|-->index.html
|
||||
|-->docs/
|
||||
| |-->system/
|
||||
| |-->init.html
|
||||
| |-->networking/
|
||||
| |-->ethernet.html
|
||||
|
|
||||
|-->style.html
|
||||
|-->template.html
|
||||
.Ed
|
||||
.
|
||||
.Sh CONFIGURATION
|
||||
.Nm
|
||||
Edit
|
||||
.Pa config.go
|
||||
then recompile.
|
||||
.
|
||||
.Pp
|
||||
Configuration values:
|
||||
.
|
||||
.Bl -bullet -compact
|
||||
.It
|
||||
Site title
|
||||
.It
|
||||
Footer text
|
||||
.It
|
||||
Template filename
|
||||
.It
|
||||
Navigation symbols
|
||||
.El
|
||||
.
|
||||
.Sh EXIT STATUS
|
||||
.Ex -std
|
||||
.
|
||||
.Sh DEPENDENCIES
|
||||
.Bl -bullet -compact
|
||||
.It
|
||||
.Xr lowdown 1
|
||||
.El
|
||||
.
|
||||
.Sh PHILOSOPHY
|
||||
.Nm
|
||||
is intentionally opinionated. Trying to follow the UNIX philosophy well enough.
|
||||
.
|
||||
.Pp
|
||||
Users are expected to understand basic filesystem concepts.
|
||||
.
|
||||
.Sh SEE ALSO
|
||||
.Xr lowdown 1 ,
|
||||
.Xr httpd 8
|
||||
.
|
||||
.Sh AUTHORS
|
||||
.Nm
|
||||
was written by
|
||||
.An uint .
|
||||
Loading…
Add table
Add a link
Reference in a new issue