emacs-personal/lisp/init-markdown.el

34 lines
1.2 KiB
EmacsLisp

;;----------------------------------------------------------------------------
;; Markdown mode
;;----------------------------------------------------------------------------
(use-package markdown-mode
:mode (("\\.markdown\\'" . markdown-mode)
("\\.md\\'" . markdown-mode))
:config
;;----------------------------------------------------------------------------
;; Generated HTML 5 and UTF-8 with Markdown
;;----------------------------------------------------------------------------
(eval-after-load "markdown-mode"
'(defalias 'markdown-add-xhtml-header-and-footer 'as/markdown-add-xhtml-header-and-footer))
(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)