ã¯ã¦ãªãã¤ã¢ãªã¼ã«Emacsããæ稿
Emacsããã¯ã¦ãªãã¤ã¢ãªã¼ã«æ稿ã§ããããã«ãã試ã¿ã¯ããå°½ãããã¦ããæããããããã©, å¤ããããã©ãããã£ããããªãã£ããããã®ã§, èªåã§ä¸ããå®è£ ãã.
ãããããã¨
å¿ é
- ã¯ã¦ãªãã¤ã¢ãªã¼ã«Emacsããæ稿ããã
- ä¸æ¸ãã®èªã¿æ¸ããããã
- Emacsã®ãããã¡ãä¿åãããåæ ããã¦ã»ãã
- ãã¼ã«ã«ãã£ã¹ã¯ã«ã¯ãã¦ã³ãã¼ãããªãã¦ãã
(ããããã£ãããããã¡ã®ä¿åãããã¯ãã¦ãã«ããã«ãããã°æ¸ã) - ã¯ã¦ãªè¨æ³ãã·ã³ã¿ãã¯ã¹ãã¤ã©ã¤ããã¦ã»ãã
- Emacs以å¤ã®ãã®ãã§ããéãå¿ è¦ã¨ããªã
åºæ¬çã«ã¾ãã¯ä¸æ¸ãã¨ãã¦ãã¬ãã¥ã¼ããªããæ¸ãã¦ãã£ã¦, æ¸ãä¸ãã£ããå ¬éã¨ããã¯ã¼ã¯ããã¼ãªã®ã§, ä¸æ¸ãæ©è½ã¸ã®å¯¾å¿ã¯å¿ é . å ¬éæ¸ã¿ã®æç« ã®èª¤æ¤ãä¿®æ£ããå ´åãªã©ã¯, ä¿åãããå³æåæ ã§ãã¾ããªã.
ãã£ããå¬ãã
- ã¯ã¦ãªããã°ã«å¯¾å¿
- ä»ã¯APIããªãã®ã§ä»æ¹ãªãããã©, ãã®ãã¡ç§»è¡ãããã®ã§
- ã¯ã¦ãªã°ã«ã¼ã対å¿
- ãããªã«é·æãæ¸ãããã§ããªãã®ã§ããã¾ã§å¿ è¦ã§ã¯ãªã
æ¢åã®ããæ¹
hatena-mode
hatena-modeã«ããã°, http://d.hatena.ne.jp/hikigaeru/20040617#p1ãåç §ããã¨ãããã¨ã ãã©, ãã©ã¤ãã¼ãã¢ã¼ãã«ãªã£ã¦ãã¦é²è¦§ã§ããªãã®ã§ä½¿ãã.
hatena-diary-mode
http://hatena-diary-el.sourceforge.jp/
- hatena-modeããæ´¾çããããã¸ã§ã¯ãããã.
- ä¸æ¸ãã¯æªå¯¾å¿?
ã¯ã¦ãªè¨æ³ããã¤ã©ã¤ãããããã«, ã¡ã¸ã£ã¼ã¢ã¼ãé¨åã ãã§ã使ãããã¨æã£ãããã©, ãªãã2è²ãããããå®ç¾©ããã¦ãªãã¦å²ã¨æ®å¿µãªæãã«è¡¨ç¤ºãããã®ã§ããã.
simple-hatena-mode
http://coderepos.org/share/wiki/SimpleHatenaMode
- ã¯ã¦ãã©ãã¤ã³ã¹ãã¼ã«ããå¿ è¦ãã
- ä¸æ¸ãã¯æªå¯¾å¿ã§FAQã«ã¯éç¨ã§ã«ãã¼ããã¨ãã
- ã°ã«ã¼ãæ¥è¨ã«ã対å¿
- è¤æ°ã¢ã«ã¦ã³ãã«å¯¾å¿
ä¸æ¸ãã®å¯¾å¿ãå¾®å¦ãªã¨ãããã¤ãã. ã¯ã¦ãªè¨æ³ã®ãã¤ã©ã¤ãã¯ã ãã¶ã¾ãã ãã©(ã½ã¼ã¹ã³ã¼ããè¦ãéãã¯)å人çã«ã¯ãã£ã±ãæ°ãå ¥ããªãæãã ã£ã.
ãã¨ã¯æå試ããã¨ããã¨ãã«CodeReposãè½ã¡ã¦ãã¦, ããã¾ãCodeReposã«ä¸ãã£ã¦ããããã±ã¼ã¸ã¯ä½¿ããããªããª, ã¨æã£ã. ãªã®ã§å®éã«è©¦ãã¦ã¯ããªã. ããã使ãããã§, ã¯ã¦ãã©ã¨CodeReposã«ä¾åãã¦ãã¾ãã®ã¯ãªã¹ã¯ã ã¨å¤æãã.
hatedara-mode
http://d.hatena.ne.jp/amt/20070828/HatedaraMode
simple-hatena-modeããããåèã«æ©è½æ¡å¼µããã¦ããæããªã®ã§è©¦ããªãã£ã.
ya-hatena-mode
https://github.com/takaishi/ya-hatena-mode
- AtomPubã§æ稿
- ä¸æ¸ãã«å¯¾å¿
- å¿ è¦ãªãã®ã¯Emacsã ã
- ã¡ã¸ã£ã¼ã¢ã¼ãã¯ç¡ã
- æ¥è¨ä¸è¦§ãªã©ã¯Anythingã使ã
è¨è¨ææ³ã¨ãã¦ã¯ãããä¸çªãã£ãããã. ã¡ã¸ã£ã¼ã¢ã¼ãã¯ãªãããã©, 欲ããã£ããå¥ã®ããã±ã¼ã¸ã使ã£ã¦ã, ã¨ããã®ããã. ãã , å®è£ ãæ´ç·´ãããåã«éçºè ãå¥ã®ããã°ã«ç§»è¡ãã¦ãã¾ã£ããããªã®ã§å®æ度ããã¨ä¸æ©ãªã®ãæ®å¿µ. ãã¨ãã°ãµã¤ãã®ãããã¡ã®ä¿åã§ã¢ãããã¼ããã¦ããããããªãã¨ã¯ãªã. ãã¨å人çã«ã¯ç¡é§ã«Anythingã使ã£ãã¤ã³ã¿ãã§ã¼ã¹ã¯æä½ãã«ããã£ã.
æçµçã«ã¯, æåã¯ããã®APIé¨åã使ãåãã¤ã¤ã¤ã³ã¿ãã§ã¼ã¹ã®ãããã¿ã¤ããå®è£ ãã¦, åãããã«ãªã£ããAPIé¨åãã¤ã³ã¿ãã§ã¼ã¹ã¨ããããããããã«åè¨è¨ãã¦å®è£ ããªããã*1.
HatenaDiaryFS
http://tarao.hatenablog.com/entry/20091102/1257201079
- fuseã¨AtomPubã使ã£ã¦æ¥è¨ã¨ã³ããªããã¼ã«ã«ãã¡ã¤ã«ã®ããã«è¦ãã
- Emacsã§ãµã¤ãã«ãã¡ã¤ã«ã¨ãã¦ä¿åããã¨åæ ããã
- ä¸æ¸ãã«å¯¾å¿
ä»ã¾ã§ã¯ããã§æ¸ãã¦ãã. ãã¹ã¦ã®ãã®ããã¡ã¤ã«ã¨ãã¦è¡¨ç¾ããã¦, ã¢ããªã±ã¼ã·ã§ã³ã¯ãã¡ã¤ã«ãããã¾ãæ±ããã°ãã, ã¨ããã®ã¯ææ³çã«ã¯é常ã«ç´ æ´ããã. ãã ããã¯å®éã®ã¨ãã以ä¸ã®ç¹ãçµæ§ããã©ãããã£ã.
- 使ãã¨ãã«ãã¦ã³ããã¦çµãã£ãããã¦ã³ã解é¤
- æ°è¦ä½æã¨ç·¨éãç°ãªãæä½
- ä¿åããã£ãããã£ãããã
ã¤ãã£ããã®
- hatena-diary.el
- ã¯ã¦ãªãã¤ã¢ãªã¼ãæä½ããã¦ã¼ã¶ã¤ã³ã¿ãã§ã¼ã¹
- hatena-diary-api.el
- ã¯ã¦ãªãã¤ã¢ãªã¼ãAtomPubã§æä½ããAPI
- hatena-markup-mode.el
- ã¯ã¦ãªè¨æ³ã®ããã®ã¡ã¸ã£ã¼ã¢ã¼ã
- hatena-multi-mode.el
- ã¹ã¼ãã¼preè¨æ³é¨åã ãå¥ã®ã¡ã¸ã£ã¼ã¢ã¼ãã«ãã
ç¹å¾´
- AtomPubã§æ¥è¨ãæ稿
- æ¥è¨ãä¸æ¸ããä¸è¦§ã§ãã
buffer-menu
ã®ãããªã¤ã³ã¿ãã§ã¼ã¹- ä¸è¦§ããªããç°¡æãã¬ãã¥ã¼ãå¯è½
- ç·¨éããããµã¤ãã«ä¿å(
save-buffer
)ããã ãã§åæ ããã- æ°è¦ä½æã§ä¿åããã¨ããããã¯èªåçã«æ¢åè¨äºã®ç·¨éã«ãªã
- ãµãã¢ã«ã¦ã³ãã«ã対å¿
- å®è£
ã®ææãã®é¢ä¿ã§Emacs 24ã§ãªãã¨åããªã
- å
·ä½çã«ã¯
tabulated-list-mode
ã«ä¾å
- å
·ä½çã«ã¯
é å¸å ´æã¨ä¾åããã±ã¼ã¸ããã³ã¤ã³ã¹ãã¼ã«æ¹æ³
ãã¡ã¤ã« | URL | ä¾åããã±ã¼ã¸ |
---|---|---|
hatena-diary.el | https://gist.github.com/4465244 | |
hatena-diary-api.el | https://gist.github.com/4465244 | flim |
hatena-markup-mode.el | https://gist.github.com/4428666 | |
hatena-multi-mode.el | https://gist.github.com/4475652 | multi-mode, multi-mode-util |
ä¸è¨ãã¡ã¤ã«(ã®ãã¡å¿
è¦ãªæ©è½ã®ãã®)ã¨ä¾åããã±ã¼ã¸ããã¦ã³ãã¼ããã¦load-path
ä¸ã®ã©ããã«ç½®ã. el-getã使ã£ã¦ãã人ã®ããã«æ«å°¾ã«ã¬ã·ããè¨è¼.
flimã¸ã®ä¾åã¯sha1-el.elã ããªã®ã§, flimå ¨ä½ãã¤ã³ã¹ãã¼ã«ããªãã¦ãããã ãå ¥ããã°åé¡ãªã.
è¨å®
ããã±ã¼ã¸
åºæ¬çã«ã¯require
ããã ã.
(require 'hatena-diary)
hatena-markup-mode
ãç·¨éæã«ä½¿ãããå ´åã¯, ç¶ãã¦
(require 'hatena-markup-mode) (setq hatena:d:major-mode 'hatena:markup-mode)
ãªã©ã¨ãã¦ãã. ãããããªãã£ãå ´åã®åæå¤ã¯html-mode
ã«ãªã£ã¦ãã.
ã¹ã¼ãã¼preè¨æ³ã®å é¨ã§å¥ã®ã¡ã¸ã£ã¼ã¢ã¼ããèªåçã«æå¹ã«ããå ´åã¯
(require 'hatena-multi-mode) (add-hook 'hatena:markup-mode-hook #'hatena:multi-mode)
ãªã©ã¨ãã¦ãã. ãã®æ©è½èªä½ã¯hatena-markup-mode
ã¨ã¯ç¬ç«ãã¦ããã®ã§, hatena:markup-mode-hook
ã®é¨åã¯ä½¿ãããã¡ã¸ã£ã¼ã¢ã¼ãã«åããã¦é©å®å¤æ´ãã.
ã¢ã«ã¦ã³ã
ã¢ã«ã¦ã³ãæ å ±ã¯, æåã«ãµã¼ãã«ã¢ã¯ã»ã¹ããéã«å ¥åãä¿ããã(ä¸åº¦å ¥åããã°Emacsãçµäºããã¾ã§è¨æ¶ããã). ããæ¯åå ¥åããã®ãå«ãªå ´åã¯, 以ä¸ã®ããã«ãã¦è¨å®ã§ãã.
(setq hatena:username "ã¦ã¼ã¶å" hatena:password "ãã¹ã¯ã¼ã")
å®éã«ã¯ä¸è¨ã®ããã«æ¸ãã¦ãã¼ããã·ã§ã³600çã§ä¿åãããã¡ã¤ã«ããã¼ãããããã«ããæ¹ããã.
ãµãã¢ã«ã¦ã³ãã常ã«ä½¿ãããå ´åã¯
(setq hatena:d:username "ã¦ã¼ã¶å")
ã¨ããã¨èªè¨¼ã¯æ¬ã¢ã«ã¦ã³ãã®ã¾ã¾ã§ãµãã¢ã«ã¦ã³ãã®æ¥è¨ãæä½ã§ãã. (ä¸æçã«ãµãã¢ã«ã¦ã³ãã使ãæ¹æ³ã¯å¾è¿°.)
追è¨: 2014-11-30
2014-03-05時点で, 通常のログインパスワードでの認証は廃止ããã¦ãã¾ã. hatena:d:password
ã«APIãã¼ãæå®ãããã¨ã§, å¼ãç¶ãå©ç¨å¯è½ã§ã. èªåã®æ¥è¨ã®APIãã¼ã¯, メール投稿の設定画面ãã確èªã§ãã¾ã. ãæ稿ç¨ã¡ã¼ã«ã¢ãã¬ã¹ãã®@
ã®åã®é¨åãAPIãã¼ã§ã.
ã¢ã«ã¦ã³ãè¨å®ãæå·åãã
Emacsã§ã¯EasyPG Assistantã§ãã¡ã¤ã«ãç°¡åã«æå·åã§ããã®ã§, ããã使ãã®ãç°¡å.
ã¾ã, ~/.emacs.d/.hatena-credentials.gpgã¨ãããã¡ã¤ã«ãä½æãã¦,
(setq hatena:username "ã¦ã¼ã¶å" hatena:password "ãã¹ã¯ã¼ã")
ã®è¨å®ãæ¸ãã¦ãã. ä¿åããã¨, æå·éµãè¨ãããã®ã§é©å½ã«é¸æãã.
ã¢ã«ã¦ã³ãæ å ±ãèªã¿è¾¼ãè¨å®ã§ã¯
(load "~/.emacs.d/.hatena-credentials.gpg")
ã¨ããã°.elã§ãªãã¦ãèªã¿è¾¼ãã¦, èªã¿è¾¼ãã¨ãã«å¾©å·åããã.
復å·åã®ããã®ãã¹ãã¬ã¼ãºãEmacsèµ·åæã«å
¥åããããªãã¨ãããããªå ´åã¯, hatena-diary.elãrequire
ããã«autoload
ã§èªã¿è¾¼ãããã«ãã¦, eval-after-load
ã§ã¢ã«ã¦ã³ãæ
å ±ãèªã¿è¾¼ãã®ããã.
(autoload 'hatena:d:list "hatena-diary" "List Hatena::Diary blog entries in a buffer." t) (autoload 'hatena:d:list-draft "hatena-diary" "List Hatena::Diary draft entries in a buffer." t) (eval-after-load 'hatena-diary '(load "~/.emacs.d/.hatena-credentials.gpg"))
Evilã¦ã¼ã¶ã®ããã®è¨å®
Evilã使ã£ã¦ããå ´åã®ã¿å¿ è¦ãªè¨å®.
æ¥è¨ãä¸æ¸ãã®ä¸è¦§ã§ã®ãã¼ãEvilã®ãã¼ã¨è¡çªããªãããã«ããã«ã¯ä»¥ä¸ã®è¨å®ãå¿
è¦(Evilæ¬ä½ã«æ¸ããã¦ããBuffer-menu-mode
ã®è¨å®ã¨åããã¨ããã).
(push 'hatena:d:list-mode evil-motion-state-modes) (evil-make-overriding-map hatena:d:list-mode-map) (evil-add-hjkl-bindings hatena:d:list-mode-map 'motion)
hatena-multi-mode.elã使ãå ´åã¯
(require 'multi-mode+evil)
ãå¿ããã«. (ViperãVimpulseã使ã£ã¦ããå ´åã¯multi-mode+viper
.)
使ãæ¹
ã³ãã³ã
M-x hatena:d:list
- æ¥è¨ä¸è¦§ãéã
M-x hatena:d:list-draft
- ä¸æ¸ãä¸è¦§ãéã
C-u M-x hatena:d:list
- ã¦ã¼ã¶å(ãµãã¢ã«ã¦ã³ã)ãæå®ãã¦æ¥è¨ä¸è¦§ãéã
C-u M-x hatena:d:list-draft
- ã¦ã¼ã¶å(ãµãã¢ã«ã¦ã³ã)ãæå®ãã¦ä¸æ¸ãä¸è¦§ãéã
M-x hatena:d:new
- æ°ããæ¥è¨ãæ¸ã
M-x hatena:d:new-draft
- æ°ããä¸æ¸ããæ¸ã
ä¸è¦§ãéãã¦ãã¾ãã°, ã¨ã³ããªãé¸æãã¦ç·¨éããã, ã·ã§ã¼ãã«ãããã¼ã§æ°è¦ä½æãããã§ããã®ã§, ææªæåã®2ã¤ã ãè¦ãã¦ããã°ãã.
æ¥è¨ä¸è¦§
æ¥è¨ä¸è¦§ã§ã¯ä»¥ä¸ã®ãã¼ãå©ç¨å¯è½.
q
- ä¸è¦§ãéãã
g
- ä¸è¦§ãæ´æ°
p
- åã®ã¨ã³ããªãé¸æ
n
- 次ã®ã¨ã³ããªãé¸æ
N
- 次ã®ãã¼ã¸ãèªã¿è¾¼ã
RET
- ã¨ã³ããªãç·¨é
V
view-mode
ã§ã¨ã³ããªãéãv
- ãã¬ãã¥ã¼ã¢ã¼ãã®on/off
d
- åé¤ãã¼ã¯ãã¤ãã
P
- å ¬éãã¼ã¯ãã¤ãã(ä¸æ¸ãä¸è¦§ã®å ´åã®ã¿)
u
- ãã¼ã¯ãæ¶ã
x
- ãã¼ã¯ã®ã¤ããã¨ã³ããªã«æä½ãé©ç¨
c
- æ°ããæ¥è¨ãæ¸ã
C
- æ°ããä¸æ¸ããæ¸ã
ä¸è¦§ã¯æåã«éããæç¹ã§ã¯ç´è¿20件ããåå¾ããªã. 以éã¯N
ãã¼ãæ¼ãã, ãããã¯ä¸è¦§ã®ä¸çªä¸ã¾ã§ã«ã¼ã½ã«ãæã£ã¦ããã¨, 次ã®20件ãèªã¿è¾¼ã.
ãã¬ãã¥ã¼ã¢ã¼ããonã«ãªãã¨, å¥ã¦ã£ã³ãã¦ã«é¸æä¸ã®ã¨ã³ããªã®ãã¬ãã¥ã¼ã表示ããããã«ãªã. æ¥è¨ä¸è¦§ã®å ´å, ãã¬ãã¥ã¼ã¯HTMLæçã§, w3mãã¤ã³ã¹ãã¼ã«ããã¦ããã°w3mã使ã£ã¦ã¬ã³ããªã³ã°ã, ããã§ãªããã°html-mode
ã§ã½ã¼ã¹ã表示ãã. ä¸æ¸ãä¸è¦§ã®å ´å, ãã¬ãã¥ã¼ã¯å
ã®ã¯ã¦ãªè¨æ³ã®ã½ã¼ã¹ã§, ç·¨éæã«ä½¿ãã¡ã¸ã£ã¼ã¢ã¼ãã§è¡¨ç¤ºãã.
ç·¨é
æ¥è¨ã¨ã³ããªã®å ´åã¯~/.emacs.d/hatena/diary-USER-YYYYMMDD-1234567890, ä¸æ¸ãã¨ã³ããªã®å ´åã¯~/.emacs.d/hatena/diary-draft-USER-1234567890ã®ãããªä»®æ³çãªãã¡ã¤ã«åãä»ä¸ããã(1234567890ã®é¨åã¯UNIXæå»). ã¾ãæ°è¦ä½ææã¯new-hatena-blog-entry, new-hatena-draft-entryã®ãããªååã§ãããã¡ãéãã¦, ååä¿åæã«æ¥ä»ãä¼´ã£ããã¡ã¤ã«åã«å¤æ´ããã. å®éã«ãããã®ãã¡ã¤ã«åã使ãããã®ã¯, AtomPubã«ããã¢ãããã¼ãã失æããå ´åã¨, hatena:d:no-auto-save
ãnil
ã«è¨å®ãã¦ãã¦èªåããã¯ã¢ãããä½ãããå ´åã®ã¿ãªã®ã§, ãã£ã¬ã¯ããª~/.emacs.d/hatena/ãä½ããªãã§ããã¦ãåä½ãã(ã¢ãããã¼ãã失æããå ´åã¯åã«ä¿åã«å¤±æãããã¨ã«ãªã).
ä¿åã¯é常ã®ãããã¡ã®ä¿å(save-buffer
)ã§ã§ãã. ä¿åã«ãã£ã¦ã¢ãããã¼ããæåããå ´åã¯, "HTTP/1.1 200 OK"ã"HTTP/1.1 201 Created"ã®ãããªã¡ãã»ã¼ã¸ã表示ããã.
ç·¨éæã«ä½¿ãã¡ã¸ã£ã¼ã¢ã¼ãã¯hatena:d:major-mode
å¤æ°ã§è¨å®ãããã¨.
ã¹ã¼ãã¼preè¨æ³ãã¨ã«ã¡ã¸ã£ã¼ã¢ã¼ããå¤ãã
hatena-multi-mode.elã使ãã¨, ã¹ã¼ãã¼preè¨æ³ã®å
é¨ã§ã¯æå®ããè¨èªã®ã¡ã¸ã£ã¼ã¢ã¼ãã使ãããã«ã§ãã. ãã ã, ã¹ã¼ãã¼preè¨æ³ã®è¨èªã®ååã¨Emacsã®ã¡ã¸ã£ã¼ã¢ã¼ãã®ååã¯å¿
ããã対å¿ããªãã®ã§èª¿æ´ãå¿
è¦ãªå ´åããã*2.
ã¹ã¼ãã¼preè¨æ³ã§æå®ããè¨èªã«å¯¾å¿ããã¡ã¸ã£ã¼ã¢ã¼ããè¦ã¤ãããªãå ´åã¯, ãã®è¨èªæå®é¨åããã¤ã©ã¤ãããä¸ã§"Cannot find major mode for file type 'LANG'"ã®ãããªã¡ãã»ã¼ã¸ãåºãã®ã§, ãã®å ´åã¯ä»¥ä¸ã®ããããã®å¯¾å¦ãå¿
è¦.
- LANGã¨åå(ãããã¯LANG-modeã¨ããåå)ã®ã¡ã¸ã£ã¼ã¢ã¼ãã¯åå¨ããããã©, Emacsæ¨æºã§ã¯å ¥ã£ã¦ããªãã¨ããå ´åã¯, ãã®ã¡ã¸ã£ã¼ã¢ã¼ããã¤ã³ã¹ãã¼ã«ãã
- LANGã¨ã¯å¥åã®ã¡ã¸ã£ã¼ã¢ã¼ãã使ãããå ´åã¯
hatena:mm:filetype-alist
å¤æ°ã«æå®ãã
ãã¨ãã°,
>|ocaml| ... ||<
ã¨ããã¹ã¼ãã¼preè¨æ³ã§tuareg-mode
ã使ããããªã,
(push '(ocaml . tuareg) hatena:mm:filetype-alist)
ã¨ãã.
ãããã¯, ããããocaml-mode
ã¨ããååã®é¢æ°ãtuareg-mode
ã®å¥åã¨ãã¦æ±ã£ã¦ãã¾ã£ã¦ãåé¡ãªãå ´åã¯, hatena:mm:filetype-alist
ã«ã¯æãå ããã«,
(fset 'ocaml-mode 'tuareg-mode)
ã®ããã«ããæ¹ããã.
ã¡ãªã¿ã«, LANGããã¡ã¤ã«ã®æ¡å¼µåãã®ãã®ã§, auto-mode-alist
ã§ãã®æ¡å¼µåã®ããã®ã¡ã¸ã£ã¼ã¢ã¼ããæå®ãã¦ããå ´åã¯, ä½ãããªãã¦ãæ£ããã¡ã¸ã£ã¼ã¢ã¼ããé¸æãããã®ã§, æ°ã«ããªãã¦ããã.
ã¡ã¸ã£ã¼ã¢ã¼ãã¯ã«ã¼ã½ã«ä½ç½®ã«ãã£ã¦åãæ¿ãã, è£å´ã§ã¯å¥ã®ã¡ã¸ã£ã¼ã¢ã¼ãã§ã¯å¥ã®éæ¥ãããã¡ã«ç§»åããããã«ãªã£ã¦ããã®ã§, ã«ã¼ã½ã«ãã¹ã¼ãã¼preè¨æ³ã®å
é¨ã«å
¥ããªãã¨ãã¤ã©ã¤ããããªã. å ãã¦, font-lock-mode
ã®ä¸è¬çãªããæ¹ãæ³å®ãã¦ãããã, ã¡ã¸ã£ã¼ã¢ã¼ãããã¾ãã«ç¹æ®ãªå ´åã¯ãã¾ããããªããã¨ããã.
æ¢ç¥ã®åé¡ãæªå¯¾å¿ãªé¨å
- ãã¹ã¯ã¼ããééãã¦å ¥åããã¨ã©ããããããªããªã
- æ´æ°æ¥æãæå®ããã¢ãããã¼ããã§ããªã(APIã¯ããããã©ã¤ã³ã¿ãã§ã¼ã¹ããªã)
- ã¯ã¦ãªããã°æªå¯¾å¿
- ã¯ã¦ãªã°ã«ã¼ãæ¥è¨æªå¯¾å¿
1ã¤ç®ã¯ãã®ãã¡ä¿®æ£ããäºå®. 2çªç®ã¯è¦æãããã°ãªãã¨ããããã. ä¸2ã¤ã¯APIãæä¾ãããªãéã対å¿ããã¤ããã¯ãªã.
ææ
ãã®æ¥è¨ããã£ããhatena-diary.elã§æ¸ãã¦ã¿ãã¨ãã, HatenaDiaryFSã¨æ¯ã¹ã¦ä¿åæã®åä½ãå§åçã«è»½å¿«ã§, ã¨ã¦ãå¿å°ããã£ã. 以åæ¸ããæ¥è¨ãåç §ããã®ã楽ã§å©ãã.
å®è£
ã¯ç´°ããªä¿®æ£ãé¤ãã°2æ¥ãããã§ã§ãã¦ãã¾ã£ã¦æ¥½ã¡ãã ã£ã. tabulated-list-mode
ã¹ãã.
追è¨
2013-01-10T22:14+0000 ããã¯ãã¼ã¯ã³ã¡ã³ãã¸ã®è¿ä¿¡
id:serian ã¡ãã£ã¨ããæ´æ°ã¢ã¼ãããããªï¼
ã¡ãã£ã¨æªç¢ºèªãªã®ã§ãã, AtomPub APIã®ä»æ§ã§è¨ãã¨ããã®updated
è¦ç´ ããã¡ãã£ã¨ããæ´æ°ãã§ã¯ãªãæ´æ°ã®ããã«æå®ãããã®ã ã¨ããã¨, ç¾ç¶ã®å®è£
ã§ã¯ãã¹ã¦ã®æ´æ°ã¯ãã¡ãã£ã¨ããæ´æ°ãã«ãªã(updated
ã¯æå®ããªã)ããã«ãªã£ã¦ãã¾ã. éã«updated
ãæå®ããæ´æ°ã¯ç¾ç¶ã§ã¯ã§ãã¾ãã(è¦æãããã°ã§ããããã«ããããããã¾ãã).
確èªãã¾ãã. AtomPub APIã§ãã¡ãã£ã¨ããæ´æ°ããæ±ãæ¹æ³ã¯ãªãããã§ã(å°ãªãã¨ãupdated
ãæå®ãããã©ããã§éãã¯ããã¾ããã§ãã). ä¿åããå ´åã¯å¿
ããµã¤ãã®æ´æ°ã«ãªãã¾ã.
2013-01-11T14:26+0000 æ©è½è¿½å
C-u M-x hatena:d:list
ã§ãµãã¢ã«ã¦ã³ãã®æ¥è¨ä¸è¦§ãéããããã«ããM-x hatena:d:save-as-draft
ã§æ¥è¨ã¨ã³ããªãä¸æ¸ãã¨ãã¦ä¿åã§ããããã«ãã
2013-01-12T10:54+0000
- ã¢ã«ã¦ã³ãæ å ±ãæå·åãã¦ä¿åãã¦ããæ¹æ³ãè¨è¼
2013-01-26T02:25+0000 æ©è½ä¿®æ£
- ã¢ã«ã¦ã³ãæ å ±ãè¨å®ãã¦ããªãå ´åã¯å ¥åãä¿ãããã«ãã
- ç·¨éãããã¡ã§ã¡ã¸ã£ã¼ã¢ã¼ããå¤æ´ãã¦ãã¢ãããã¼ããã§ããããã«ãã
- ã¹ã¼ãã¼preè¨æ³å ã§ä¿åããã°ã¢ãããã¼ããããããã«ãã
2013-03-25T09:57+0000 ãã°ä¿®æ£
- ã¦ã¼ã¶IDãã-ããå«ãã¨ãã¾ãåä½ããªãã£ãã®ãä¿®æ£
*1:ç´°ããã¨ããã§ã¯, ya-hatena-modeã®APIã§ã¯æ¥è¨ä¸è¦§ã1ãã¼ã¸ããèªã¿è¾¼ããªãã¨ããã®ã, APIé¨åãåå®è£ ããã«è³ã£ãçç±
*2:ã¯ã¦ãªã®ã¹ã¼ãã¼preè¨æ³ã®ã·ã³ã¿ãã¯ã¹ãã¤ã©ã¤ãã¯, ãµã¼ãå´ã§Vimãèµ·åãã¦ãã¤ã©ã¤ãããä¸ã§, ãããHTMLã«æ¸ãåºãã¨ããæ¹æ³ã§ãã£ã¦ããã¯ããªã®ã§, è¨èªã®ååãVimã®syntax/*.vimã®ååã¨åããã®ã«ãªã£ã¦ãã