
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 customShortCodeblocks 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), Deprecated, 下記の “ レガシー API のサポート (token_v2)” の部分を参考する- notion-sdk (official), Currently supported
ワークフロー

NotionDown は notion-py を使って Notion Page のデータを読み込む、そしてコンフィグレーションによって、目標な MD ファイルを生成する。
Basic usage
notion-down >> Notion APIs (notion-sdk-py) >> Notion pages data >> generating MD files
Advanced usage
WebHook >> notion-down >> Notion APIs (notion-sdk-py) >> Notion pages data >> generating MD files >> Copy into Hexo source >> generating webpages >> push to GitHub pages
Getting Started
Prepare
準備:
- Notion Integration Token を取る。
- ルーツページの
public notion blog_urlを取る。 notion-down/main.pyを実行する。
notion_token のゲットする方法は ここに ある。 (token_v2 & notion-py を使用するレガシー API のサポートについては、ブランチ archive/token-v2-support を参照してください。)
NotionDown Posts Template を自分の Notion Workspace にコピーする、そしてその URL を blog_url をしてつかいます(既存するルーツページを使うのもオッケー)。ちなみに、ルーツページを Public にセットすることが必要です。
NotionDown の実行
notion-down/main.py の使い方:
1 | # Run with cli cmd |
くわりコンフィグレーションはここに Custom Configurations。
以降は NotionDown のそれぞれな使い方を紹介する。
CI Builds
GitHub Actions スクリプト /.github/workflows を参照してください。
build-readme.yml: README.md を生成する GitHub Actions Workflow。build-hexo.yml: デーモン Hexo ソースコードを生成する GitHub Actions workflow、チェック https://github.com/kaedea/notion-down-hexo-showcase。pycorrector-test.yml: スペルチェックの GitHub Actions workflow。
CircleCI スクリプト /.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/。
レガシー API のサポート (token_v2)
NotionDown の最新 API は、サードパーティの token_v2 から公式の Integration Token に移行しました。token_v2 と notion-py を使用するレガシー API のサポートについては、ブランチ archive/token-v2-support を参照してください。