From b65c4c6665809fca1a8d89bf4cc0ccb5c6a005d4 Mon Sep 17 00:00:00 2001 From: "N0\\A" Date: Wed, 1 Apr 2026 13:02:16 +0200 Subject: [PATCH] docs: updates for v1.6.0 --- site/docs/configuration.md | 20 ++++++++++++++++++-- site/docs/frontmatter.md | 4 +++- site/docs/templates.md | 4 ++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/site/docs/configuration.md b/site/docs/configuration.md index cf9d678..911b400 100644 --- a/site/docs/configuration.md +++ b/site/docs/configuration.md @@ -8,6 +8,8 @@ title = "Configuration" ```conf title = "kewt" style = "kewt" +lang = "en" +draft_by_default = false dir_indexes = true single_file_index = true flatten = false @@ -33,9 +35,17 @@ posts_dir = "" posts_per_page = 12 custom_admonitions = "" cw_hide_url = true +generate_tags = false +tags_dir = "tags" +generate_search = false +search_in_footer = false +search_in_header = false +include_cw_pages_in_search = false ``` - `title` - site title - `style` - style file name from `./styles` (without `.css`) +- `lang` - document language, used for the `` attribute (default: "en") +- `draft_by_default` - default value for the `draft` frontmatter field in new posts created (default: false) - `dir_indexes` - generate directory index pages when missing `index.md` - `single_file_index` - if a directory has one markdown file and no `index.md`, use that file as `index.html` - `flatten` - flatten sidebar directory levels @@ -53,17 +63,23 @@ cw_hide_url = true - `generate_page_title` - automatically generate title text from the first markdown heading or filename (default: true) - `error_page` - filename for the generated 404 error page (default: "not_found.html", empty to disable) - `versioning` - append a version query parameter (`?v=timestamp`) to css asset urls to bypass cache (default: false) +- `enable_header_links` - turns markdown section headings into clickable anchor links (default: true) - `base_url` - absolute URL of the site, used for sitemap and RSS feed generation - `generate_feed` - enable RSS feed generation (requires `base_url`) - `feed_file` - filename for the generated RSS feed (default: "rss.xml") - `posts_dir` - directory name containing posts (e.g., "posts"). Enables reverse-chronological sorting, title headings in indexes, and automatic backlinks. - `posts_per_page` - number of posts per page in paginated post indexes (default: 12). Set to 0 to disable pagination. -- `enable_header_links` - turns markdown section headings into clickable anchor links (default: true) - `custom_admonitions` - comma separated list of custom admonitions - `cw_hide_url` - embeds non-breaking JS to replace the URL in the browser bar on content warning pages (default: true) +- `generate_tags` - generate tag index pages from post frontmatter (requires `posts_dir`) +- `tags_dir` - directory name for generated tag pages (default: "tags") +- `generate_search` - generate a `search.json` index for client-side search +- `search_in_footer` - include a search box in the page footer (requires `generate_search`) +- `search_in_header` - include a search box in the page header (requires `generate_search`) +- `include_cw_pages_in_search` - include content warning pages in the search index (default: false) ## Dot Files - `.kewtignore` - files/directories to ignore completely. If the file is empty, the whole directory gets ignored. - `.kewthide` - files/directories to hide from navigation but still process. Same empty-file rules as `.kewtignore`. -- `.kewtpreserve` - files/directories to copy as-is without converting markdown to HTML. Same empty-file rules again. \ No newline at end of file +- `.kewtpreserve` - files/directories to copy as-is without converting markdown to HTML. Same empty-file rules again. diff --git a/site/docs/frontmatter.md b/site/docs/frontmatter.md index 1115901..12d707f 100644 --- a/site/docs/frontmatter.md +++ b/site/docs/frontmatter.md @@ -11,10 +11,12 @@ title = "Custom Page Title" date = "2026-03-23 11:32" draft = false description = "A short page summary" +tags = "example, tutorial" --- ``` - `title` - overrides the page title, post name in index links, and RSS ``. - `date` - overrides the post date and time. Supports `YYYY-MM-DD` and `YYYY-MM-DD HH:MM` (or `HH-MM`). -- `draft` - if `true`, the file is excluded from HTML generation. +- `draft` - if `true`, the file is excluded from HTML generation. If not set, uses the `draft_by_default` config value. - `description` - page description, used for Open Graph `og:description` meta tag. +- `tags` - comma separated list of tags. Used for tag index generation when `generate_tags` is enabled in `site.conf`. - `content_warning` - if set, creates an interstitial warning page that the user must click through. If set to `true` uses a generic warning, otherwise uses your string. diff --git a/site/docs/templates.md b/site/docs/templates.md index b1c8404..55ff0e8 100644 --- a/site/docs/templates.md +++ b/site/docs/templates.md @@ -13,3 +13,7 @@ When customizing `template.html`, the placeholders available are: - `{{LANG}}` - the configured document language - `{{HEAD_EXTRA}}` - meta-tags - `{{HEADER_BRAND}}` - header rendering the name and/or logo + +## Search + +When `generate_search` is enabled, kewt embeds a search bar into pages based on the `search_in_header` and `search_in_footer` config options. The search uses a `search.json` index generated at build time and a client-side JS script. No external dependencies are required.