feat(emacs): upd

This commit is contained in:
Pavel Korytov 2022-05-14 20:31:01 +03:00
parent c6e3c19c31
commit cbf772803b
2 changed files with 54 additions and 36 deletions

View file

@ -2000,14 +2000,19 @@ Returns (<buffer> . <workspace-index>) or nil."
"RET" 'plantuml-preview)
(use-package subed
:straight (:host github :repo "rndusr/subed" :files ("subed/*.el") :build (:not native-compile))
:mode (rx (| "srt" "vtt" "ass") eos))
:straight (:host github :repo "rndusr/subed" :files ("subed/*.el")
:build (:not native-compile))
:config
(general-define-key
:keymaps '(subed-mode-map subed-vtt-mode-map)
:states '(normal)
"gp" #'subed-mpv-toggle-pause))
(use-package langtool
:straight t
:commands (langtool-check)
:config
(setq langtool-language-tool-server-jar "/home/pavel/bin/LanguageTool-5.4/languagetool-server.jar")
(setq langtool-language-tool-server-jar "/home/pavel/bin/LanguageTool-5.7/languagetool-server.jar")
(setq langtool-mother-tongue "ru")
(setq langtool-default-language "en-US"))
@ -3267,9 +3272,8 @@ Returns (<buffer> . <workspace-index>) or nil."
(general-define-key
:keymaps 'bibtex-mode-map
"M-RET" 'org-ref-bibtex-hydra/body)
;; (add-to-list 'orhc-candidate-formats
;; '("online" . " |${=key=}| ${title} ${url}"))
)
(setq bibtex-completion-display-formats
'((t . "${author:36} ${title:*} ${note:10} ${year:4} ${=has-pdf=:1}${=type=:7}"))))
(defun my/org-ref-select-bibliograhy ()
(interactive)
@ -4341,7 +4345,7 @@ Returns (<buffer> . <workspace-index>) or nil."
(let ((dom (with-temp-buffer
(insert dom-string)
(libxml-parse-html-region (point-min) (point-max)))))
(let (title sitename content)
(let (title sitename content (i 0))
(dolist (child (dom-children (car (dom-by-id dom "readability-page-1"))))
(when (listp child)
(cond
@ -4351,6 +4355,8 @@ Returns (<buffer> . <workspace-index>) or nil."
(setq sitename (dom-text child)))
((eq (car child) 'div)
(setq content child)))))
(while (and
(not (dom-by-tag content 'h1))
(dom-search
content
(lambda (el)
@ -4360,7 +4366,7 @@ Returns (<buffer> . <workspace-index>) or nil."
('h3 (setf (car el) 'h2))
('h4 (setf (car el) 'h3))
('h5 (setf (car el) 'h4))
('h6 (setf (car el) 'h5))))))
('h6 (setf (car el) 'h5))))))))
`((title . ,title)
(sitename . ,sitename)
(content . ,(with-temp-buffer
@ -4439,6 +4445,10 @@ Returns (<buffer> . <workspace-index>) or nil."
(setq my/elfeed-pdf-dir (expand-file-name "~/.elfeed/pdf/"))
(defun my/elfeed-open-pdf (entry overwrite)
"Open the current elfeed ENTRY with a pdf viewer.
If OVERWRITE is non-nil, do the rendering even if the resulting
PDF already exists."
(interactive (list elfeed-show-entry current-prefix-arg))
(let ((authors (mapcar (lambda (m) (plist-get m :name)) (elfeed-meta entry :authors)))
(feed-title (elfeed-feed-title (elfeed-entry-feed entry)))

View file

@ -2956,8 +2956,13 @@ A major mode to work with subtitles.
#+begin_src emacs-lisp
(use-package subed
:straight (:host github :repo "rndusr/subed" :files ("subed/*.el") :build (:not native-compile))
:mode (rx (| "srt" "vtt" "ass") eos))
:straight (:host github :repo "rndusr/subed" :files ("subed/*.el")
:build (:not native-compile))
:config
(general-define-key
:keymaps '(subed-mode-map subed-vtt-mode-map)
:states '(normal)
"gp" #'subed-mpv-toggle-pause))
#+end_src
*** LanguageTool
LanguageTool is a great offline spell checker. For some reason, the download link is nowhere to be found on the home page, so it is listed in the references as well.
@ -2970,7 +2975,7 @@ References:
:straight t
:commands (langtool-check)
:config
(setq langtool-language-tool-server-jar "/home/pavel/bin/LanguageTool-5.4/languagetool-server.jar")
(setq langtool-language-tool-server-jar "/home/pavel/bin/LanguageTool-5.7/languagetool-server.jar")
(setq langtool-mother-tongue "ru")
(setq langtool-default-language "en-US"))
@ -4646,9 +4651,8 @@ As of now, this package loads Helm on start. To avoid this, I have to exclude He
(general-define-key
:keymaps 'bibtex-mode-map
"M-RET" 'org-ref-bibtex-hydra/body)
;; (add-to-list 'orhc-candidate-formats
;; '("online" . " |${=key=}| ${title} ${url}"))
)
(setq bibtex-completion-display-formats
'((t . "${author:36} ${title:*} ${note:10} ${year:4} ${=has-pdf=:1}${=type=:7}"))))
(defun my/org-ref-select-bibliograhy ()
(interactive)
@ -6349,7 +6353,7 @@ Second, for some reason the header enumeration starts with =<h2>=, so this also
(let ((dom (with-temp-buffer
(insert dom-string)
(libxml-parse-html-region (point-min) (point-max)))))
(let (title sitename content)
(let (title sitename content (i 0))
(dolist (child (dom-children (car (dom-by-id dom "readability-page-1"))))
(when (listp child)
(cond
@ -6359,6 +6363,8 @@ Second, for some reason the header enumeration starts with =<h2>=, so this also
(setq sitename (dom-text child)))
((eq (car child) 'div)
(setq content child)))))
(while (and
(not (dom-by-tag content 'h1))
(dom-search
content
(lambda (el)
@ -6368,7 +6374,7 @@ Second, for some reason the header enumeration starts with =<h2>=, so this also
('h3 (setf (car el) 'h2))
('h4 (setf (car el) 'h3))
('h5 (setf (car el) 'h4))
('h6 (setf (car el) 'h5))))))
('h6 (setf (car el) 'h5))))))))
`((title . ,title)
(sitename . ,sitename)
(content . ,(with-temp-buffer
@ -6456,12 +6462,14 @@ And putting all of this together to get a PDF representation of an arbitrary URL
**** Rendering elfeed entries as PDFs
This also goes really well with elfeed, because for these RSS feeds that have a well-formed HTML part there's even no need to invoke =rdrview=, we can just feed the HTML to =pandoc=.
TODO escape title
#+begin_src emacs-lisp
(setq my/elfeed-pdf-dir (expand-file-name "~/.elfeed/pdf/"))
(defun my/elfeed-open-pdf (entry overwrite)
"Open the current elfeed ENTRY with a pdf viewer.
If OVERWRITE is non-nil, do the rendering even if the resulting
PDF already exists."
(interactive (list elfeed-show-entry current-prefix-arg))
(let ((authors (mapcar (lambda (m) (plist-get m :name)) (elfeed-meta entry :authors)))
(feed-title (elfeed-feed-title (elfeed-entry-feed entry)))