https://github.com/kawarimidoll/denote
A minimal profile page generator for Deno Deploy
https://github.com/kawarimidoll/denote
deno deno-deploy typescript
Last synced: 2 months ago
JSON representation
A minimal profile page generator for Deno Deploy
- Host: GitHub
- URL: https://github.com/kawarimidoll/denote
- Owner: kawarimidoll
- License: mit
- Created: 2021-08-02T09:40:24.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-05-29T12:24:46.000Z (about 3 years ago)
- Last Synced: 2025-04-11T02:09:19.643Z (2 months ago)
- Topics: deno, deno-deploy, typescript
- Language: TypeScript
- Homepage: https://denote.deno.dev/denote
- Size: 152 KB
- Stars: 17
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Denote
![]()
A minimal profile page generator for Deno Deploy that _denotes_ you
[Demo](https://denote.deno.dev/denote)
## Getting started
```
$ # to install denote cli
$ deno install --allow-read --allow-write --allow-net --no-check --force https://deno.land/x/denote/cli/denote.ts$ # to install example config
$ denote init ./denote.yml$ # to see in local server
$ denote serve ./denote.yml$ # to create or update the page
$ denote register ./denote.yml --name your-name --token your-token$ # to remove the page
$ denote unregister --name your-name --token your-token
```- `name`: The name of your page (`https://denote.deno.dev/[name]`). This must be
unique in Denote and matched with `/^[a-z][a-z0-9_-]{2,64}$/`.
- `token`: The secret token. This is hashed and saved. This must matched with
`/^[!-~]{8,128}$/`.## API
You can call API manually with any tools like `curl`. The endpoint is
`https://denote.deno.dev/`.### Register
`POST` request to register your data. You can use this to create and update.
`name`, `token` and `config` (the config JSON object) are required.
`name` and `token` that you saved are required when you update.
### Unregister
`DELETE` request to unregister your data. `name` and `token` that you saved are
required.## Config keys
The config data has these keys.
- name
- The name shown on the top of the page. When this is left blank, your page
path (`https://denote.deno.dev/[name]`) is used. This is also used in the
title of html.
- image
- The URL of the main image of the page. This is also used in 'og:image'. When
this is left blank, it is just skipped.
- favicon
- The URL of the favicon of the page. When this is left blank,
[Denote logo](https://github.com/kawarimidoll/denote/blob/main/logo.svg) is
used.
- description
- The comments shown under the page name. This is also used in
'og:description'. When this is left blank, it is just skipped.
- Your twitter username. This is used in 'twitter:site'. When this is left
blank, it is just skipped.
- list **required**
- The list of the group of the contents. List group that has unique ids are
required.
- The key of the group is used as the ID of html elements. This must have
'icon' and 'items'. 'icon' is the icon of this group. 'items' is the list of
the contents.
- Each item in 'items' can have 'icon', 'text', and 'link'.See also
[example.yml](https://github.com/kawarimidoll/denote/blob/main/example.yml) that
generated by `denote init` and
[denote.yml](https://github.com/kawarimidoll/denote/blob/main/denote.yml) that
running on [Demo](https://denote.deno.dev/denote).Visit [icongram](https://icongr.am) to search available icons.
## Prior arts
- inspired by [Linktree](https://linktr.ee/)