/Nishan

An ecosystem of packages for notion written in typescript.

Primary LanguageTypeScriptMIT LicenseMIT

Nishan logo

Nishan

An ecosystem of packages for notion written in typescript.

This monorepo contains/will contain the following packages and apps:-

Packages

  • @nishans/cache Github NPM: A cache specially designed to retrieve and store notion data in memory
  • @nishans/cli Github: A package to interact with @nishans/core from the terminal
  • @nishans/cms Github: A cms for notion
  • @nishans/constants Github NPM: A small package for all notion specific constants
  • @nishans/core Github Docs NPM: Unofficial Notion api for node.js with all crud functionalities for Space, User, Block, Page and many more
  • @nishans/discord-bot Github: A general purpose discord bot for working with @nishans/core from the discord chat textbox
  • @nishans/discourse Github NPM: A package for working with notion discussions & comments
  • @nishans/endpoints Github Docs NPM: A package to expose all notion endpoints for queries and mutations
  • @nishans/errors Github NPM: A small package containing various notion specific error classes
  • @nishans/extract Github NPM: A small package to extract required notion data
  • @nishans/fabricator Github NPM: A package to generate notion blocks using a simple api
  • @nishans/graphql Github NPM: A graphql server for notion built using @nishans/core
  • @nishans/idz Github NPM: A small package to validate, generate and parse notion ids
  • @nishans/init Github NPM: A package to initialize notion view & block data
  • @nishans/inline-blocks Github NPM: Package providing an easy to use api to generate contents for notion inline blocks
  • @nishans/lineage Github NPM: A package to work with notion child data
  • @nishans/logger Github NPM: A logger built specifically for nishan ecosystem
  • @nishans/markdown Github Docs: A package to upload markdown content into notion
  • @nishans/notion-formula Github Docs NPM: A package to generate notion formula with ease
  • @nishans/operations Github NPM: A package to inspect, modify and store notion operations
  • @nishans/orm Github: A package to use notion as a database by providing an easy to use orm api
  • @nishans/permissions Github NPM: A package to easily deal with notion permissions
  • @nishans/react-filters Github: A react component that emulates notions advanced filter
  • @nishans/remark-notion Github: A remark plugin to support custom notion specific syntax for @nishans/markdown package
  • @nishans/schema-builder Github: A package to create notion collection schema painlessly
  • @nishans/sync Github Docs NPM: A package to keep local notion data in sync with remote one by storing and restoring it
  • @nishans/tasks Github NPM: A package to enqueue and poll notion tasks
  • @nishans/traverser Github NPM: Traverse notion data with ease
  • @nishans/typegen Github: A package to automatically generate typescript definitions from a remote notion collection schema
  • @nishans/types Github Docs NPM: Typescript type definitions for notion
  • @nishans/utils Github Docs NPM: A bunch of small utility modules used across nishans ecosystem
  • @nishans/validators Github NPM: A group of modules to validate various things related to notion

Apps

A few apps built/that will be built using the above packages

  1. markdown-web (NSY): A react powered web app to upload markdown content as notion pages using @nishans/markdown
  2. markdown-desktop (NSY): An electron powered desktop app to upload markdown content as notion pages using @nishans/markdown
  3. markdown-vscode (NSY): A vscode extension to upload markdown content as notion pages using @nishans/markdown
  4. markdown-native (NSY): A react native powered mobile app to upload markdown content as notion pages using @nishans/markdown
  5. notion-formula-web (NSY): A react powered web app to view the generated notion formula ast from array, object or string representation using @nishans/notion-formula package

NOTE: The scope was originally named nishan, but unfortunately that name was already taken in npm. I'll use the term nishan everywhere except in case of the scope, where its nishans.

Contributors

  1. Safwan Shaheer github Author, Maintainer
  2. Matt Casey github Contributor

How to contribute

  1. Clone the repo locally by typing git clone https://github.com/Devorein/Nishan.git on the terminal.
  2. Make sure you have yarn installed
  3. Install all the dependencies using yarn install.
  4. Run all the tests using yarn test.

Feel free to submit a pull request or open a new issue, contributions are more than welcome !!!

Implementations in other languages

  1. Python: notion-py
  2. Go: notionapi
  3. Ruby: notion-ruby
  4. Kotlin: notion-sdk-kotlin

Related Projects

  1. react-notion-x Fast and accurate React renderer for Notion. TS batteries included.
  2. ntast Notion Abstract Syntax Tree specification.