使用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: 筛选当前分类
Author: honmaple

NO CONTENTS

lin.jiang

风落花语风落天,花落风雨花落田.