https://github.com/younho9/notion-url-shortener
Uses Notion database as personal URL shortener
https://github.com/younho9/notion-url-shortener
nextjs notion notion-api shortener url-shortener
Last synced: 2 months ago
JSON representation
Uses Notion database as personal URL shortener
- Host: GitHub
- URL: https://github.com/younho9/notion-url-shortener
- Owner: younho9
- License: mit
- Created: 2021-12-16T14:21:55.000Z (over 3 years ago)
- Default Branch: develop
- Last Pushed: 2022-06-18T01:47:27.000Z (about 3 years ago)
- Last Synced: 2025-03-29T17:35:37.080Z (3 months ago)
- Topics: nextjs, notion, notion-api, shortener, url-shortener
- Language: TypeScript
- Homepage: https://notion-url-shortener.vercel.app
- Size: 274 KB
- Stars: 27
- Watchers: 3
- Forks: 12
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Notion URL Shortener
[](https://github.com/younho9/notion-url-shortener/actions/workflows/ci.yml)
[](https://github.com/xojs/xo)
[](./LICENSE)> Uses Notion database as personal URL shortener.
## Features
- Get your personal URL shortener with just a Notion.
- Support `custom`, [`zero width`](https://zws.im/), `base64` type.
- Private mode : Notion API token based authorization.
- Count visits.## Demo
- [Public](https://notion-url-shortener.vercel.app/)
- [Private](https://yh9.page/)## Getting Started
### Prep work
1. [Create a Notion account](https://www.notion.so/signup)
2. [Duplicate this Notion database template](https://younho9.notion.site/0382396e66cd4575901bd3ba0959fdb9?v=8dc11ef9545f494bbc4bb2380b926d0e)
3. [Create a Notion API integration & Get Token](https://developers.notion.com/docs#step-1-create-an-integration)
4. [Share a database with your integration](https://developers.notion.com/docs#step-2-share-a-database-with-your-integration)
5. [Deploy on Vercel]()
6. Set `NEXT_PUBLIC_NOTION_DATABASE_URL` to your database URL, `NOTION_API_TOKEN` to your token obtained in step 3.## Deploy on Vercel
[]()
## Environment Variables
### `NEXT_PUBLIC_NOTION_DATABASE_URL`
**Required** Notion database page URL.
```
https://www.notion.so//a8aec43384f447ed84390e8e42c2e089
# or
https://.notion.site/a8aec43384f447ed84390e8e42c2e089
```### `NOTION_API_TOKEN`
**Required** Notion API Key.
> [How to get Notion API Key](https://developers.notion.com/docs)
Show advanced options
### `USE_TOKEN_AUTH`
If set to `true`, visitors without tokens cannot submit new URLs.
_Default_ `false`
### `MAXIMUM_ZERO_WIDTH_SHORTEN_LENGTH`
Maximum length of URL path with zero width shorten.
_Default_ `8`
### `MAXIMUM_BASE64_SHORTEN_LENGTH`
Maximum length of URL path with base64 shorten.
_Default_ `7`
### `MAXIMUM_GENERATION_ATTEMPTS`
Maximum number of times to retry when the generated URL path conflicts with the already registered URL path.
_Default_ `5`
## License
[MIT](LICENSE)