tDiary-mode


What's this?

Fork me on GitHub

Emacs から tDiary を更新するための Major mode です.

以前は Junichiro Kita さんが作成されておりましたが,

  • Emacs >= 24.4 以降への対応
  • SSL 対応(標準の tls.el を利用)
  • apel 依存性の削除

といった事を細々とやっておりましたので, 公開いたします.

How to Use

load-path の通った所に tdiary-mode.el を置いて, 以下を .emacs に記載して下さい.

;; 更新する日記のリスト
(setq tdiary-diary-list '(("my 1st diary" "http://example.com/tdiary/")
                          ("my 2nd diary" "http://example.com/tdiary2/")))
;; 更新後に日記原稿を保存するディレクトリ
(setq tdiary-text-directory (expand-file-name "~/path-to-saved-diary"))
;; preview に使う関数
(setq tdiary-browser-function 'browse-url)
;; csrf key
(setq tdiary-csrf-key "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
;; スタイルに応じて: org スタイル
(setq  tdiary-style-mode 'org-mode
       tdiary-text-suffix ".org")
;; スタイルに応じて: tDiary as html スタイル
;; (setq  tdiary-style-mode 'html-mode
;;        tdiary-text-suffix ".td")
;; スタイルに応じて: gfm スタイル
;; (setq  tdiary-style-mode 'markdown-mode
;;        tdiary-text-suffix ".md")
;; スタイルに応じて: RD スタイル
;; (setq  tdiary-style-mode 'rd-mode
;;        tdiary-text-suffix ".rd")
;; 以下, お好みで: テンプレートとして登録する plugin の定義
;;  (setq tdiary-plugin-definition
;;    '(
;;      ("STRONG" ("<%=STRONG %Q|" (p "str: ") "| %>"))
;;      ("PRE" ("<%=PRE %Q|" (p "str: ") "| %>"))
;;      ("CITE" ("<%=CITE %Q|" (p "str: ") "| %>"))
;;      ))
;;  (add-hook 'tdiary-mode-hook
;;        '(lambda ()
;;       (local-set-key "\C-i" 'tdiary-complete-plugin)))
;; autoload
(autoload 'tdiary-mode "tdiary-mode" nil t)
(autoload 'tdiary-new "tdiary-mode" nil t)
(autoload 'tdiary-new-diary "tdiary-mode" nil t)
(autoload 'tdiary-replace "tdiary-mode" nil t)

パスワードを保存したい場合には

(setq tdiary-passwd-file (locate-user-emacs-file "tdiary-passwd" ".tdiary-passwd"))

とでもしておいて

M-x tdiary-password-save

として下さい(そのうち auth-source に対応する予定です).

Notice

上手く書き込みできない場合にはご自身のtDiaryで CSRFの設定がどうなっているかを確認してください. tDiaryが動いているマシンにsshできるのであればCSRF KEYは tdiary.conf に書いてあります.

sshができない場合は何かしらの方法でCSRF KEYを知る必要がありますが, 良いアイデアがありません.

ToDO [/]

  • [ ] melpa への登録申請
  • [ ] 認証情報を auth-source で扱う
  • [ ] Customize 対応

Contributing

  1. Fork it
  2. Create your feature branch (`git checkout -b my-new-feature`)
  3. Commit your changes (`git commit -am 'Add some feature'`)
  4. Push to the branch (`git push origin my-new-feature`)
  5. Create new Pull Request

LICENSE

  Copyright (C) 2002 Junichiro Kita
                2017-2019 Youhei SASAKI
  License: GPL-2.0+

@see LICENSE for detail.