X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=Documentation%2Ftxt2pre;h=62175f3438bd26f266343b26c6350a90af15fa9e;hb=169cb094abc6477cc38cc0eb0e2467a088e4068a;hp=e9b5eb7db10ddf3a3ad0322454fba6fd3a898402;hpb=4bebfa0c80ad7f4596a7dca98b39121470a42af0;p=public-inbox.git diff --git a/Documentation/txt2pre b/Documentation/txt2pre index e9b5eb7d..62175f34 100755 --- a/Documentation/txt2pre +++ b/Documentation/txt2pre @@ -1,28 +1,73 @@ -#!/usr/bin/env perl -# Copyright (C) 2014-2020 all contributors +#!perl -w +# n.b. this is invoked via $(PERL) in makefiles +# Copyright (C) all contributors # License: AGPL-3.0+ # # Stupid script to make HTML from preformatted, utf-8 text versions, # only generating links for http(s). Markdown does too much # and requires indentation to output preformatted text. -use strict; -use warnings; +use v5.12; use PublicInbox::Linkify; use PublicInbox::Hval qw(ascii_html); -my %xurls; -for (qw[public-inbox.cgi(1) - public-inbox-compact(1) +my (%xurls, %lei); +for (qw[lei(1) + lei-add-external(1) + lei-add-watch(1) + lei-blob(1) + lei-config(1) + lei-convert(1) + lei-daemon(8) + lei-daemon-kill(1) + lei-daemon-pid(1) + lei-edit-search(1) + lei-export-kw(1) + lei-forget-external(1) + lei-forget-mail-sync(1) + lei-forget-search(1) + lei-import(1) + lei-index(1) + lei-init(1) + lei-inspect(1) + lei-lcat(1) + lei-ls-external(1) + lei-ls-label(1) + lei-ls-mail-source(1) + lei-ls-mail-sync(1) + lei-ls-search(1) + lei-ls-watch(1) + lei-mail-diff(1) + lei-mail-sync-overview(7) + lei-overview(7) + lei-p2q(1) + lei-q(1) + lei-rediff(1) + lei-refresh-mail-sync(1) + lei-reindex(1) + lei-rm(1) + lei-rm-watch(1) + lei-security(7) + lei-store-format(5) + lei-tag(1) + lei-up(1) + public-inbox.cgi(1) + public-inbox-clone(1) + public-inbox-config(5) public-inbox-config(5) public-inbox-convert(1) public-inbox-daemon(8) public-inbox-edit(1) + public-inbox-fetch(1) + public-inbox-glossary(7) public-inbox-httpd(1) + public-inbox-imapd(1) public-inbox-index(1) public-inbox-init(1) public-inbox-learn(1) public-inbox-mda(1) + public-inbox-netd(1) public-inbox-nntpd(1) public-inbox-overview(7) + public-inbox-pop3d(1) public-inbox-purge(1) public-inbox-v1-format(5) public-inbox-v2-format(5) @@ -32,23 +77,25 @@ for (qw[public-inbox.cgi(1) my ($n) = (/([\w\-\.]+)/); $xurls{$_} = "$n.html"; $xurls{$n} = "$n.html"; + /\Alei-(.+?)\(1\)\z/ and $xurls{"lei $1"} = "$n.html"; } -for (qw[copydatabase(1) xapian-compact(1)]) { - my ($n) = (/([\w\-\.]+)/); - $xurls{$_} = ".$n.1.html" -} +$xurls{'lei/store'} = 'lei-store-format.html'; -for (qw[make(1) flock(2) setrlimit(2) vfork(2) tmpfs(5)]) { +for (qw[make(1) flock(2) setrlimit(2) vfork(2) tmpfs(5) inotify(7) unix(7) + syslog(3)]) { my ($n, $s) = (/([\w\-]+)\((\d)\)/); - $xurls{$_} = "http://www.man7.org/linux/man-pages/man$s/$n.$s.html"; + $xurls{$_} = "https://www.man7.org/linux/man-pages/man$s/$n.$s.html"; } for (qw[git(1) git-am(1) git-apply(1) git-config(1) + git-credential(1) git-daemon(1) + git-diff(1) + git-fast-import(1) git-fetch(1) git-filter-branch(1) git-format-patch(1) @@ -58,6 +105,7 @@ for (qw[git(1) git-init(1) git-send-email(1) gitrepository-layout(5) + gitglossary(7) ]) { my ($n) = (/([\w\-\.]+)/); $xurls{$_} = "https://kernel.org/pub/software/scm/git/docs/$n.html" @@ -73,6 +121,12 @@ for (qw[ $xurls{$_} = "https://www.freedesktop.org/software/systemd/man/$n.html"; } +# favor upstream docs if they exist, use manpages.debian.org if they don't +$xurls{'netrc(5)'} = 'https://manpages.debian.org/stable/ftp/netrc.5.en.html'; +$xurls{'mbsync(1)'} = + 'https://manpages.debian.org/stable/isync/mbsync.1.en.html'; +$xurls{'offlineimap(1)'} = + 'https://manpages.debian.org/stable/offlineimap/offlineimap.1.en.html'; $xurls{'spamc(1)'} = 'https://spamassassin.apache.org/full/3.4.x/doc/spamc.html'; $xurls{'grok-pull'} = @@ -83,6 +137,24 @@ $xurls{'git-filter-repo(1)'} = 'https://github.com/newren/git-filter-repo'. $xurls{'ssoma(1)'} = 'https://ssoma.public-inbox.org/ssoma.txt'; $xurls{'cgitrc(5)'} = 'https://git.zx2c4.com/cgit/tree/cgitrc.5.txt'; $xurls{'prove(1)'} = 'https://perldoc.perl.org/prove.html'; +$xurls{'mbox(5)'} = 'https://manpages.debian.org/stable/mutt/mbox.5.en.html'; +$xurls{'mmdf(5)'} = 'https://manpages.debian.org/stable/mutt/mmdf.5.en.html'; +$xurls{'mutt(1)'} = 'https://manpages.debian.org/stable/mutt/mutt.1.en.html'; +$xurls{'torsocks(1)'} = + 'https://manpages.debian.org/stable/torsocks/torsocks.1.en.html'; +$xurls{'curl(1)'} = 'https://manpages.debian.org/stable/curl/curl.1.en.html'; +$xurls{'copydatabase(1)'} = + 'https://manpages.debian.org/stable/xapian-tools/copydatabase.1.en.html'; +$xurls{'xapian-compact(1)'} = + 'https://manpages.debian.org/stable/xapian-tools/xapian-compact.1.en.html'; +$xurls{'gzip(1)'} = 'https://manpages.debian.org/stable/gzip/gzip.1.en.html'; +$xurls{'chmod(1)'} = + 'https://manpages.debian.org/stable/coreutils/chmod.1.en.html'; +$xurls{'kqueue(2)'} = + 'https://www.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2'; +$xurls{'notmuch(1)'} = 'https://notmuchmail.org/manpages/notmuch-1/'; +$xurls{'mairix(1)'} = + 'https://manpages.debian.org/stable/mairix/mairix.1.en.html'; my $str = do { local $/; }; my ($title) = ($str =~ /\A([^\n]+)/); @@ -92,6 +164,9 @@ if ($str =~ /^NAME\n\s+([^\n]+)/sm) { if ($title =~ /([\w\.\-]+)/) { delete $xurls{$1}; } + if ($title =~ /\blei-([\w\-]+)\b/) { + delete $xurls{"lei $1"}; + } } $title = ascii_html($title); my $l = PublicInbox::Linkify->new; @@ -111,9 +186,3 @@ print '', "$title", "
",  $str , '
'; STDOUT->flush; - -# keep mtime on website consistent so clients can cache -if (-f STDIN && -f STDOUT) { - my @st = stat(STDIN); - utime($st[8], $st[9], \*STDOUT); -}