Skip to content

QuarticCat/detypify

Repository files navigation

logo

Detypify

Can't remember some Typst symbol? Draw it!

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)

  1. Install NewComputerModernMath font (guide).

  2. Convert manuscript.svg.

    $ cd assets
    $ inkscape manuscript.svg --export-text-to-path --export-filename=logo.svg
    $ bunx svgo --multipass logo.svg
  3. Generate favicons by Favicon InBrowser.App using logo.svg.

  4. Move them to web/public/icons.

License

MIT