mirror of
https://github.com/SqrtMinusOne/dotfiles.git
synced 2025-12-10 19:23:03 +03:00
feat(emacs): upd
This commit is contained in:
parent
c6e3c19c31
commit
cbf772803b
2 changed files with 54 additions and 36 deletions
|
|
@ -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,16 +4355,18 @@ Returns (<buffer> . <workspace-index>) or nil."
|
|||
(setq sitename (dom-text child)))
|
||||
((eq (car child) 'div)
|
||||
(setq content child)))))
|
||||
(dom-search
|
||||
content
|
||||
(lambda (el)
|
||||
(when (listp el)
|
||||
(pcase (car el)
|
||||
('h2 (setf (car el) 'h1))
|
||||
('h3 (setf (car el) 'h2))
|
||||
('h4 (setf (car el) 'h3))
|
||||
('h5 (setf (car el) 'h4))
|
||||
('h6 (setf (car el) 'h5))))))
|
||||
(while (and
|
||||
(not (dom-by-tag content 'h1))
|
||||
(dom-search
|
||||
content
|
||||
(lambda (el)
|
||||
(when (listp el)
|
||||
(pcase (car el)
|
||||
('h2 (setf (car el) 'h1))
|
||||
('h3 (setf (car el) 'h2))
|
||||
('h4 (setf (car el) 'h3))
|
||||
('h5 (setf (car el) 'h4))
|
||||
('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)))
|
||||
|
|
|
|||
46
Emacs.org
46
Emacs.org
|
|
@ -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,16 +6363,18 @@ 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)))))
|
||||
(dom-search
|
||||
content
|
||||
(lambda (el)
|
||||
(when (listp el)
|
||||
(pcase (car el)
|
||||
('h2 (setf (car el) 'h1))
|
||||
('h3 (setf (car el) 'h2))
|
||||
('h4 (setf (car el) 'h3))
|
||||
('h5 (setf (car el) 'h4))
|
||||
('h6 (setf (car el) 'h5))))))
|
||||
(while (and
|
||||
(not (dom-by-tag content 'h1))
|
||||
(dom-search
|
||||
content
|
||||
(lambda (el)
|
||||
(when (listp el)
|
||||
(pcase (car el)
|
||||
('h2 (setf (car el) 'h1))
|
||||
('h3 (setf (car el) 'h2))
|
||||
('h4 (setf (car el) 'h3))
|
||||
('h5 (setf (car el) 'h4))
|
||||
('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)))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue