Commit Graph

18 Commits

Author SHA1 Message Date
Emily Eisenberg
f5197ae0a7 Make the Makefile non-mac friendly
Summary:
Add checks in the makefile to not run mac-only things when not on a
mac. (I've only tested on linux, I haven't ensured that this runs mac-only
things on a mac)

Test Plan:
- Run `make`
- Have it not break

Reviewers: alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D7260
2014-03-11 16:32:08 -06:00
Alex Lopatin
a3663ce17c Basic perceptual diffing support for KaTeX
Summary:
This commit adds an HTML file for creating perceptual diffs (pdiff.html),
a reference screenshot of that HTML file (pdiff.png), and a quick script
for comparing that screenshot to a newly generated one (pdiff.js).

Also added a basic README.

Test Plan: make pdiff

Reviewers: alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D6415
2014-01-29 16:29:21 -08:00
Emily Eisenberg
0a3a2271f4 Add ability to calculate heights/depths
Summary:
This diff does a couple different things:

 - There is now a metrics/ folder, which contains the property files describing
   the metrics if the fonts, as well as a script for reading and printing the
   metrics in javascript.
 - Fractions and superscripts/subscripts are now rendered in slightly different
   ways now (notably, no use of inline-table). This allows for much more precise
   positioning of the superscripts, subscripts, numerators, and denominators,
   while still having an appropriate baseline. Also, there is no longer a
   sup/sub/supsub distinction, there are only supsubs with null sup/sub.
 - Using the new font metrics and by implementing the formulas found in The TeX
   Book, Appendix G, the heights and depths of all of the sub-expressions in a
   formula are now calculated. These are currently used to:
    - Correctly position superscripts, subscripts, numerators, and denominators
    - Adjust the height and depth of the overall expression so it takes up the
      appropriate space
 - Because we have to add attributes (height and depth) to every attribute, I
   have changed the way DOM nodes are assembled. Now, instead of assembling the
   DOM elements inline (which is a problem because we need to track
   height/depth, and we shouldn't (and can't in IE 8) attach raw attributes to DOM
   nodes), we assemble a pseudo-DOM structure with the extra information, and
   then actually assemble it at the very end.

The main page also now has an updated expression to show off and test the new
and improved parsing.

Test Plan:
View the main page, make sure that the expression renders. Make sure
that the tests pass. Make sure that expressions have the correct calculated
height (this is most easily tested by viewing them on the main page and making
sure that the top of the expression lines up with the bottom of the input box).

Reviewers: alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D3442
2013-08-13 18:16:43 -07:00
Emily Eisenberg
c583d23a7c Get rid of make copy
Auditors: alpert
2013-08-10 03:26:07 -07:00
Ben Alpert
5d98bf6544 Copy to the right place in khan-exercises
Auditors: emily
2013-08-05 14:22:56 -07:00
Joel Burget
aa4e05a7cf Add a setup rule to Makefile
It installs npm prerequisites.
2013-07-30 13:54:43 -07:00
Emily Eisenberg
3b69354fd6 Improve the makefile
Summary: Make the makefile copy files into the correct places in all
three repos. (note, the khan-exercises location might change since we
don't want to have two copies of things, but it's where it is in my
setup right now)

Auditors: alpert
2013-07-26 14:10:35 -07:00
Emily Eisenberg
79a50b3abe Make the linter happy
Auditors: alpert
2013-07-24 20:37:56 -07:00
Ben Alpert
b101582aac printf not echo -n
Auditors: emily
2013-07-16 22:03:39 -07:00
Emily Eisenberg
4122fa2b99 Rewrite the parser
Summary:
Make our own parser that doesn't use jison, so that we can handle
funny TeX syntax, and to make it smaller.

Test Plan: Make sure the tests pass with the new parser.

Reviewers: alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D3029
2013-07-12 23:16:30 -07:00
Emily Eisenberg
adb8b5d671 Rename everything to KaTeX
Summary: Rename all instances of mjlite -> katex

Test Plan: Run the local server, make sure things still work.

Reviewers: alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D2977
2013-07-10 14:08:50 -07:00
Emily Eisenberg
b016015d4e Sync styles with khan-exercises
Summary:
Get the styles into a form that they can be directly copied over to
khan-exercises, with no changes. Mostly just changing #math to .mathmathmath
and adding a font style and size.

Test Plan: Make sure that the local test still works.

Reviewers: spicyj

Reviewed By: spicyj

Differential Revision: http://phabricator.benalpert.com/D47
2013-07-09 15:53:35 -07:00
Emily Eisenberg
9d2ac2c132 Make the makefile better
Auditors: spicyj
2013-07-09 00:09:01 -07:00
Ben Alpert
33625f7b08 Catch server errors and return 500
Reviewers: xymostech

Reviewed By: xymostech

Differential Revision: http://phabricator.benalpert.com/D39
2013-07-07 14:13:25 -07:00
Ben Alpert
4bc599966f Create node server to replace 'make watch'
Reviewers: xymostech

Reviewed By: xymostech

Differential Revision: http://phabricator.benalpert.com/D38
2013-07-05 22:55:10 -07:00
Ben Alpert
afb29f5df3 Use browserify and "modules"
Reviewers: xymostech

Reviewed By: xymostech

Differential Revision: http://phabricator.benalpert.com/D37
2013-07-05 21:44:44 -07:00
Emily Eisenberg
37355b82d1 Make the makefile more helpful
Auditors: spicyj
2013-07-05 20:55:25 -07:00
Emily Eisenberg
708a36502b Initial commit 2013-07-05 02:05:33 -07:00