All Projects → kaedea → notion-down

kaedea / notion-down

Licence: other
Notion >> Markdown. Python utility that converts Notion pages into MD files, along with intergation to build static webpages such as Hexo | 自动从 Notion 笔记生成 MD 文件,并部署到 Hexo 静态博客 | Notion Pages より Markdown Files をコンバートする、更に Hexo Webpages までの自動化も可能

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to notion-down

notoma
Use Notion as your blogging editor, with any static gen blog engine. Notoma converts Notion pages to Markdown files.
Stars: ✭ 40 (-50.62%)
Mutual labels:  hexo, notion, notion-blog, notion-markdown
notionproxy
Notion as a web site, inspired by react-notion-x.
Stars: ✭ 24 (-70.37%)
Mutual labels:  notion, notion-blog
nobelium
A static blog build on top of Notion and NextJS, deployed on Vercel.
Stars: ✭ 1,790 (+2109.88%)
Mutual labels:  notion, notion-blog
oi.men.ci
Menci 的 OI 博客(源代码与网站文件)
Stars: ✭ 27 (-66.67%)
Mutual labels:  hexo
NotionAI-MyMind
This repo uses AI and the wonderful Notion to enable you to add anything on the web to your "Mind" and forget about everything else.
Stars: ✭ 181 (+123.46%)
Mutual labels:  notion
appflowy
AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.
Stars: ✭ 24,929 (+30676.54%)
Mutual labels:  notion
hexo-covers
Microbrowser covers for Hexo static site generator
Stars: ✭ 15 (-81.48%)
Mutual labels:  hexo
Hibop.github.io
Hibop 个人博客
Stars: ✭ 20 (-75.31%)
Mutual labels:  hexo
notion-sdk-net
A Notion SDK for .Net
Stars: ✭ 71 (-12.35%)
Mutual labels:  notion
zhisheng17.github.io
my blog website —— www.54tianzhisheng.cn
Stars: ✭ 92 (+13.58%)
Mutual labels:  hexo
hexo-jade-starter
Starter theme for Hexo implemented with Jade and Less.
Stars: ✭ 49 (-39.51%)
Mutual labels:  hexo
notion scheduler
Allows the creation of recurring tasks in Notion.
Stars: ✭ 17 (-79.01%)
Mutual labels:  notion
go-notion
Notion Official API Go Client.
Stars: ✭ 14 (-82.72%)
Mutual labels:  notion
notion-up
Use NotionUp (Notion Backup) + CircleCI to backup your notion data nightly.|自动备份 Notion 数据。|Notion データのバックアップを自動化する
Stars: ✭ 56 (-30.86%)
Mutual labels:  notion
hexo-theme-materialized
A cool materialized theme for Hexo
Stars: ✭ 39 (-51.85%)
Mutual labels:  hexo
go-notion
Go client for the Notion API.
Stars: ✭ 261 (+222.22%)
Mutual labels:  notion
github.io
个人博客乁(๑˙ϖ˙๑乁) 国内用户 ->http://sunhang.top
Stars: ✭ 16 (-80.25%)
Mutual labels:  hexo
hexo-filter-mathjax
💯 Server side MathJax renderer plugin for Hexo.
Stars: ✭ 76 (-6.17%)
Mutual labels:  hexo
notion-sdk-py
Official Notion SDK rewritten in Python (sync + async)
Stars: ✭ 753 (+829.63%)
Mutual labels:  notion
wololock.github.io
e.printstacktrace.blog source code
Stars: ✭ 12 (-85.19%)
Mutual labels:  hexo

Notion Down

🇨🇳 🇯🇵

BANNER-02

Notion Down, python tools that convert Notion blog pages into Markdown files, along with integration to build static webpages such as Hexo. Its inspiration and goal is to avoid separation of writing by keep writing drafts or posts within notion.so and then publish them into MD webpages automatically.

Examples

kaedea.com
hexo.kaedea.com
基于 Notion 的笔记写作和博客分享自动化方案

Features

What can NotionDown do now:

  • Notion pages to MarkDown files
    • Basic Notion PageBlocks parsing
    • Notion images refer & download
    • Notion nested list blocks
    • Notion obfuscated-links parsing
    • Notion table block (Collection)
    • Notion subpage / alias link parsing
  • Advanced Notion PageBlocks support
    • Pullquote Blocks (Notion ColumnList)
    • Image source replacing
      • Replace notion image url with image file
      • Replace notion image url with other CDN urls
    • Notion page embed blocks
  • Writing optimized integration
    • Noton custom ShortCode blocks that control parametered MD files generating
    • Mixed CN-EN text separation format (by pangu)
    • Spelling inspect (by pycorrector)
  • HEXO Integration
    • HEXO page properties config
    • HEXO generate
    • HEXO tags plugin
  • PyPI Publish
  • Notion APIs
    • notion-py (3rd party)
    • notion-sdk (official)

Hot It Works

NotionDown Workflows

NotionDown read Notion pages data using notion-py, and then write pages into MD files.

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

To get started with NotionDown, you should:

  1. Prepare your Notion username(email) and password, or directly use notion_token_v2.
  2. Prepare public notion blog_url as root post for NotionDown to get the pages you want to handle.
  3. Run notion-down/main.py with your configs.

Check here to get notion_token_v2.

Duplicate NotionDown Posts Template to your own notion and take it as blog_url (or you can just use your existing blog post url). Note that, for now the root page should be public as well as placed in root path of notion workspace.

Run NotionDown

Basically just run notion-down/main.py :

# Run with cli cmd
PYTHONPATH=./ python main.py \
    --blog_url <Notion Post Url> \
    --token_v2 <token_v2>
    --username <username>  # Only when token_v2 is not presented
    --password <password>  # Only when token_v2 is not presented

# or
PYTHONPATH=./ python main.py \
    --config_file '.config_file.json'

# Your can configure notion-down args by cli-args, config_file or SysEnv parameters
# Priority: cli args > config_file > SysEnv parameters > NotionDown default

For custom configurations in details, see Custom Configurations.

Also check the following procedures as showcase usages for NotionDown.

CI Build Script

See building script at /.circleci/config.yaml.

  • test-build-readme: CircleCI jobs generating README for this repo.
  • test-build-hexo: CircleCI jobs generating Hexo posts for https://github.com/kaedea/notion-down-hexo-showcase.
  • test-run-pycorrector: CircleCI jobs that executing spelling check for the test posts.

Showcase Jobs

See the usage showcase jobs at /jobs, and jobs outputs at /dist.

UnitTest Examples

See unittest cases at test/.


This page is generated by notion-down from notion.so NotionDown-README.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].