Awesome
<div align="center"> <img src="./assets/logo.svg" alt="logo" width="150"/> <h1>Detypify</h1> <p> Can't remember some Typst symbol? <a href="https://detypify.quarticcat.com/">Draw it!</a> </p> </div>Features
- PWA: installable and works offline
- Tiny model: 1.3 MiB (ONNX), fast to load and run
- Decent symbol set: support 400+ symbols
News
- 2024-04-06: This project has been integrated into Tinymist.
Associated Repos
- detypify-data: Detypify's own dataset (your contributions on the website finally go here)
- detypify-external: Necessary external data to bootstrap Detypify
Use As A Library
Use the detypify-service NPM package.
Self Deployment
Download files from gh-pages branch and host them using any HTTP server.
Development
If you want to build migrate
or train
, you need to pull submodules. (Git LFS is required)
$ git submodule update --init --recursive
If you just want to build web
, you can download train-out
from NPM to project root.
Migrating
$ rye sync # install venv and denpendencies
$ rye run migrate # migrate
$ rye run migrate-font # strip font (optional)
Training
$ rye sync # install venv and denpendencies
$ rye run train # train
Web Page
$ bun run --cwd=service copy # copy train-out folder
$ bun install # install dependencies
$ bun run dev # start dev server
$ bun run build # build for production
Logo & Favicons (Optional)
-
Install NewComputerModernMath font (guide).
-
Convert
manuscript.svg
.$ cd assets $ inkscape manuscript.svg --export-text-to-path --export-filename=logo.svg $ bunx svgo --multipass logo.svg
-
Generate favicons by Favicon InBrowser.App using
logo.svg
. -
Move them to web/public/icons.
License
MIT