Some fixes, .kewtignore, .kewtpreserve and .kewthide

This commit is contained in:
2026-03-08 14:18:45 +01:00
parent 1f5d63c035
commit e3cc1c1688
7 changed files with 189 additions and 50 deletions

View File

@@ -80,8 +80,9 @@ END {
}
print "<ul>"
if ("index.md" in all_paths) {
print "<li><a href=\"/index.html\">Home</a></li>"
if (show_home_in_nav == "true" && "index.md" in all_paths) {
if (home_name == "") home_name = "Home"
print "<li><a href=\"/index.html\">" home_name "</a></li>"
}
depth = 0

View File

@@ -3,10 +3,27 @@ function strip_markdown(s) {
gsub(/[*_`~]/, "", s)
gsub(/[\[\]]/, "", s)
gsub(/\([^\)]*\)/, "", s)
sub(/^[[:space:]]*/, "", s)
sub(/[[:space:]]*$/, "", s)
gsub(/^[[:space:]]+|[[:space:]]+$/, "", s)
gsub(/[[:space:]]+/, "-", s)
return s
}
function print_header(line) {
if (line ~ /^# /) {
sub(/^# /, "", line); print "<h1 id=\"" strip_markdown(line) "\">" line "</h1>"
} else if (line ~ /^## /) {
sub(/^## /, "", line); print "<h2 id=\"" strip_markdown(line) "\">" line "</h2>"
} else if (line ~ /^### /) {
sub(/^### /, "", line); print "<h3 id=\"" strip_markdown(line) "\">" line "</h3>"
} else if (line ~ /^#### /) {
sub(/^#### /, "", line); print "<h4 id=\"" strip_markdown(line) "\">" line "</h4>"
} else if (line ~ /^##### /) {
sub(/^##### /, "", line); print "<h5 id=\"" strip_markdown(line) "\">" line "</h5>"
} else if (line ~ /^###### /) {
sub(/^###### /, "", line); print "<h6 id=\"" strip_markdown(line) "\">" line "</h6>"
} else {
print line
}
}
BEGIN {
has_prev = 0
in_pre = 0
@@ -14,7 +31,7 @@ BEGIN {
{
if ($0 ~ /^<pre><code>/) {
in_pre = 1
if (has_prev && prev != "") { print prev; has_prev = 0 }
if (has_prev && prev != "") { print_header(prev); has_prev = 0 }
print
next
}
@@ -24,30 +41,32 @@ BEGIN {
next
}
if ($0 ~ /^=+$/ && has_prev && prev != "" && prev !~ /^<[a-z]/) {
print "<h1 id=\"" strip_markdown(prev) "\">" prev "</h1>"
has_prev = 0
} else if ($0 ~ /^-+$/ && has_prev && prev != "" && prev !~ /^<[a-z]/) {
print "<h2 id=\"" strip_markdown(prev) "\">" prev "</h2>"
if ($0 ~ /^=+$/) {
if (has_prev && prev != "" && prev !~ /^<[a-z]/) {
print "<h1 id=\"" strip_markdown(prev) "\">" prev "</h1>"
has_prev = 0
} else {
if (has_prev) print_header(prev)
print $0
has_prev = 0
}
} else if ($0 ~ /^-+$/) {
if (has_prev && prev != "" && prev !~ /^<[a-z]/) {
print "<h2 id=\"" strip_markdown(prev) "\">" prev "</h2>"
has_prev = 0
} else {
if (has_prev) print_header(prev)
if (length($0) >= 3) print "<hr />"
else print $0
has_prev = 0
}
} else if ($0 ~ /^[*_]+$/ && length($0) >= 3) {
if (has_prev) print_header(prev)
print "<hr />"
has_prev = 0
} else {
if (has_prev) {
line = prev
if (line ~ /^# /) {
sub(/^# /, "", line); print "<h1 id=\"" strip_markdown(line) "\">" line "</h1>"
} else if (line ~ /^## /) {
sub(/^## /, "", line); print "<h2 id=\"" strip_markdown(line) "\">" line "</h2>"
} else if (line ~ /^### /) {
sub(/^### /, "", line); print "<h3 id=\"" strip_markdown(line) "\">" line "</h3>"
} else if (line ~ /^#### /) {
sub(/^#### /, "", line); print "<h4 id=\"" strip_markdown(line) "\">" line "</h4>"
} else if (line ~ /^##### /) {
sub(/^##### /, "", line); print "<h5 id=\"" strip_markdown(line) "\">" line "</h5>"
} else if (line ~ /^###### /) {
sub(/^###### /, "", line); print "<h6 id=\"" strip_markdown(line) "\">" line "</h6>"
} else {
print prev
}
print_header(prev)
}
prev = $0
has_prev = 1
@@ -55,11 +74,6 @@ BEGIN {
}
END {
if (has_prev) {
line = prev
if (line ~ /^# /) {
sub(/^# /, "", line); print "<h1 id=\"" strip_markdown(line) "\">" line "</h1>"
} else {
print prev
}
print_header(prev)
}
}

View File

@@ -13,7 +13,7 @@ BEGIN {
next
}
if ($0 ~ /^<\/?(div|table|p|[ou]l|h[1-6]|[bh]r|blockquote|li)/) {
if ($0 ~ /^<\/?(div|table|p|[ou]l|h[1-6]|[bh]r|blockquote|li|hr)/) {
if (in_p) {
print "</p>"
in_p = 0