Summary Files Commits Branches @commit @diff @stats
path: root / awk-edits / Header-title.awk
blob: 16247e8386f1e763d31de61885450e3f911deb5a (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
#
# == About ==
#
# Every page has a og:title meta tag, which has to be generated from the page
# itself. The title tag is automatically filled in by ssg.
# The value for the meta tag is "[TITLE]" and it gets replaced with all text
# inside first h1 header tag.

BEGIN {
	h1Index = 0

	# When this loop finishes, $0 will have the first line containing an h1 header
	# tag, and h1Index will have it's starting position
	while (h1Index == 0 && getline < ARGV[1])
		h1Index = index($0, "<h1")
	close(ARGV[1]) # FILENAME isn't set during BEGIN

	# Removes the opening tag and substrings everything that is normally
	# inside the heading tag
	gsub(/<h1[^>]*>/, "")
	title = substr($0, h1Index, index($0, "</h1") - h1Index)
}

"\\[TITLE\\]" {
	gsub("\\[TITLE\\]", title)
}