Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/natikgadzhi/notoma
Use Notion as your blogging editor, with any static gen blog engine. Notoma converts Notion pages to Markdown files.
https://github.com/natikgadzhi/notoma
cli command-line hexo jekyll markdown-editor notion notion-blog notion-editor notion-markdown static-site
Last synced: 3 months ago
JSON representation
Use Notion as your blogging editor, with any static gen blog engine. Notoma converts Notion pages to Markdown files.
- Host: GitHub
- URL: https://github.com/natikgadzhi/notoma
- Owner: natikgadzhi
- License: apache-2.0
- Archived: true
- Created: 2020-04-19T03:17:12.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-12-09T05:52:51.000Z (about 2 years ago)
- Last Synced: 2024-04-24T12:25:42.052Z (8 months ago)
- Topics: cli, command-line, hexo, jekyll, markdown-editor, notion, notion-blog, notion-editor, notion-markdown, static-site
- Language: Python
- Homepage: https://nategadzhi.github.io/notoma/
- Size: 451 KB
- Stars: 49
- Watchers: 3
- Forks: 3
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Notoma
Write articles for your static gen blog in Notion.
![Linters](https://github.com/nategadzhi/notoma/workflows/Linters/badge.svg)- [Documentation website](https://nategadzhi.github.io/notoma/)
- [Using the CLI](https://nategadzhi.github.io/notoma/using-the-cli)
- [Contributing](https://nategadzhi.github.io/notoma/contributing)
- [Supported Markdown Tags](https://nategadzhi.github.io/notoma/supported-markdown-tags)---
## InstallNotoma is available via Pip or Homebrew:
```bash
# Installing with pip, use this if you plan using Notoma as a python library.
pip install notoma
```Installing with Homebrew on Mac OS.
```bash
brew install nategadzhi/notoma/notoma
```---
## What can you do with Notoma
Notoma provides commands to:
- Convert contents of your Notion Blog database to a bunch of Markdown files.
- *Coming soon*: Watch Notion Blog database for updates and regenerate Markdown files on any updates.
- *Coming soon*: Create a new Notion database for your Blog with all required fields.Basic usage example: this command will convert only published posts from a Notion blog database to the `./posts/ directory`.
```bash
notoma convert --dest ./posts/
```This example assumes that you have a `.env` config file with authentication and blog url parameters in it.
#### Authenticating in Notion
Notoma uses an internal Notion API, and that, unfortunately, requires you to provide an authentication token `token_v2` that you can find in your notion.so cookes.
You can provide `token_v2` option to every command line call, or store it in your environment, or [`.env` config file](.env.sample).
---
## Notion database structure
Notoma has very few expectations about how your Notion is structured. Here's a [public example database](https://www.notion.so/respawn/7b46cea379bd4d45b68860c2fa35a2d4?v=b4609f6aae0d4fc1adc65a73f72d0e21).Notoma requires that your Notion blog database has the following **properties**:
- **Published**: whether the article is published, or is still a draft
- **Title**: Will be used to create a file name for that article's Markdown equivalent file. *Won't be used in the article itself.*Notoma tries to parse other properties and add them as front matter into the resulting Markdown articles:
- **Published at** will be used as publicataion date for the article, if present.
- **Categories** will be used as `categories` front matter key, so it's expected to be a **multiple choice** propery.