From 95ae2be15891eae0b62a83d1adcc8380548c9290 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Fri, 18 Dec 2020 22:59:41 -0500 Subject: Add scripts to download, compress and tag IETF RFCs --- rfc/.gitignore | 3 +++ rfc/Makefile | 11 +++++++++++ rfc/rfctags.pl | 26 ++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 rfc/.gitignore create mode 100644 rfc/Makefile create mode 100644 rfc/rfctags.pl (limited to 'rfc') diff --git a/rfc/.gitignore b/rfc/.gitignore new file mode 100644 index 00000000..808cd63e --- /dev/null +++ b/rfc/.gitignore @@ -0,0 +1,3 @@ +*.txt +*.txt.gz +tags diff --git a/rfc/Makefile b/rfc/Makefile new file mode 100644 index 00000000..ed89a4e4 --- /dev/null +++ b/rfc/Makefile @@ -0,0 +1,11 @@ +tags: rfctags.pl + perl rfctags.pl > $@ + +sync: + rsync -z ftp.rfc-editor.org::rfcs-text-only/'rfc[0-9]*.txt' . + +compress: + gzip -9f *.txt + +clean: + rm -f *.txt *.txt.gz tags diff --git a/rfc/rfctags.pl b/rfc/rfctags.pl new file mode 100644 index 00000000..cd3ba288 --- /dev/null +++ b/rfc/rfctags.pl @@ -0,0 +1,26 @@ +use strict; +use warnings; +use open ':encoding(ISO-8859-1)'; + +use IO::Uncompress::Gunzip qw($GunzipError); + +($,, $\) = ("\t", "\n"); +for my $rfc (<*.txt.gz>) { + my $handle = new IO::Uncompress::Gunzip $rfc + or die "${rfc}: ${GunzipError}"; + while (<$handle>) { + chomp; + # Section headings + if (/^([\d.]+|[A-Z][.])\s+([^\t]+)/) { + print $1, $rfc, $.; + print $2, $rfc, $.; + } + # References + if (/^\s*(\[[\w-]+\])\s{2,}/) { + print $1, $rfc, $.; + print "\\$1", $rfc, $.; # vim ^] prepends \ to [ + } + } + die "${rfc}: $!" if $!; + close $handle; +} -- cgit 1.4.1 class='right' method='get' action='/src/log/www/git.causal.agency/cgit/tests/.gitignore'>
path: root/www/git.causal.agency/cgit/tests/.gitignore (unfollow)
Commit message (Collapse)Author
2021-09-22Remove default faviconJune McEnroe
I hate these things and also this one sucks.
2021-09-21Use Z_FILTERED strategyJune McEnroe
2021-09-21Recalculate various lengths only as neededJune McEnroe
This actually speeds things up quite a bit, saving roughly a second on a big PNG screenshot. Almost all the remaining time is spent in deflate.
2021-09-21Rewrite pngo, add explicit optionsJune McEnroe
Interesting to see how my code habits have changed.
2021-09-16Fix /* **/ comment matchingJune McEnroe
2021-09-15Remove typer, add downgrade to READMEJune McEnroe
2021-09-15Set bot mode on downgradeJune McEnroe
2021-09-15Enter capsicum in downgradeJune McEnroe
2021-09-15Factor out common parts of downgrade messagesJune McEnroe
Also bump the message cap to 1024 because that is ostensibly useful for replying to older messages.
2021-09-14Add downgrade IRC botJune McEnroe
2021-09-14Sort by title if authors matchJune McEnroe
There are probably better things to sort by but title definitely always exists.
2021-09-13Swap-remove tags as they're foundJune McEnroe
This makes it even faster. From ~1s on a sqlite3.c amalgamation to ~0.85s.
2021-09-12Replace htagml regex with strncmpJune McEnroe
Since ctags only ever produces regular expressions of the form /^re$/ or /^re/ with no other special characters, instead unescape the pattern and simply use strncmp. Running on a sqlite3.c amalgamation, the regex version takes ~37s while the strncmp version takes ~1s, producing identical output. Big win!
2021-09-11Also defer printing comment for lone close-parensJune McEnroe
2021-09-10Publish "git-comment"June McEnroe
2021-09-10Add git comment --pretty optionJune McEnroe
2021-09-08Defer printing comment if line is blank or closing braceJune McEnroe
This fixes badly indented comments.
2021-09-08Up default min-repeat to 30 linesJune McEnroe
2021-09-08Handle dirty lines in git-commentJune McEnroe
2021-09-08Document and install git-commentJune McEnroe
2021-09-08Add repeat and all options to git-commentJune McEnroe
2021-09-08Add group threshold to git-commentJune McEnroe