discourse-math/public/katex/README.md

1.2 KiB

How to update KaTeX for Discourse without building

  1. Fetch the latest release tarball
  2. Copy fonts
  3. Copy JS and CSS
  4. Replace font paths in CSS
DMPATH=/path/to/discourse-math  # set this to your path to the discourse-math repo
cd /tmp
wget -O- https://github.com/KaTeX/KaTeX/releases/latest/download/katex.tar.gz | tar -zx
cp katex/fonts/*.woff* $DMPATH/public/katex/fonts/
cp katex/katex.min.* katex/contrib/{mhchem,copy-tex}.min.js $DMPATH/public/katex/
sed -i "s~url(fonts/~url(/plugins/discourse-math/katex/fonts/~g" $DMPATH/public/katex/katex.min.css

How to build KaTeX for Discourse

  1. git clone https://github.com/KaTeX/KaTeX.git && cd KaTeX

    git submodule update --init --recursive

  2. Disable TTF fonts:

    export USE_TTF=false

  3. Run build to fetch the fonts into dist/fonts/

    npm run build

  4. Copy fonts to this plugin

    cp dist/fonts/* discourse-math/public/katex/fonts/

  5. Change paths to fonts ((otherwise the fonts won't load in Discourse):

    sed -ri 's/@font-folder.+$/@font-folder: "\/plugins\/discourse-math\/katex\/fonts";/' submodules/katex-fonts/fonts.less

  6. Build KaTeX:

    yarn && yarn builld

  7. Copy katex.min.js and katex.min.css from dist/ to discourse-math/public/katex/