123456789101112131415161718192021222324252627282930313233343536 |
- ;;; ~/.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)
|