3.3 KiB
3.3 KiB
kewt
Pronounced "cute"
Go to the repo
kewt is a minimalist ssg inspired by werc and kew
It's meant to be a static site generator, like kew but use only default (POSIX) tooling, like werc (and definitely unlike kew)
Features
- No dependencies
- Supports many embed types
- Automatic css variable replacement for older browsers
- Automatic inlining and embedding of many filetypes with
\![link]or\ - Inline html support
- MFM
$fontand\<plain>tags - Admonition support (that's what the blocks like the warning block below are called)
If you want to force a file to be inlined, use \!![] instead of \![]
Usage
./kewt.sh --help
./kewt.sh --new [title]
./kewt.sh --from <src> --to <out>
./kewt.sh [src] [out]
--new [title] creates a new site directory with a copied site.conf and a default index.md.
site.conf
title = "kewt"
style = "kewt"
dir_indexes = true
single_file_index = true
flatten = false
order = ""
home_name = "Home"
show_home_in_nav = true
footer = "made with <a href="https://kewt.krzak.org">kewt</a>"
logo = ""
display_logo = false
display_title = true
logo_as_favicon = true
favicon = ""
titlesite titlestylestyle file name from./styles(without.css)dir_indexesgenerate directory index pages when missingindex.mdsingle_file_indexif a directory has one markdown file and noindex.md, use that file asindex.htmlflattenflatten sidebar directory levelsordercomma separated file/directory name list to order the sidebar (alphabetical by default)home_nametext for the home link in navigation (default: "Home")show_home_in_navshow home link in navigation (default: true)footerfooter html/text shown at the bottom of pageslogologo image path (used in header if enabled)display_logoshow logo in headerdisplay_titleshow title text in headerlogo_as_faviconuselogoas faviconfaviconexplicit favicon path (used whenlogo_as_faviconis false or no logo is set)
Ignores
.kewtignore: Files/directories to ignore. If empty, the whole directory gets ignored.kewthide: Files/directories to hide from navigation but still process. Same empty rules as with ignore.kewtpreserve: Files/directories to copy but not convert markdown to html. Same empty rules again
Embeds
\![link]:- local image/audio/video files are embedded as media tags
- local text/code files are inlined directly
- global image/audio/video links are embedded as media tags
- other global links are embedded as
<iframe>
\works the same, withaltused for images\!![]and\!force inline local file contents
Credits
- Markdown to html conversion based on markdown.bash by chadbraunduin
- Default css style and html template based on kew by uint23
![WARNING] Most of this was coded at night, while sleepy and a bit sick, and after walking for about 4 hours around a forest, so...