motoso/Book2Scrapbox
https://github.com/motoso/Book2Scrapbox
アクティブ読書をやってみるで増井さんのコードを自分が使いやすいように変更した版
基本的な機能は https://github.com/masui/Book2Scrapbox と全く変わりなし
変更点
gyazoにアップロードするモジュールを https://rubygems.org/gems/gyazo に変更
https://github.com/masui/Book2Scrapbox/blob/master/makejson.rb#L32 が何かわからなかったため
初期はgyazo gemを使っていたがここでさし変わっている
工夫した点
Gyazoのアクセストークン管理に1Password CLIを使ってみた手順を記載(使わなくてもできる)
インストール(macOS)
(オプション)1Password CLIを使う場合
1Password CLI v2のインストール
https://support.1password.com/command-line-getting-started/
git clone git@github.com:motoso/Book2Scrapbox.git
cd Book2Scrapbox
bundle install
手順
書籍のPDFを用意する
PDFをJPEGに変換する
有料
AcrobatでPDFをJPEGに変換する
Clip Studioでも読み込んで書き出し時にJPEGにすることができる
無料
https://www.adobe.com/acrobat/online/pdf-to-jpg.html
圧縮品質が選べない。解像度低い
スクショ
https://youtu.be/GbHl8qv3YAY?t=265&si=9gc0OzHZrNoaoofN
Gyazoにアップロードして、Scrapbox用のJSONを生成する
Gyazoのアクセストークンを環境変数GYAZO_ACCESS_TOKENに設定する
$ export GYAZO_ACCESS_TOKEN=$(op read op://Private/ezojddwct5dc3hh2biut7n66wa/access_token)
以下は参考
アクセストークンの生成
https://gyazo.com/oauth/applications
https://blog.naichilab.com/entry/gyazo-access-token の手順で生成できる
1Password CLIを使う場合
1passwordにログイン
code:zsh
op account add yoursubdomain.1password.com your_email@gmail.com
セッショントークンを環境変数に入れる
code:zsh
eval $(op account add example)
Gyazoのアクセストークンを設定する
v2
$ export GYAZO_ACCESS_TOKEN=$(op read op://Private/ezojddwct5dc3hh2biut7n66wa/access_token)
(古い)op verison 1.12.4でアクセストークンを取得する
1Password CLIを使わない場合
export GYAZO_ACCESS_TAKEN=上で取得したトークンを手動で実行するかzshrcなどに設定しておく
アップロード
$ ruby makejson.rb *.jpg > book.json
ファイルを用意
$ ruby make-takker-list.rb book.json book-takker.json
code:こうなる.json
[
"http://gyazo ~~", # page 1
"http://gyazo ~~", # page 2
]
上のに組み込んじゃっていいな基素.icon
アクティブ読書用の目次を作成する
書籍を作る
/takker/Scrapbox書籍を作るUserScript@0.2.0
$ deno run --allow-read --allow-write --allow-net=api.gyazo.com -r=https://scrapbox.io https://scrapbox.io/api/code/takker/Scrapbox書籍を作るUserScript@0.2.0/main.ts book-takker.json index.csv -t ${GYAZO_ACCESS_TOKEN}
GyazoからOCRデータを取得して挿入した版のjsonを作る
$ ruby addocr.rb book.json > book-ocr.json
不具合
✅アップロード中にページが毎回開く
https://github.com/tomohiro/gyazo-cli/blob/64449ec3631d68c01511308df3090de51a0d30ab/main.go#L148 で開いちゃう
https://github.com/motoso/Book2Scrapbox/pull/2 解決
基素.icon
こういうインストール全部めんどい。Dockerなるものを使うといい感じになるらしい
GyazoのOCRのテキストを拾ってきてScrapboxに入れちゃうのは便利
OCRのテキストをコピペできなくてもScrapboxからGyazoのOCR結果を検索するを使うとほぼ同等のことができる
プロジェクト横断検索では効かないからやっぱりコピペしちゃった方がいいかも
ページ数が多い本(600〜)でタイムアウトするので、caffeinate -i -t 3600とかやっておくと良さそう
シェルでコマンドを実行中は Mac をスリープさせないようにする方法