Skip to content

akira-t/sb2md

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

sb2md for Logseq

エクスポートされた Scrapbox の JSON ファイルから、Markdown 形式のファイルを生成します。

Logseq (や Obsidian) へのインポート用を想定しています。

対応している記法

  • ハッシュタグ → そのまま出力
  • 複数行コード
  • リスト表記
  • 太字
    • アスタリスク 2 個と 3 個は見出し### hoge## hogeに変換するようにしている
  • 斜体
  • 打消し
  • リンク
  • 数式
  • 画像埋め込み
    • Gyazoへのリンクをそのまま埋め込み
    • タイトル無し外部リンク [http://~~] はすべて画像と決め打ち
    • 埋め込み画像のサイズ記法 [** [http://~~] ] に関してはサイズを無視

Fork元からの変更点

機能追加

  • 数式
  • 画像埋め込み
  • 内部リンク (wikilink)

Logseq への移行を目指した修正

  • 行頭に空白がない場合もリスト記号- を追加
  • ページタイトルは削除(Logseqではファイル名をタイトルとして扱う)
  • ハッシュタグ #AAA をそのまま使う
  • Scrapboxからインポートしたページである旨をタグとして付ける。
    • tags:: fromScrapbox
  • ページタイトルにスラッシュがある場合のエスケープ
    • /_へ置き換え
  • ページタイトルに階層記法を導入している場合の引き継ぎ
    • 安全のためコメントアウトしてあります
    • /へ置き換え
    • ファイル名は/%2Fにエスケープ (for Logseq)

その他修正・差分

  • 空白を含むリンクタイトルに対応
    • [aaa bbb http://~][aaa bbb](http://~)
  • ScrapboxのJSONバックアップ形式変更への対応
    • 各行のタイムスタンプが入った → 無視する
  • exe化していません

既知の問題等

  • 空白入りリンクとハッシュタグの同一視ができていない
    • Scrapbox では #AAA_BBB[AAA BBB] が同じページを指すが現状別々の扱い
  • 上位階層のページが存在しない場合
    • AAA: BBB のようなページがあってAAAのページがない場合に自動的には作らない

使い方

$ python ./sb2md.py YOUR_SB_BACKUP.json

About

Convert exported Scrapbox pages to Markdown files (with Logseq flavour).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%