Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
#######
#
# E-scripts on generating and reading html.
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
# An introduction to eev can be found here:
#
#   (find-eev-quick-intro)
#   http://angg.twu.net/eev-intros/find-eev-quick-intro.html
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://angg.twu.net/e/html.e>
#           or at <http://angg.twu.net/e/html.e.html>.
#        See also <http://angg.twu.net/emacs.html>,
#                 <http://angg.twu.net/.emacs[.html]>,
#                 <http://angg.twu.net/.zshrc[.html]>,
#                 <http://angg.twu.net/escripts.html>,
#             and <http://angg.twu.net/>.
#
#######




# «.html2.0-rfc»		(to "html2.0-rfc")
# «.aswedit_debian»		(to "aswedit_debian")
# «.wdg-html-reference-etch»	(to "wdg-html-reference-etch")
# «.wdg-html-reference-lenny»	(to "wdg-html-reference-lenny")
# «.wdg»			(to "wdg")
# «.wdg-upstream»		(to "wdg-upstream")
# «.line-numbers»		(to "line-numbers")
# «.selectors»			(to "selectors")
# «.font-fallbacks»		(to "font-fallbacks")
# «.target-trick»		(to "target-trick")
# «.tidy»			(to "tidy")
# «.validate»			(to "validate")
# «.princexml»			(to "princexml")
# «.princexml-video»		(to "princexml-video")
# «.prince-pre»			(to "prince-pre")
# «.prince-browser»		(to "prince-browser")
# «.prince-page-numbers»	(to "prince-page-numbers")
# «.prince-page-size»		(to "prince-page-size")
# «.prince-twb-rwh»		(to "prince-twb-rwh")
# «.prince-font-size»		(to "prince-font-size")
# «.prince-twb-toc»		(to "prince-twb-toc")
# «.wkhtmltopdf»		(to "wkhtmltopdf")
# «.onload»			(to "onload")
# «.swf-objects»		(to "swf-objects")
# «.scaled-images»		(to "scaled-images")
# «.css-fonts»			(to "css-fonts")
# «.cssed»			(to "cssed")
# «.oficina-PC»			(to "oficina-PC")
# «.google-fonts»		(to "google-fonts")
# «.html5-audio»		(to "html5-audio")
# «.html5-audio-old»		(to "html5-audio-old")
# «.title-attribute»		(to "title-attribute")
# «.charset»			(to "charset")
# «.popups»			(to "popups")
# «.layers»			(to "layers")
# «.parsers»			(to "parsers")
# «.gumbo-parser»		(to "gumbo-parser")
# «.gumbo-parser-deb-src»	(to "gumbo-parser-deb-src")
# «.tables-with-divs»		(to "tables-with-divs")
# «.chords»			(to "chords")
# «.web-mode»			(to "web-mode")
# «.font-in-pre»		(to "font-in-pre")
# «.favicon»			(to "favicon")
# «.ul-and-li»			(to "ul-and-li")
# «.html5-tables»		(to "html5-tables")
# «.htmz»			(to "htmz")




#####
#
# RFC 1866: Hypertext Markup Language - 2.0
# 2001jan18
#
#####

# «html2.0-rfc»  (to ".html2.0-rfc")
# (find-rfcfile "rfc1866.txt")
# (find-rfcfile "rfc1866.txt")
# (find-rfcfile "rfc1866.txt" "   [SGML]")
# (find-rfcfile "rfc1866.txt" "9.7.2. ISO Latin 1 Character Entity Set")

# (find-lynxfile "WWW/Library/Implementation/HTMLDTD.c")
# (find-lynxfile "src/LYCharSets.c")
# (find-lynxfile "src/chrtrans/entities.h")
# (find-lynxfile "src/chrtrans/entities.h" "BOX DRAWINGS")
# but the names of the box-drawing chars are for unicode...



#####
#"rfc1866.txt" "   [SGML]")
# (find-rfcfile "rfc1866.txt" "9.7.2. ISO Latin 1 Character Entity Set")

# (find-lynxfile "WWW/Library/Implementation/HTMLDTD.c")
# (find-lynxfile "src/LYCharSets.c")
# (find-lynxfile "src/chrtrans/entities.h")
# (find-lynxfile "src/chrtrans/entities.h" "BOX DRAWINGS")
# but the names of the box-drawing chars are for unicode...



#####
#
# html 4.0
# 2004nov07
#
#####

# http://www.w3.org/MarkUp/
# http://www.w3.org/TR/html4/
# http://www.w3.org/TR/1999/REC-html401-19991224/
# http://www.w3.org/TR/1999/REC-html401-19991224/html40.txt
# http://www.w3.org/TR/html401/struct/tables.html

# (find-available "w3-recs")

# (code-c-d "html40" "$S/http/www.w3.org/TR/1999/REC-html401-19991224/")
# (find-html40file "html40.txt")
# (find-html40file "html40.txt" "\nQuick Table of Contents")
# (find-html40file "html40.txt" "\nFull Table of Contents")
# (find-html40file "html40.txt" "\nFull Table of Contents" "11. Tables")
# (find-html40file "html40.txt" "\n11.1 Introduction to tables")

# (find-html40file "html40.txt" "13.7.1" "expressed as percentages")

psne http://www.w3.org/TR/1999/REC-html401-19991224/html40.txt

# (code-c-d "html40" "$S/http/www.w3.org/TR/1999/REC-html401-19991224/")
# (find-html40file "html40.txt" "A. Soria" "rowspan")

# (eeb-define eeb-html eehtml ee-delimiter-hash)

#*
<!-- (eeb-html)
     (eev "firefox /tmp/ee.html &")
-->
<TABLE border="1">
<TR><TD>1 <TD rowspan="2">2 <TD>3
<TR><TD>4 <TD>6
<TR><TD>7 <TD>8 <TD>9
</TABLE>
#*



#####
#
# wml-1.6.7
#
#####

rm -Rv /usr/src/wml-1.6.7/
cd /usr/src/
tar -xvzf /snarf/ftp/ftp.engelschall.com/sw/wml/wml-1.6.7.tar.gz
cd /usr/src/wml-1.6.7/

# (find-fline "/usr/src/wml-1.6.7/INSTALL")

rm -Rv /usr/local/wml/
mkdir /usr/local/wml/
./configure --prefix=/usr/local/wml	|& tee oc
make		|& tee om
make test	|& tee omt




#####
#
# asWedit-4.0
#
#####

# (find-fline "/snarf/http/www.advasoft.com/asWedit/asWedit-4.0-i386.linux.tar.gz")

rm -Rv /usr/src/asWedit-4.0
rm -v /usr/local/bin/asWedit
rm -v /usr/local/lib/asWedit.hlp

cd /usr/src/
tar -xvzf /snarf/http/www.advasoft.com/asWedit/asWedit-4.0-i386.linux.tar.gz

ln -s /usr/src/asWedit-4.0/asWedit     /usr/local/bin/asWedit
ln -s /usr/src/asWedit-4.0/asWedit.hlp /usr/local/lib/asWedit.hlp

# (find-fline "/usr/src/asWedit-4.0/")
# (find-fline "/usr/src/asWedit-4.0/INSTALL" "app-defaults")
# (find-fline "/usr/src/asWedit-4.0/AsWedit")
# (find-fline "/usr/src/asWedit-4.0/AsWedit" "shortcuts for")
# (find-fline "/usr/src/asWedit-4.0/asWedit.hlp")
# (find-fline "/usr/src/asWedit-4.0/asWedit.hlp" "netscapeCmd")

asWedit -html3 /var/www/showquery.html
edrxnetscape http://www.advasoft.com/asWedit/
cd /snarf/ftp/sunsite.doc.ic.ac.uk/packages/www/asWedit/




#####
#
# asWedit-4.0 (.deb)
#
#####

cd /snarf/ftp/sunsite.doc.ic.ac.uk/packages/www/asWedit/

dpkg -i /snarf/ftp/sunsite.doc.ic.ac.uk/packages/www/asWedit/asWedit-i386.linux_4.0-0.deb

