lf- / notion-entry

Improved Notion data entry, at the command line

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

notion-entry

NOTE: This project is a work in progress and has a pile of FIXMEs

This program lets you input data into Notion from the command line. It exists to avoid the inconsistent keyboard usage experience of the Notion database web interface.

Currently it supports these column types:

  • Text
  • Title
  • Select
  • Date
  • URL
  • Relation (limited support: prefetches the relation data and doesn't do pagination for that yet)

Usage

Install nightly Rust. See https://rustup.rs.

Checkout this repository. You can run the software directly from this checkout by using cargo run in place of notion-entry in the commands that follow. You can also install the software into your home directory with cargo install --locked --path ..

Create a Notion integration: https://www.notion.so/my-integrations.

Share the database you want to enter data into and also any databases it has relations to with the integration on the Notion web interface.

Run notion-entry list. It will tell you to create a file with your Notion app token in it (on my machine, it is at ~/.config/notion-entry/token). Create that file.

Pick the database you want to enter items into from that list, and enter its UUID in a file called database in the configuration directory you saw previously.

Run notion-entry add. It will prompt you for the data you want to enter.

Notes on the UI:

  • You can reorder fields by typing the :order command into any textual field.
  • The relation selection uses the multi selection mode of skim, which uses the Tab key to select items, and Enter to accept the input.
  • Colours on select items are just what you have set on the Notion web interface.

About

Improved Notion data entry, at the command line


Languages

Language:Rust 100.0%