From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 0895A1F462; Wed, 5 Jun 2019 00:58:59 +0000 (UTC) Date: Wed, 5 Jun 2019 00:58:58 +0000 From: Eric Wong To: Ali Alnubani Cc: meta@public-inbox.org Subject: Re: [RFC] make external urls user configurable Message-ID: <20190605005858.nvq3zilfdisxjbvn@whir> References: <20190604224051.8442-1-alialnu@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20190604224051.8442-1-alialnu@mellanox.com> List-Id: Ali Alnubani wrote: > We started using public-inbox for dpdk.org (http://inbox.dpdk.org/dev/), Cool! I'm actually subscribed to some DPDK lists from a previous life and haven't checked those inboxes in a while :x > and most of our mailing lists aren't archived by these external > websites. But I figure there'll be some amount of cross-posting and references across projects. I'm planning to expand the Linkify component to be able to URL-ify <$MESSAGE_ID>-looking things (some newsreaders already do that). And I really want to encourage more cross-communication between projects via email :) Case in point: you could discuss this configuration/patch with DPDK colleagues and link to the inbox to this project; or something Linux-related with LKML; or FreeBSD-specific stuff with FreeBSD folks. Eventually, it would be nice to have some sort of decentralized Message-ID lookup service which works across many archives w/o a central point of failure or carrying around a giant list of inboxes. > This still needs further improvements. Yup :> > lib/PublicInbox/ExtMsg.pm | 18 +++--------------- > 1 file changed, 3 insertions(+), 15 deletions(-) > > diff --git a/lib/PublicInbox/ExtMsg.pm b/lib/PublicInbox/ExtMsg.pm > index d07d5a7..b1f6528 100644 > --- a/lib/PublicInbox/ExtMsg.pm > +++ b/lib/PublicInbox/ExtMsg.pm > @@ -13,20 +13,6 @@ use PublicInbox::MID qw/mid2path/; > use PublicInbox::WwwStream; > our $MIN_PARTIAL_LEN = 16; > > -# TODO: user-configurable > -our @EXT_URL = map { ascii_html($_) } ( > - # leading "//" denotes protocol-relative (http:// or https://) > - '//marc.info/?i=%s', > - '//www.mail-archive.com/search?l=mid&q=%s', > - 'nntp://news.gmane.org/%s', > - 'https://lists.debian.org/msgid-search/%s', > - '//docs.FreeBSD.org/cgi/mid.cgi?db=mid&id=%s', > - 'https://www.w3.org/mid/%s', > - 'http://www.postgresql.org/message-id/%s', > - 'https://lists.debconf.org/cgi-lurker/keyword.cgi?'. > - 'doc-url=/lurker&format=en.html&query=id:%s' > -); > - The default needs to remain; and may be further expanded. Instead of forcing existing users to reconfigure, I suggest allowing a "-" prefix to remove unwanted exturls. git-config also allows multi-value keys, so no need for '\' continuations. How about allowing "= +$URL" to prepend to the default list, and "= -$URL" to remove from the list. [publicinbox] exturls = -//marc.info/?i=%s exturls = -//www.mail-archive.com/search?l=mid&q=%s ... exturls = +//mid.dpdk.org/%s Maybe exturls could accept an empty value at the top to clobber all previous values, but I'm not a fan of supporting this: exturls = I also think it should be possible to configure these overrides on a per-inbox basis (but global overrides would still be respected) > sub search_partial ($$) { > @@ -166,7 +152,9 @@ sub ext_urls { > if (@EXT_URL && index($mid, '@') >= 0) { > my $env = $ctx->{env}; > my $e = "\nPerhaps try an external site:\n\n"; > - foreach my $url (@EXT_URL) { > + my @exturls = grep { /\S/ } map { ascii_html($_) } ( > + split(/[\s,]+/, $ctx->{www}->{pi_config}->{'publicinbox.exturls'})); > + foreach my $url (@exturls) { > my $u = PublicInbox::Hval::prurl($env, $url); > my $r = sprintf($u, $href); > my $t = sprintf($u, $html); Line is too long (<80 columns). I'm sensitive to this since I need giant fonts and can't fit much more on screen; and my vision will only get worse as I age :< Anyways, thanks for taking a look at this and looking forward to future revisions :>