From 000c991a71e92400d0a31e7c65b5c9bb8f3ef192 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Wed, 1 Jan 2025 18:09:32 +1100 Subject: [emacs] Enhance epub reading * emacs/.emacs.d/init/ycp-markup.el: set text-width to be a bit less than my-org-focus-write width (76 vs 80); increase next-screen-context-lines in nov mode; set left text margin to 2 in nov mode * emacs/.emacs.d/init/ycp-org.el: Add keybindings to nov-mode when org-remark is available. Unfortunately org-remark-nov-mode is a global minor mode * emacs/.emacs.d/lisp/my/my-buffer.el: update my-toggle-focus-write to use empty buffers on both sides * emacs/.emacs.d/lisp/my/my-nov.el: a function to set left margin in nov mode * emacs/.emacs.d/lisp/my/my-org-remark.el: a convenience function to org-remark to mark or open depending on active mark Also use my custom nov.el repo --- emacs/.emacs.d/init/ycp-markup.el | 5 ++++- emacs/.emacs.d/init/ycp-org.el | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'emacs/.emacs.d/init') diff --git a/emacs/.emacs.d/init/ycp-markup.el b/emacs/.emacs.d/init/ycp-markup.el index d55586d..2225621 100644 --- a/emacs/.emacs.d/init/ycp-markup.el +++ b/emacs/.emacs.d/init/ycp-markup.el @@ -89,8 +89,11 @@ (my-package nov (:delay 15) (add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode)) - (setq nov-text-width fill-column) + (setq nov-text-width 76) (add-hook 'nov-mode-hook 'follow-mode) + (add-hook 'nov-mode-hook (lambda () + (setq next-screen-context-lines 4))) + (add-hook 'nov-post-html-render-hook 'my-nov-set-left-margin) (require 'my-nov) (my-override nov-render-title) (my-override nov-scroll-up) diff --git a/emacs/.emacs.d/init/ycp-org.el b/emacs/.emacs.d/init/ycp-org.el index bb1b828..a4b9e87 100644 --- a/emacs/.emacs.d/init/ycp-org.el +++ b/emacs/.emacs.d/init/ycp-org.el @@ -518,5 +518,20 @@ (:delay 60) (require 'my-ox-jira)) +(my-package org-remark + (:install t) + (:delay 60) + (setq org-remark-notes-display-buffer-action + '(display-buffer-reuse-mode-window)) + (require 'nov) + (my-keybind nov-mode-map + "M-n" #'org-remark-next + "M-p" #'org-remark-prev + "" #'my-org-remark-open-or-create + "o" #'org-remark-view + "d" #'org-remark-delete) + (with-eval-after-load 'nov + (org-remark-nov-mode +1))) + (provide 'ycp-org) ;;; ycp-org.el ends here -- cgit v1.2.3