Dynalistで「チェック」(Ctrl+Enter)した項目に付く取り消し線をScrapboxで再現する方法
チェックボックス自体(✓マークとそれを囲む四角形)は再現できません。
スクリーンショット
https://gyazo.com/3527facc57a13d03233088c22a824bf1
(Dynalistで「チェック」した項目の取り消し線と、チェックボックスにチェックを入れた場合の取り消し線の例)
https://gyazo.com/215c852f1758407c36f3835db3bb4863
(Scrapboxで再現した状態)
全体の流れ
1. Dynalistの内容をHTML形式のファイルとしてダウンロードする 3. Scrapboxに貼り付ける
4. 余分な部分を除去し、取り消し線をScrapbox記法に置換する
注意点
Dynalistで「チェック」(Ctrl+Enter)することによって付けられた取り消し線は、DynalistにMarkdown形式で書き込むことができる普通の取り消し線(例:~~hoge~~)とは別のものとして扱われます。
Dynalistに記入できるMarkdown(リンク/画像/太字/イタリック/上述の普通の取り消し線(~~hoge~~))や、Dynalistの独自記法(日時記法/@を用いたハッシュタグ/数式記法)は、この記事で紹介している方法ではScrapbox記法に置換されません。 それらのMarkdownや独自記法を置換するには、こちらに紹介されている方法を併用して下さい(dy2sc.jsを使うのが最も手軽と思います)。 必要なもの
テキストエディタ
上掲の工程4で使うためのUserScript(下記)を、自分のページに貼り付けてブラウザをリロードし、同ページの上部に表示される“Load new UserScript”をクリックしておく。 code:script.js
scrapbox.PopupMenu.addButton({
title: 'Check', //Checkはボタンの名前。変更可能。変更する場合は'に挟まれた部分を書き換える。
onClick: text =>{
//取り消し線をScrapbox記法へ置換
text=text.split(/\n/).map(line => line.replace(/\~\~(\~+|^~+)\~\~/g,'$1')).join('\n') //行頭の〈ハイフン+半角スペース3個〉を除去
text=text.split(/\n/).map(line => line.replace(/\- {3}/g,'')).join('\n')
//Dynalistの余分なインデントを除去
text=text.split(/\n/).map(line => line.replace(/\s{4}/g,' ')).join('\n')
return text;
}
})
手順
このアウトラインをScrapboxで再現するという例で説明します。2行目のdoneおよび5行目の1(チェックボックスにチェックを入れたもの)に取り消し線が付いている状態です。
https://gyazo.com/3527facc57a13d03233088c22a824bf1
1. Dynalistの内容をHTML形式のファイルとしてダウンロードする
Dynalistにて、Scrapboxに貼り付けたい部分の最上位の行(この例ではtestの行)の行頭にマウスカーソルを合わせ、「≡」の形のアイコンをクリックして、“Export...”をクリック。
https://gyazo.com/94a17a269cc4fd975aaeb7727d93ee7c
Exportの画面が開くので、上部のタブで“Formatted“をクリックし、右下の“Download as file“をクリックします。
右上の“Export visible items only”にはチェックを入れません。
https://gyazo.com/14cb74c8ca2559b8408b05c809f75138
すると、この画面の中央に表示されているコンテンツがHTML形式でダウンロードされます。
ファイル名はdynalist-2019-10-16.htmlのようになっている。
ファイル名は書き換えてもよい。
2. HTMLファイルをPandocでMarkdown形式に置換する
$ pandoc ダウンロードしたHTMLファイルのファイル名.html -s -o 出力するファイル名.md
行頭の$は入力しない。
出力するファイル名は自由に決めてよい。
たとえば、ダウンロードしたHTMLファイルがdynalist-2019-10-16.htmlであり、出力するファイル名をoutput.mdとしたい場合は、次のように実行することになります。
$ pandoc dynalist-2019-10-16.html -s -o output.md
すると、HTMLファイルをMarkdown形式に変換したファイル(output.md)が作られます。
HTMLファイルと同じフォルダに作られる。
3. Scrapboxに貼り付ける
上掲の手順で作られたMarkdown形式のファイル(output.md)を、まずはテキストエディタで開きます。
https://gyazo.com/360c9da8310a8ee40c5ad9d8bf8d655f
このファイルの内容をコピーし、Scrapboxのページの2行目以降に貼り付けます。
2行目以降に貼り付けないとUserScriptが正しく機能しません。
https://gyazo.com/d4dbd61c1f70748f90be3b1e1c2bd1bf
(Scrapboxのページの2行目に貼り付けた状態)
4. 余分な部分を除去し、取り消し線をScrapbox記法に置換する
ページの2行目以降をマウスで選択して、ポップアップしたボタンの中の“Check“をクリックします。
https://gyazo.com/098ee6a5cae83226582486dac947cf82
(この例では右から3個目に“Check“ボタンがある)
“Check“をクリックすると、下記の2つが実行されます。
各行頭の〈ハイフン+半角スペース3個〉および、余分なインデントが除去される。
取り消し線が再現される。
https://gyazo.com/babce860c81864885279b4f688c8440f
最上位の行(test)が、このままだとScrapboxページの2行目にあるので、これをページタイトルにするために、ページの全体を1行ぶん上へ移動させます。すなわち、Scrapboxページの1行目でDeleteキーを押すか、2行目の先頭でBackspaceキーを押します。
すると、このような状態になり、もとのDynalistでの階層構造と取り消し線が再現されます。 https://gyazo.com/d4baf3295a649d6c5de65bff7ad100b3
(Scrapbox)
https://gyazo.com/3527facc57a13d03233088c22a824bf1
(Dynalist)
以上です。
備考
Dynalistからエクスポートした内容の1行目(Scrapboxでページタイトルとなる行)がチェック(Ctrl+Enter)されている場合は、上掲の手順を最後まで実行すると、ページタイトルにScrapbox記法([- hoge])が含まれた状態になります。
https://gyazo.com/135a4c22a768e3c01372362632d7164e
この記法部分が不要の場合は、手動で消します。
/icons/hr.icon