2017年9月25日月曜日

QuiverのノートブックをInkdropにインポート

Inkdropというマークダウンエディタについての記事がバズっていたので興味を持ちました。

Markdownエディタを作って月15万円稼ぐまでにやったこと — Inkdrop

今はQuiverを使っています。デスクトップアプリの出来はすごくいいんですが、iOSアプリが全然使いものにならないのが不満でした。InkdropはiOS、Androidアプリ両方揃っているので、試しに使ってみようと思いました。

InkdropはHTMLのインポートに対応していますが、Quiverの出力するHTMLファイルをそのままインポートすると、タイトルが本文に現れたりNext、Prevのようなリンクが挿入されたりとイマイチなので、これらの邪魔なものを削除して綺麗なHTMLに出力するシェルスクリプトを書きました。

#!/usr/bin/env bash

SEARCH_DIR="default"
OUTPUT_DIR="output"

rm -rf ${OUTPUT_DIR}
mkdir -p ${OUTPUT_DIR}/${SEARCH_DIR}

for note in "${SEARCH_DIR}"/*
do
  LINES=`wc -l < "$note" | bc`
  START=`expr $LINES - 9`
  END=`expr $LINES - 6`
  cat "$note" | sed -e 26,29d | sed -e "$START,${END}d" > "$OUTPUT_DIR/$note"
done

上記スクリプトを使用したQuiverのノートブックをInkdropにインポートする手順です。
1. Quiverでノートブックを選択してExport Notebook -> As HTML でノートブックを出力します(ここではdefaultノートブックを出力するとします)
2. 出力されたHTMLファイルが含まれたdefaultというディレクトリができていると思うので、そのディレクトリと同じ階層に上記スクリプトを置きます(ここではfilter-html-notes.shとします)
3. ノートブックがdefault以外の場合、スクリプトのSEARCH_DIRを出力されたディレクトリ名に変更して下さい
4. ターミナルを開いて上記ディレクトリ、スクリプトのあるディレクトリに移動します
5. chmod +x filter-html-notes.shで実行権限を付与します
6. ./filter-html-notesで実行します
7. うまくいくとoutputというディレクトリができ、その中に不要なものがフィルタされたHTMLファイルが入っています
8. Inkdropを開き、File -> Import -> from HTML files... で上記HTMLファイルをインポートします

Quiverのタグの情報は失われてしまうので、もっといい方法があるといいんですが。。

0 件のコメント:

コメントを投稿