Files
dotfiles/emacs/.config/doom/+nov.el
2019-12-05 21:17:41 -05:00

37 lines
1.3 KiB
EmacsLisp

;;; ~/.dotfiles/emacs/.config/doom/+nov.el -*- lexical-binding: t; -*-
(require 'justify-kp)
;(setq nov-text-width t)
(setq nov-text-width 80)
(defun my-nov-window-configuration-change-hook ()
(my-nov-post-html-render-hook)
(remove-hook 'window-configuration-change-hook
'my-nov-window-configuration-change-hook
t))
(defun my-nov-post-html-render-hook ()
(if (get-buffer-window)
(let ((max-width (pj-line-width))
buffer-read-only)
(save-excursion
(goto-char (point-min))
(while (not (eobp))
(when (not (looking-at "^[[:space:]]*$"))
(goto-char (line-end-position))
(when (> (shr-pixel-column) max-width)
(goto-char (line-beginning-position))
(pj-justify)))
(forward-line 1))))
(add-hook 'window-configuration-change-hook
'my-nov-window-configuration-change-hook
nil t)))
(add-hook 'nov-post-html-render-hook 'my-nov-post-html-render-hook)
(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode))
(defun my-nov-font-setup ()
(face-remap-add-relative 'variable-pitch :family "Liberation Serif"
:size 20
:height 1.0))
(add-hook 'nov-mode-hook 'my-nov-font-setup)