使用maple-note管理笔记


Table of Contents

更新于2019.04

  1. blog-mode 更新为 maple-note

  2. 新建 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文件放到blog-org-path目录, markdown文件放到blog-md-path目录 ,已发布的org文件放到 maple-note-alist 中预定义的 path 路径里, markdown文件同理

  • D 删除当前文章

  • f 筛选文章 筛选titlecategory

  • RET (鼠标左键)

    • 点击title: 打开文件

    • 点击publish: 发布与未发布切换

    • 点击category: 筛选当前分类

作者: honmaple
链接: https://honmaple.me/articles/2018/10/使用maple-note管理笔记.html
版权: CC BY-NC-SA 4.0 知识共享署名-非商业性使用-相同方式共享4.0国际许可协议
wechat
alipay

加载评论