user/dev discussion of public-inbox itself
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
			download mbox.gz: |
* [PATCH 6/6] wwwtext: inline sample CSS and use highlight
  2019-02-05 11:10  7% [PATCH 0/6] highlighting cleanups + help update Eric Wong
@ 2019-02-05 11:10  6% ` Eric Wong
  0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2019-02-05 11:10 UTC (permalink / raw)
  To: meta

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 <https://git.zx2c4.com/cgit/>, too.
  * (cgit uses <div>, public-inbox uses <span>)
  */
-*.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 .= <<EOF;
 
@@ -104,23 +115,11 @@ to control the colors they see:
 
 	${base_url}userContent.css
 
-CSS classes
------------
-
-	   span.q - quoted text in email messages
-
-For diff highlighting, we try to match class names with those
-used by cgit: https://git.zx2c4.com/cgit/
-
-	 span.add - diff post-image lines
-
-	 span.del - diff pre-image lines
-
-	span.head - diff header (metainformation)
-
-	span.hunk - diff hunk-header
-
+CSS sample
+----------
+```css
 EOF
+	$$txt .= PublicInbox::UserContent::sample($ibx, $env) . "```\n";
 }
 
 sub _default_text ($$$) {
-- 
EW


^ permalink raw reply	[relevance 6%]

* [PATCH 0/6] highlighting cleanups + help update
@ 2019-02-05 11:10  7% Eric Wong
  2019-02-05 11:10  6% ` [PATCH 6/6] wwwtext: inline sample CSS and use highlight Eric Wong
  0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2019-02-05 11:10 UTC (permalink / raw)
  To: meta

Experimenting with using Markdown-style "```$LANG" blocks
support for our user documentation.  It makes the CSS
example easier-to-follow when the CSS source is in front
of the user.

Markdown-style blocks definitely won't be enabled by default for
emails.  I don't want to encourage people to use Markdown in
emails (as that inevitably ends with "which flavor?") and the
same mess with privacy/compatibility problems have with HTML
mail.

But preserving the WYSIWYG nature of plain-text while allowing a
tiny subset of Markdown (we already respect it for
linkification) might be useful for mailing lists which forward
messages from Markdown-supported forums/trackers (e.g. Redmine
and ruby-core mailing list).

Eric Wong (6):
  viewvcs: cleanup utf8 handling
  hlmod: hoist out do_hl_lang sub
  hlmod: make into a singleton
  hlmod: do_hl* performs src_escape immediately
  hlmod: support "```$LANG" blocks in text
  wwwtext: inline sample CSS and use highlight

 contrib/css/216dark.css        | 30 ++++++++++--------
 lib/PublicInbox/HlMod.pm       | 70 ++++++++++++++++++++++++++++--------------
 lib/PublicInbox/UserContent.pm | 16 +++++-----
 lib/PublicInbox/ViewVCS.pm     | 14 ++-------
 lib/PublicInbox/WwwText.pm     | 35 ++++++++++-----------
 t/hl_mod.t                     | 34 ++++++++++++--------
 6 files changed, 114 insertions(+), 85 deletions(-)

-- 
EW


^ permalink raw reply	[relevance 7%]

Results 1-2 of 2 | reverse
2019-02-05 11:10  7% [PATCH 0/6] highlighting cleanups + help update Eric Wong
2019-02-05 11:10  6% ` [PATCH 6/6] wwwtext: inline sample CSS and use highlight Eric Wong

user/dev discussion of public-inbox itself

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://public-inbox.org/meta
	git clone --mirror http://czquwvybam4bgbro.onion/meta
	git clone --mirror http://hjrcffqmbrq6wope.onion/meta
	git clone --mirror http://ou63pmih66umazou.onion/meta

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 meta meta/ https://public-inbox.org/meta \
		meta@public-inbox.org
	public-inbox-index meta

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.mail.public-inbox.meta
	nntp://ou63pmih66umazou.onion/inbox.comp.mail.public-inbox.meta
	nntp://czquwvybam4bgbro.onion/inbox.comp.mail.public-inbox.meta
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.mail.public-inbox.meta
	nntp://news.gmane.io/gmane.mail.public-inbox.general
 note: .onion URLs require Tor: https://www.torproject.org/

code repositories for the project(s) associated with this inbox:

	https://80x24.org/public-inbox.git

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git