Commit Graph

514 Commits

Author SHA1 Message Date
Martin von Gagern
fc115e1f66 Obtain updated README by using a checkout
As the dist directory isn't available on the original branch, we cant use
its files to update the SRI hashes.  Checking out from the release tag is
therefore the better option.  A checkout will automatically stage its files.
2017-01-22 15:28:37 +01:00
Martin von Gagern
76051a6ac2 Fix release script after experience from 0.7.1 release
* Also edit dist/README.md. Otherwise npm publish will overwrite that
  AFTER the dist directory has been added, causing the git checkout to fail.
  And it's the right thing to do anyway, having ALL the READMEs edited.
* Add all the modified READMEs so they get committed correctly.
* Improve two references to master which are no longer accurate.
* Check for uncommitted changes just before creating the tag.
* Encourage always specifying the next version, as discussed in
  https://github.com/Khan/KaTeX/pull/615#discussion_r97208770
2017-01-22 00:51:00 +01:00
Martin von Gagern
5e4f50dc09 Drop --insane flag, just formulate the prompt appropriately 2017-01-13 13:48:25 +01:00
Martin von Gagern
5783e193ed Update CDN version numbers and SRI hashes on release 2017-01-13 13:43:41 +01:00
Martin von Gagern
961e9db514 Add --dry-run and --insane options to release script
Now we have some sanity checks, a way to skip them and a way to see which
commands would be executed on the git and npm side without actually
executing them.
2017-01-13 13:38:39 +01:00
Martin von Gagern
35ff154ead Make release tag an annotated tag
It is customary to use annotated tags for releases, to preserve the
information about when the tag itself was created, by whom and for what
purpose.  In our case we always have a commit directly before the tag, but
some workflows may expect annotated tags nonetheless, “git describe” among
them.  We might want to sign them one day, too.
2017-01-13 13:38:39 +01:00
Martin von Gagern
6404cfd269 Drop version field from bower.json
According to bower docs, that field is deprecated and ignored.
Git tag names (or commit ids) are the way to identify a given version.
2017-01-13 13:38:39 +01:00
Martin von Gagern
73cafd16da Avoid some warnings from bower
Bower prefers to have package names in lower case, and to have uncompressed
sources listed as entry points.  Otherwise it will issue warnings.
2017-01-13 13:38:39 +01:00
Martin von Gagern
a3988d9d56 Allow creating releases from branches other than master 2017-01-13 13:38:39 +01:00
Martin von Gagern
840771c643 Un-ignore dist directory on releases for the sake of bower 2017-01-13 13:38:39 +01:00
James Lee
549104c5a8 auto-renderer README.md - added integrity (#591)
Integrity generated from https://www.srihash.org/
Reference: https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
2017-01-13 12:15:57 +01:00
James Lee
90ba0e341d README.md - added integrity (#590)
Integrity generated from https://www.srihash.org/
Reference: https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
2017-01-13 12:15:28 +01:00
Kevin Barabash
56f3d1db47 Don't cascade .eslintrc
eslint will automatically merge .eslintrc files in the parent folder without "root": true
2017-01-12 22:53:10 -05:00
Kevin Barabash
c56de9e323 Merge pull request #625 from gagern/morgan
Use morgan to log requests in the dev server
2017-01-12 10:15:20 -05:00
Martin von Gagern
79d53bd29f Use morgan to log requests in the dev server
This is motivated by the recent switch to Express 4.
Without this commit, “make serve” will print the following message:

Error: Most middleware (like logger) is no longer bundled
with Express and must be installed separately.  Please see
https://github.com/senchalabs/connect#middleware.
2017-01-12 09:52:29 +01:00
Martin von Gagern
4ead46c4ab Describe using auto renderer in html head (#623)
Describe using auto renderer in html head

Motivated by #621.
2017-01-11 21:04:52 +01:00
Martin von Gagern
59b87539b9 Merge pull request #622 from gagern/commas
Revert "Remove trailing commas for IE 9 compatibility"
2017-01-11 20:56:39 +01:00
Martin von Gagern
896aeac81b Fix some indentation and comma inconsistencies
This makes eslint happy again.
2017-01-11 13:30:11 +01:00
Martin von Gagern
53e416e296 Revert "Remove trailing commas for IE 9 compatibility"
This reverts commit 4d2e46e7f6.

Having trailing commans makes diffs easier to read as it avoids modifying a
line just to add a trailing comma if there is another item to add at the end
of a list.  There are plans to switch to ES6 notation and to translate that
to ES5 as part of the build process.  Since that translation would remove
trailing commas, the IE9 problems that originally motivated the commit
should vanish soon.
2017-01-11 13:26:00 +01:00
Kevin Barabash
677290336a Merge pull request #612 from gagern/updates
Update dependencies to more recent version
2017-01-10 11:09:02 -05:00
Martin von Gagern
90e25fecc2 Update dependencies to more recent version
All these version ranges include the latest version at the time of this
commit, except for the selenium webdriver.  There version 3 is incompatible
with version 2, and switching to a version 3 library appears to require
switching to version 3 docker images as well, which would entail using
different browser versions which in turn would lead to differences for a
large number of screenshots.  That doesn't appear warranted at this time.
2017-01-09 15:09:43 +01:00
Emily Eisenberg
8f46eeaf1b Bump master to v0.8.0-pre 2017-01-06 19:50:50 -08:00
Emily Eisenberg
225baffef4 And make the release script actually work again.
Summary: The previous commit made the `sed` lines do the same thing on mac and
linux. Unfortunately they didn't actually work. Whoops.

Test Plan:
 - Run `./release.sh` a couple times and become horribly confused before
   realizing what's going on.

@kevinb
2017-01-06 19:47:47 -08:00
Emily Eisenberg
4327e85796 Make the release script compatible with both mac and linux
Curse you BSD and GNU sed being so different!

Test Plan:
 - Run `sed -i.bak -e 's|boo|blah|' blah` on both a linux and mac computer

@kevinb
2017-01-06 19:32:22 -08:00
Emily Eisenberg
4d2e46e7f6 Remove trailing commas for IE 9 compatibility
Summary: IE 9 doesn't like trailing commas. When we introduced eslint, we added
a bunch of trailing commas, which makes IE 9 sad.

Test Plan:
 - `make lint`
 - Visit http://localhost:7936/ using IE 9 on browserstack.
 - See that the math loads, and there are no errors in the F12 developer tools.

@kevinb
2017-01-06 19:06:01 -08:00
Kevin Barabash
74d55ee0ea Merge pull request #598 from gagern/screenshotter
Load full-window page before adjusting browser window size
2017-01-05 09:17:17 -05:00
Erik Demaine
1ca7363460 \ldots in text mode; add \textellipsis & \mathellipsis (#597) 2017-01-03 16:47:53 +01:00
Martin von Gagern
ca1a511cc4 Load full-window page before adjusting browser window size
Experimenting with selenium-webdriver@3.0.1 and Firefox 50.1.0 I observed
screenshots having a height of merely 8 pixels.  Presumably the margin or
padding of an otherwise empty document.  So in order to get the actual size
of the document area, the screenshotter now loads a document which fills the
entire viewport.
2017-01-03 15:53:25 +01:00
Eddie Kohler
7c83021009 Support \bmod, \pmod, \pod, and \mod. 2016-12-31 20:51:20 -05:00
Kevin Barabash
f742fbf9f2 Merge pull request #580 from kohler/muunits
Support "mu"-denominated sizes and \mkern
2016-12-19 14:31:04 -07:00
Eddie Kohler
81bc24808b Support \mkern as an alias for \kern. 2016-12-19 13:43:33 -05:00
Eddie Kohler
d5cedc55c9 Support "mu" units for sizes.
18mu is 1em.

And use emPerEx when converting ex to em, rather than xHeight.
(Previously some places used emPerEx and others used xHeight.)
2016-12-19 13:42:27 -05:00
Kevin Barabash
3900936f63 Merge pull request #586 from tabatkins/patch-1
Misspelled variable "candiate"
2016-12-16 18:25:32 -05:00
Tab Atkins Jr
d43f24ea91 Misspelled variable "candiate"
All uses have the same misspelling, so this wasn't a functionality bug, but still better to have things spelled correctly in the source. ^_^
2016-12-16 13:12:45 -08:00
Kevin Barabash
fdebbe3a18 Merge pull request #579 from kohler/kernarg
Allow unbraced kerns, such as \kern1em.
2016-12-08 23:38:04 -05:00
Kevin Barabash
831c5b8d99 Merge pull request #578 from kohler/middle
Handle \middle.
2016-12-08 23:35:36 -05:00
Eddie Kohler
530ec97e74 Allow unbraced kerns, such as \kern1em.
This is actually the *only* syntax TeX allows; braced kern units
are invalid.
2016-12-08 23:26:31 -05:00
Kevin Barabash
95f2f46bf5 Merge pull request #581 from kohler/stylespacing
BUG FIX: Correct spacing next to symbols when styles switch.
2016-12-08 22:56:23 -05:00
Eddie Kohler
e449b2d61a Handle \middle. 2016-12-08 16:41:19 -05:00
Eddie Kohler
72362ecf88 Correct spacing next to symbols when styles switch.
Two nodes were sharing a list of classes, which led to the style
change applying multiple times. Fix that.
2016-12-08 16:20:32 -05:00
Kevin Barabash
7433638fda Merge pull request #573 from kohler/kwork
Fix atom-spacing, add text-mode fonts, and miscellany
2016-12-05 16:56:00 -05:00
Eddie Kohler
81f9a410a0 Add text-mode definitions of symbols like \$. 2016-12-05 16:05:39 -05:00
Eddie Kohler
e1c5f5db1c Add support for \text{rm,it,bf,tt,sf,normal}.
And allow \text to nest inside \text.
2016-12-05 16:05:22 -05:00
Eddie Kohler
576380c11c Text mode: Combine adjacent spans when possible for cleaner HTML.
So `\text{Hi}` becomes one <span...>Hi</span>, rather than two
<span...>H</span><span...>i</span>.

This allows the font renderer to apply kerning, which changes some
test output.
2016-12-05 15:59:10 -05:00
Eddie Kohler
b88bc7723d Italic correction should not be applied to characters in text mode.
This requires changes to screenshotter tests that assumed italic
correction was applied in text mode.
2016-12-05 15:59:10 -05:00
Eddie Kohler
4297eb1276 Unicode punctuation works. 2016-12-05 15:59:05 -05:00
Eddie Kohler
e0407a19a0 Support \atop.
Add Jasmine test and update screenshotter test.
2016-12-05 15:58:26 -05:00
Eddie Kohler
f8e0c91de4 Support \stackrel (#468). 2016-12-05 15:48:05 -05:00
Eddie Kohler
6bb62b11b4 Support \mathop, \mathrel, \mathbin, \mathpunct, etc. class commands.
These commands set their arguments in a given TeX math class. Use
the existing "op" type for \mathop (to support \limits); introduce
a new "mclass" type for the other classes.

Fixes #482. Tests borrowed from #485 (cbreeden).
2016-12-05 15:48:05 -05:00
Eddie Kohler
982e7be597 Calculate math classes from outputs, not inputs.
It's important to get spacing right that the domTree classes reflect
math atom types. So use those types exclusively, rather than
repeating the type mapping twice (once when building spans, once in
getTypeOfGroup).

* Remove getTypeOfGroup.
* Add getTypeOfDomTree (simpler).
* Adjust supsub type calculation.
* Adjust delimsizing internals.
2016-12-05 15:48:05 -05:00