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,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 538D421420 for ; Tue, 5 Feb 2019 11:10:55 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 6/6] wwwtext: inline sample CSS and use highlight Date: Tue, 5 Feb 2019 11:10:53 +0000 Message-Id: <20190205111053.7155-7-e@80x24.org> In-Reply-To: <20190205111053.7155-1-e@80x24.org> References: <20190205111053.7155-1-e@80x24.org> List-Id: For user documentation regarding CSS; showing users the sample CSS with comments is probably more helpful than having standalone documentation on CSS classes. --- contrib/css/216dark.css | 30 +++++++++++++++++------------- lib/PublicInbox/UserContent.pm | 16 +++++++++------- lib/PublicInbox/WwwText.pm | 35 +++++++++++++++++------------------ 3 files changed, 43 insertions(+), 38 deletions(-) diff --git a/contrib/css/216dark.css b/contrib/css/216dark.css index 882fbc4..b18b057 100644 --- a/contrib/css/216dark.css +++ b/contrib/css/216dark.css @@ -13,22 +13,22 @@ a { color:#69f; text-decoration:none } a:visited { color:#96f } -/* quoted text gets a different color */ +/* quoted text in emails gets a different color */ *.q { color:#09f } /* - * these may be used with cgit, too + * these may be used with cgit , too. * (cgit uses
, public-inbox uses ) */ -*.add { color:#0ff } -*.del { color:#f0f } -*.head { color:#fff } -*.hunk { color:#c93 } +*.add { color:#0ff } /* diff post-image lines */ +*.del { color:#f0f } /* diff pre-image lines */ +*.head { color:#fff } /* diff header (metainformation) */ +*.hunk { color:#c93 } /* diff hunk-header */ /* - * highlight 3.x colors (tested 3.18) - * this doesn't use most of the colors available (I find too many - * colors overwhelming). So the #ccc default is commented out. + * highlight 3.x colors (tested 3.18) for displaying blobs. + * This doesn't use most of the colors available, as I find too + * many colors overwhelming, so the default is commented out. */ .hl.num { color:#f30 } /* number */ .hl.esc { color:#f0f } /* escape character */ @@ -36,11 +36,15 @@ a:visited { color:#96f } .hl.ppc { color:#f0f } /* preprocessor */ .hl.pps { color:#f30 } /* preprocessor string */ .hl.slc { color:#09f } /* single-line comment */ -.hl.com { color:#09f } -/* .hl.opt { color:#ccc } */ -/* .hl.ipl { color:#ccc } */ -/* .hl.lin { color:#ccc } */ +.hl.com { color:#09f } /* multi-line comment */ +/* .hl.opt { color:#ccc } */ /* operator */ +/* .hl.ipl { color:#ccc } */ /* interpolation */ + +/* keyword groups kw[a-z] */ .hl.kwa { color:#ff0 } .hl.kwb { color:#0f0 } .hl.kwc { color:#ff0 } /* .hl.kwd { color:#ccc } */ + +/* line-number (unused by public-inbox) */ +/* .hl.lin { color:#ccc } */ diff --git a/lib/PublicInbox/UserContent.pm b/lib/PublicInbox/UserContent.pm index df0429c..468e6cf 100644 --- a/lib/PublicInbox/UserContent.pm +++ b/lib/PublicInbox/UserContent.pm @@ -38,9 +38,9 @@ sub CSS () { *.hunk { color:#c93 } /* - * highlight 3.x colors (tested 3.18) - * this doesn't use most of the colors available (I find too many - * colors overwhelming). So the #ccc default is commented out. + * highlight 3.x colors (tested 3.18) for displaying blobs. + * This doesn't use most of the colors available (I find too many + * colors overwhelming), so the #ccc default is commented out. */ .hl.num { color:#f30 } /* number */ .hl.esc { color:#f0f } /* escape character */ @@ -48,10 +48,12 @@ sub CSS () { .hl.ppc { color:#f0f } /* preprocessor */ .hl.pps { color:#f30 } /* preprocessor string */ .hl.slc { color:#09f } /* single-line comment */ - .hl.com { color:#09f } - /* .hl.opt { color:#ccc } */ - /* .hl.ipl { color:#ccc } */ - /* .hl.lin { color:#ccc } */ + .hl.com { color:#09f } /* multi-line comment */ + /* .hl.opt { color:#ccc } */ /* operator */ + /* .hl.ipl { color:#ccc } */ /* interpolation */ + /* .hl.lin { color:#ccc } */ /* line-number (unused by public-inbox) */ + + /* keyword groups kw[a-z] */ .hl.kwa { color:#ff0 } .hl.kwb { color:#0f0 } .hl.kwc { color:#ff0 } diff --git a/lib/PublicInbox/WwwText.pm b/lib/PublicInbox/WwwText.pm index d3413ad..adadc37 100644 --- a/lib/PublicInbox/WwwText.pm +++ b/lib/PublicInbox/WwwText.pm @@ -10,6 +10,10 @@ use PublicInbox::WwwStream; use PublicInbox::Hval qw(ascii_html); our $QP_URL = 'https://xapian.org/docs/queryparser.html'; our $WIKI_URL = 'https://en.wikipedia.org/wiki'; +my $hl = eval { + require PublicInbox::HlMod; + PublicInbox::HlMod->new +}; # /$INBOX/_/text/$KEY/ # KEY may contain slashes # For now, "help" is the only supported $KEY @@ -61,7 +65,13 @@ sub get_text { sub _do_linkify { my $l = PublicInbox::Linkify->new; - $_[0] = $l->linkify_2(ascii_html($l->linkify_1($_[0]))); + $l->linkify_1($_[0]); + if ($hl) { + $hl->do_hl_text(\($_[0])); + } else { + $_[0] = ascii_html($_[0]); + } + $_[0] = $l->linkify_2($_[0]); } sub _srch_prefix ($$) { @@ -91,7 +101,8 @@ sub _srch_prefix ($$) { sub _colors_help ($$) { my ($ctx, $txt) = @_; my $ibx = $ctx->{-inbox}; - my $base_url = $ibx->base_url($ctx->{env}); + my $env = $ctx->{env}; + my $base_url = $ibx->base_url($env); $$txt .= "color customization for $base_url\n"; $$txt .= <