diff --git a/website/Makefile b/website/Makefile
index 04329cd..4212898 100644
--- a/website/Makefile
+++ b/website/Makefile
@@ -2,10 +2,13 @@ DEPLOY=driftless:/u/j/u/justhsu/public/html-s/teaching/current/cs839
# DEPLOY=jackknife:/home/justhsu/html/staging/cs839/
build:
- mkdocs build
+ make assets && mkdocs build
preview:
- mkdocs serve
+ make assets && mkdocs serve
+
+assets:
+ (cd docs/resources/slides; make)
install:
pip install mkdocs mkdocs-material pymdown-extensions
diff --git a/website/docs/assets/custom-js/katex/README.md b/website/docs/assets/custom-js/katex/README.md
new file mode 100644
index 0000000..22557ae
--- /dev/null
+++ b/website/docs/assets/custom-js/katex/README.md
@@ -0,0 +1,172 @@
+# [](https://khan.github.io/KaTeX/)
+[![Build Status](https://travis-ci.org/Khan/KaTeX.svg?branch=master)](https://travis-ci.org/Khan/KaTeX)
+[![codecov](https://codecov.io/gh/Khan/KaTeX/branch/master/graph/badge.svg)](https://codecov.io/gh/Khan/KaTeX)
+[![Join the chat at https://gitter.im/Khan/KaTeX](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Khan/KaTeX?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Greenkeeper badge](https://badges.greenkeeper.io/Khan/KaTeX.svg)](https://greenkeeper.io/)
+![](https://img.badgesize.io/Khan/KaTeX/v0.10.0-alpha/dist/katex.min.js?compression=gzip)
+
+KaTeX is a fast, easy-to-use JavaScript library for TeX math rendering on the web.
+
+ * **Fast:** KaTeX renders its math synchronously and doesn't need to reflow the page. See how it compares to a competitor in [this speed test](http://www.intmath.com/cg5/katex-mathjax-comparison.php).
+ * **Print quality:** KaTeX’s layout is based on Donald Knuth’s TeX, the gold standard for math typesetting.
+ * **Self contained:** KaTeX has no dependencies and can easily be bundled with your website resources.
+ * **Server side rendering:** KaTeX produces the same output regardless of browser or environment, so you can pre-render expressions using Node.js and send them as plain HTML.
+
+KaTeX supports all major browsers, including Chrome, Safari, Firefox, Opera, Edge, and IE 9 - IE 11. More information can be found on the [list of supported commands](https://khan.github.io/KaTeX/function-support.html) and on the [wiki](https://github.com/khan/katex/wiki).
+
+## Usage
+
+You can [download KaTeX](https://github.com/khan/katex/releases) and host it on your server or include the `katex.min.js` and `katex.min.css` files on your page directly from a CDN:
+
+```html
+
+
+```
+
+#### In-browser rendering
+
+Call `katex.render` with a TeX expression and a DOM element to render into:
+
+```js
+katex.render("c = \\pm\\sqrt{a^2 + b^2}", element);
+```
+
+To avoid escaping the backslash (double backslash), you can use
+[`String.raw`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw)
+(but beware that `${`, `\u` and `\x` may still need escaping):
+```js
+katex.render(String.raw`c = \pm\sqrt{a^2 + b^2}`, element);
+```
+
+If KaTeX can't parse the expression, it throws a `katex.ParseError` error.
+
+#### Server side rendering or rendering to a string
+
+To generate HTML on the server or to generate an HTML string of the rendered math, you can use `katex.renderToString`:
+
+```js
+var html = katex.renderToString("c = \\pm\\sqrt{a^2 + b^2}");
+// '...'
+```
+
+Make sure to include the CSS and font files, but there is no need to include the JavaScript. Like `render`, `renderToString` throws if it can't parse the expression.
+
+#### Security
+
+Any HTML generated by KaTeX *should* be safe from `
+
+