X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=Documentation%2Fdesign_www.txt;h=92897043ed85d80ae13578447b848bfe10bb889e;hb=43c0f38b8dc27254deb10204cf97d7af7e49d368;hp=0d25a45a5dae5039c99bf84e483fc07e5616b214;hpb=f93b46bea8cd2811d911f256447f9332b7fc6bfa;p=public-inbox.git diff --git a/Documentation/design_www.txt b/Documentation/design_www.txt index 0d25a45a..92897043 100644 --- a/Documentation/design_www.txt +++ b/Documentation/design_www.txt @@ -3,8 +3,10 @@ URL naming ### Unstable endpoints /$LISTNAME/?r=$GIT_COMMIT -> HTML only -/$LISTNAME/index.atom.xml -> Atom feed -/$LISTNAME/all.atom.xml -> Atom feed, includes replies +/$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) @@ -12,16 +14,27 @@ URL naming /$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 . @@ -33,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. @@ -48,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