Differences between YstokHTML and Franz HTMLGen
- Renamed
html
macro to htm
(a la Edi Weitz's
CL-WHO).
- YstokHTML is XHTML compatible with close tags so that
(htm :hr)
can produce
'<hr>' or '<hr />' depending on *html-mode*.
Whether print-html-...
functions produce XHTML termination '/>' also depends on *html-mode*
.
- Lowercase tag names when
*html-mode*
is :xml
.
- Lowercase attribute names when
*html-mode*
is :xml
or
*attribute-case*
is :downcase
; so (htm ((:p class 'a)))
produces '<p class="a"></p>'.
- Added new tags
:include, :nbsp, :jscript, :format, :format-safe,
:!doctype, :?xml
.
- Added new custom tag
:escape
,
which invokes full-fledged html-template:escape-string
and escapes not only four characters, but all satisfying template:*escape-char-p
*.
- Added special attribute tag
:optional
,
which is similar to :if*
.
The :if*
pseudo-attribute is deprecated in favor of :when
.
- Automatic conversion attribute values to strings (quoting).
- Removed the
if*
macro from all the source code.
- Renamed
html-process
to descriptor
:
- it is of a "normal" structure type now, not of type list;
- slot
name-attrs
renamed to name-attr
;
- added slot
uri-attrs
specifying a list of attributes of type URI.
- Function
prin1-safe-http-string
replaced by generic prin1-attribute-value
of signature:
(
val &optional
stream)
.
- Added special variable
*lhtml-safe*
. When it is true,
- LHTML is already safe for printing, i.e. all atoms are prepared
for direct call of write-string,
- character code to entity/(hexa)decimal conversion is not needed.
You can always override by means of explicit pseudo-tags :escape, :some-safe,
etc.
- Changed
html-print-list
and html-print
signature:
(
form &optional
stream)
.
def-std-html
now defines a macro named as follows:
- either a symbol explicitly passed as an optional macro-name argument,
- or by default
(intern "
key")
instead of
(intern "WITH-HTML-
key")
,
produced by the Franz's HTMLGen.
- Owing to calls of
attribute-name-string
and prin1-attribute-value
, now
html-standard-print
generates HTML close to what is produced by the
htm
macro.