aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/init-markdown.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/init-markdown.el')
-rw-r--r--lisp/init-markdown.el35
1 files changed, 35 insertions, 0 deletions
diff --git a/lisp/init-markdown.el b/lisp/init-markdown.el
new file mode 100644
index 0000000..fec2b24
--- /dev/null
+++ b/lisp/init-markdown.el
@@ -0,0 +1,35 @@
+;;----------------------------------------------------------------------------
+;; Markdown mode
+;;----------------------------------------------------------------------------
+(require-package 'markdown-mode)
+
+(autoload 'markdown-mode "markdown-mode"
+ "Major mode for editing Markdown files" t)
+(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode))
+(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
+
+(eval-after-load "markdown-mode"
+ '(defalias 'markdown-add-xhtml-header-and-footer 'as/markdown-add-xhtml-header-and-footer))
+
+;;----------------------------------------------------------------------------
+;; Generated HTML 5 and UTF-8 with Markdown
+;;----------------------------------------------------------------------------
+(defun as/markdown-add-xhtml-header-and-footer (title)
+ "Wrap XHTML header and footer with given TITLE around current buffer."
+ (goto-char (point-min))
+ (insert "<!DOCTYPE html>\n"
+ "<html>\n"
+ "<head>\n<title>")
+ (insert title)
+ (insert "</title>\n")
+ (insert "<meta charset=\"utf-8\" />\n")
+ (when (> (length markdown-css-paths) 0)
+ (insert (mapconcat 'markdown-stylesheet-link-string markdown-css-paths "\n")))
+ (insert "\n</head>\n\n"
+ "<body>\n\n")
+ (goto-char (point-max))
+ (insert "\n"
+ "</body>\n"
+ "</html>\n"))
+
+(provide 'init-markdown)