blob: 2971dd7de84e8dac2f21f9fdd6256fe274f47eb0 (
plain) (
blame)
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
|
#
# == About ==
#
# I call pagenav the stuff directly below the first h1. These include file dates
# and GitLab source link.
# Currently it only works for blog and tutorial pages.
#
# This is by far the most hard-coded and inefficient awk script in awk-edits.
# Creation and last edited dates are taken from git commits, and getting the correct info
# by file name can only be done (easily) with git log, which is unfortunately very slow.
# Another issue is that it depends on the build directories in build scripts, meaning
# it won't work without modification if you try to build it somewhere else.
#
# Split into Pagenav.awk and post-pagenav.awk
BEGIN {
fileCheck = ARGV[1] # FILENAME isn't available in BEGIN
if (match(fileCheck, /(blog|tutorials|talks)\/.*\//) == 0) {
found = 1
}
else {
found = 0
gsub(/^.*\/(synd|tiny.synd|website|tiny.website)\//, "", fileCheck); gsub(/\.html/, ".md", fileCheck)
system("git log --follow --pretty=format:%ad --date=\"format:%d %B %Y\" -- src/" fileCheck " > /tmp/syndamiadotcom-pagenav")
dateCreate = ""
dateEdited = ""
while ((getline < "/tmp/syndamiadotcom-pagenav") > 0) {
if (dateEdited == "") dateEdited = $0
dateCreate = $0
}
elem = ORS \
"<div id=\"pagenav\">" ORS \
" <strong>Created: " dateCreate "</strong> || <strong>Edited: " dateEdited "</strong>" ORS \
" || <a href=\"https://gitlab.com/Syndamia/syndamiadotcom/-/blob/master/src/" fileCheck "\"><strong>GitLab source</strong></a>" ORS \
"</div>"
}
}
|