更新于
2019.04
- blog-mode 更新为 maple-note
- 新建 Git 仓库 emacs-maple-note
emacs-maple-note
blog-mode, 一个基于tabulated-list的emacs笔记管理插件
前言
很早之前我一直在使用blog-admin作为博客笔记的管理工具, 虽然没有用社区维护的 CodeFalling/blog-admin, 而是用我自己修改的honmaple/blog-admin, 毕竟我使用的pelican, 是一个很小众的静态博客生成工具, 为了适应pelican, 也为了适应自己平时的使用, 所以自己修改了一个版本
但最近一是闲来没事,二是blog-admin使用的是ctable,中英文对齐上有些问题(虽然早就解决了), 三是觉得blog-admin有很多我不需要的代码, 而且看到那一长串的配置。。。
(setq blog-admin-backend-type 'pelican
      blog-admin-backend-new-post-in-drafts t ;; create new post in drafts by default
      blog-admin-backend-new-post-with-same-name-dir nil ;; create same-name directory with new post
      blog-admin-backend-path "~/git/pelican"
      blog-admin-backend-pelican-config-file "pelicanconf.py"
      blog-admin-backend-pelican-posts-dir "content/org"
      blog-admin-backend-pelican-org-mode-dir "content/org"
      blog-admin-backend-pelican-markdown-dir "content/markdown"
      blog-admin-backend-pelican-drafts-dir "content/draft")
(add-hook 'blog-admin-backend-after-new-post-hook 'find-file)
(maple/add-hook 'blog-admin-mode-hook
  :if (display-graphic-p)
  ;; (set-face-attribute 'variable-pitch nil :font "-Sony-Sony Fixed-normal-normal-normal-*-16-*-*-*-c-80-iso10646-1")
  (set-face-attribute 'variable-pitch nil :font "Inconsolata 12")
  (buffer-face-mode))
查找资料后锁定了tabulated-list, 毕竟默认的emacs包管理器使用的就是tabulated-list, 最终参考package.el.gz, 自己写了一个 maple-note blog-mode
配置
(use-package maple-note
  :ensure nil
  :commands maple-note
  :config
  (setq maple-note-root-path "~/git/pelican"
        maple-note-draft-path "content/draft")
  (setq maple-note-alist
        '(("markdown"
           :path "content/markdown"
           :read maple-note--read-md
           :template "Title: %s
                      Author: honmaple
                      Date: %s
                      Modified: %s
                      Category:
                      Tags:
                      Slug: %s
                      Summary: ")
          ("org-mode"
           :path "content/org"
           :read maple-note--read-org
           :template "#+TITLE: %s
                      #+AUTHOR: honmaple
                      #+DATE: %s
                      #+CATEGORY:
                      #+PROPERTY: MODIFIED %s
                      #+PROPERTY: TAGS
                      #+PROPERTY: SLUG %s
                      #+PROPERTY: SUMMARY "))))
;; 弃用
(use-package blog-mode
  :load-path "site-lisp/blog-mode"
  :commands blog-start
  :config
  (setq blog-root-path "~/git/pelican"   ;; 文章根目录
        blog-org-path "content/org"      ;; org文件保存目录
        blog-md-path "content/markdown"  ;; markdown文件保存目录
        blog-draft-path "content/draft"));; 草稿文件保存目录
快捷键
- w新建文章- 新建文章以 - .org或- .md结尾, 默认会保存在- maple-note-draft-path- blog-draft-path目录下
- r刷新列表
- s发布与未发布切换- 这个其实是目录的切换, 未发布的放到 - maple-note-draft-path- blog-draft-path目录下,- 已发布的org文件放到,已发布的org文件放到- blog-org-path目录, markdown文件放到- blog-md-path目录- maple-note-alist中预定义的- path路径里, markdown文件同理
- D删除当前文章
- f筛选文章- 筛选title和category 
- RET(鼠标左键)- 点击title: 打开文件
- 点击publish: 发布与未发布切换
- 点击category: 筛选当前分类
 