rm -Rv /usr/src/asWedit-4.0
cd /usr/src/
tar -xvzf /snarf/ftp/sunsite.doc.ic.ac.uk/packages/www/asWedit/emacs-mode-asWedit-4.0.tar.gz

ln -s /usr/src/asWedit-4.0/asWedit_em.hlp /usr/local/lib/asWedit_em.hlp
ln -s /usr/src/asWedit-4.0/AsWedit_em     /usr/X11R6/lib/X11/app-defaults/AsWedit_em

# (find-fline "/usr/src/asWedit-4.0/")
# (find-fline "/usr/src/asWedit-4.0/AsWedit_em" "and Emacs bindings")
# (find-fline "/usr/src/asWedit-4.0/asWedit_em.hlp")
# (find-vldifile "aswedit.list")

# (find-fline "/usr/doc/asWedit/")
# (find-fline "/usr/X11R6/lib/X11/app-defaults/AsWedit")
# (find-fline "/usr/X11R6/lib/asWedit.hlp")

asWedit -html3 -emacs /var/www/showquery.html

edrxnetscape http://localhost/showquery.html


cd /usr/X11R6/lib/
cat asWedit.hlp \
  | perl -e 'undef $/; $_ = <>; while (m/\n(\~.*\n.*\n)/g) { print $1; }'




#####
#
# asWedit (slink)
# 99oct13
#
#####

# «aswedit_debian»  (to ".aswedit_debian")

apti libc5 xlib6
cd /snarf/ftp/sunsite.doc.ic.ac.uk/packages/www/asWedit/
# (find-fline "/snarf/ftp/sunsite.doc.ic.ac.uk/packages/www/asWedit/")
dpkg -i asWedit-i386.linux_4.0-0.deb

# (find-vldifile "aswedit.list")
# (find-fline "/usr/doc/asWedit/")

# (find-fline "/usr/X11R6/lib/asWedit.hlp")
# (find-fline "/usr/X11R6/lib/asWedit.hlp" "ISINDEX")
# (find-fline "/usr/X11R6/lib/asWedit.hlp" "<ISINDEX> is deprecated")




#####
#
# php3
#
#####

Pgrep m/php3/i	|& tee ~/o
# (find-fline "~/o")


pdsc /debian/dists/slink/main/source/web/php3_3.0.5-3.dsc
# (find-php3file "")
# (find-php3file "debian/")
# (find-php3file "debian/postinst" "manually")

apti php3 php3-doc php3-dev

# (find-fline "/etc/apache/httpd.conf" "# LoadModule")
# LoadModule php3_module /usr/lib/apache/1.3/libphp3.so

# (find-vldifile "php3-doc.list")
# (find-vldifile "php3.list")

edrxnetscape /usr/doc/php3-doc/html/manual.html

# What is the center of the docs?
#
cd /usr/doc/php3-doc/html/
ls > ~/o
#
rm -Rv /tmp/w
mkdir /tmp/w/
cd /tmp/w/
wget -r -nc -np -l 60 http://127.0.0.1/doc/php3-doc/html/manual.html
cd /tmp/w/127.0.0.1/doc/php3-doc/html/
ls > ~/o2
#
diff ~/o ~/o2




lynx /usr/doc/php3-doc/html/manual.html





#####
#
# bluefish
#
#####

rm -Rv /usr/src/bluefish-0.3.2/
cd /usr/src/
tar -xvzf $S/http/bluefish.linuxbox.com/download/bluefish-0.3.2.tar.gz
cd /usr/src/bluefish-0.3.2/
./configure	|& tee oc
make		|& tee om

# (find-fline "/usr/src/bluefish-0.3.2/")




#####
#
# weblint
#
#####

# (find-slink "weblint")
# (find-fline "/usr/doc/weblint/")

# (find-fline "$S/http/www.yahoo.com/Computers_and_Internet/Information_and_Documentation/Data_Formats/HTML/")




#####
#
# css
# 2001oct20
#
#####

<php4> <style type=text/css>
<php4> A:link { text-decoration:none}
<php4> A:visited { text-decoration:none}
<php4> </style>

# (find-shttpfile "www.inf.puc-rio.br/nd/ndeduction.css")
# (find-shttpfile "www.inf.puc-rio.br/nd/program_i.html")




#####
#
# wdg-html-reference: installing it (and the validator) on etch
# 2005mar09
#
#####

# «wdg-html-reference-etch»  (to ".wdg-html-reference-etch")
# The package is not at etch, download the deb and install it by hand...
# http://www.debian.org/News/weekly/2005/47/
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=337035
# http://ftp.debian.org/debian/pool/main/w/wdg-html-reference/
# http://ftp.debian.org/debian/pool/main/w/wdg-html-reference/wdg-html-reference_4.0-2_all.deb
sudo dpkg -i \
 $S/http/ftp.debian.org/debian/pool/main/w/wdg-html-reference/wdg-html-reference_4.0-2_all.deb
apti wdg-html-validator

wdg-html-reference "debian weekly news"

# 2009aug24:
# «wdg-html-reference-lenny»  (to ".wdg-html-reference-lenny")
# http://www.guadalinex.org/debian/pool/main/w/wdg-html-reference/
# http://www.guadalinex.org/debian/pool/main/w/wdg-html-reference/wdg-html-reference_4.0-2_all.deb
sudo dpkg -i \
 $S/http/www.guadalinex.org/debian/pool/main/w/wdg-html-reference/wdg-html-reference_4.0-2_all.deb





#####
#
# html 4.01: validators and reference
# 2005mar09
#
#####

# «wdg»  (to ".wdg")
# (find-status   "wdg-html-reference")
# (find-vldifile "wdg-html-reference.list")
# (find-udfile   "wdg-html-reference/")
# (find-status   "wdg-html-validator")
# (find-vldifile "wdg-html-validator.list")
# (find-udfile   "wdg-html-validator/")

# (find-man "1 validate")
# (code-c-d "wdgref" "/usr/share/doc/wdg-html-reference/reference/")
# (code-c-d "wdg40"  "/usr/share/doc/wdg-html-reference/reference/html40/")
# (code-c-d "wdgcss" "/usr/share/doc/wdg-html-reference/reference/css/")
# (find-wdg40w3m "structure.html#doc")
# (find-wdg40w3m "alist.html")
# (find-wdg40w3m "special/span.html")

# (find-wdgreffile "html40/")
# (find-wdgrefw3m "html40/structure.html#doc")
# (find-wdgrefw3m "html40/alist.html")
# (find-wdgrefw3m "html40/special/span.html")
# (find-wdgrefw3m "css/index.html")
# (find-wdgrefw3m "css/structure.html")

# (find-w3m "/usr/share/doc/wdg-html-reference/reference/css/properties.html")
# (find-udw3m "wdg-html-reference/reference/css/properties.html")
# (find-udw3m "wdg-html-reference/reference/html40/structure.html#doc")

file:///usr/share/doc/wdg-html-reference/reference/html40/structure.html#doc

#*
cat > /tmp/foo.html <<'%%%'
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
        "http://www.w3.org/TR/REC-html40/strict.dtd">
<HTML>
  <HEAD>
    <TITLE>The document title</TITLE>
  </HEAD>
  <BODY>
    <H1>Main heading</H1>
    <P>A paragraph.</P>
    <P>Another paragraph.</P>
    <P><span style="background-color: purple; color: yellow;">text</span></P>
    <P><span style="background-color: #FF3300; color: yellow;">text</span></P>
    <P><span style="background-color: #FF3300;">text</span></P>
    <P><span style="background-color: red;">text</span></P>
    <UL>
      <LI>A list item.</LI>
      <LI>Another list item.</LI>
    </UL>
  </BODY>
</HTML>
%%%

#*



# (find-wdgrefw3m "html40/alist.html")
# (find-wdgreffile "html40/lists/li.html")
# (find-wdgrefw3m "html40/lists/li.html")
# (find-wdgrefw3m "css/classification/list-style.html")



http://www.ilovejackdaniels.com/css_cheat_sheet.pdf
http://www.lesliefranke.com/files/reference/csscheatsheet.html


(Broken:)           http://home.tampabay.rr.com/bmerkey/cheatsheet.htm
(use this instead:) http://www.engineeringdegree.net/resources/css-tutorials/

