Notion Down とは、 Notion ページを Markdown ファイルにコンバートする Python ツールです。ちなみ、Hexo などのブログとのインテグレーションも可能です。このレポのインスピレーションやゴールは、「Notion のみでノートしながら自動的に目標な MD ファイルを生成する」ことで、ライティングの断片化を避ける。
Example
kaedea.com
hexo.kaedea.com
基于 Notion 的笔记写作和博客分享自动化方案
Features
今 NotionDown のできること:
- Notion ページのコンバート
Basic Notion PageBlocks parsingNotion images refer & downloadNotion nested list blocksNotion obfuscated-links parsingNotion table block (Collection)- Notion subpage / alias link parsing
- アドバンス Notion PageBlocks サポート
Pullquote Blocks (Notion ColumnList)- イメージソースの変わり
Replace notion image url with image file- Replace notion image url with other CDN urls
- Notion page embed blocks
- ライティングインハンス
Noton customShortCode
blocks that control parametered MD files generatingMixed CN-EN text separation format(by pangu)Spelling inspect(by pycorrector)
- Hexo インテグレーション
HEXO page properties configHEXO generate- HEXO tags plugin
- PyPI パブリッシャ
- Notion APIs
notion-py (3rd party)- notion-sdk (official)
ワークフロー
NotionDown は notion-py を使って Notion Page のデータを読み込む、そしてコンフィグレーションによって、目標な MD ファイルを生成する。
Basic usage
notion-down >> Notion APIs (notion-py) >> Notion pages data >> generating MD files
Advanced usage
WebHook >> notion-down >> Notion APIs (notion-py) >> Notion pages data >> generating MD files >> Copy into Hexo source >> generating webpages >> push to GitHub pages
Getting Started
Prepare
準備:
notion_token_v2
を取る。- ルーツページの
public notion blog_url
を取る。 notion-down/main.py
を実行する。
notion_token_v2
のゲットする方法は ここに ある。
NotionDown Posts Template を自分の Notion Workspace にコピーする、そしてそのURLを blog_url
をしてつかいます(既存するルーツページを使うのもオッケー)。ちなみに、ルーツページを Public にセットすることが必要です。
NotionDown の実行
notion-down/main.py
の使い方:
1 | # Run with cli cmd |
くわりコンフィグレーションはここに Custom Configurations。
以降は NotionDown のそれぞれな使い方を紹介する。
CI Builds
チェック /.circleci/config.yaml
:
test-build-readme
: README.md を生成する CircleCI Jobs。test-build-hexo
: デーモン Hexoソースコードを生成する CircleCI jobs、チェック https://github.com/kaedea/notion-down-hexo-showcase。test-run-pycorrector
: スペルチェックの CircleCI jobs。
Showcase Jobs
デーモンスクリプトは /jobs にあり、そしてアウトプットは /dist。
- Build README
- Build Notion posts
- Build Hexo ソースコード
- Notion image page source replacing (WIP)
UnitTest Examples
チェック test/
。