aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/html-abbrev.el106
-rw-r--r--src/preferences.el566
-rw-r--r--src/snippets.el275
-rw-r--r--src/test.el196
4 files changed, 809 insertions, 334 deletions
diff --git a/src/html-abbrev.el b/src/html-abbrev.el
index db2e83e..f5236f9 100644
--- a/src/html-abbrev.el
+++ b/src/html-abbrev.el
@@ -405,6 +405,10 @@
"Function to execute when expanding a leaf node in the
Zencoding AST.")
+(zencoding-defparameter
+ zencoding-tag-settings-table
+ (gethash "tags" (gethash "html" zencoding-preferences)))
+
(defvar zencoding-filters
'("html" (zencoding-primary-filter zencoding-make-html-tag)
"c" (zencoding-primary-filter zencoding-make-commented-html-tag)
@@ -440,43 +444,65 @@
(classes (pop tag-info))
(props (pop tag-info))
(txt (pop tag-info))
- (self-closing? (not (or txt content
- (and has-body?
- (not (member name zencoding-self-closing-tags)))))))
- (funcall tag-maker name id classes props txt self-closing?
+ (settings (gethash name zencoding-tag-settings-table)))
+ (funcall tag-maker name has-body? id classes props txt settings
(if content content
(if zencoding-leaf-function (funcall zencoding-leaf-function))))))
-(defun zencoding-make-html-tag (tag-name tag-id tag-classes tag-props tag-txt self-closing? content)
+(defun zencoding-hash-to-list (hash &optional proc)
+ (unless proc (setq proc #'cons))
+ (loop for key being the hash-keys of hash using (hash-values val)
+ collect (funcall proc key val)))
+
+(defun zencoding-merge-tag-props (default-table tag-props)
+ (if default-table
+ (let ((tbl (copy-hash-table default-table)))
+ (loop for prop in tag-props do
+ (puthash (symbol-name (car prop)) (cadr prop) tbl))
+ (zencoding-hash-to-list tbl 'list))
+ tag-props))
+
+(defun zencoding-make-html-tag (tag-name tag-has-body? tag-id tag-classes tag-props tag-txt settings content)
"Create HTML markup string"
- (let* ((id (zencoding-concat-or-empty " id=\"" tag-id "\""))
- (classes (zencoding-mapconcat-or-empty " class=\"" tag-classes " " "\""))
- (props (zencoding-mapconcat-or-empty " " tag-props " " nil
- (lambda (prop)
- (concat (symbol-name (car prop)) "=\"" (cadr prop) "\""))))
+ (let* ((id (zencoding-concat-or-empty " id=\"" tag-id "\""))
+ (classes (zencoding-mapconcat-or-empty " class=\"" tag-classes " " "\""))
+ (props (let* ((tag-props-default
+ (and settings (gethash "defaultAttr" settings)))
+ (merged-tag-props
+ (zencoding-merge-tag-props
+ tag-props-default
+ tag-props)))
+ (zencoding-mapconcat-or-empty
+ " " merged-tag-props " " nil
+ (lambda (prop)
+ (let ((key (car prop)))
+ (concat (if (symbolp key) (symbol-name key) key)
+ "=\"" (cadr prop) "\""))))))
(content-multiline? (and content (string-match "\n" content)))
- (block-tag? (or (member tag-name zencoding-block-tags)
- (and (> (length tag-name) 1)
- (not (member tag-name zencoding-inline-tags)))))
- (lf (if (or content-multiline? block-tag?)
- "\n")))
- (concat "<" tag-name id classes props (if self-closing?
- "/>"
- (concat ">"
- (if tag-txt
- (if (or content-multiline? block-tag?)
- (zencoding-indent tag-txt)
- tag-txt))
- (if content
- (if (or content-multiline? block-tag?)
- (zencoding-indent content)
- content))
- lf
- "</" tag-name ">")))))
-
-(defun zencoding-make-commented-html-tag (tag-name tag-id tag-classes tag-props tag-txt self-closing? content)
+ (block-tag? (and settings (gethash "block" settings)))
+ (self-closing? (and (not (or tag-txt content))
+ (or (not tag-has-body?)
+ (and settings (gethash "selfClosing" settings)))))
+ (lf (if (or content-multiline? block-tag?) "\n")))
+ ;(print (concat "block-tag? " tag-name))
+ ;(print (if block-tag? "yes" "no"))
+ (concat "<" tag-name id classes props
+ (if self-closing? "/>"
+ (concat ">"
+ (if tag-txt
+ (if (or content-multiline? block-tag?)
+ (zencoding-indent tag-txt)
+ tag-txt))
+ (if content
+ (if (or content-multiline? block-tag?)
+ (zencoding-indent content)
+ content))
+ lf
+ "</" tag-name ">")))))
+
+(defun zencoding-make-commented-html-tag (tag-name tag-has-body? tag-id tag-classes tag-props tag-txt settings content)
"Create HTML markup string with extra comments for elements with #id or .classes"
- (let ((body (zencoding-make-html-tag tag-name tag-id tag-classes tag-props tag-txt self-closing? content)))
+ (let ((body (zencoding-make-html-tag tag-name tag-has-body? tag-id tag-classes tag-props tag-txt settings content)))
(if (or tag-id tag-classes)
(let ((id (zencoding-concat-or-empty "#" tag-id))
(classes (zencoding-mapconcat-or-empty "." tag-classes ".")))
@@ -485,7 +511,7 @@
"\n<!-- /" id classes " -->"))
body)))
-(defun zencoding-make-haml-tag (tag-name tag-id tag-classes tag-props tag-txt self-closing? content)
+(defun zencoding-make-haml-tag (tag-name tag-has-body? tag-id tag-classes tag-props tag-txt settings content)
"Create HAML string"
(let ((name (if (and (equal tag-name "div")
(or tag-id tag-classes))
@@ -493,22 +519,24 @@
(concat "%" tag-name)))
(id (zencoding-concat-or-empty "#" tag-id))
(classes (zencoding-mapconcat-or-empty "." tag-classes "."))
- (props (zencoding-mapconcat-or-empty "{" tag-props ", " "}"
- (lambda (prop)
- (concat ":" (symbol-name (car prop)) " => \"" (cadr prop) "\"")))))
+ (props (zencoding-mapconcat-or-empty
+ "{" tag-props ", " "}"
+ (lambda (prop)
+ (concat ":" (symbol-name (car prop)) " => \"" (cadr prop) "\"")))))
(concat name id classes props
(if tag-txt
(zencoding-indent tag-txt))
(if content
(zencoding-indent content)))))
-(defun zencoding-make-hiccup-tag (tag-name tag-id tag-classes tag-props tag-txt self-closing? content)
+(defun zencoding-make-hiccup-tag (tag-name tag-has-body? tag-id tag-classes tag-props tag-txt settings content)
"Create Hiccup string"
(let* ((id (zencoding-concat-or-empty "#" tag-id))
(classes (zencoding-mapconcat-or-empty "." tag-classes "."))
- (props (zencoding-mapconcat-or-empty " {" tag-props ", " "}"
- (lambda (prop)
- (concat ":" (symbol-name (car prop)) " \"" (cadr prop) "\""))))
+ (props (zencoding-mapconcat-or-empty
+ " {" tag-props ", " "}"
+ (lambda (prop)
+ (concat ":" (symbol-name (car prop)) " \"" (cadr prop) "\""))))
(content-multiline? (and content (string-match "\n" content)))
(block-tag? (or (member tag-name zencoding-block-tags)
(and (> (length tag-name) 1)
diff --git a/src/preferences.el b/src/preferences.el
index e456b59..653c4e3 100644
--- a/src/preferences.el
+++ b/src/preferences.el
@@ -3,6 +3,572 @@
;; Don't edit.
(zencoding-defparameter zencoding-preferences
(let ((tbl (make-hash-table :test 'equal)))
+(puthash "html" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "tags" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "code" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "meter" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "tbody" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "font" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "noscript" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "style" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "img" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "src" "" tbl)
+(puthash "alt" "" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "title" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "menu" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "tt" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "tr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "param" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "name" "" tbl)
+(puthash "value" "" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "li" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "source" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "tfoot" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "th" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "input" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "type" "text" tbl)
+(puthash "name" "" tbl)
+(puthash "value" "" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "td" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "dl" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "blockquote" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "fieldset" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "big" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "dd" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "kbd" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "optgroup" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "dt" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "wbr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "button" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "summary" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "p" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "small" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "output" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "div" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "dir" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "em" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "datalist" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "frame" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "hgroup" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "meta" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "video" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "src" "" tbl)
+tbl) tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "rt" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "canvas" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "rp" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "sub" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "bdo" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "dir" "" tbl)
+tbl) tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "bdi" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "label" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "for" "" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "acronym" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "title" "" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "sup" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "progress" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "body" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "basefont" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "base" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "href" "" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "br" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "address" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "article" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "strong" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "legend" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "ol" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "script" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "caption" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "s" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "dialog" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "col" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "h2" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "h3" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "h1" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "h6" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "h4" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "h5" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "header" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "table" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "select" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "name" "" tbl)
+(puthash "id" "" tbl)
+tbl) tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "noframes" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "span" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "area" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "shape" "" tbl)
+(puthash "href" "" tbl)
+(puthash "coords" "" tbl)
+(puthash "alt" "" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "mark" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "dfn" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "strike" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "cite" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "thead" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "head" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "option" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "value" "" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "form" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "action" "" tbl)
+tbl) tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "hr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "var" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "link" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "href" "" tbl)
+(puthash "rel" "stylesheet" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "ruby" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "b" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "colgroup" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "keygen" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "ul" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "applet" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "del" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "iframe" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "src" "" tbl)
+(puthash "frameborder" "0" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "embed" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "src" "" tbl)
+(puthash "type" "" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "pre" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "frameset" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "figure" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "ins" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "aside" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "html" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "nav" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "details" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "u" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "samp" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "map" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "name" "" tbl)
+tbl) tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "track" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" t tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "object" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "type" "" tbl)
+(puthash "data" "" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "figcaption" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "a" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "href" "" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "center" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "textarea" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "rows" "10" tbl)
+(puthash "cols" "30" tbl)
+(puthash "name" "" tbl)
+(puthash "id" "" tbl)
+tbl) tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "footer" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "i" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "q" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "command" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "time" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+(puthash "audio" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "src" "" tbl)
+tbl) tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "section" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "block" t tbl)
+tbl) tbl)
+(puthash "abbr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "selfClosing" nil tbl)
+(puthash "defaultAttr" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "title" "" tbl)
+tbl) tbl)
+(puthash "block" nil tbl)
+tbl) tbl)
+tbl) tbl)
+tbl) tbl)
(puthash "css" (let ((tbl (make-hash-table :test 'equal)))
(puthash "vendorPrefixesProperties" (let ((tbl (make-hash-table :test 'equal)))
(puthash "text-fill-color" (vector
diff --git a/src/snippets.el b/src/snippets.el
index 5ad56fb..d69919e 100644
--- a/src/snippets.el
+++ b/src/snippets.el
@@ -3,191 +3,132 @@
;; Don't edit.
(zencoding-defparameter zencoding-snippets
(let ((tbl (make-hash-table :test 'equal)))
-(puthash "xml" (let ((tbl (make-hash-table :test 'equal)))
-(puthash "profile" "xml" tbl)
-(puthash "extends" "html" tbl)
-(puthash "filters" "html" tbl)
-tbl) tbl)
-(puthash "scss" (let ((tbl (make-hash-table :test 'equal)))
-(puthash "extends" "css" tbl)
-tbl) tbl)
-(puthash "sass" (let ((tbl (make-hash-table :test 'equal)))
-(puthash "extends" "css" tbl)
-tbl) tbl)
-(puthash "less" (let ((tbl (make-hash-table :test 'equal)))
-(puthash "extends" "css" tbl)
-tbl) tbl)
-(puthash "variables" (let ((tbl (make-hash-table :test 'equal)))
-(puthash "lang" "en" tbl)
-(puthash "locale" "en-US" tbl)
-(puthash "charset" "UTF-8" tbl)
-(puthash "indentation" "\t" tbl)
-(puthash "newline" "\n" tbl)
-tbl) tbl)
-(puthash "stylus" (let ((tbl (make-hash-table :test 'equal)))
-(puthash "extends" "css" tbl)
-tbl) tbl)
(puthash "html" (let ((tbl (make-hash-table :test 'equal)))
-(puthash "profile" "html" tbl)
-(puthash "abbreviations" (let ((tbl (make-hash-table :test 'equal)))
-(puthash "a:link" "<a href=\"http://|\">" tbl)
-(puthash "doc4" "html>(head>meta[http-equiv=\"Content-Type\" content=\"text/html;charset=${charset}\"]+title{${1:Document}})" tbl)
-(puthash "input:datetime-local" "inp[type=datetime-local]" tbl)
-(puthash "input:reset" "input:button[type=reset]" tbl)
-(puthash "meta:vp" "<meta name=\"viewport\" content=\"width=${1:device-width}, user-scalable=${2:no}, initial-scale=${3:1.0}, maximum-scale=${4:1.0}, minimum-scale=${5:1.0}\" />" tbl)
+(puthash "snippets" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "c" "<!-- |${child} -->" tbl)
+(puthash "!!!" "<!doctype html>" tbl)
+(puthash "!!!xxs" "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">" tbl)
+(puthash "cc:ie6" "<!--[if lte IE 6]>\n\t${child}|\n<![endif]-->" tbl)
+(puthash "cc:ie" "<!--[if IE]>\n\t${child}|\n<![endif]-->" tbl)
+(puthash "!!!xs" "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">" tbl)
+(puthash "!!!4t" "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">" tbl)
+(puthash "cc:noie" "<!--[if !IE]><!-->\n\t${child}|\n<!--<![endif]-->" tbl)
+(puthash "!!!4s" "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">" tbl)
+(puthash "!!!xt" "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" tbl)
+tbl) tbl)
+(puthash "aliases" (let ((tbl (make-hash-table :test 'equal)))
+(puthash "a:link" "a href=http://" tbl)
+(puthash "doc4" "html>(head>meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"+title{Document})" tbl)
+(puthash "input:datetime-local" "input type=datetime-local" tbl)
+(puthash "input:reset" "input type=reset" tbl)
+(puthash "meta:vp" "meta name=viewport content=\"width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0\"" tbl)
(puthash "colg" "colgroup" tbl)
-(puthash "figc" "figcaption" tbl)
-(puthash "btn:s" "button[type=submit]" tbl)
-(puthash "btn:r" "button[type=reset]" tbl)
-(puthash "style" "<style>" tbl)
+(puthash "btn:s" "button type=submit" tbl)
+(puthash "btn:r" "button type=reset" tbl)
+(puthash "tr+" "tr>td" tbl)
(puthash "adr" "address" tbl)
-(puthash "img" "<img src=\"\" alt=\"\" />" tbl)
-(puthash "bdo:l" "<bdo dir=\"ltr\">" tbl)
-(puthash "param" "<param name=\"\" value=\"\" />" tbl)
+(puthash "bdo:l" "bdo dir=ltr" tbl)
(puthash "colgroup+" "colgroup>col" tbl)
-(puthash "btn:b" "button[type=button]" tbl)
-(puthash "form:post" "<form action=\"\" method=\"post\">" tbl)
-(puthash "bdo:r" "<bdo dir=\"rtl\">" tbl)
+(puthash "btn:b" "button type=button" tbl)
+(puthash "form:post" "form action method=post" tbl)
+(puthash "bdo:r" "bdo dir=rtl" tbl)
(puthash "fig" "figure" tbl)
-(puthash "input:radio" "inp[type=radio]" tbl)
-(puthash "link:print" "<link rel=\"stylesheet\" href=\"${1:print}.css\" media=\"print\" />" tbl)
+(puthash "input:radio" "input type=radio" tbl)
+(puthash "link:print" "link rel=stylesheet href=print.css media=print" tbl)
(puthash "opt" "option" tbl)
(puthash "input:i" "input:image" tbl)
-(puthash "input:h" "input:hidden" tbl)
+(puthash "figc" "figcaption" tbl)
(puthash "input:f" "input:file" tbl)
(puthash "input:c" "input:checkbox" tbl)
(puthash "input:b" "input:button" tbl)
-(puthash "abbr" "<abbr title=\"\">" tbl)
-(puthash "colg+" "colgroup>col" tbl)
-(puthash "input:t" "inp" tbl)
+(puthash "input:t" "input" tbl)
(puthash "input:p" "input:password" tbl)
(puthash "input:s" "input:submit" tbl)
(puthash "input:r" "input:radio" tbl)
(puthash "ifr" "iframe" tbl)
(puthash "emb" "embed" tbl)
(puthash "optg+" "optgroup>option" tbl)
-(puthash "isindex" "<isindex/>" tbl)
-(puthash "html:5" "!!!+doc[lang=${lang}]" tbl)
-(puthash "link:atom" "<link rel=\"alternate\" type=\"application/atom+xml\" title=\"Atom\" href=\"${1:atom.xml}\" />" tbl)
-(puthash "table+" "table>tr>td" tbl)
(puthash "cmd" "command" tbl)
+(puthash "html:5" "!!!+doc lang=en" tbl)
+(puthash "link:atom" "link rel=alternate type=\"application/atom+xml\" title=Atom href=atom.xml" tbl)
+(puthash "table+" "table>tr>td" tbl)
(puthash "art" "article" tbl)
-(puthash "frame" "<frame/>" tbl)
-(puthash "area:r" "<area shape=\"rect\" coords=\"\" href=\"\" alt=\"\" />" tbl)
-(puthash "area:p" "<area shape=\"poly\" coords=\"\" href=\"\" alt=\"\" />" tbl)
-(puthash "input:date" "inp[type=date]" tbl)
-(puthash "meta" "<meta/>" tbl)
-(puthash "video" "<video src=\"\">" tbl)
-(puthash "input:button" "<input type=\"button\" value=\"\" />" tbl)
-(puthash "area:d" "<area shape=\"default\" href=\"\" alt=\"\" />" tbl)
-(puthash "area:c" "<area shape=\"circle\" coords=\"\" href=\"\" alt=\"\" />" tbl)
+(puthash "input:search" "input type=search" tbl)
+(puthash "area:r" "area shape=rect coords href alt" tbl)
+(puthash "area:p" "area shape=poly coords href alt" tbl)
+(puthash "input:date" "input type=date" tbl)
+(puthash "input:button" "input type=button" tbl)
+(puthash "area:d" "area shape=default href alt" tbl)
+(puthash "area:c" "area shape=circle coords href alt" tbl)
(puthash "out" "output" tbl)
(puthash "ftr" "footer" tbl)
(puthash "dlg" "dialog" tbl)
-(puthash "script:src" "<script src=\"\">" tbl)
-(puthash "form:get" "<form action=\"\" method=\"get\">" tbl)
-(puthash "meta:utf" "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\" />" tbl)
-(puthash "label" "<label for=\"\">" tbl)
-(puthash "basefont" "<basefont/>" tbl)
-(puthash "input:time" "inp[type=time]" tbl)
-(puthash "link:favicon" "<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"${1:favicon.ico}\" />" tbl)
-(puthash "menu:toolbar" "menu[type=toolbar]>" tbl)
+(puthash "script:src" "script src" tbl)
+(puthash "form:get" "form action method=get" tbl)
+(puthash "meta:utf" "meta http-equiv=Content-Type content=\"text/html;charset=UTF-8\"" tbl)
+(puthash "input:time" "input type=time" tbl)
+(puthash "menu:toolbar" "menu type=toolbar" tbl)
(puthash "prog" "progress" tbl)
-(puthash "input:email" "inp[type=email]" tbl)
-(puthash "str" "strong" tbl)
+(puthash "input:email" "input type=email" tbl)
+(puthash "input:submit" "input type=submit" tbl)
(puthash "leg" "legend" tbl)
-(puthash "acronym" "<acronym title=\"\">" tbl)
(puthash "ol+" "ol>li" tbl)
-(puthash "tr+" "tr>td" tbl)
(puthash "optgroup+" "optgroup>option" tbl)
-(puthash "base" "<base href=\"\" />" tbl)
(puthash "bq" "blockquote" tbl)
-(puthash "br" "<br/>" tbl)
(puthash "src" "source" tbl)
(puthash "obj" "object" tbl)
(puthash "dl+" "dl>dt+dd" tbl)
-(puthash "script" "<script>" tbl)
(puthash "acr" "acronym" tbl)
-(puthash "input:password" "inp[type=password]" tbl)
-(puthash "col" "<col/>" tbl)
-(puthash "html:4t" "!!!4t+doc4[lang=${lang}]" tbl)
-(puthash "input:file" "inp[type=file]" tbl)
-(puthash "html:4s" "!!!4s+doc4[lang=${lang}]" tbl)
+(puthash "input:password" "input type=password" tbl)
+(puthash "html:4t" "!!!4t+doc4 lang=en" tbl)
+(puthash "input:file" "input type=file" tbl)
+(puthash "html:4s" "!!!4s+doc4 lang=en" tbl)
(puthash "tarea" "textarea" tbl)
-(puthash "select" "<select name=\"\" id=\"\">" tbl)
-(puthash "input:number" "inp[type=number]" tbl)
-(puthash "input:range" "inp[type=range]" tbl)
-(puthash "area" "<area shape=\"\" coords=\"\" href=\"\" alt=\"\" />" tbl)
-(puthash "input:image" "<input type=\"image\" src=\"\" alt=\"\" />" tbl)
+(puthash "link:favicon" "link icon rel=shortcut type=image/x-icon href=favicon.ico" tbl)
+(puthash "input:number" "input type=number" tbl)
+(puthash "input:range" "input type=range" tbl)
+(puthash "input:image" "input type=image src alt" tbl)
(puthash "ul+" "ul>li" tbl)
-(puthash "input:search" "inp[type=search]" tbl)
-(puthash "html:xxs" "!!!xxs+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=${lang}]" tbl)
-(puthash "input:month" "inp[type=month]" tbl)
+(puthash "html:xxs" "!!!xxs+doc4 xmlns=http://www.w3.org/1999/xhtml xml:lang=en" tbl)
+(puthash "input:month" "input type=month" tbl)
(puthash "fset" "fieldset" tbl)
-(puthash "meta:win" "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=windows-1251\" />" tbl)
-(puthash "option" "<option value=\"\">" tbl)
-(puthash "form" "<form action=\"\">" tbl)
-(puthash "hr" "<hr/>" tbl)
+(puthash "meta:win" "meta http-equiv=Content-Type content=\"text/html;charset=windows-1251\"" tbl)
+(puthash "menu:t" "menu:toolbar" tbl)
(puthash "menu:c" "menu:context" tbl)
-(puthash "link" "<link rel=\"stylesheet\" href=\"\" />" tbl)
-(puthash "input" "<input type=\"${1:text}\" />" tbl)
-(puthash "link:rss" "<link rel=\"alternate\" type=\"application/rss+xml\" title=\"RSS\" href=\"${1:rss.xml}\" />" tbl)
+(puthash "link:rss" "link rel=alternate type=application/rss+xml title=RSS href=rss.xml" tbl)
(puthash "select+" "select>option" tbl)
(puthash "hdr" "header" tbl)
(puthash "cap" "caption" tbl)
(puthash "det" "details" tbl)
-(puthash "keygen" "<keygen/>" tbl)
-(puthash "link:touch" "<link rel=\"apple-touch-icon\" href=\"${1:favicon.png}\" />" tbl)
-(puthash "iframe" "<iframe src=\"\" frameborder=\"0\">" tbl)
-(puthash "link:css" "<link rel=\"stylesheet\" href=\"${1:style}.css\" />" tbl)
-(puthash "input:week" "inp[type=week]" tbl)
-(puthash "embed" "<embed src=\"\" type=\"\" />" tbl)
+(puthash "link:touch" "link rel=apple-touch-icon href=favicon.png" tbl)
+(puthash "str" "strong" tbl)
+(puthash "link:css" "link rel=stylesheet href=style.css" tbl)
+(puthash "input:week" "input type=week" tbl)
(puthash "optg" "optgroup" tbl)
-(puthash "input:datetime" "inp[type=datetime]" tbl)
-(puthash "inp" "<input type=\"${1:text}\" name=\"\" id=\"\" />" tbl)
-(puthash "datag" "datagrid" tbl)
-(puthash "menu:t" "menu:toolbar" tbl)
+(puthash "input:datetime" "input type=datetime" tbl)
+(puthash "input:h" "input:hidden" tbl)
(puthash "!" "html:5" tbl)
-(puthash "html:xml" "<html xmlns=\"http://www.w3.org/1999/xhtml\">" tbl)
+(puthash "html:xml" "html xmlns=http://www.w3.org/1999/xhtml" tbl)
(puthash "btn" "button" tbl)
-(puthash "input:url" "inp[type=url]" tbl)
-(puthash "menu:context" "menu[type=context]>" tbl)
-(puthash "fst" "fieldset" tbl)
-(puthash "map" "<map name=\"\">" tbl)
-(puthash "input:color" "inp[type=color]" tbl)
-(puthash "meta:compat" "<meta http-equiv=\"X-UA-Compatible\" content=\"${1:IE=7}\" />" tbl)
-(puthash "input:hidden" "input[type=hidden name]" tbl)
-(puthash "object" "<object data=\"\" type=\"\">" tbl)
-(puthash "a:mail" "<a href=\"mailto:|\">" tbl)
-(puthash "html:xs" "!!!xs+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=${lang}]" tbl)
-(puthash "html:xt" "!!!xt+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=${lang}]" tbl)
-(puthash "a" "<a href=\"\">" tbl)
+(puthash "input:url" "input type=url" tbl)
+(puthash "menu:context" "menu type=context" tbl)
+(puthash "colg+" "colgroup>col" tbl)
+(puthash "input:color" "input type=color" tbl)
+(puthash "meta:compat" "meta http-equiv=X-UA-Compatible content=\"IE=edge,chrome=1\"" tbl)
+(puthash "input:hidden" "input type=hidden" tbl)
+(puthash "a:mail" "a href=mailto:" tbl)
+(puthash "html:xs" "!!!xs+doc4 xmlns=http://www.w3.org/1999/xhtml xml:lang=en" tbl)
+(puthash "html:xt" "!!!xt+doc4 xmlns=http://www.w3.org/1999/xhtml xml:lang=en" tbl)
(puthash "datal" "datalist" tbl)
(puthash "map+" "map>area" tbl)
(puthash "kg" "keygen" tbl)
-(puthash "textarea" "<textarea name=\"\" id=\"\" cols=\"${1:30}\" rows=\"${2:10}\">" tbl)
-(puthash "doc" "html>(head>meta[charset=UTF-8]+title{${1:Document}})+body" tbl)
-(puthash "input:submit" "<input type=\"submit\" value=\"\" />" tbl)
-(puthash "input:text" "inp" tbl)
-(puthash "input:checkbox" "inp[type=checkbox]" tbl)
-(puthash "command" "<command/>" tbl)
+(puthash "doc" "html>(head>meta charset=UTF-8+title{Document})+body" tbl)
+(puthash "datag" "datagrid" tbl)
+(puthash "input:text" "input" tbl)
+(puthash "input:checkbox" "input type=checkbox" tbl)
+(puthash "fst" "fieldset" tbl)
(puthash "sect" "section" tbl)
-(puthash "audio" "<audio src=\"\">" tbl)
-(puthash "bdo" "<bdo dir=\"\">" tbl)
-tbl) tbl)
-(puthash "snippets" (let ((tbl (make-hash-table :test 'equal)))
-(puthash "c" "<!-- |${child} -->" tbl)
-(puthash "!!!" "<!doctype html>" tbl)
-(puthash "!!!xxs" "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">" tbl)
-(puthash "cc:ie6" "<!--[if lte IE 6]>\n\t${child}|\n<![endif]-->" tbl)
-(puthash "cc:ie" "<!--[if IE]>\n\t${child}|\n<![endif]-->" tbl)
-(puthash "!!!xs" "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">" tbl)
-(puthash "!!!4t" "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">" tbl)
-(puthash "cc:noie" "<!--[if !IE]><!-->\n\t${child}|\n<!--<![endif]-->" tbl)
-(puthash "!!!4s" "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">" tbl)
-(puthash "!!!xt" "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" tbl)
tbl) tbl)
-(puthash "filters" "html" tbl)
tbl) tbl)
(puthash "css" (let ((tbl (make-hash-table :test 'equal)))
(puthash "snippets" (let ((tbl (make-hash-table :test 'equal)))
@@ -754,61 +695,5 @@ tbl) tbl)
(puthash "cps" "caption-side:|;" tbl)
(puthash "v:v" "visibility:visible;" tbl)
tbl) tbl)
-(puthash "filters" "html" tbl)
-tbl) tbl)
-(puthash "haml" (let ((tbl (make-hash-table :test 'equal)))
-(puthash "profile" "xml" tbl)
-(puthash "extends" "html" tbl)
-(puthash "filters" "haml" tbl)
-tbl) tbl)
-(puthash "xsl" (let ((tbl (make-hash-table :test 'equal)))
-(puthash "profile" "xml" tbl)
-(puthash "abbreviations" (let ((tbl (make-hash-table :test 'equal)))
-(puthash "ch" "<xsl:choose>" tbl)
-(puthash "co" "<xsl:copy-of select=\"\"/>" tbl)
-(puthash "fall" "<xsl:fallback>" tbl)
-(puthash "vare" "<xsl:variable name=\"\" select=\"\"/>" tbl)
-(puthash "ap" "<xsl:apply-templates select=\"\" mode=\"\"/>" tbl)
-(puthash "api" "<xsl:apply-imports/>" tbl)
-(puthash "attrs" "<xsl:attribute-set name=\"\">" tbl)
-(puthash "strip" "<xsl:strip-space elements=\"\"/>" tbl)
-(puthash "cp" "<xsl:copy select=\"\"/>" tbl)
-(puthash "if" "<xsl:if test=\"\">" tbl)
-(puthash "par" "<xsl:param name=\"\">" tbl)
-(puthash "val" "<xsl:value-of select=\"\"/>" tbl)
-(puthash "for" "each" tbl)
-(puthash "tn" "<xsl:template name=\"\">" tbl)
-(puthash "imp" "<xsl:import href=\"\"/>" tbl)
-(puthash "tm" "<xsl:template match=\"\" mode=\"\">" tbl)
-(puthash "call" "<xsl:call-template name=\"\"/>" tbl)
-(puthash "var" "<xsl:variable name=\"\">" tbl)
-(puthash "inc" "<xsl:include href=\"\"/>" tbl)
-(puthash "proc" "<xsl:processing-instruction name=\"\">" tbl)
-(puthash "pres" "<xsl:preserve-space elements=\"\"/>" tbl)
-(puthash "sort" "<xsl:sort select=\"\" order=\"\"/>" tbl)
-(puthash "pare" "<xsl:param name=\"\" select=\"\"/>" tbl)
-(puthash "nam" "<namespace-alias stylesheet-prefix=\"\" result-prefix=\"\"/>" tbl)
-(puthash "xsl:when" "<xsl:when test=\"\">" tbl)
-(puthash "wh" "xsl:when" tbl)
-(puthash "tname" "tn" tbl)
-(puthash "key" "<xsl:key name=\"\" match=\"\" use=\"\"/>" tbl)
-(puthash "wp" "<xsl:with-param name=\"\" select=\"\"/>" tbl)
-(puthash "msg" "<xsl:message terminate=\"no\">" tbl)
-(puthash "tmatch" "tm" tbl)
-(puthash "attr" "<xsl:attribute name=\"\">" tbl)
-(puthash "tex" "<xsl:text></xsl:text>" tbl)
-(puthash "elem" "<xsl:element name=\"\">" tbl)
-(puthash "num" "<xsl:number value=\"\"/>" tbl)
-(puthash "choose+" "xsl:choose>xsl:when+xsl:otherwise" tbl)
-(puthash "each" "<xsl:for-each select=\"\">" tbl)
-(puthash "ot" "<xsl:otherwise>" tbl)
-(puthash "com" "<xsl:comment>" tbl)
-(puthash "xsl" "!!!+xsl:stylesheet[version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform]>{\n|}" tbl)
-tbl) tbl)
-(puthash "extends" "html" tbl)
-(puthash "snippets" (let ((tbl (make-hash-table :test 'equal)))
-(puthash "!!!" "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" tbl)
-tbl) tbl)
-(puthash "filters" "html, xsl" tbl)
tbl) tbl)
tbl))
diff --git a/src/test.el b/src/test.el
index 1433d86..dc731eb 100644
--- a/src/test.el
+++ b/src/test.el
@@ -56,10 +56,10 @@
;; XML-abbrev tests
(define-zencoding-transform-html-test-case Tags
- "a" ("<a></a>")
- "a.x" ("<a class=\"x\"></a>")
- "a#q.x" ("<a id=\"q\" class=\"x\"></a>")
- "a#q.x.y.z" ("<a id=\"q\" class=\"x y z\"></a>")
+ "a" ("<a href=\"\"></a>")
+ "a.x" ("<a class=\"x\" href=\"\"></a>")
+ "a#q.x" ("<a id=\"q\" class=\"x\" href=\"\"></a>")
+ "a#q.x.y.z" ("<a id=\"q\" class=\"x y z\" href=\"\"></a>")
"#q" ("<div id=\"q\">"
"</div>")
".x" ("<div class=\"x\">"
@@ -70,39 +70,38 @@
"</div>"))
(define-zencoding-transform-html-test-case Empty-tags
- "a/" ("<a/>")
- "a/.x" ("<a class=\"x\"/>")
- "a/#q.x" ("<a id=\"q\" class=\"x\"/>")
- "a/#q.x.y.z" ("<a id=\"q\" class=\"x y z\"/>"))
+ "a/" ("<a href=\"\"/>")
+ "a/.x" ("<a class=\"x\" href=\"\"/>")
+ "a/#q.x" ("<a id=\"q\" class=\"x\" href=\"\"/>")
+ "a/#q.x.y.z" ("<a id=\"q\" class=\"x y z\" href=\"\"/>"))
(define-zencoding-transform-html-test-case Self-closing-tags
- "input type=text" ("<input type=\"text\"/>")
- "img" ("<img/>")
- "img>metadata/*2" ("<img>"
+ "input type=text" ("<input type=\"text\" name=\"\" value=\"\"/>")
+ "img" ("<img src=\"\" alt=\"\"/>")
+ "img>metadata/*2" ("<img src=\"\" alt=\"\">"
" <metadata/>"
" <metadata/>"
"</img>"))
(define-zencoding-transform-html-test-case Siblings
- "a+b" ("<a></a>"
+ "a+b" ("<a href=\"\"></a>"
"<b></b>")
- "a+b+c" ("<a></a>"
+ "a+b+c" ("<a href=\"\"></a>"
"<b></b>"
"<c></c>")
- "a.x+b" ("<a class=\"x\"></a>"
+ "a.x+b" ("<a class=\"x\" href=\"\"></a>"
"<b></b>")
- "a#q.x+b" ("<a id=\"q\" class=\"x\"></a>"
+ "a#q.x+b" ("<a id=\"q\" class=\"x\" href=\"\"></a>"
"<b></b>")
- "a#q.x.y.z+b" ("<a id=\"q\" class=\"x y z\"></a>"
+ "a#q.x.y.z+b" ("<a id=\"q\" class=\"x y z\" href=\"\"></a>"
"<b></b>")
- "a#q.x.y.z+b#p.l.m.n" ("<a id=\"q\" class=\"x y z\"></a>"
+ "a#q.x.y.z+b#p.l.m.n" ("<a id=\"q\" class=\"x y z\" href=\"\"></a>"
"<b id=\"p\" class=\"l m n\"></b>"))
(define-zencoding-transform-html-test-case Tag-expansion
"table+" ("<table>"
" <tr>"
- " <td>"
- " </td>"
+ " <td></td>"
" </tr>"
"</table>")
"dl+" ("<dl>"
@@ -123,60 +122,60 @@
"</ul>"))
(define-zencoding-transform-html-test-case Parent-child
- "a>b" ("<a><b></b></a>")
- "a>b>c" ("<a><b><c></c></b></a>")
- "a.x>b" ("<a class=\"x\"><b></b></a>")
- "a#q.x>b" ("<a id=\"q\" class=\"x\"><b></b></a>")
- "a#q.x.y.z>b" ("<a id=\"q\" class=\"x y z\"><b></b></a>")
- "a#q.x.y.z>b#p.l.m.n" ("<a id=\"q\" class=\"x y z\"><b id=\"p\" class=\"l m n\"></b></a>")
+ "a>b" ("<a href=\"\"><b></b></a>")
+ "a>b>c" ("<a href=\"\"><b><c></c></b></a>")
+ "a.x>b" ("<a class=\"x\" href=\"\"><b></b></a>")
+ "a#q.x>b" ("<a id=\"q\" class=\"x\" href=\"\"><b></b></a>")
+ "a#q.x.y.z>b" ("<a id=\"q\" class=\"x y z\" href=\"\"><b></b></a>")
+ "a#q.x.y.z>b#p.l.m.n" ("<a id=\"q\" class=\"x y z\" href=\"\"><b id=\"p\" class=\"l m n\"></b></a>")
"#q>.x" ("<div id=\"q\">"
" <div class=\"x\">"
" </div>"
"</div>")
- "a>b+c" ("<a>"
+ "a>b+c" ("<a href=\"\">"
" <b></b>"
" <c></c>"
"</a>")
- "a>b+c>d" ("<a>"
+ "a>b+c>d" ("<a href=\"\">"
" <b></b>"
" <c><d></d></c>"
"</a>"))
(define-zencoding-transform-html-test-case Multiplication
- "a*1" ("<a></a>")
- "a*2" ("<a></a>"
- "<a></a>")
- "a/*2" ("<a/>"
- "<a/>")
- "a*2+b*2" ("<a></a>"
- "<a></a>"
+ "a*1" ("<a href=\"\"></a>")
+ "a*2" ("<a href=\"\"></a>"
+ "<a href=\"\"></a>")
+ "a/*2" ("<a href=\"\"/>"
+ "<a href=\"\"/>")
+ "a*2+b*2" ("<a href=\"\"></a>"
+ "<a href=\"\"></a>"
"<b></b>"
"<b></b>")
- "a*2>b*2" ("<a>"
+ "a*2>b*2" ("<a href=\"\">"
" <b></b>"
" <b></b>"
"</a>"
- "<a>"
+ "<a href=\"\">"
" <b></b>"
" <b></b>"
"</a>")
- "a>b*2" ("<a>"
+ "a>b*2" ("<a href=\"\">"
" <b></b>"
" <b></b>"
"</a>")
- "a#q.x>b#q.x*2" ("<a id=\"q\" class=\"x\">"
+ "a#q.x>b#q.x*2" ("<a id=\"q\" class=\"x\" href=\"\">"
" <b id=\"q\" class=\"x\"></b>"
" <b id=\"q\" class=\"x\"></b>"
"</a>")
- "a#q.x>b/#q.x*2" ("<a id=\"q\" class=\"x\">"
+ "a#q.x>b/#q.x*2" ("<a id=\"q\" class=\"x\" href=\"\">"
" <b id=\"q\" class=\"x\"/>"
" <b id=\"q\" class=\"x\"/>"
"</a>"))
(define-zencoding-transform-html-test-case Numbering
- "a.$x*3" ("<a class=\"1x\"></a>"
- "<a class=\"2x\"></a>"
- "<a class=\"3x\"></a>")
+ "a.$x*3" ("<a class=\"1x\" href=\"\"></a>"
+ "<a class=\"2x\" href=\"\"></a>"
+ "<a class=\"3x\" href=\"\"></a>")
"ul>li.item$*3" ("<ul>"
" <li class=\"item1\"></li>"
" <li class=\"item2\"></li>"
@@ -195,12 +194,12 @@
" <li class=\"item1001\"></li>"
" <li class=\"item1000\"></li>"
"</ul>")
- "a.$*2>b.$$@-*3" ("<a class=\"1\">"
+ "a.$*2>b.$$@-*3" ("<a class=\"1\" href=\"\">"
" <b class=\"03\"></b>"
" <b class=\"02\"></b>"
" <b class=\"01\"></b>"
"</a>"
- "<a class=\"2\">"
+ "<a class=\"2\" href=\"\">"
" <b class=\"03\"></b>"
" <b class=\"02\"></b>"
" <b class=\"01\"></b>"
@@ -208,14 +207,14 @@
"(div>(a#id$$*2)+b.c$@-3+c#d$)*2"
("<div>"
- " <a id=\"id01\"></a>"
- " <a id=\"id02\"></a>"
+ " <a id=\"id01\" href=\"\"></a>"
+ " <a id=\"id02\" href=\"\"></a>"
" <b class=\"c4\"></b>"
" <c id=\"d1\"></c>"
"</div>"
"<div>"
- " <a id=\"id01\"></a>"
- " <a id=\"id02\"></a>"
+ " <a id=\"id01\" href=\"\"></a>"
+ " <a id=\"id02\" href=\"\"></a>"
" <b class=\"c3\"></b>"
" <c id=\"d2\"></c>"
"</div>")
@@ -233,66 +232,66 @@
"</ul>"))
(define-zencoding-transform-html-test-case Properties
- "a x" ("<a x=\"\"></a>")
- "a x=" ("<a x=\"\"></a>")
- "a x=\"\"" ("<a x=\"\"></a>")
- "a x=y" ("<a x=\"y\"></a>")
- "a x=\"y\"" ("<a x=\"y\"></a>")
- "a x=\"()\"" ("<a x=\"()\"></a>")
- "a x m" ("<a x=\"\" m=\"\"></a>")
- "a x= m=\"\"" ("<a x=\"\" m=\"\"></a>")
- "a x=y m=l" ("<a x=\"y\" m=\"l\"></a>")
- "a/ x=y m=l" ("<a x=\"y\" m=\"l\"/>")
- "a#foo x=y m=l" ("<a id=\"foo\" x=\"y\" m=\"l\"></a>")
- "a.foo x=y m=l" ("<a class=\"foo\" x=\"y\" m=\"l\"></a>")
- "a#foo.bar.mu x=y m=l" ("<a id=\"foo\" class=\"bar mu\" x=\"y\" m=\"l\"></a>")
- "a/#foo.bar.mu x=y m=l" ("<a id=\"foo\" class=\"bar mu\" x=\"y\" m=\"l\"/>")
- "a x=y+b" ("<a x=\"y\"></a>"
+ "a x" ("<a href=\"\" x=\"\"></a>")
+ "a x=" ("<a href=\"\" x=\"\"></a>")
+ "a x=\"\"" ("<a href=\"\" x=\"\"></a>")
+ "a x=y" ("<a href=\"\" x=\"y\"></a>")
+ "a x=\"y\"" ("<a href=\"\" x=\"y\"></a>")
+ "a x=\"()\"" ("<a href=\"\" x=\"()\"></a>")
+ "a x m" ("<a href=\"\" x=\"\" m=\"\"></a>")
+ "a x= m=\"\"" ("<a href=\"\" x=\"\" m=\"\"></a>")
+ "a x=y m=l" ("<a href=\"\" x=\"y\" m=\"l\"></a>")
+ "a/ x=y m=l" ("<a href=\"\" x=\"y\" m=\"l\"/>")
+ "a#foo x=y m=l" ("<a id=\"foo\" href=\"\" x=\"y\" m=\"l\"></a>")
+ "a.foo x=y m=l" ("<a class=\"foo\" href=\"\" x=\"y\" m=\"l\"></a>")
+ "a#foo.bar.mu x=y m=l" ("<a id=\"foo\" class=\"bar mu\" href=\"\" x=\"y\" m=\"l\"></a>")
+ "a/#foo.bar.mu x=y m=l" ("<a id=\"foo\" class=\"bar mu\" href=\"\" x=\"y\" m=\"l\"/>")
+ "a x=y+b" ("<a href=\"\" x=\"y\"></a>"
"<b></b>")
- "a x=y+b x=y" ("<a x=\"y\"></a>"
+ "a x=y+b x=y" ("<a href=\"\" x=\"y\"></a>"
"<b x=\"y\"></b>")
- "a x=y>b" ("<a x=\"y\"><b></b></a>")
- "a x=y>b x=y" ("<a x=\"y\"><b x=\"y\"></b></a>")
- "a x=y>b x=y+c x=y" ("<a x=\"y\">"
+ "a x=y>b" ("<a href=\"\" x=\"y\"><b></b></a>")
+ "a x=y>b x=y" ("<a href=\"\" x=\"y\"><b x=\"y\"></b></a>")
+ "a x=y>b x=y+c x=y" ("<a href=\"\" x=\"y\">"
" <b x=\"y\"></b>"
" <c x=\"y\"></c>"
"</a>"))
(define-zencoding-transform-html-test-case Parentheses
- "(a)" ("<a></a>")
- "(a)+(b)" ("<a></a>"
+ "(a)" ("<a href=\"\"></a>")
+ "(a)+(b)" ("<a href=\"\"></a>"
"<b></b>")
- "a>(b)" ("<a><b></b></a>")
- "(a>b)>c" ("<a><b></b></a>")
- "(a>b)+c" ("<a><b></b></a>"
+ "a>(b)" ("<a href=\"\"><b></b></a>")
+ "(a>b)>c" ("<a href=\"\"><b></b></a>")
+ "(a>b)+c" ("<a href=\"\"><b></b></a>"
"<c></c>")
"z+(a>b)+c+k" ("<z></z>"
- "<a><b></b></a>"
+ "<a href=\"\"><b></b></a>"
"<c></c>"
"<k></k>")
- "(a)*2" ("<a></a>"
- "<a></a>")
- "((a)*2)" ("<a></a>"
- "<a></a>")
- "((a))*2" ("<a></a>"
- "<a></a>")
- "(a>b)*2" ("<a><b></b></a>"
- "<a><b></b></a>")
- "(a+b)*2" ("<a></a>"
+ "(a)*2" ("<a href=\"\"></a>"
+ "<a href=\"\"></a>")
+ "((a)*2)" ("<a href=\"\"></a>"
+ "<a href=\"\"></a>")
+ "((a))*2" ("<a href=\"\"></a>"
+ "<a href=\"\"></a>")
+ "(a>b)*2" ("<a href=\"\"><b></b></a>"
+ "<a href=\"\"><b></b></a>")
+ "(a+b)*2" ("<a href=\"\"></a>"
"<b></b>"
- "<a></a>"
+ "<a href=\"\"></a>"
"<b></b>"))
(define-zencoding-transform-html-test-case Text
- "a{Click me}" ("<a>Click me</a>")
- "a>{Click me}*3" ("<a>"
+ "a{Click me}" ("<a href=\"\">Click me</a>")
+ "a>{Click me}*3" ("<a href=\"\">"
" Click me"
" Click me"
" Click me"
"</a>")
- "a{click}+b{here}" ("<a>click</a>"
+ "a{click}+b{here}" ("<a href=\"\">click</a>"
"<b>here</b>")
- "a>{click}+b{here}" ("<a>"
+ "a>{click}+b{here}" ("<a href=\"\">"
" click"
" <b>here</b>"
"</a>")
@@ -300,30 +299,28 @@
"p>{Click }+a{here}+{ to continue}"
("<p>"
" Click "
- " <a>here</a>"
+ " <a href=\"\">here</a>"
" to continue"
"</p>")
"p{Click }+a{here}+{ to continue}"
- ("<p>"
- " Click "
- "</p>"
- "<a>here</a>"
+ ("<p>Click </p>"
+ "<a href=\"\">here</a>"
" to continue"))
(define-zencoding-transform-html-test-case Climb-up
- "a>b>c^d" ("<a>"
+ "a>b>c^d" ("<a href=\"\">"
" <b><c></c></b>"
" <d></d>"
"</a>")
- "a>b>c^^d" ("<a><b><c></c></b></a>"
+ "a>b>c^^d" ("<a href=\"\"><b><c></c></b></a>"
"<d></d>")
- "a*2>b*2>c^d" ("<a>"
+ "a*2>b*2>c^d" ("<a href=\"\">"
" <b><c></c></b>"
" <b><c></c></b>"
" <d></d>"
"</a>"
- "<a>"
+ "<a href=\"\">"
" <b><c></c></b>"
" <b><c></c></b>"
" <d></d>"
@@ -332,14 +329,13 @@
"div+a>p>span{foo}+em>b^^^p"
("<div>"
"</div>"
- "<a>"
+ "<a href=\"\">"
" <p>"
" <span>foo</span>"
" <em><b></b></em>"
" </p>"
"</a>"
- "<p>"
- "</p>")
+ "<p></p>")
"div+div>p>span+em^blockquote{foo}"
("<div>"
@@ -356,7 +352,7 @@
(define-zencoding-transform-html-test-case Filter-comment
"a.b|c" ("<!-- .b -->"
- "<a class=\"b\"></a>"
+ "<a class=\"b\" href=\"\"></a>"
"<!-- /.b -->")
"#a>.b|c" ("<!-- #a -->"
"<div id=\"a\">"