<table border="0" style="background: #ffda99; border: 1px solid black; padding: 0; margin: 0" cellpadding=0 cellspacing=0><tr><td>
<pre style="background: #dfda99; padding: 4px">[HLIST2 Items:
  [HREF http://foo/bar a link]
  [HREF http://another/link]
  [IT Italic text]
  [BF Boldface]
]</pre>
</td></tr></table>



#####
#
# WDG HTML reference: dowloading from upstream
# 2010sep09
#
#####

# «wdg-upstream»  (to ".wdg-upstream")
# (find-angg ".emacs" "wdg")
# http://htmlhelp.com/distribution/
# http://htmlhelp.com/distribution/wdghtml40.tar.gz
# http://htmlhelp.com/distribution/wdgcss.tar.gz
# http://htmlhelp.com/distribution/wilbur.zip
# (find-man "1 tar")
# (find-man "1 tar" "--strip")
#*
rm -Rv ~/usrc/wdg/
mkdir  ~/usrc/wdg/
mkdir  ~/usrc/wdg/html40/
tar -C ~/usrc/wdg/html40/ --strip 1 -xvzf $S/http/htmlhelp.com/distribution/wdghtml40.tar.gz
mkdir  ~/usrc/wdg/css/
tar -C ~/usrc/wdg/css/    --strip 1 -xvzf $S/http/htmlhelp.com/distribution/wdgcss.tar.gz
cd     ~/usrc/wdg/

#*
# (find-fline "~/usrc/wdg/")

# (code-c-d "wdgref" "~/usrc/wdg/")
# (code-c-d "wdg40"  "~/usrc/wdg/html40/")
# (code-c-d "wdgcss" "~/usrc/wdg/css/")
# (find-wdg40file "")
# (find-wdg40w3m "index.html")
# (find-wdgrefw3m "css/index.html")
# (find-wdgrefw3m "css/structure.html")
# (find-wdgcssfile "")
# (find-wdgcssw3m "font/index.html")
# (find-wdgcssw3m "font/index.html" "backup")
# (find-wdgcssgrep "grep -niH -e font *")




#####
#
# line numbers (from an idea by Marc Simpson)
# 2008sep11
#
#####

# «line-numbers»  (to ".line-numbers")
# (find-blogme3grep "grep -nH -e red *.lua")
# (find-THLgrep "grep -nH -e red *.html")
# (find-THfile  "blogme3.blogme" ".red { color: red; }")
# (find-THLfile "blogme3.html"   ".red { color: red; }")
# (find-THLfile "eev-article.html" "div style=" "background-color: ")

# (find-wdgcssw3m "text/text-decoration.html")
# (find-wdgcssw3m "structure.html#pseudo" "A:link")
# (find-wdgcssw3m "structure.html" "Class Selectors")
# (find-wdgcssw3m "structure.html" "<P CLASS=warning>")
# (find-wdgcssw3m "structure.html" "Anchor Pseudo-classes")
# (find-wdgcssw3m "structure.html" "assigned to the A element")

# (find-eevfile "eev-all.el.html" "a:hover")

# http://www.engineeringdegree.net/resources/css-tutorials/


# Broken:     http://home.tampabay.rr.com/bmerkey/cheatsheet.htm
# (find-w3m "$S/http/home.tampabay.rr.com/bmerkey/cheatsheet.htm" "A:link")
# use this instead: http://www.engineeringdegree.net/resources/css-tutorials/

#   Pseudo-classes can be used in contextual selectors and can be combined
#   with normal classes.
#     A:link {color: #900}
#     A:link IMG { border: solid blue }
#     A:hover { background:#ffff00; }
#     A:visited {}
#     A:active {} /* style visible only at moment of click */
#   Combining pseudos: Normal class names precede pseudos in the selector.
#     A.external:link { color: magenta }
#     <A CLASS="external" HREF="http://out.side/">external link</A>

A:link, A:visited, A:active { text-decoration: none }
#ffda99
  /* .n         { color: #ffda99; text-decoration: none; } */
  .n:link, .n:visited { color: red; text-decoration: none; }
  /* .n:visited { color: green; text-decoration: none; } */
  .n:hover   { color: blue; text-decoration: underline; }
  .comment   { color: #ff7f24; }
  /* .ln         { background-color: red; }   */
  /* .ln:hover   { background-color: green; } */


#*
[# (eeblogme-now-bounded)
#]
[SETHEADSTYLE
/* .ln         { background-color: yellow; } */
/* a.ln         { background-color: blue; } */
   a.ln:link    { background-color: yellow; }
   a.ln:visited { background-color: yellow; }
]

<pre>
<span class="ln"><a name="24"><a href="#24">24</a>:</a></span>Contents of line 24
<span><a name="24"><a class="ln" href="#24">24</a>:</a></span>Contents of line 24
</pre>


[PRE
Foo
<a class="comment" name="1">..<a   href="#1">1</a>: </a>bar
<a class="n" name="202"><a href="#202">202</a>: </a>plic
<a name="202"><a class="n" href="#202">202</a>: </a>plic
Bletch
<span class="comment">Komment</span>foo
]

#*


I am trying to define a style for line numbers in listings (in <PRE>___</PRE> blocks).
Ideally, I would invoke it as this:
<pre>
<span class="ln"><a name="24"><a href="#24">24</a>:</a></span>Contents of line 24
</pre>
but I can't find the right syntax for specifying properties for the links in the <span class="ln">___<span> block...
maybe the "a" class interferes with it? any hints?
here's what I am trying:
<style type="text/css"><!--
 /* .ln         { background-color: yellow; } */
   .ln:link    { background-color: yellow; }
   .ln:visited { background-color: yellow; }
 -->
</style>


style type="text/css"><!--
/* .n         { color: #ffda99; text-decoration: none; } */
  .n:link, .n:visited { color: red; text-decoration: none; }
  /* .n:visited { color: green; text-decoration: none; } */
  .n:hover   { color: blue; text-decoration: underline; }
  .comment   { color: #ff7f24; }
 -->
</style>

# http://dev.alt.textdrive.com/browser/HTTP/IPMnemonic.lua









# (find-es "html" "wdg")

# (find-status   "iceweasel-webdeveloper")
# (find-vldifile "iceweasel-webdeveloper.list")
# (find-udfile   "iceweasel-webdeveloper/")
apti iceweasel-webdeveloper

C-S-s no firefox toggla o CSS




# (find-anggfile "TH/blogme.blogme" "-- 2007apr17, guilherme")








#####
#
# Selectors (with thanks to Vinicius Toledo Nunes)
# 2009sep09
#
#####

# «selectors»  (to ".selectors")
#  http://www.w3.org/TR/CSS21/selector.html
# (find-wdgcssw3m "structure.html")
# (find-wdgcssw3m "structure.html" "ID Selectors")
# (find-wdgcssw3m "structure.html" "Class Selectors")
# (find-wdgcssw3m "structure.html" "Contextual Selectors")
# (find-wdgcssw3m "structure.html" "Comments")
# (find-TH "tourism")

#*
[# (eeblogme-now-bounded)
 # (find-fline "/tmp/ee.blogme")
 # (find-fline "/tmp/ee.html")
 # file:///tmp/ee.html
#]
[SETHEADSTYLE
  /* "#texto" para <div id="texto">     </div>
     ".texto" para <span class="texto"> </span>
     ".texto i" para <i> </i> dentro de class="texto"
  */
  .texto   { color: red }
  .texto i { color: green }
]
[lua:
  def [[ `` 1 body   "``$body''" ]]
  def [[ `` 1 body   "&#8220;$body&#8221;" ]]
]
[_TARGETS
  bey-tourism   => http://www.hermetic.com/bey/tourism.html
  stallman-kth  => http://www.gnu.org/philosophy/stallman-kth.html
]

[P I need to start by quoting some paragraphs from the transcription
of a [__ stallman-kth speech] that Richard Stallman gave at the KTH
(Royal Institute of Technology) in Stockholm, Sweden, at the 30th of
October of 1986. They'll probably make clear enough how we are far
nowadays from being in a perfect world.]

[NARROW

  [SPANCLASS texto

  [P In the old days on ITS it was considered desirable that everyone
  could look at any file, change any file, because we had reasons to.
  I remember one interesting scandal where somebody sent a request for
  help in using Macsyma. Macsyma is a symbolic algebra program that
  was developed at MIT. [IT He sent to one of] the people working on
  it a request for some help, and he got an answer a few hours later
  from somebody else. He was horrified, he sent a message [``
  so-and-so must be reading your mail, can it be that mail files
  aren't properly protected on your system?] [`` Of course, no file is
  protected on our system. What's the problem? You got your answer
  sooner; why are you unhappy? Of course we read each other's mail so
  we can find people like you and help them.] Some people just don't
  know when they're well off.]

  ]

  [P (...)]

  [P But gradually things got worse and worse, it's just the nature of
  the way the system had been constructed forced people to demand more
  and more security. Until eventually I was forced to stop using the
  machine, because I refused to have a password that was secret. Ever
  since passwords first appeared at the MIT-AI lab I had come to the
  conclusion that to stand up for my belief, to follow my belief that
  there should be no passwords, I should always make sure to have a
  password that is as obvious as possible and I should tell everyone
  what it is. Because I don't believe that it's really desirable to
  have security on a computer, I shouldn't be willing to help uphold
  the security regime. On the systems that permit it I use the [``
  empty password], and on systems where that isn't allowed, or where
  that means you can't log in at all from other places, things like
  that, I use my login name as my password. It's about as obvious as
  you can get. And when people point out that this way people might be
  able to log in as me, i say [`` yes that's the idea, somebody might
  have a need to get some data from this machine. I want to make sure
  that they aren't screwed by security].]

]
#*


<pre>
<span class="ln"><a name="24"><a href="#24">24</a>:</a></span>Contents of line 24
<span><a name="24"><a class="ln" href="#24">24</a>:</a></span>Contents of line 24
</pre>


[PRE
Foo
<a class="comment" name="1">..<a   href="#1">1</a>: </a>bar
<a class="n" name="202"><a href="#202">202</a>: </a>plic
<a name="202"><a class="n" href="#202">202</a>: </a>plic
Bletch
<span class="comment">Komment</span>foo
]

#*




#####
#
# prince-page-numbers
# 2021jun26
#
#####

# «prince-page-numbers»  (to ".prince-page-numbers")
# https://www.princexml.com/doc/13/cookbook/#page-numbering
# https://newbedev.com/print-page-numbers-on-pages-when-printing-html
# https://docraptor.com/documentation/tutorial/page-numbers
# (find-efunction 'find-telegram-save-log-links)
# (find-efunction 'find-telegram-save-log-links "content: counter(page)")



#####
#
# prince-page-size
# 2022mar17
#
#####

# «prince-page-size»  (to ".prince-page-size")
# https://www.princexml.com/doc/paged/#page-size
@page { size: A4 }




#####
#
# prince-twb-rwh
# 2022mar17
#
#####

# «prince-twb-rwh»  (to ".prince-twb-rwh")
# (find-fline "~/LOGS/2022mar17.emacs")
# https://cyber.com.au/~twb/.bin/rwh
# https://cyber.com.au/~twb/.bin/twb-pdf
# https://cyber.com.au/~twb/prince/prince.css
# (find-status   "librsvg2-bin")
# (find-vldifile "librsvg2-bin.list")
# (find-udfile   "librsvg2-bin/")
# (find-status   "xmlstarlet")
# (find-vldifile "xmlstarlet.list")
# (find-udfile   "xmlstarlet/")
# (find-status   "html2ps")
# (find-vldifile "html2ps.list")
# (find-udfile   "html2ps/")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)

* (eepitch-bash)
* (eepitch-kill)
* (eepitch-bash)
for i in curl wget rsvg-convert tidy xmlstarlet html2ps
do type $i
done

cd /tmp/

base="http://book.realworldhaskell.org/read/"
rm -rf rwh
mkdir  rwh
cd     rwh
wget -O- $base | egrep -o "[^\"'[:space:]]+\\.html" | sed \$d >chapter.list
# BUG: callouts/{1..10}.png 404 at rwh, which makes wget error out.
wget -nv -nH -nd -k -p --base $base -i chapter.list -R js,css$(printf ,%s.png {1..10})
wget -nv http://docbook.sf.net/release/xsl/current/images/callouts/{1..10}.{png,svg}
wget -nv http://docbook.sf.net/release/xsl/current/images/{caution,note,tip,warning}.svg

# Prepare HTML for xmlstarlet.
tidy -m -q --show-warnings no -n -asxml -utf8 --indent auto --wrap 8192 *.html ||
test $? -eq 1                   # ignore warnings from tidy
sed -rsi *.html \
    -e 's|xmlns="http://www.w3.org/1999/xhtml"||' \
    -e '/<head>/a<meta name="author" content="Bryan O&#8217;Sullivan, Don Stewart, and John Goerzen" />'

for i in *.html
do
    # This
    # 1. removes the inline toc and navigation;
    # 2. changes the page title from <h2> to <h1>; and
    # 3. works around an <li><p x=y> bug in html2ps.
    # 4. use vector images for standard docbook icons.
    <$i >$i~ xmlstarlet ed -P -S \
        -d "//p/@id" -d "//pre/@id" -d "//a/@id" \
        -d "//div[@class='navheader' or @class='navfooter' or @class='rwhfooter']" \
        -r "//div[@class='preface' or @class='chapter' or @class='appendix']/div/div/div/h2[1]" -v h1 \
        -u "//img[@src='caution.png']/@src" -v caution.svg \
        -u "//img[@src='note.png']/@src"    -v note.svg \
        -u "//img[@src='tip.png']/@src"     -v tip.svg \
        -u "//img[@src='warning.png']/@src" -v warning.svg \
        -u "//img[@src='http://book.realworldhaskell.org/read/images/callouts/1.png']/@src" -v 1.svg \
        -u "//img[@src='http://book.realworldhaskell.org/read/images/callouts/2.png']/@src" -v 2.svg \
        -u "//img[@src='http://book.realworldhaskell.org/read/images/callouts/3.png']/@src" -v 3.svg \
        -u "//img[@src='http://book.realworldhaskell.org/read/images/callouts/4.png']/@src" -v 4.svg \
        -u "//img[@src='http://book.realworldhaskell.org/read/images/callouts/5.png']/@src" -v 5.svg \
        -u "//img[@src='http://book.realworldhaskell.org/read/images/callouts/6.png']/@src" -v 6.svg \
        -u "//img[@src='http://book.realworldhaskell.org/read/images/callouts/7.png']/@src" -v 7.svg \
        -u "//img[@src='http://book.realworldhaskell.org/read/images/callouts/8.png']/@src" -v 8.svg \
        -u "//img[@src='http://book.realworldhaskell.org/read/images/callouts/9.png']/@src" -v 9.svg \
        -u "//img[@src='http://book.realworldhaskell.org/read/images/callouts/10.png']/@src" -v 10.svg
    mv $i~ $i
done

# FIXME: ~/.prince.css here.
# https://cyber.com.au/~twb/.bin/twb-pdf
# (find-fline "$S/https/cyber.com.au/~twb/.bin/twb-pdf")

* (eepitch-bash)
* (eepitch-kill)
* (eepitch-bash)
cd /tmp/rwh/

wget -nc https://cyber.com.au/~twb/prince/prince.css

cat > ./twb-pdf <<'%%%'
#!/bin/bash
set -eEu
set -o pipefail
trap 'echo >&2 "${0##*/}:${LINENO}: ${FUNCNAME[0]:+${FUNCNAME[0]}(): } unknown error"' ERR
(($#)) || set -- -              # Without arguments, have prince read from stdin.
export BROWSER='/tmp/rwh/twb-pdf --media=screen'

# prince --no-author-style -s /tmp/rwh/prince.css "$@" -o/dev/stdout |

prince --no-author-style \
  -s https://cyber.com.au/~twb/prince/prince.css \
  "$@" -o/dev/stdout |
if [[ -t 1 && -e /proc/self/fd/1 && -n "${DISPLAY:-}" ]]
then with-temp-file xpdf.real -title "$*" -fullscreen -rv 2>/dev/null
else cat
fi
%%%
chmod 755 twb-pdf

chrt --idle 0 nice ionice -c3 ./twb-pdf $(<chapter.list) >rwh.pdf

# (find-sh "prince --help")
PDF
twb-pdf and twb-pdf-new are a huge mess, though.
# (find-man "chrt")




#####
#
# prince-font-size
# 2022mar17
#
#####

# «prince-font-size»  (to ".prince-font-size")
# (find-fline "~/LOGS/2022mar17.emacs" ":root{font-size:12pt}")




#####
#
# prince: adding page numbers to the Table of Contents
# 2022mar17
#
#####

# «prince-twb-toc»  (to ".prince-twb-toc")

/* Example adding page numbers to the Table of Contents of https://de.wikipedia.org/wiki/Kultur */

#toc a::after {
    content: leader(" . ") target-counter(attr(href), page) }
#toc li {
    list-style-type: none }
#toc > ul {
    columns: 40ex;
    column-gap: 1em;
    float: top;
    margin: 0;
    padding: 0;
    margin-bottom: 1ex;
    padding-bottom: 1ex;
    border-borrom: thin black solid }
#toctitle, .tocnumber {
    display: none }





#####
#
# wkhtmltopdf
# 2022mar17
#
#####

# «wkhtmltopdf»  (to ".wkhtmltopdf")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
apti wkhtmltopdf

# (find-status   "wkhtmltopdf")
# (find-vldifile "wkhtmltopdf.list")
# (find-udfile   "wkhtmltopdf/")
# https://wkhtmltopdf.org/
# (find-man "1 wkhtmltopdf")
# (find-sh "wkhtmltopdf --help")
# (find-sh "wkhtmltopdf --htmldoc")

# (brprinceurl "http://angg.twu.net/index.html")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd /tmp/
wkhtmltopdf http://angg.twu.net/index.html index-w.pdf

prince -s /tmp/print.css \
       -o /tmp/index-p.pdf  \
           http://angg.twu.net/index.html

prince -s /tmp/print.css \
       -o /tmp/listp.pdf  \
          http://angg.twu.net/2020-list-packages-eev-nav.html

# (find-pdf-page "/tmp/index-w.pdf")
# (find-pdf-page "/tmp/index-p.pdf")
# (find-pdf-page "/tmp/listp.pdf")
# (find-pdf-text "/tmp/index.pdf")





#####
#
# Font fallbacks
# 2009sep21
#
#####

# «font-fallbacks»  (to ".font-fallbacks")
# (find-wdgcssw3m "font/index.html" "backup")




#####
#
# target trick
# 2009dec06
#
#####

# «target-trick»  (to ".target-trick")
# http://www.twisty.com/misc/tests/css/target-trick.html#a
# http://www.twisty.com/misc/tests/css/target-trick.html#b




#####
#
# tidy
# 2011jun20
#
#####

# «tidy»  (to ".tidy")

# (find-status   "tidy")
# (find-vldifile "tidy.list")
# (find-udfile   "tidy/")
# (find-status   "tidy-doc")
# (find-vldifile "tidy-doc.list")
# (find-udfile   "tidy-doc/")


#####
#
# HTML validators
# 2011jun20
#
#####

# «validate»  (to ".validate")
# (find-zsh "availabledebs | sort | grep validator")
apti w3c-markup-validator wdg-html-validator
# (find-status   "w3c-markup-validator")
# (find-vldifile "w3c-markup-validator.list")
# (find-udfile   "w3c-markup-validator/")
# (find-status   "wdg-html-validator")
# (find-vldifile "wdg-html-validator.list")
# (find-udfile   "wdg-html-validator/")
# http://validator.w3.org/
# (find-man "1 validate")

# (find-sh "validate -h")
# (find-sh "validate --emacs ~/TH/L/monep.html")
# (find-sh "validate         ~/TH/L/monep.html")




#####
#
# PrinceXML: an HTML to PDF converter (written in Mercury)
# 2011jun20
#
#####

# «princexml»  (to ".princexml")
# http://www.princexml.com/overview/
# http://www.princexml.com/download/
# http://www.princexml.com/download/prince_7.2-4ubuntu10.04_i386.deb
# http://www.princexml.com/download/prince_9.0-5_debian7.4_i386.deb
# http://www.princexml.com/download/prince_11.1-1_debian7.4_amd64.deb
# https://www.princexml.com/download/prince_12.5-1_debian9.1_amd64.deb
# https://www.princexml.com/download/prince_13.4-1_debian10_amd64.deb
# https://www.princexml.com/download/prince_14.2-1_debian10_amd64.deb
sudo dpkg -i $S/http/www.princexml.com/download/prince_7.2-4ubuntu10.04_i386.deb
sudo dpkg -i $S/http/www.princexml.com/download/prince_9.0-5_debian7.4_i386.deb
sudo dpkg -i $S/http/www.princexml.com/download/prince_11.1-1_debian7.4_amd64.deb
sudo dpkg -i $S/https/www.princexml.com/download/prince_12.5-1_debian9.1_amd64.deb
sudo dpkg -i $S/https/www.princexml.com/download/prince_13.4-1_debian10_amd64.deb
sudo dpkg -i $S/https/www.princexml.com/download/prince_14.2-1_debian10_amd64.deb

# 2019jun19:
https://www.princexml.com/download/prince_12.5-1_ubuntu18.04_amd64.deb
sudo dpkg -i $S/https/www.princexml.com/download/prince_12.5-1_ubuntu18.04_amd64.deb
apti libjpeg8

https://www.princexml.com/download/prince-12.5-linux-generic-x86_64.tar.gz
tar -C ~/usrc/ -xvzf $S/https/www.princexml.com/download/prince-12.5-linux-generic-x86_64.tar.gz
sudo ~/usrc/prince-12.5-linux-generic-x86_64/install.sh


# (find-status   "prince")
# (find-vldifile "prince.list")
# (find-udfile   "prince/")
# (find-man "1 prince")
# (find-fline "/usr/lib/prince/style/")

# http://www.princexml.com/doc/7.0/properties/
# http://www.princexml.com/doc/7.0/properties/font-size/
# http://www.princexml.com/doc/7.0/properties/content/
# http://www.princexml.com/doc/7.0/selectors/
# http://www.princexml.com/doc/7.0/command-line/
# http://www.princexml.com/doc/7.0/page-breaks/
# http://www.princexml.com/doc/7.0/page-headers-footers/
# http://www.princexml.com/samples/
# http://www.princexml.com/samples/mygut.css
# http://www.alistapart.com/articles/boom

# http://news.ycombinator.com/item?id=501897
# http://tomayko.com/writings/princexml
# http://www.youtube.com/watch?v=vcXUrNSvjhU
# ^ Prince XML: Generating High Quality PDFs from HTML + CSS
# http://www.lua.org/lua.css



* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# http://tomayko.com/writings/princexml
cat > /tmp/print.css <<'%%%'
body { margin:0 !important }
#footer, #nav, .pages { display:none }
%%%
prince -o /tmp/tomayko-print.pdf -s /tmp/print.css http://tomayko.com
# (find-xpdfpage "/tmp/tomayko-print.pdf")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# http://tomayko.com/writings/princexml
cat > /tmp/print.css <<'%%%'
body { font-size: 8pt !important }
%%%
prince -o /tmp/monep-8.pdf -s /tmp/print.css ~/TH/L/monep.html
# (find-xpdfpage "/tmp/monep-8.pdf")



#####
#
# PrinceXML: the Google TechTalks video
# 2012mar12
#
#####

;; «princexml-video»  (to ".princexml-video")
;; (find-angg ".emacs.templates" "find-youtubedl-links")
;; (find-youtubedl-links "/sda5/videos/" "Prince_XML_Generating_High_Quality_PDFs_from_HTML_CSS" "vcXUrNSvjhU" ".flv" "princexml")
(code-video "princexmlvideo" "/sda5/videos/Prince_XML_Generating_High_Quality_PDFs_from_HTML_CSS-vcXUrNSvjhU.flv")
;; (find-princexmlvideo)
;; (find-princexmlvideo "0:23" "(beginning)")
;; (find-princexmlvideo "1:04" "CSS")
;; (find-princexmlvideo "1:13" "a proposal")
;; (find-princexmlvideo "2:03" "CSS")
;; (find-princexmlvideo "2:50" "book")
;; (find-princexmlvideo "5:17" "pdf newspapers")
;; (find-princexmlvideo "7:20" "thesis")
;; (find-princexmlvideo "7:56" "CSS")
;; (find-princexmlvideo "8:40" "quick introduction to CSS")
;; (find-princexmlvideo "9:46" "CSS for paged media")
;; (find-princexmlvideo "10:24" "page-break-before")
;; (find-princexmlvideo "13:13" "@page")
;; (find-princexmlvideo "14:20" "headers and footers")
;; (find-princexmlvideo "17:40" "page:left")
;; (find-princexmlvideo "18:54" "multi-column layout")
;; (find-princexmlvideo "23:50" "http support")
;; (find-princexmlvideo "26:21" "bookmarks")
;; (find-princexmlvideo "27:40" "footnotes")
;; (find-princexmlvideo "27:56" "mathml")
;; (find-princexmlvideo "32:40" "cropmarks")
;; (find-princexmlvideo "35:06" "rounded borders")
;; (find-princexmlvideo "35:36" "prince in applications")
;; (find-princexmlvideo "40:00" "menu")
;; (find-princexmlvideo "40:53" "meny")
;; (find-princexmlvideo "41:55" "web fonts")
;; (find-princexmlvideo "42:14" "microsoft core fonts")
;; (find-princexmlvideo "43:02" "font families available for browsers")
;; (find-princexmlvideo "43:40" "web fonts")
;; (find-princexmlvideo "43:56" "giant tigers")
;; (find-princexmlvideo "44:23" "prince:")
;; (find-princexmlvideo "45:40" "gyparody")
;; (find-princexmlvideo "46:06" "the road to enlightenment")

# http://en.wikipedia.org/wiki/H%C3%A5kon_Wium_Lie
# http://people.opera.com/howcome/2006/phd/#ch-preweb




#####
#
# Using prince to print an UTF-8 file using <pre>...</pre>
# 2019jun20
#
#####

# «prince-pre» (to ".prince-pre")

# (find-angg "LATEX/2018-2-C2-P1.tex")
# (find-THfile "2014-xs.blogme" "find-prince-links")
# (find-fline "/home/edrx/TH/L/2014-xs.html")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cat > /tmp/o.html <<'%%%'
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>2018-2-C2-P1.tex
</title>
</head>
<body>
<pre>
</pre> 
</body>
</html>
%%%

(find-2a
  ' (find-angg "LATEX/2018-2-C2-P1.tex")
  ' (find-fline "/tmp/o.html")
  )

* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
allhtml = function (title, body)
    return [[
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>]] .. title ..[[
</title>
</head>
<body>
<pre>
]] .. body .. "\n" .. [[
</pre>
</body>
</html>
]]
  end

= allhtml("foo", "bar")
-- (find-fline    "~/usrc/agda-categories/src/Categories/")
-- (find-fline    "~/usrc/agda-categories/src/Categories/Category.agda")
-- (find-fline    "~/usrc/agda-categories/src/Categories/Functor.agda")
-- (find-fline    "~/usrc/agda-categories/src/Categories/Functor/Core.agda")
-- (find-fline    "~/usrc/agda-categories/src/Categories/Adjoint.agda")
bod = ee_readfile "~/usrc/agda-categories/src/Categories/Adjoint.agda"
htm = allhtml("Adjoint.agda", bod)
ee_writefile("/tmp/o.html", htm)

preize = function (stem)
    local fnamend  = fnamenondirectory(stem)
    local srcfname = "~/usrc/agda-categories/src/Categories/" .. stem
    local fname_   = stem:gsub("/", "_")
    local fname    = "/tmp/" .. fname_ .. ".html"
    local bod = ee_readfile(srcfname)
    local htm = allhtml(stem, bod)
    ee_writefile(fname, htm)
    printf('# (find-fline "%s")\n', fname)
    printf('prince -s /tmp/print.css -o /tmp/%s.pdf /tmp/%s.html\n', fname_, fname_)
  end

preize("Category.agda")
preize("Functor.agda")
preize("Functor/Core.agda")
preize("Adjoint.agda")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cat > /tmp/print.css <<'%%%'
body { font-size: 8pt !important }
%%%
cat > /tmp/print.css <<'%%%'
body { font-size: 7pt !important }
%%%
prince -s /tmp/print.css      \
       -o /tmp/o.pdf  \
          /tmp/o.html

;; (find-pdf-page "/tmp/o.pdf")
;; (find-pdf-text "/tmp/o.pdf")

cd /tmp/
prince -s /tmp/print.css -o /tmp/Adjoint.agda.pdf /tmp/Adjoint.agda.html
prince -s /tmp/print.css -o /tmp/Category.agda.pdf /tmp/Category.agda.html
prince -s /tmp/print.css -o /tmp/Functor.agda.pdf /tmp/Functor.agda.html
prince -s /tmp/print.css -o /tmp/Functor_Core.agda.pdf /tmp/Functor_Core.agda.html





#####
#
# twb's prince-browser script
# 2020dec30
#
#####

# «prince-browser»  (to ".prince-browser")
# http://cyber.com.au/~twb/.bin/prince-browser
<twb> edrx: http://cyber.com.au/~twb/.bin/twb-pdf-new
<twb> Those aren't really suitable for other people tho
<twb> Also for open-source (Japanese only)
      http://cyber.com.au/~twb/.html2psrc





#####
#
# OnLoad
# 2011nov17
#
#####

# «onload»  (to ".onload")
# (find-wdg40w3m "html/body.html" "ONLOAD=")
# (find-wdg40file "")
# (find-wdgreffile "html40/")
# (find-wdg40w3m "special/script.html")




#####
#
# SWF objects
# 2011dec22
#
#####

# «swf-objects»  (to ".swf-objects")
# (find-es "vnc" "swf-objects")
# (find-wdg40w3m "special/object.html")




#####
#
# Images and scaled images
# 2012feb03
#
#####

# «scaled-images»  (to ".scaled-images")
# (find-blogme3 "anggdefs.lua" "images")
# (find-wdg40w3m "special/img.html")
# (find-wdg40w3m "special/img.html" "WIDTH=Length")
# (find-wdg40w3m "special/img.html" "HEIGHT=Length")
# (find-wdg40w3m "values.html#length")





#####
#
# CSS fonts
# 2012mar19
#
#####

# «css-fonts»  (to ".css-fonts")
# (find-es "javascript" "font-selector")
# http://www.w3.org/TR/CSS21/cover.html#minitoc
# http://www.w3.org/TR/CSS21/fonts.html
# http://www.somacon.com/p334.php
# http://www.webdesigndev.com/web-development/16-gorgeous-web-safe-fonts-to-use-with-css
# How to point to a font file?

# http://www.w3.org/TR/CSS21/selector.html

# http://webdesign.about.com/cs/css/ht/htchangefontcss.htm



#####
#
# cssed
# 2013feb02
#
#####

# «cssed» (to ".cssed")
# (find-available "cssed")
# (find-status   "cssed")
# (find-vldifile "cssed.list")
# (find-udfile   "cssed/")

Edit -> Preferences -> Other -> google-chrome -> Apply Changes

http://cssed.sourceforge.net/
http://cssed.sourceforge.net/manual/usage.html
http://cssed.sourceforge.net/extras.php





#####
#
# Oficina (PC)
# 2012dec15
#
#####

# «oficina-PC» (to ".oficina-PC")

Links pra oficina de JavaScript do PC:
http://js.stamsoft.com.br/
http://js.stamsoft.com.br/0.html   <- meu

;;  (find-file "/ftp:js\\@stamsoft.com.br@stamsoft.com.br:")
(code-c-d "PC" "/ftp:js\\@stamsoft.com.br@stamsoft.com.br:")

# (find-PCfile "")
# (find-PCfile "hello.txt")
# (find-PCfile "0.html")
# (find-PCfile "0.css")
# (find-PCfile "pc/")
# (find-PCfile "pc/index.html")
# (find-PCfile "pc/estilos.css")
# http://www.stamsoft.com.br/
http://js.stamsoft.com.br/hello.txt


<link href="estilos.css" rel="stylesheet" type="text/css">

width: 300px;
height: 100px;
border: 1px solid black;




#####
#
# Google Fonts
# 2013jun01
#
#####

# «google-fonts» (to ".google-fonts")
# (find-es "javascript" "google-fonts")
http://www.fontsquirrel.com/fonts/pacifico
http://www.google.com/fonts/specimen/Pacifico
http://stackoverflow.com/questions/12812441/how-do-i-use-woff-fonts-for-my-website




#####
#
# html5-audio
# 2013aug08
#
#####

# «html5-audio» (to ".html5-audio")
# (find-es "javascript" "audio-api")
# (find-es "blogme" "angg-audios")
# (find-TH      "html5-audio")
# (find-THLfile "html5-audio.html")
#
#    http://angg.twu.net/html5-audio.html
# file:///home/edrx/TH/L/html5-audio.html
#      (find-THLfile "" "html5-audio")
#              (find-TH "html5-audio")
#

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/TH/L/
wget http://angg.twu.net/html5-audio.mp3




#####
#
# html5-audio: old code (backup)
# 2014mar20
#
#####

# «html5-audio-old» (to ".html5-audio-old")
# (find-blogme3 "html5-audio-mini.js")
# (find-blogme3 "html5-audio.js")

toseconds = function (t) {
  if (typeof(t) == "number") { return t; }
  var a = "0:00:00";
  var b = a.substr(0, a.length - t.length) + t;
  var h  = b.substr(0, 1);
  var mm = b.substr(2, 2);
  var ss = b.substr(5, 2);
  return h*3600+mm*60+ss*1;
}

function audios () { return document.getElementsByTagName("audio"); }
function audio  (n) { return audios()[n|0]; }
function playat (n, t) { audio(n).currentTime = toseconds(t); audio(n).play(); }

function naudios () { return audios().length; }
function audiosdo (f) { for (var i=0; i < naudios(); i++) f(audio(i)); }
function pauseall () { audiosdo(function (a) { a.pause(); }); }

function pl_ (n, t) { pauseall(); playat(n, t); }
function kpl_(n, e) {
  if (!e) e = window.event;
  if (e.keyCode == 13) pl_(n, e.target.value);
  if (e.keyCode == 32) { pauseall(); e.preventDefault(); }
}
function  pla(t) {  pl_(0, t); }
function  plb(t) {  pl_(1, t); }
function  plc(t) {  pl_(2, t); }
function kpla(t) { kpl_(0, t); }
function kplb(t) { kpl_(1, t); }
function kplc(t) { kpl_(2, t); }

href0 = function (tgt, text)  { return '<a href="'+tgt+'">'+text+'</a>'; }
href  = function (tgt, text)  { return tgt ? href0(tgt, text) : text; }
jref  = function (code, text) { return href('javascript:'+code, text); }
time_re = /[0-9]?[0-9]:[0-9][0-9](:[0-9][0-9])?/g;

seekbox = function (F, T) {
  return '<input size=8 value="'+T+'" onkeydown="'+F+'()">';
}
ptime0       = function (G, T)    { return     jref(G+"('"+T+"')", T);     }
ptime        = function (G, T)    { return "("+jref(G+"('"+T+"')", T)+")"; }
seekboxptime = function (F, G, T) { return seekbox(F, T)+" "+ptime(G, T); }
my_activate = function (elt, f) {
  elt.origtext = elt.origtext || elt.innerText;
  elt.innerHTML = f(elt.origtext);
}
my_activate_id = function (id, f) {
  my_activate(document.getElementById(id), f);
}

function  boxptimepla (t)   { return seekboxptime("kpla", "pla", t); }
function  boxptimeplb (t)   { return seekboxptime("kplb", "plb", t); }
function  boxptimeplc (t)   { return seekboxptime("kplc", "plc", t); }
function rboxptimepla (str) { return str.replace(time_re, boxptimepla); }
function rboxptimeplb (str) { return str.replace(time_re, boxptimeplb); }
function rboxptimeplc (str) { return str.replace(time_re, boxptimeplc); }

function activate_audio_links_a (id) { my_activate_id(id, rboxptimepla); }
function activate_audio_links_b (id) { my_activate_id(id, rboxptimeplb); }
function activate_audio_links_c (id) { my_activate_id(id, rboxptimeplc); }

// new, unused:
eltbyid       = function (id)      { return document.getElementById(id); }
from_textarea = function (id)      { return eltbyid(id).value; }
from_pre      = function (id)      { return eltbyid(id).innerHTML; }
to_textarea   = function (id, txt) { eltbyid(id).innerHTML = txt; }
to_pre        = function (id, txt) { eltbyid(id).innerHTML = txt; }
location_t = function () {
  var A = window.location.href.match(/[?&]t=([^&]+)/);
  if (A) { return A[1]; }
}







#####
#
# The "title" attribute
# 2013sep17
#
#####

# «title-attribute» (to ".title-attribute")
# http://www.w3.org/TR/html4/struct/global.html#adef-title



#####
#
# Charset
# 2014mar22
#
#####

# «charset» (to ".charset")
# (find-wdg40w3m "head/meta.html")
# (find-wdg40w3m "values.html#charset")
# (find-wdg40file "values.html" "charset=ISO-8859-1")
# (find-blogme3grep "grep --color -niH -e charset *")
# (find-blogme3file "local-videos.blogme" "charset=ISO-8859-1")

# https://www.w3schools.com/tags/
# https://www.w3schools.com/tags/tag_head.asp
# https://www.w3schools.com/tags/tag_meta.asp
# https://www.w3schools.com/html/html_charset.asp
# https://www.w3schools.com/charsets/default.asp



#####
#
# Layers
# 2014jun18
#
#####

# «layers» (to ".layers")
# «popups» (to ".popups")
# http://www.pat-burt.com/csspopup.html
# http://www.pat-burt.com/csspopup.js

# http://www.javascripttoolbox.com/lib/popup/example.php
# http://www.tutorialized.com/tutorial/Creating-JavaScript-popup-window-with-layers/33052

http://html.net/tutorials/css/lesson15.php




#####
#
# Parsers
# 2014nov12
#
#####

# «parsers» (to ".parsers")
# (find-es "lua5" "html-parsers")
# (find-es "lua5" "gumbo-parser")
# (find-es "netsurf" "lua-hubbub")




#####
#
# gumbo-parser
# 2015nov21
#
#####

# «gumbo-parser» (to ".gumbo-parser")
# https://github.com/google/gumbo-parser
# https://github.com/craigbarnes/lua-gumbo
# (find-git-links "https://github.com/google/gumbo-parser" "gumboparser")
# (find-git-links "https://github.com/craigbarnes/lua-gumbo" "luagumbo")
# (code-c-d "gumboparser" "~/usrc/gumbo-parser/")
# (find-gumboparserfile "")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rfv ~/usrc/gumbo-parser/
cd      ~/usrc/
git clone --depth 1 https://github.com/google/gumbo-parser

cd ~/usrc/gumbo-parser/
# (find-fline "~/usrc/gumbo-parser/")
git checkout
git clean -f
sh ./autogen.sh    |& tee oa
# ./configure        |& tee oc
./configure --prefix=/usr |& tee oc
make               |& tee om
sudo make install  |& tee omi
tar -cvzf      /tmp/gumbo-parser-logs.tgz o*
# (find-fline "/tmp/gumbo-parser-logs.tgz")

# (find-man "ldconfig")



#####
#
# gumbo-parser (from the debian sources)
# 2015nov21
#
#####

# «gumbo-parser-deb-src» (to ".gumbo-parser-deb-src")
# Used by: (find-es "lua5" "lua-gumbo")
# https://packages.debian.org/stretch/libgumbo1
# http://http.debian.net/debian/pool/main/g/gumbo-parser/
# http://http.debian.net/debian/pool/main/g/gumbo-parser/gumbo-parser_0.10.1+dfsg-2.dsc
# http://http.debian.net/debian/pool/main/g/gumbo-parser/gumbo-parser_0.10.1+dfsg.orig.tar.gz
# http://http.debian.net/debian/pool/main/g/gumbo-parser/gumbo-parser_0.10.1+dfsg-2.debian.tar.xz
#*
apti dh-autoreconf libgtest-dev python-all-dev python3-all-dev python-setuptools python3-setuptools

#*
rm -Rfv ~/usrc/gumbo-parser/
mkdir   ~/usrc/gumbo-parser/
cd $S/http/http.debian.net/debian/pool/main/g/gumbo-parser/
cp -v gumbo-parser_0.10.1+dfsg* ~/usrc/gumbo-parser/
cd      ~/usrc/gumbo-parser/
dpkg-source -sn -x gumbo-parser_0.10.1+dfsg-2.dsc
cd     ~/usrc/gumbo-parser/gumbo-parser-0.10.1+dfsg/
dpkg-buildpackage -us -uc -b -rfakeroot     |& tee odb

#*
# (find-fline "~/usrc/gumbo-parser/")
* (eepitch-shell)
cd ~/usrc/gumbo-parser/
sudo dpkg -i *.deb

#*
# (code-c-d "gumbo-parser" "~/usrc/gumbo-parser/gumbo-parser-0.10.1+dfsg/")
# (find-gumbo-parserfile "")

# (find-status   "libgumbo-dev")
# (find-vldifile "libgumbo-dev:amd64.list")
# (find-udfile   "libgumbo-dev/")
# (find-status   "libgumbo1")
# (find-vldifile "libgumbo1:amd64.list")
# (find-udfile   "libgumbo1/")
# (find-status   "python-gumbo")
# (find-vldifile "python-gumbo.list")
# (find-udfile   "python-gumbo/")
# (find-status   "python3-gumbo")
# (find-vldifile "python3-gumbo.list")
# (find-udfile   "python3-gumbo/")

# (find-zsh "installeddebs | sort | grep gumbo")

aptrm libgumbo-dev libgumbo1 python-gumbo python3-gumbo





#####
#
# Creating tables with divs
# 2015aug29
#
#####

# «tables-with-divs» (to ".tables-with-divs")
# (find-wdg40w3m "block/div.html")
# (find-wdg40w3m "head/style.html")
# http://www.dummies.com/how-to/content/using-the-div-tag-to-create-tables.html
# http://programmers.stackexchange.com/questions/277778/why-are-people-making-tables-with-divs
# http://www.html-cleaner.com/features/replace-html-table-tags-with-divs/
# http://www.html-5-tutorial.com/div-tag-cont.htm
# (find-TH "dednat6" "intro")

<style type="text/css">
  .table { display: table; }
  .row   { display: table-row; }
  .cell  { display: table-cell; }
</style>

<div class="table">
  <div class="row">
    <div class="cell"></div>
    <div class="cell"></div>
    <div class="cell"></div>
  </div>
</div>

<style type="text/css">
  .Table { display: table; }
  .Title { display: table-caption; text-align: center; font-weight: bold; font-size: larger; }
  .Heading { display: table-row; font-weight: bold; text-align: center; }
  .Row   { display: table-row; }
  .Cell  { display: table-cell; border: solid; border-width: thin;
           padding-left: 5px; padding-right: 5px; }
</style>

<div class="Table">
    <div class="Title">
        <p>This is a Table</p>
    </div>
    <div class="Heading">
        <div class="Cell">
            <p>Heading 1</p>
        </div>
        <div class="Cell">
            <p>Heading 2</p>
        </div>
        <div class="Cell">
            <p>Heading 3</p>
        </div>
    </div>
    <div class="Row">
        <div class="Cell">
            <p>Row 1 Column 1</p>
        </div>
        <div class="Cell">
            <p>Row 1 Column 2</p>
        </div>
        <div class="Cell">
            <p>Row 1 Column 3</p>
        </div>
    </div>
    <div class="Row">
        <div class="Cell">
            <p>Row 2 Column 1</p>
        </div>
        <div class="Cell">
            <p>Row 2 Column 2</p>
        </div>
        <div class="Cell">
            <p>Row 2 Column 3</p>
        </div>
    </div>
</div>



#####
#
# Chords
# 2017mar15
#
#####

# «chords» (to ".chords")
# http://stackoverflow.com/questions/4154014/styling-text-to-make-it-appear-above-the-line-for-chords-above-the-lyrics





#####
#
# web-mode
# 2019nov09
#
#####

# «web-mode» (to ".web-mode")
# (find-es "emacs" "web-mode")



#####
#
# font-in-pre
# 2021may10
#
#####

# «font-in-pre»  (to ".font-in-pre")
# https://css-tricks.com/considerations-styling-pre-tag/
# https://mail.google.com/mail/ca/u/0/#inbox/FFNDWMQQNlPzhrwlcPDCJVvfhBmVqXvb

<edrx> hey all, slightly OT... in my pages I use <pre></pre> to
       format code blocks, but in some browsers - e.g. chrome on
       android - the font in the pre blocks are much smaller than
       in the rest of the page... any suggestions on how to fix
       that?
<edrx> screenshot: https://i.ibb.co/1LFN7D3/Screenshot.jpg
<edrx> page: http://angg.twu.net/

font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida
  Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream
  Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco,
  "Courier New", Courier, monospace;

https://codepen.io/features/embeds




#####
#
# favicon
# 2021oct20
#
#####

# «favicon»  (to ".favicon")
# https://en.wikipedia.org/wiki/Favicon
# https://iconmap.io/blog
# (find-eev ".favicon.el")
# (find-fline "~/IMAGES/rrj.png")
# (find-THsh "cat *.blogme | grep SETFAVICON")
# (find-THsh "cat *.blogme | grep SETFAVICON | sort | uniq")





#####
#
# ul-and-li
# 2021nov29
#
#####

# «ul-and-li»  (to ".ul-and-li")
# (find-blogme3 "anggdefs.lua" "basic-words-for-html")
# (find-books "__comp/__comp.el" "html-1998")
# (find-musciano98page 262 "Chapter 8: Formatted Lists")

-- (find-wdgrefw3m "html40/lists/li.html")
-- (find-wdgrefw3m "css/classification/list-style.html")



#####
#
# html5-tables
# 2023apr07
#
#####

# «html5-tables»  (to ".html5-tables")
# https://blog.udemy.com/html5-tables/




#####
#
# htmz
# 2024feb20
#
#####

# «htmz»  (to ".htmz")
https://leanrada.com/htmz/




XML is like violence.  If it doesn't solve your problem, you're not
using enough of it.
http://www.codinghorror.com/blog/2008/05/xml-the-angle-bracket-tax.html
http://thedailywtf.com/Comments/Oh,-XML.aspx




http://tr.im/validate
http://www.favicon.cc/
http://spyrestudios.com/demos/sliding-panel-fixed/

http://www.disqueoleo.com.br/RECICLAGEM.html Mouseover sound

http://www.wra1th.plus.com/str_ed_ex/a.html

http://code.google.com/p/wkhtmltopdf/
http://pypi.python.org/pypi/xhtml2pdf/
http://www.winnovative-software.com/download.aspx
http://www.html2pdf.fr/en

http://www.calibre-ebook.com/
http://math.chapman.edu/~jipsen/blast2013/schedule.html
http://lineup.nojazzfest.com/events/2016/04/23

https://www.webdesignmuseum.org/gallery
https://www.webdesignmuseum.org/gallery/icq-2001

https://news.ycombinator.com/item?id=33085976 Templating in HTML (kittygiraudel.com)

Why/how does this page use google translate?
https://jochen-ziegenbalg.github.io/materialien/
https://news.ycombinator.com/item?id=37104742 A Blog Post with Every HTML Element (patrickweaver.net)






#  Local Variables:
#  coding:               utf-8-unix
#  End: