EGOIST
EGOIST
By default this will just return a random ID: We can use [limax](https://yarnpkg.com/package/limax) to generate slug instead, which also has CJK support.
Before we allow users to upload a custom cover image, we can use the site icon as `og:image` and `twitter:image`
- [x] Allow to upload image in post editor (drop image) - [x] Markdown syntax highlighting - [ ] Toolbar to make text bold, italic etc (like the github comment...
I will add Google OAuth login at least
Add a graphql mutation to `logout`: - [ ] delete access token record in database - [x] delete auth cookie in main site - [x] delete auth cookie in user...
login / change email - [ ] Mark `emailVeriried` as false when their email is changed - [ ] Send verification email
services: - postgres