If your Pelican-generated site uses lots of different tags for articles, it can be difficult to remember or use tag names consistently. Therefore I needed a quick method to print (comma separated) unique tags that were stored in text files.
This shell one-liner from within the content directory will sort and show all
tags from reStructuredText (
grep -h '^:tags:' *.rst | sed -e 's/^:tags:\s*//;s/\s*,\s*/\n/g' | sort -u
will filter on the
property and will only
print out the matching line (without filename, thanks to the -h flag).
will remove the
keyword (and trailing spaces),
and all tags will be split using newline characters.
takes care of sorting and only printing unique entries.
Analogous, one can do the same for categories:
grep -h '^:category:' *.rst | sed -e 's/^:category:\s*//' | sort -u
As Pelican only allows one category, this is somewhat simpler.
For maximum readability,
can convert the newlines into spaces, so
that the output is one big line:
grep -h '^:tags:' *.rst | sed -e 's/^:tags:\s*//;s/\s*,\s*/\n/g' | sort -u | tr '\n' ' '; echo
The last echo is meant to end …more ...