Improved Notion data entry, at the command line

Overview

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.
You might also like...
A full featured, fast Command Line Argument Parser for Rust

clap Command Line Argument Parser for Rust It is a simple-to-use, efficient, and full-featured library for parsing command line arguments and subcomma

Docopt for Rust (command line argument parser).

THIS CRATE IS UNMAINTAINED This crate is unlikely to see significant future evolution. The primary reason to choose this crate for a new project is if

Parse command line arguments by defining a struct.

StructOpt Parse command line arguments by defining a struct. It combines clap with custom derive. Documentation Find it on Docs.rs. You can also check

A command line progress reporting library for Rust
A command line progress reporting library for Rust

indicatif Documentation A Rust library for indicating progress in command line applications to users. This currently primarily provides progress bars

Low-level Rust library for implementing terminal command line interface, like in embedded systems.

Terminal CLI Need to build an interactive command prompt, with commands, properties and with full autocomplete? This is for you. Example, output only

⚡️ Lightning-fast and minimal calendar command line. Written in Rust 🦀
⚡️ Lightning-fast and minimal calendar command line. Written in Rust 🦀

⚡️ Lightning-fast and minimal calendar command line. It's similar to cal. Written in Rust 🦀

Command-Line program that takes images and produces the copy of the image with a thin frame and palette made of the 10 most frequent colors.
Command-Line program that takes images and produces the copy of the image with a thin frame and palette made of the 10 most frequent colors.

paleatra v.0.0.1 Command-Line program that takes an image and produces the copy of the image with a thin frame and palette made of the 10 most frequen

parse command-line arguments into a hashmap and vec of positional args

parse command-line arguments into a hashmap and vec of positional args This library doesn't populate custom structs, format help messages, or convert types.

A tactics trainer for the command line
A tactics trainer for the command line

Chess Tactics CLI Practice some chess tactics in your terminal while you wait for your code to compile. Fetches tactics from this tactics API. Built W

Owner
Jade Lovelace
soft-clawbed rustacean. UBC computer engineering student, allegedly. [she/they]
Jade Lovelace
Designed as successor to Pretty-Good-Video for improved codec structure, API design & performance

Pretty Fast Video Minimal video codec designed as a successor to Pretty Good Video Goals are to improve: Quality API design Codec structure (Hopefully

Hazel Stagner 36 Jun 5, 2023
A community improved version of the polycubes project!

Polycubes This code is associated with the Computerphile video on generating polycubes. The original repository may be found here. That version is unc

Michael Pound 30 Jul 26, 2023
A web-based streaming service with improved privacy, performance, and simplicity.

Majiix Majiix is a web-based open-source streaming service. The backend that handles the core streaming logic is written in Rust and makes use of cutt

Majgix 3 Nov 21, 2023
Small command-line tool to switch monitor inputs from command line

swmon Small command-line tool to switch monitor inputs from command line Installation git clone https://github.com/cr1901/swmon cargo install --path .

William D. Jones 5 Aug 20, 2022
Command-line HTTP client for sending a POST request to specified URI on each stdin line.

line2httppost Simple tool to read lines from stdin and post each line as separate POST request to a specified URL (TCP connection is reused though). G

Vitaly Shukela 3 Jan 3, 2023
ruborute is an interactive command-line tool to get asphyxia@sdvx gaming data.

ruborute Are you 暴龍天 ?. The ruborute is an interactive command-line tool to get asphyxia@sdvx gaming data. asphyxia-core/plugins: https://github.com/a

RinChanNOW! 9 Sep 28, 2022
Command line tool to extract various data from Blender .blend files

blendtool Command line tool to extract various data from Blender .blend files. Currently supports dumping Eevee irradiance volumes to .dds, new featur

null 2 Sep 26, 2021
Data graphing library for command line.

DataBrush DataBrush is a simple library for displaying structured data in the command line. In supports dividing data into chunks and highlighting cer

Michal Melewski 9 Jan 3, 2023
Pink is a command-line tool inspired by the Unix man command.

Pink is a command-line tool inspired by the Unix man command. It displays custom-formatted text pages in the terminal using a subset of HTML-like tags.

null 3 Nov 2, 2023
Checkline: checkbox line picker for stdin line input

checkline is a Unix command line interface (CLI) terminal user interface (TUI) that prompts you to check each line of stdin, to pick each line to output to stdout

SixArm 4 Dec 4, 2022