From d21a11dc71bb25c55dbf1ffcba986a5935bd48bf Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Thu, 20 Feb 2020 23:26:23 +0000 Subject: [PATCH] chore(lang): Add support for mermaid diagrams The org-babal features of mermaid-mode itself don't seem to work, but the separate ob-mermaid does work. --- core/siren-core-modules.el | 2 ++ modules/languages/siren-mermaid.el | 22 ++++++++++++++++++++++ modules/org-mode/siren-ob-mermaid.el | 22 ++++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 modules/languages/siren-mermaid.el create mode 100644 modules/org-mode/siren-ob-mermaid.el diff --git a/core/siren-core-modules.el b/core/siren-core-modules.el index 5a781fd..fdbf39c 100644 --- a/core/siren-core-modules.el +++ b/core/siren-core-modules.el @@ -113,6 +113,7 @@ ;; Org-mode (require 'siren-htmlize) (require 'siren-org-mode) +(require 'siren-ob-mermaid) (require 'siren-ox-gfm) (require 'siren-ox-jira) @@ -140,6 +141,7 @@ (require 'siren-lua) (require 'siren-makefile) (require 'siren-markdown) +(require 'siren-mermaid) (require 'siren-php) (require 'siren-plantuml) (require 'siren-ruby) diff --git a/modules/languages/siren-mermaid.el b/modules/languages/siren-mermaid.el new file mode 100644 index 0000000..da510a3 --- /dev/null +++ b/modules/languages/siren-mermaid.el @@ -0,0 +1,22 @@ +;;; siren-mermaid.el --- jimeh's Emacs Siren: mermaid-mode configuration. + +;;; Commentary: + +;; Basic configuration for mermaid-mode. + +;;; Code: + +(require 'siren-prog-mode) + +(use-package mermaid-mode + :mode "\\.mermaid\\'" "\\.mmd\\'" + + :hook + (mermaid-mode . siren-mermaid-mode-setup) + + :init + (defun siren-mermaid-mode-setup () + (run-hooks 'prog-mode-hook))) + +(provide 'siren-mermaid) +;;; siren-mermaid.el ends here diff --git a/modules/org-mode/siren-ob-mermaid.el b/modules/org-mode/siren-ob-mermaid.el new file mode 100644 index 0000000..3ac19a5 --- /dev/null +++ b/modules/org-mode/siren-ob-mermaid.el @@ -0,0 +1,22 @@ +;;; siren-ob-mermaid.el --- jimeh's Emacs Siren: ob-mermaid configuration. + +;;; Commentary: + +;; Basic configuration for ob-mermaid. + +;;; Code: + +(require 'siren-org-mode) + +(use-package ob-mermaid + :defer t + + :hook + (org-mode . siren-ob-mermaid-setup) + + :init + (defun siren-ob-mermaid-setup () + (require 'ob-mermaid))) + +(provide 'siren-ob-mermaid) +;;; siren-ob-mermaid.el ends here