X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=Documentation%2Fdesign_www.txt;h=92897043ed85d80ae13578447b848bfe10bb889e;hb=43c0f38b8dc27254deb10204cf97d7af7e49d368;hp=226a22c9704b427ddea9620a27be9a6888043923;hpb=b39e6e140d7a074dfb5c7b768285736511e04d97;p=public-inbox.git
diff --git a/Documentation/design_www.txt b/Documentation/design_www.txt
index 226a22c9..92897043 100644
--- a/Documentation/design_www.txt
+++ b/Documentation/design_www.txt
@@ -5,22 +5,36 @@ URL naming
/$LISTNAME/?r=$GIT_COMMIT -> HTML only
/$LISTNAME/atom.xml -> Atom feed
+#### Optional, relies on Search::Xapian
+/$LISTNAME/t/$MESSAGE_ID.html -> HTML content of thread
+
### Stable endpoints
/$LISTNAME/m/$MESSAGE_ID.html -> HTML content (short quotes)
/$LISTNAME/m/$MESSAGE_ID.txt -> raw original
/$LISTNAME/m/$MESSAGE_ID -> 301 to .html version
/$LISTNAME/f/$MESSAGE_ID.html -> HTML content (full quotes)
/$LISTNAME/f/$MESSAGE_ID -> 301 to .html version
-/$LISTNAME/f/$MESSAGE_ID.txt -> 301 to m/$MESSAGE_ID.txt
+/$LISTNAME/f/$MESSAGE_ID.txt -> 301 to ../m/$MESSAGE_ID.txt
+
+FIXME: we must refactor/cleanup/add tests for most of our CGI before
+adding more endpoints and features.
Maybe TODO (these might be expensive)
-------------------------------------
-/$LISTNAME/t/$MESSAGE_ID.html -> HTML content of thread
/$LISTNAME/t/$MESSAGE_ID.mbox -> mbox content of thread
We use file name suffixes on all of these (except /) so URLs may easily
cached/memoized using a static file server.
+Encoding notes
+--------------
+
+Raw HTML and XML should only contain us-ascii characters which render
+to UTF-8.
+
+Plain text (raw message) endpoints display in the original encoding(s)
+of the original email.
+
Guidelines for using limited HTML
---------------------------------
We mainly use HTML for linking pages together with .
@@ -32,9 +46,6 @@ tends to be less readable with fixed-width serif fonts which GUI
browsers default to. So perhaps we will add different endpoints for
variable-width fonts.
-* Do not build links from user-generated-content, this prevents
- public-inbox deployments from being turned into a spam linkfarm.
-
* No graphics, images, or icons at all. We tolerate, but do not
encourage the use of GUIs.
@@ -47,7 +58,7 @@ variable-width fonts.
* We only use CSS for one reason: wrapping pre-formatted text
This is necessary because unfortunate GUI browsers tend to be
- prone to layout widening. lynx is fine here without CSS :)
+ prone to layout widening. w3m is fine here without CSS :)
No other CSS is allowed, especially with scary things like:
http://thejh.net/misc/website-terminal-copy-paste