Skip to content

Commit

Permalink
Add Spacemacs docs minor mode to hide meta tags.
Browse files Browse the repository at this point in the history
`space-doc-mode` - Buffer local minor mode for Spacemacs documentation files. The mode hides org meta tags.
Enabled when viewing documentation via `SPC` `h` `SPC`
  • Loading branch information
JAremko authored and syl20bnr committed Mar 31, 2016
1 parent d776ee6 commit 014bbfd
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 0 deletions.
1 change: 1 addition & 0 deletions core/core-funcs.el
Expand Up @@ -171,6 +171,7 @@ Supported properties:
(find-file file)
(org-indent-mode)
(view-mode)
(when(and(boundp 'space-doc-mode)(fboundp 'space-doc-mode)(space-doc-mode)))
(goto-char (point-min))

(when anchor-text
Expand Down
46 changes: 46 additions & 0 deletions layers/+emacs/org/local/space-doc/space-doc.el
@@ -0,0 +1,46 @@
;;; space-doc.el --- Spacemacs documentation minor mode.
;;
;; Copyright (c) 2012-2016 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
;;; Code:
(require 'face-remap)
(require 'org)

;;;###autoload
(define-minor-mode space-doc-mode
"Buffer local minor mode for Spacemacs documentation files.
The mode hides `org-mode' meta tags like #+TITLE: while
keeping their content visible."
:init-value nil
:lighter ""
(if (eq major-mode 'org-mode)
(if space-doc-mode
(let ((bg (face-attribute 'default :background)))
(progn
;; Make `org-mode' meta tags invisible.
(set (make-local-variable 'spacemacs--org-face-remap-cookie-org-tag)
(face-remap-add-relative 'org-tag `(:foreground ,bg)))
(set (make-local-variable 'spacemacs--org-face-remap-cookie-org-meta-line)
(face-remap-add-relative 'org-meta-line `(:foreground ,bg)))
(set (make-local-variable 'spacemacs--org-face-remap-cookie-org-block-begin-line)
(face-remap-add-relative 'org-block-begin-line `(:foreground ,bg)))
(set (make-local-variable 'spacemacs--org-face-remap-cookie-org-document-info-keyword)
(face-remap-add-relative 'org-document-info-keyword `(:foreground ,bg)))))
(progn
;; Make `org-mode' meta tags visible.
(face-remap-remove-relative spacemacs--org-face-remap-cookie-org-tag)
(face-remap-remove-relative spacemacs--org-face-remap-cookie-org-meta-line)
(face-remap-remove-relative spacemacs--org-face-remap-cookie-org-block-begin-line)
(face-remap-remove-relative spacemacs--org-face-remap-cookie-org-document-info-keyword)
(setq spacemacs--org-face-remap-p nil)))
(progn (message (format "space-doc-mode error:%s isn't an org-mode buffer" (buffer-name)))
(setq org-mode nil))))

(provide 'space-doc)
;;; space-doc.el ends here
4 changes: 4 additions & 0 deletions layers/+emacs/org/packages.el
Expand Up @@ -33,6 +33,7 @@
org-repo-todo
(ox-gfm :location local)
persp-mode
(space-doc :location local)
toc-org
))

Expand Down Expand Up @@ -567,3 +568,6 @@ a Markdown buffer and use this command to convert it.
(defun org/init-htmlize ()
(use-package htmlize
:defer t))

(defun org/init-space-doc ()
(use-package space-doc))

0 comments on commit 014bbfd

Please sign in to comment.