blob: 2055604415444419496b6da90fbf51bfa273ecb5 (
plain)
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
|
#!/usr/bin/env gawk -f
/---/ { meta_delim_count++ }
{
if (meta_delim_count >= 2) {
# remove additional metadata (title, url, link text) other than the
# language from a Octopress fenced (backtick) code block
if (match($0, /\s*```\s*[[:alnum:]_-]+/, matchobj)) {
print matchobj[0]
next
}
# convert Octopress {% %} plugin blocks to verbatim (in fenced code
# blocks); this can't really handle multiline plugins (e.g.,
# blockquote), but sacrifices need to be made anyway
if (match($0, /\s*{%.+%}\s*/)) {
print "```"
print
print "```"
next
}
# correct internal links
$0 = gensub(/\/blog\/([0-9]{4})\/([0-9]{2})\/([0-9]{2})\/([a-zA-Z0-9%_-]+)\//, \
"/blog/\\1-\\2-\\3-\\4.html", "g")
print
} else if ($1 == "layout:" || $1 == "comments:" || $1 == "categories:") {
next
} else if ($1 == "date:") {
print
printf "date-display: "
# requires date from coreutils; BSD date doesn't work
system("date -d "$2" +'%B %_d, %Y'")
} else {
print
}
}
|