.emacs.d/init.d/text/web.el

72 lines
2.7 KiB
EmacsLisp
Raw Normal View History

2019-10-14 17:38:14 +02:00
;;; web.el --- Settings for web stuff. -*- lexical-binding: t; -*-
;;; Commentary:
;;; Code:
(require 'basics/package-management)
(require 'misc/completion)
;; Disable, because LSP does it better(?).
;; ;; Use company auto-completion for (X)HTML.
;; (use-package company-web
;; :demand t
;; :after (company)
;; :config (add-to-list 'company-backends 'company-web-html))
2019-10-14 17:38:14 +02:00
(use-package web-mode
:custom
(web-mode-markup-indent-offset 2) ; Default indentation level.
:config (progn
(defun my/html-surround-with-tag (beg end)
"Surround region with HTML tag."
(interactive "r")
(if (region-active-p)
(let ((tag (completing-read "Tag: "
'("blockquote" "em" "strong"))))
(insert (concat "<" tag ">"
(delete-and-extract-region beg end)
"</" tag ">")))
(message "No active region")))
2021-03-14 19:36:16 +01:00
(defun my/html-paragraphify-buffer ()
"Wrap every line not beginning with < or a newline in <p> tags."
2021-03-14 19:36:16 +01:00
(interactive)
(goto-char (point-min))
(while (re-search-forward "^\\([^<
2021-03-14 19:36:16 +01:00
].+\\)$" nil t)
(replace-match "<p>\\1</p>"))))
2020-03-27 18:12:41 +01:00
:mode (("\\.[ps]?html?$" . web-mode)
("\\.tmpl$" . web-mode) ; Gitea templates.
("\\.php$" . web-mode))
:hook (web-mode . (lambda () (set-fill-column 120)))
:bind ("C-c C-M-h" . my/html-surround-with-tag))
2019-10-14 17:38:14 +02:00
;; Read EPUB ebooks.
(use-package nov
2020-03-27 18:12:41 +01:00
:custom (nov-text-width fill-column)
:custom-face (variable-pitch ((t (:inherit variable-pitch
:family "Source Serif Pro"
:height 1.4))))
:mode ("\\.epub$" . nov-mode))
2019-10-14 17:38:14 +02:00
;; Mode for writing blog posts with hugo.
(when (string= (system-name) "ventiloplattform")
(use-package easy-hugo
2021-03-15 18:52:24 +01:00
:custom ((easy-hugo-basedir "~/Projekte/www/thoughtpile.tastytea.de/")
(easy-hugo-url "https://thoughtpile.tastytea.de")
(easy-hugo-postdir "content/posts")
(easy-hugo-previewtime (* 60 60 2))
(easy-hugo-default-ext ".adoc")
(easy-hugo-asciidoc-extension "adoc")
(easy-hugo-server-flags "-D")
(easy-hugo-bloglist ; Additional blogs.
2021-03-15 18:52:24 +01:00
'(((easy-hugo-basedir . "~/Projekte/www/text-de.tastytea.de/")
(easy-hugo-url . "https://text-de.tastytea.de")
(easy-hugo-postdir . "content/posts")
(easy-hugo-previewtime . (* 60 60 2))))))
:bind ("C-c h" . easy-hugo)))
2019-10-14 17:38:14 +02:00
(provide 'text/web)
;;; web.el ends here