diff options
1 files changed, 36 insertions, 0 deletions
| -rw-r--r-- | meta.awk | 36 |
diff --git a/meta.awk b/meta.awk new file mode 100644 index 0000000..98651fd --- /dev/null +++ b/meta.awk @@ -0,0 +1,36 @@ +function emit(ind, val) { + print "meta[\"" FILENAME "\", \"" ind "\"]=\"" val "\"" +} + +title != "" && stopdesc == 0 && /^[[:alpha:]]/ { + startedGathering = 1 + # Take only anchor text + gsub(/\]\([^)]*\)/, "") + gsub(/\[/, "") + # Append line + if (desc == "") desc = $0 + else desc = desc " " $0 + # Trim line to 200 characters + if (length(desc) > 200) { + desc = substr(desc, 1, 197) "..." + stopdesc = 1 + } +} +stopdesc == 0 && startedGathering == 1 && /^[[:blank:]]*$/ { stopdesc = 1 } + +{ + words += NF +} + +title == "" && /^# / { + sub(/^#[[:blank:]]*/, "") + sub(/[[:blank:]#]*$/, "") + # sub(/.*/, titlef) + title = $0 +} + +END { + emit("title", title) + emit("description", desc) + emit("words", words) +} |
