コピペする手間を少しでも省くため表計算ソフトCalcを使う。
ブツ
動機と経緯
- モナレッジから自分の記事のマークダウンをすべて取得したい
- ラズパイ4にseleniumとchromedriver-binaryをインストールする
- seleniumで手動ログイン後に自動処理を行おうと試みるも失敗
- モナレッジにログインできなかった件
モナレッジに投稿した自分の記事をすべて一括でローカルにファイル保存したかった。が、その前にモナレッジのバックエンドAPIサーバが落ちた。私の作業が原因かもしれないため一旦自動化を断念して手動でのバックアップに切り替えることにした。
どう手動で保存するか
Linuxのgrepコマンドでgrep検索したいので、一記事ごとにファイル保存したかった。が、そのためにはファイル作成、ファイル名付与、タイトルと本文のコピー、保存、といった工程が一記事ごとに必要になってしまう。現状すでに100記事近くあるため絶対にやりたくない。
できるだけ作業を楽にするにはどうするか。思いついたのが表計算のセルにコピペすることだった。ラズパイで動作するのはLibreOfficeにあるCalcだろう。まずはそれをインストールする所から始めてみる。
LibreOfficeをインストールする
sudo apt update
sudo apt install -y libreoffice libreoffice-l10n-ja libreoffice-help-ja
この中に表計算ソフトCalcが入っている。今回はこれを使う。
運用
- 自分の記事IDを取得する
- モナレッジから自分の記事のマークダウンをすべて取得したいで作ったブックマークレットを使用して1ページずつ取得する
- それを
article
シートのA
列に貼り付ける- このとき作成日時が新しい順なのでヘッダ行の直下に新しい行を挿入せねばならない
- ヘッダの色までコピーされてしまう
- 追加する数を正確に一発で挿入できないため追加と削除を複数回手作業で行うことになる
- このとき作成日時が新しい順なのでヘッダ行の直下に新しい行を挿入せねばならない
- マークダウンURLをクリックする
- ブラウザが起動しページが表示される
- タイトル、本文をコピペする
- カテゴリを目視で確認しCalcのプルダウンで同じものを選ぶ
- ブラウザが起動しページが表示される
記事IDを追加するときミスで重複する可能性もある。または既存行を削除してしまうこともありうる。あるいはセルや行の位置を間違えるかもしれない。こうした手作業のトラブルを避けたい意味もあって自動化したかったのだが。何百、何千とあれば人は絶対ミスをするし。マクロで自動化できないかなぁ。
問題と対策
マークダウン本文を入力すると行の高さが大きすぎてコピペしづらい
本文にある改行の数だけ行の高さが増えてしまいコピペ作業に支障をきたす。そこで行の高さを固定した。
行の高さ
を0.45 cm
に固定する- Calc左上のヘッダを左クリックして全範囲選択する
- Calc左の行ヘッダを右クリックする
- コンテキストメニューから
行の高さ
をクリックする 0.45 cm
にしてOK
をクリックする
あとは本文セルをダブルクリックしてコピペすれば行の高さが固定されたまま入力できる。
できればフォーカスを当ててCtrl+Vだけで入力したかったなぁ。そうするとダイアログに阻まれてしまう。
カテゴリの入力が面倒くさい
編集ページからテキストコピーできない。さいわい固定値なのでプルダウンにした。
- カテゴリ項目をセルに入力する
- カテゴリ項目プルダウンを表示したい列ヘッダをクリックして範囲選択する
- メニュー→データ→入力規則をクリックする
- 入力値の種類をセルの範囲にする
- ソースの横にあるボタンをクリックする
- 1で入力したカテゴリ項目を範囲選択する
- OKボタンをクリックする
- ヘッダ行だけ入力規則の入力値の種類をすべての値に戻す
あとは記事ごとにこのプルダウンから一致するものを選べばいい。
編集URLリンクを作る
記事IDから編集ページのURLを作成するのが面倒。なのでマクロで作った。
- ベースURLをセットしたいセルに
https://monaledge.com/edit/
を入力する - リンクを表示したいセルに
=HYPERLINK(CONCATENATE(url.$A$4, A2))
を入力するCONCATENATE
は文字列結合であり引数同士を結合するHYPERLINK
はハイパーリンクを作成する。第二引数を指定すると表示テキストをそれに変更できる
リンクをクリックだけで開く
- メニュー→
ツール
→オプション
→LibreOffice
→セキュリティ
→オプション
→Ctrl+クリックでハイパーリンクを開く
のチェックを外す
これを設定しないとCtrl+クリックしないと開けない。
所感
今の所3件しか入力できてない。暇なときにでも追加してゆこう。
それとモナレッジで<kbd>
タグを使ったらそれ用のCSSが当てられるみたい。初めて知った。Ctrl+Vみたいになる。いいね!