We used functions with $FlowFixMe as Flow couldn't refine ParseNode
using its type. It seems the issue has been fixed and complicated
function calls can be removed.
* Update LICENSE to acknowledge individual copyrights as well
* Update copyright year
* Update website to acknowledge individual copyrights as well
* Update LICENSE
* Update siteConfig.js
* \@ifnextchar consumes spaces
Fix#2117 by fixing our implementation of \@ifnextchar to match LaTeX's:
consuming spaces before checking the next character. See #2117 for details.
* Update MacroContextInterface
* Use html 'defer' attribute
Instead of putting the extension script tag at the bottom, we can use the `defer` attribute to execute the script after all other content is loaded. It has [very good](https://caniuse.com/#feat=script-defer) browser support.
* fix checksums
* use sha384 hashes
* update to Katex 0.11.1
* Added “Notable” to the list of users
* Added missing trailing comma
* alphabetize the new entry
2019-09-22 15:11:19 -04:00
Ciro Santilli,Opinions and content are my own, not my employer's,2018新疆改造中心,1989六四事件,1999法轮功 ,2019 996.ICU, 2018包子露宪,2015 710律师劫,2015巴拿马文件 邓家贵,2017低端人口,2008西藏骚乱scriptalert(1)/script
* Fix parse timing by separating consume() into fetch() and consume()
Fix#1989, and generally cleanup parse timing (many fewer hoops to jump
through) by defining two methods on parser:
1. `consume()` marks the current token (`nextToken`) as "done", but
doesn't yet fetch the next token (setting `nextToken` to `null`).
2. `fetch()` fetches the next token if we don't already have one
(e.g., if last token was `consume()`d).
Before this change, `consume()` did both actions. By separating them,
and allowing the parser to live in a state for a while where `nextToken`
is `null`, it is far easier to change settings (in particular, math/text
mode and catcodes) before reading the next token, in a way that depends
on what we're parsing. For example, if an argument should be treated in
text mode, we can just set the mode in the argument parser, instead of
when the previous token was consumed. Similarly, if an argument should
be treated as a URL, we can just set the catcode of `%` in the URL
argument parser, and reset it after. We no longer have to take care to
reset things before calling `consume()`.
This change mostly involves changing `this.nextToken` to `this.fetch()`.
In a perfect world, we could use slightly fewer calls to `this.fetch()`,
but Flow doesn't realize that `this.nextToken` will be non-null after a
call to `this.fetch()`, so we need to use a few more calls to
`this.nextToken()` or a few more local `nextToken` variables.
* Remove now-unnecessary consumeMath
* Update Parser.js
* Use current font for accents
Fix#353 using `buildCommon.makeSymbol` to automatically determine font
for the accent symbol.
* Fix screenshots
* Fix flow error
* Fix file permissions
* Unicode characters in math render in text mode
Improve #2031 by rendering all supported Unicode text characters (via
supportedCodepoints) in text mode, mimicking wrapping them in `\text`,
thereby using metrics of letter M as usual.
* Add tests
* Improve documentation
* Implement review comments
* copy katex-a11y.js from webapp to contrib/to-a11y-string.js
* first pass of updating to-a11y-string to use flow
* Set up test harness and write some tests
- add flow types for jest
- create wallaby config file
- add prettier as a dep and set up .prettierrc so that we use .toMatchInlineSnapshot() and have jest insert the snapshot for us
- add lots of TODOs (I'll create tickets for these later)
* Add some to get the tests passing for now
* remove commented out parts of wallaby.js config file
* remove some stale strings, fix flow issue, add more coverage
* add , add few more tests, handle middle
* fix minor nits in tests
* rename to-a11y-string to render-a11y-string, updatte webpack config to build extension
* add test for \boxed
* remove commented out code
* Re-enable \includegraphics now that we have trust setting
This reverts commit 5806b240b3.
* Include Khan Academy test logo in repo and use in test (fix#1892)
* Update screenshots
* Update documentation
* Add tests, cleanup existing tests
* Update snapshots
* Enable trust testing (trust=true by default)
A web component, built with Stencil, to render KaTeX expressions. Stencil uses a dynamic loader to load the custom elements polyfill only on browsers that need it.
* Remove forced \normalsize in \raisebox
Fix#1786 (incorrect size of "E" in `\TeX`) by fixing `\raisebox` to
keep the current font size. Previously, `\raisebox` was rendering its
second argument as if it were in `\normalsize\textrm{...}`; now,
the argument is just as if it were in `\textrm{...}`.
* Fix screenshots
* New "hbox" argument type to convert box-like arguments
* Review comments
* Fix \fbox to use hbox argument
* Render A in \LaTeX and \KaTeX in \scriptstyle (not \scriptsize)
* Add screenshot test
* Revert .sizing { width: min-content} thanks to #2044
* Fix font choice in operators like \log (e.g. \boldsymbol{\log})
Fix#1971 by correctly passing arguments into the font choice for
the HTML handler for operators like \log.
* Extend BoldSymbol screenshot test
* Require options argument in mathsym to avoid this type of bug in the future
* Update screenshot
Fix#1788 by removing `display:inline-block` rule from `.sizing`.
I don't see why a sizing change cares about the display mode, and it
fixes the interaction between `makeVList` and sizing commands.
It should also allow me to remove a `.sizing { width:min-content }` rule
that I had to add in #1787.