feat: custom admonitions
This commit is contained in:
@@ -22,7 +22,19 @@ END {
|
||||
sub(/^\[!/, "", kind)
|
||||
sub(/\]$/, "", kind)
|
||||
lkind = tolower(kind)
|
||||
if (lkind == "note" || lkind == "tip" || lkind == "important" || lkind == "warning" || lkind == "caution") {
|
||||
is_valid = 0
|
||||
if (custom_admonitions != "") {
|
||||
n = split(tolower(custom_admonitions), adms, ",")
|
||||
for (idx = 1; idx <= n; idx++) {
|
||||
adm = adms[idx]
|
||||
sub(/^[ \t]+/, "", adm)
|
||||
sub(/[ \t]+$/, "", adm)
|
||||
if (lkind == adm) { is_valid = 1; break }
|
||||
}
|
||||
} else if (lkind == "note" || lkind == "tip" || lkind == "important" || lkind == "warning" || lkind == "caution") {
|
||||
is_valid = 1
|
||||
}
|
||||
if (is_valid) {
|
||||
print "<div class=\"admonition admonition-" lkind "\">"
|
||||
print "<p class=\"admonition-title\">" cap(lkind) "</p>"
|
||||
has_body = 0
|
||||
|
||||
5
kewt.sh
5
kewt.sh
@@ -68,8 +68,8 @@ base_url = ""
|
||||
generate_feed = false
|
||||
feed_file = "rss.xml"
|
||||
posts_dir = ""
|
||||
custom_admonitions = ""
|
||||
EOF
|
||||
fi
|
||||
|
||||
cat > "$new_dir/template.html" <<'EOF'
|
||||
<!doctype html>
|
||||
@@ -166,6 +166,7 @@ base_url = ""
|
||||
generate_feed = false
|
||||
feed_file = "rss.xml"
|
||||
posts_dir = ""
|
||||
custom_admonitions = ""
|
||||
CONFEOF
|
||||
|
||||
# Update site.conf
|
||||
@@ -447,6 +448,7 @@ base_url=""
|
||||
generate_feed="false"
|
||||
feed_file="rss.xml"
|
||||
posts_dir=""
|
||||
custom_admonitions=""
|
||||
|
||||
load_config() {
|
||||
[ -f "$1" ] || return
|
||||
@@ -498,6 +500,7 @@ load_config() {
|
||||
generate_feed) generate_feed="$val" ;;
|
||||
feed_file) feed_file="${val#/}" ;;
|
||||
posts_dir) posts_dir="${val#/}" ;;
|
||||
custom_admonitions) custom_admonitions="$val" ;;
|
||||
esac
|
||||
done < "$1"
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ while grep '^>' "$temp_file" >/dev/null; do
|
||||
fi
|
||||
done
|
||||
|
||||
awk -f "$awk_dir/blockquote_to_admonition.awk" "$temp_file" > "$temp_file.tmp" && mv "$temp_file.tmp" "$temp_file"
|
||||
awk -v custom_admonitions="$CUSTOM_ADMONITIONS" -f "$awk_dir/blockquote_to_admonition.awk" "$temp_file" > "$temp_file.tmp" && mv "$temp_file.tmp" "$temp_file"
|
||||
awk -f "$awk_dir/fenced_code.awk" "$temp_file" > "$temp_file.tmp" && mv "$temp_file.tmp" "$temp_file"
|
||||
awk -f "$awk_dir/indented_code.awk" "$temp_file" > "$temp_file.tmp" && mv "$temp_file.tmp" "$temp_file"
|
||||
awk -f "$awk_dir/pipe_tables.awk" "$temp_file" > "$temp_file.tmp" && mv "$temp_file.tmp" "$temp_file"
|
||||
|
||||
@@ -86,6 +86,7 @@ generate_feed = false
|
||||
feed_file = "rss.xml"
|
||||
posts_dir = ""
|
||||
enable_header_links = true
|
||||
custom_admonitions = ""
|
||||
```
|
||||
|
||||
- `title` site title
|
||||
@@ -112,6 +113,7 @@ enable_header_links = true
|
||||
- `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.
|
||||
- `enable_header_links` turns markdown section headings into clickable anchor links (default: true)
|
||||
- `custom_admonitions` comma separated list of custom admonitions
|
||||
|
||||
## Ignores
|
||||
|
||||
|
||||
@@ -19,3 +19,4 @@ error_page = "not_found.html"
|
||||
versioning = true
|
||||
enable_header_links = true
|
||||
base_url = "https://kewt.krzak.org"
|
||||
custom_admonitions = ""
|
||||
|
||||
Reference in New Issue
Block a user