unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Add basic HTML5 support to sgml-mode
@ 2015-04-28 17:18 Przemysław Wojnowski
  2015-04-28 21:28 ` Dmitry Gutov
  0 siblings, 1 reply; 5+ messages in thread
From: Przemysław Wojnowski @ 2015-04-28 17:18 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 146 bytes --]

Hello everybody,

The patch adds support for basic HTML5 tags and two templates: navigational 
links and HTML5 initial page.

Cheers,
Przemysław

[-- Attachment #2: 0001-Add-basic-HTML5-tags-and-a-template.patch --]
[-- Type: text/x-patch, Size: 4684 bytes --]

From 7c6dd4ba9d349a977080055896eac6639891bbb1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Przemys=C5=82aw=20Wojnowski?= <esperanto@cumego.com>
Date: Tue, 28 Apr 2015 19:10:01 +0200
Subject: [PATCH] Add basic HTML5 tags and a template

* lisp/textmodes/sgml-mode.el: Basic HTML5 support.
(html-tag-alist): Add HTML5 tags.
(html-tag-help): Add new tags descriptions.
(html-navigational-links): Template for nav links.
(html-html5-template): Template for a HTML5 page.
---
 lisp/textmodes/sgml-mode.el | 43 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 42 insertions(+), 1 deletion(-)

diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el
index c71ecb4..2ffe9c1 100644
--- a/lisp/textmodes/sgml-mode.el
+++ b/lisp/textmodes/sgml-mode.el
@@ -1828,6 +1828,8 @@ This takes effect when first loading the library.")
       ("array" (nil \n
 		    ("Item: " "<item>" str (if sgml-xml-mode "</item>") \n))
        "align")
+      ("article" \n)
+      ("aside" \n)
       ("au")
       ("b")
       ("big")
@@ -1853,7 +1855,10 @@ This takes effect when first loading the library.")
              "<dd>" (if sgml-xml-mode "</dd>") \n))
       ("em")
       ("fn" "id" "fn")  ;; Footnotes were deprecated in HTML 3.2
+      ("footer" \n)
       ("head" \n)
+      ("header" \n)
+      ("hgroup" \n)
       ("html" (\n
 	       "<head>\n"
 	       "<title>" (setq str (read-input "Title: ")) "</title>\n"
@@ -1871,6 +1876,7 @@ This takes effect when first loading the library.")
       ("lang")
       ("li" ,(not sgml-xml-mode))
       ("math" \n)
+      ("nav" \n)
       ("nobr")
       ("option" t ("value") ("label") ("selected" t))
       ("over" t)
@@ -1880,6 +1886,7 @@ This takes effect when first loading the library.")
       ("rev")
       ("s")
       ("samp")
+      ("section" \n)
       ("small")
       ("span" nil
 	("class"
@@ -1910,6 +1917,8 @@ This takes effect when first loading the library.")
     ("acronym" . "Acronym")
     ("address" . "Formatted mail address")
     ("array" . "Math array")
+    ("article" . "An independent part of document or site")
+    ("aside" . "Secondary content related to surrounding content (e.g. page or article)")
     ("au" . "Author")
     ("b" . "Bold face")
     ("base" . "Base address for URLs")
@@ -1939,6 +1948,7 @@ This takes effect when first loading the library.")
     ("figt" . "Figure text")
     ("fn" . "Footnote")  ;; No one supports special footnote rendering.
     ("font" . "Font size")
+    ("footer" . "Footer of a section")
     ("form" . "Form with input fields")
     ("group" . "Document grouping")
     ("h1" . "Most important section headline")
@@ -1948,6 +1958,8 @@ This takes effect when first loading the library.")
     ("h5" . "Unimportant section headline")
     ("h6" . "Least important section headline")
     ("head" . "Document header")
+    ("header" . "Header of a section")
+    ("hgroup" . "Group of headings - h1-h6 elements")
     ("hr" . "Horizontal rule")
     ("html" . "HTML Document")
     ("i" . "Italic face")
@@ -1960,8 +1972,9 @@ This takes effect when first loading the library.")
     ("li" . "List item")
     ("link" . "Link relationship")
     ("math" . "Math formula")
-    ("menu" . "Menu list (obsolete)")
+    ("menu" . "List of commands")
     ("mh" . "Form mail header")
+    ("nav" . "Group of navigational links")
     ("nextid" . "Allocate new id")
     ("nobr" . "Text without line break")
     ("ol" . "Ordered list")
@@ -1975,6 +1988,7 @@ This takes effect when first loading the library.")
     ("rev" . "Reverse video")
     ("s" . "Strikeout")
     ("samp" . "Sample text")
+    ("section" . "Section of a document")
     ("select" . "Selection list")
     ("small" . "Font size")
     ("sp" . "Nobreak space")
@@ -2242,6 +2256,33 @@ HTML Autoview mode is a buffer-local minor mode for use with
 			     "")))
    \n))
 
+(define-skeleton html-navigational-links
+  "Group of navigational links."
+  nil
+  "<nav>" \n
+  "<ul>" \n
+  "<li><a href=\"" (skeleton-read "URL: " "#") "\">"
+  (skeleton-read "Title: ") "</a>"
+  (if sgml-xml-mode (if sgml-xml-mode "</li>")) \n
+  "</ul>" \n
+  "</nav>")
+
+(define-skeleton html-html5-template
+  "Initial HTML5 template"
+  nil
+  "<!DOCTYPE html>" \n
+  "<html lang=\"en\">" \n
+  "<head>" \n
+  "<meta charset=\"utf-8\">" \n
+  "<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">" \n
+  "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">" \n
+  "<title>" (skeleton-read "Page Title: ") "</title>" \n
+  "</head>" \n
+  "<body>" \n
+  "<div id=\"app\"></div>" \n
+  "</body>" \n
+  "</html>")
+
 (provide 'sgml-mode)
 
 ;;; sgml-mode.el ends here
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-05-10 18:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-28 17:18 [PATCH] Add basic HTML5 support to sgml-mode Przemysław Wojnowski
2015-04-28 21:28 ` Dmitry Gutov
2015-04-28 21:49   ` Przemysław Wojnowski
2015-05-10 16:51   ` Przemysław Wojnowski
2015-05-10 18:03     ` Dmitry Gutov

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).