vim で markdown のリンクをタイトルを取得しインサートする
前回の続きになるが、もし hugo 等にブログを乗り換えた際はてな記法が使えなくなり markdown 等で書く必要がある。
現在このブログは基本的には markdown で記述しているが、リンク周りは [http://example.com:title]
というはてな記法を使っていることが多い。これはリンク先のタイトルをよしなに取得してくれるという機能である。また、
のような埋め込み式?の物も [http://example.com:embed:cite]
と記述すると展開される。
自分は vim を普段使っているので markdown も vim で書くことになるがまずは前者について考え、リンクする際に毎度タイトルを手打ちするのも手間なので下のようなコマンドを定義してタイトル付きの markdown のリンクをインサートするようにしてみた。
function! s:InsertMarkdownLink(url) let dom = webapi#html#parseURL(a:url) let head = dom.childNodes('head') if len(head) < 1 return endif let metas = head[0].childNodes('meta') let encoding = "utf-8" for meta in metas if has_key(meta.attr, "http-equiv") && meta.attr["http-equiv"] == "Content-Type" let matched = matchstr(meta.attr["content"], 'charset=\zs[a-zA-Z0-9-]*\ze') if matched != "" let encoding = matched endif break elseif has_key(meta.attr, "charset") let encoding = meta.attr["charset"] break endif endfor let title = iconv(webapi#html#decodeEntityReference(head[0].find('title').value()), encoding, &encoding) execute ":normal i[" . title . "](" . a:url . ")" endfunction command! -nargs=1 InsertMarkdownLink call s:InsertMarkdownLink("<args>")
一言ブログを乗り換えると言っても、いろいろなものに依存していたりするのでとても気が進まない。
マチネの終わりに
- 作者: 平野啓一郎
- 出版社/メーカー: コルク
- 発売日: 2016/04/08
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
平野啓一郎さんの最新作。
「人は、変えられるのは未来だけだと思い込んでる。だけど、実際は、未来は常に過去を変えてるんです。変えられるとも言えるし、変わってしまうとも言える。過去は、それくらい繊細で、感じやすいものじゃないですか?」
自分もそのうちに、洋子ではない他の誰かと結婚して、家族ぐるみでのつきあいを続け、いつか思い出したように、そう言えばあの頃、僕は君を愛していたんだったと、笑い話のように振り返る。──歳月には、そうした力があるだろう。いつまでも、未練を抱き続けるというのは、案外、難しいことのような気がした。自分はやがて、極自然に彼女を愛さなくなるだろうか。そして、その未来の光景を、彼は憎しみに近い感情で拒絶した。
最近は本当に森博嗣シリーズを永遠と読んでいるので久しぶりに恋愛ものを読んだ。(と言ってもというのが正しいのかわからないが 40 台の話。)
中盤まで層を重ねた後にさらに展開しながらちゃんと終わりに行く感じがやっぱり読んでて面白いな〜と思う(と言っても、空白を満たしなさいよりかなり短いのでハマるとすぐ読了してしまうけど。今見たら文庫は上下巻になっていた)
だんだんと自分が読む本の中の人たちも歳をとっていくのだろうか、とも思う。
そういえば最近は 文筆系トークバラエティ ご本、出しときますね?|BSジャパン この番組がとても面白くて毎回見ていて、前回のゲストが平野さんでした。