Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prncss-xyz/zknext
https://github.com/prncss-xyz/zknext
Last synced: 9 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/prncss-xyz/zknext
- Owner: prncss-xyz
- License: mit
- Created: 2023-11-23T18:04:55.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-04-14T01:33:28.000Z (7 months ago)
- Last Synced: 2024-04-14T11:00:21.489Z (7 months ago)
- Language: TypeScript
- Size: 590 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ZKNext [![codecov](https://codecov.io/gh/prncss-xyz/zknext/graph/badge.svg?token=Cr8b8ecEC5)](https://codecov.io/gh/prncss-xyz/zknext)
This is a small next application I use to visualize and navigate my note collection. These notes
are simply markdown files with optional metadata as a YAML preamble. The app consists of a Next server
which scans a watches the notes directory and lets it be explored in a structured way.## Configuration
`ZK_NOTEBOOK_DIR`: contains the notes' directory (this is because I also use [zk](https://github.com/zk-org/zk) language server).
`ZK_NEXT_DEMO`: if set to `ZK_NEXT_DEMO`, will not restrain access to localhost.
## Technologies
**Remark** is used to parse markdown, both for rendering and to extract metadata. **Zod** is then used for
some validation. An **Sqlite** database (with **Kisely**) is used to cache results. **Inversify**
is used for dependency injection.State management is made with Zustand and Optics-ts.
## Known issues
Due to a bug in `fs.watch`, the app will crash on file delition. However, this is a [fixed issue](https://github.com/nodejs/node/pull/52349), so we can just wait for node to update.