1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 |
# patchwork.yaml
# Relative paths resolve against this file's directory.
site:
title: My Garden
# Public address of the site. Feed links and ids are built from it.
base_url: https://example.com
timezone: UTC # calendar dates are computed in this zone
author: Your Name
# The "domain,year" part of feed entry ids (tag: URIs). Pick it once:
# changing it later makes every feed reader see all entries as new.
tag_authority: "example.com,2026"
# Where the host site shows a page, one version, and the history.
page_url: "/{slug}"
version_url: "/{slug}/v/{n}"
history_url: "/{slug}/history"
# Public paths where the host serves Patchwork's feeds.
feeds:
atom: /revisions.atom
json: /revisions.json
page_atom: "/{slug}/revisions.atom"
page_json: "/{slug}/revisions.json"
source:
mode: folder
path: ./content
# "*.md" matches the top level only; "**/*.md" matches at any depth.
include: ["**/*.md", "**/*.markdown"]
# Matched against the file name: hidden files, editor and upload leftovers.
exclude: [".*", "*~", "*.tmp", "*.filepart", "*.part", "*.swp"]
# path: slugify every directory and the file name ("notes/my-note").
# datestrip-slugify: file name only, minus a leading YYYY-MM-DD date.
slug: path
frontmatter:
note_key: revision # a new note here publishes a revision
kind_key: revision_kind # correction | expansion | position | reorganization
maturity_key: maturity # seed | sprout | bloom
date_key: date # original publication date, if present
# Frontmatter keys readers see. Changing them counts as a content change;
# every other key is ignored.
diff_keys: [title, summary, tags]
publish:
# An upload with no new note this soon after a publish is folded into
# that revision (the typo you spot right after uploading). 0 disables it.
fold_window: 20m
watch:
debounce: 3s # wait for a burst of file events to settle
poll: 60s # full rescan, in case file events are missed
# Keep the database on a local disk. Network shares break SQLite locking.
# Omit to use the user cache directory.
# db: /var/lib/patchwork/patchwork.db
http:
addr: 127.0.0.1:8080
feeds:
limit: 50 # entries per feed
excerpt_blocks: 6 # changed blocks shown per entry
|