Subdirectories: NewFeatures.
2006-02-27
I (ChrisSiebenmann) found myself with a genuine need for text set in HTML <strike>. Rather than try to invent a formatting setup for this that did not make me cringe, I just punted to the easy solution: macros that do text formatting.
So, DWiki now has grown the new macros:
ST for the font styles DWiki didn't already have.C for character entities, and ShowCharEnts to show the named
entities we support.AB for <abbr>, so I could have those
cute inline abbreviation expansion things. Tragically <abbr> is not
supported by IE 6 and less, so AB may quietly change to generating
<acronym> someday.IMG to generate <img>. Width, height, and alt text is
mandatory, and there is a hacky way to also roll title text in too.
(Title text is optional.)Through special black magic, ST, C, and AB can be used in comments
(the omission of IMG is deliberate). In theory this lets a commenter
cause character set explosions, but in practice a bad commenter can just
write UTF-8 directly (UTF-8 is the common and only sane character set
choice, so).
Implementing these as macros means that they have some limitations. You
can't nest C, AB, or a differently styled ST inside an ST, and
currently none of them can be done inside link text ([[....]]).
These macros are a bit of a hack. It's relatively easy to implement bits of HTML this way, but I'm not sure if it's good design overall.
2006-02-25
Character entity names recognized by DWiki
This is the automatically generated big list of character entities recognized by (this) DWiki in the
Cmacro. For the meanings and more precise specifications of these, see the Character entity references in HTML 4 from the HTML 4.01 specification.Note that not everything in this list may show as a character in your browser, or in other people's browsers. Also, this list is pretty much the full HTML 4.01 list. Older versions of HTML don't define all of these entities; the Wikipedia page is the best reference for what entities are defined in what version of HTML. (Since DWiki doesn't know what HTML version you're labelling its output as, it can't restrict the entities
Cwill accept.)The character entity list, with names and how they show:
- Aacute: Á
- aacute: á
- Acirc: Â
- acirc: â
- acute: ´
- AElig: Æ
- aelig: æ
- Agrave: À
- agrave: à
- alefsym: ℵ
- Alpha: Α
- alpha: α
- amp: &
- and: ∧
- ang: ∠
- Aring: Å
- aring: å
- asymp: ≈
- Atilde: Ã
- atilde: ã
- Auml: Ä
- auml: ä
- bdquo: „
- Beta: Β
- beta: β
- brvbar: ¦
- bull: •
- cap: ∩
- Ccedil: Ç
- ccedil: ç
- cedil: ¸
- cent: ¢
- Chi: Χ
- chi: χ
- circ: ˆ
- clubs: ♣
- cong: ≅
- copy: ©
- crarr: ↵
- cup: ∪
- curren: ¤
- Dagger: ‡
- dagger: †
- dArr: ⇓
- darr: ↓
- deg: °
- Delta: Δ
- delta: δ
- diams: ♦
- divide: ÷
- Eacute: É
- eacute: é
- Ecirc: Ê
- ecirc: ê
- Egrave: È
- egrave: è
- empty: ∅
- emsp:
- ensp:
- Epsilon: Ε
- epsilon: ε
- equiv: ≡
- Eta: Η
- eta: η
- ETH: Ð
- eth: ð
- Euml: Ë
- euml: ë
- euro: €
- exist: ∃
- fnof: ƒ
- forall: ∀
- frac12: ½
- frac14: ¼
- frac34: ¾
- frasl: ⁄
- Gamma: Γ
- gamma: γ
- ge: ≥
- gt: >
- hArr: ⇔
- harr: ↔
- hearts: ♥
- hellip: …
- Iacute: Í
- iacute: í
- Icirc: Î
- icirc: î
- iexcl: ¡
- Igrave: Ì
- igrave: ì
- image: ℑ
- infin: ∞
- int: ∫
- Iota: Ι
- iota: ι
- iquest: ¿
- isin: ∈
- Iuml: Ï
- iuml: ï
- Kappa: Κ
- kappa: κ
- Lambda: Λ
- lambda: λ
- lang: 〈
- laquo: «
- lArr: ⇐
- larr: ←
- lceil: ⌈
- ldquo: “
- le: ≤
- lfloor: ⌊
- lowast: ∗
- loz: ◊
- lrm:
- lsaquo: ‹
- lsquo: ‘
- lt: <
- macr: ¯
- mdash: —
- micro: µ
- middot: ·
- minus: −
- Mu: Μ
- mu: μ
- nabla: ∇
- nbsp:
- ndash: –
- ne: ≠
- ni: ∋
- not: ¬
- notin: ∉
- nsub: ⊄
- Ntilde: Ñ
- ntilde: ñ
- Nu: Ν
- nu: ν
- Oacute: Ó
- oacute: ó
- Ocirc: Ô
- ocirc: ô
- OElig: Œ
- oelig: œ
- Ograve: Ò
- ograve: ò
- oline: ‾
- Omega: Ω
- omega: ω
- Omicron: Ο
- omicron: ο
- oplus: ⊕
- or: ∨
- ordf: ª
- ordm: º
- Oslash: Ø
- oslash: ø
- Otilde: Õ
- otilde: õ
- otimes: ⊗
- Ouml: Ö
- ouml: ö
- para: ¶
- part: ∂
- permil: ‰
- perp: ⊥
- Phi: Φ
- phi: φ
- Pi: Π
- pi: π
- piv: ϖ
- plusmn: ±
- pound: £
- Prime: ″
- prime: ′
- prod: ∏
- prop: ∝
- Psi: Ψ
- psi: ψ
- quot: "
- radic: √
- rang: 〉
- raquo: »
- rArr: ⇒
- rarr: →
- rceil: ⌉
- rdquo: ”
- real: ℜ
- reg: ®
- rfloor: ⌋
- Rho: Ρ
- rho: ρ
- rlm:
- rsaquo: ›
- rsquo: ’
- sbquo: ‚
- Scaron: Š
- scaron: š
- sdot: ⋅
- sect: §
- shy:
- Sigma: Σ
- sigma: σ
- sigmaf: ς
- sim: ∼
- spades: ♠
- sub: ⊂
- sube: ⊆
- sum: ∑
- sup: ⊃
- sup1: ¹
- sup2: ²
- sup3: ³
- supe: ⊇
- szlig: ß
- Tau: Τ
- tau: τ
- there4: ∴
- Theta: Θ
- theta: θ
- thetasym: ϑ
- thinsp:
- THORN: Þ
- thorn: þ
- tilde: ˜
- times: ×
- trade: ™
- Uacute: Ú
- uacute: ú
- uArr: ⇑
- uarr: ↑
- Ucirc: Û
- ucirc: û
- Ugrave: Ù
- ugrave: ù
- uml: ¨
- upsih: ϒ
- Upsilon: Υ
- upsilon: υ
- Uuml: Ü
- uuml: ü
- weierp: ℘
- Xi: Ξ
- xi: ξ
- Yacute: Ý
- yacute: ý
- yen: ¥
- Yuml: Ÿ
- yuml: ÿ
- Zeta: Ζ
- zeta: ζ
- zwj:
- zwnj:
Some tedious but possibly important detail: DWiki takes its list of known character entities from the Python htmlentitydefs module.
2006-02-05
The more I have used DWiki for a blog, the more I've realized that I
want individual entries to be able to have Previous (entry) and Next
(entry) links. At first I resisted because this would require an
expensive filesystem walk on even individual page views, but I have
now given in and made the blog::prevnext renderer, which will do
this if I want.
blog::prevnext generates links directly to the pages, not to
/range/N-N/ virtual directories, because I think that works better.
(It would be less code the other way, but better links are worth the
code.)