Org-Mode Capture 使用
发布于 Aug 17, 2020 by ThinkCat.
Table of Contents
好久不拿org-mode写文字,总是忘记一些快捷键。
现在都是通过emacs来编辑文章,并且一站式发布到github page。虽然这套工作流用了比较久,但是架不住懒,不写东西,还是容易忘。记录一下。
工作流:
- C-c c,启用org-mode的capture。这个就是预制的文章模板,预定义了title,keywords,tags。
- 执行make [options] 命令预览或者发布到github page。
配置还是列一下,做个备份(虽然git里面已经有了)。
emacs 配置:
;;org (setq org-html-validation-link nil) (setq org-html-postamble nil) (setq org-startup-indented t) (setq org-startup-with-inline-images t) (setq org-image-actual-width '(300)) (setq truncate-lines t) (add-hook 'org-mode-hook 'toggle-truncate-lines) (use-package org-bullets :ensure t :config (add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))) ) (global-set-key (kbd "C-c a") 'org-agenda) ;; org capture (defun create-blog-post () "Create an org file in ~/source/myblog/posts." (interactive) (let ((name (read-string "Filename: "))) (expand-file-name (format "%s.org" name) "~/Documents/Blog/myblog/posts/"))) (setq org-capture-templates '(("p" "Post" plain (file create-blog-post) (file "~/Documents/Blog/myblog/capture-template/post.orgcaptmpl")))) (define-key global-map (kbd "C-c c") (lambda () (interactive) (org-capture nil "p")))
Makefile 配置:
.PHONY: publish
EMACS = /Applications/Emacs.app/Contents/MacOS/Emacs
ifndef EMACS
EMACS = "emacs"
endif
all: publish deploy sources
publish: publish.el
@echo "Publishing... with current Emacs configurations."
${EMACS} --batch --load publish.el --funcall org-publish-all
preview:
@python3.7 -m http.server --directory=public
deploy:
@echo "Copy CNAME"
@cp CNAME public/
@echo "Copy CNAME Ok"
@echo "Start Push Git Page"
@cp -rf public/* ~/tmp/public/
@cd ~/tmp/public && git add . && git commit -m "update" && git push
@echo "Push Git Page Ok"
publish_no_init: publish.el
@echo "Publishing... with --no-init."
${EMACS} --batch --no-init --load publish.el --funcall org-publish-all
sources:
@echo "Backup Source"
@git add . && git commit -m "update" && git push
clean:
@echo "Cleaning up.."
@rm -rvf *.elc
@rm -rvf public
@rm -rvf ~/.org-timestamps/*