Instant Github-flavored Markdown/Org preview using grip
Table of Contents
Instant Github-flavored Markdown/Org preview using Grip (GitHub Readme Instant Preview).
M-x package-install RET grip-mode RET.
;; Make a keybinding: `C-c C-c g' (define-key markdown-mode-command-map (kbd "g") #'grip-mode)
;; Or start grip when opening a markdown/org buffer (add-hook 'markdown-mode-hook #'grip-mode) (add-hook 'org-mode-hook #'grip-mode)
;; Use keybindings (use-package grip-mode :ensure t :bind (:map markdown-mode-command-map ("g" . grip-mode)))
;; Or using hooks (use-package grip-mode :ensure t :hook ((markdown-mode org-mode) . grip-mode))
M-x grip-modeto preview the markdown and org buffers in the embedded webkit browser if Emacs supports (built with
--with-xwidgets), or in the default browser (Chrome, Firefox, etc.).
ox-gfm is optional, but it brings better rendering for org files.
M-x customize-group RET grip RETor set the variables.
;; Path to the grip binary (setq grip-binary-path "/path/to/grip")
;; You can use this variable to define another browser ;; to use when loading previews. By default this value is
nil;; meaning use default browser defined by your system (setq grip-url-browser "custom_browser")
;; If you want to pass arguements to your custom browser then use (setq grip-url-args '("arg1" "arg2" "etc"))
;; A GitHub username for API authentication (setq grip-github-user "")
;; A GitHub password or auth token for API auth (setq grip-github-password "")
;; When nil, update the preview after file saves only, instead of also ;; after every text change (setq grip-update-after-change nil)
;; Preview hostname (setq grip-preview-host "localhost")
;; Use embedded webkit to previe ;; This requires GNU/Emacs version >= 26 and built with the
--with-xwidgets;; option. (setq grip-preview-use-webkit t)
If you don't set them you may have limitation to access Github APIs. Please visit Grip Access for details.
You can get the user name and password from
(require 'auth-source) (let ((credential (auth-source-user-and-password "api.github.com"))) (setq grip-github-user (car credential) grip-github-password (cadr credential)))
You need to set your GitHub username to
grip-github-user, then Creating a personal access token for the command line and set the new token to
If you think the it's helpful for you, please consider paying a cup of coffee for me. Thank you! :smile: