Commit Graph

444 Commits

Author SHA1 Message Date
Jeff Avallone 6b55f1ec72 CSS modules EVERYWHERE! 2018-02-13 18:15:18 -05:00
Jeff Avallone 888336cbec Adding loader for i18next translation files 2018-02-13 17:46:44 -05:00
Jeff Avallone 5ab4a70414 Adjusting formatting on 404 page title and adding PropTypes 2018-02-13 17:34:22 -05:00
Jeff Avallone 94e511bb96 Further improvements to page prerendering 2018-02-13 17:28:47 -05:00
Jeff Avallone 44a9cad9b3 Removing unused PageTemplate component 2018-02-13 17:26:32 -05:00
Jeff Avallone 24062d978a Improving SVG mocking for tests 2018-02-13 17:17:55 -05:00
Jeff Avallone 1fd797f52a Adding identity-obj-proxy for CSS module mocks 2018-02-13 17:15:33 -05:00
Jeff Avallone 20adf55c11 Breaking up main stylesheet into per-component styles 2018-02-13 17:12:02 -05:00
Jeff Avallone 7238643740 Reworking static page generation
Including styles in components wasn't working with the old system.
2018-02-13 17:10:32 -05:00
Jeff Avallone ad6583d5dc Reorganizing components into directories 2018-02-12 20:05:47 -05:00
Jeff Avallone 21146549f7 Adding language detection 2018-02-11 18:43:11 -05:00
Jeff Avallone 355ef79d20 Adding i18next 2018-02-11 18:37:07 -05:00
Jeff Avallone 63766e84e9 Breaking Header and Footer out into components
For forthcoming i18n setup
2018-02-11 15:58:59 -05:00
Jeff Avallone 4923bbd985 Adding some styling to messages to spice up errors 2018-02-11 15:27:01 -05:00
Jeff Avallone eda8daf8dd Switching to use cssnext 2018-02-11 14:51:17 -05:00
Jeff Avallone 152bf1e361 Updating noscript statement 2018-02-11 12:49:02 -05:00
Jeff Avallone e0716ef683 Adding tests for RavenBoundary 2018-02-11 12:13:15 -05:00
Jeff Avallone 7caf439c53 Adding tests for RavenError 2018-02-11 11:57:23 -05:00
Jeff Avallone 5f11a11ba2 Updating PageTemplate tests to use enzyme 2018-02-11 11:52:35 -05:00
Jeff Avallone 637c9c2afd Updating Message tests to use enzyme 2018-02-11 11:50:08 -05:00
Jeff Avallone cabc2adc1f Adding enzyme 2018-02-11 11:49:50 -05:00
Jeff Avallone 90e57e26e7 Updating PageTemplate tests 2018-02-11 11:25:15 -05:00
Jeff Avallone 6ec546ace1 Adding error boundary using Sentry.io 2018-02-11 11:18:27 -05:00
Jeff Avallone 5afca2241a Fixing some propTypes 2018-02-11 10:57:41 -05:00
Jeff Avallone b009d078b6 Adding Sentry.io 2018-02-11 10:41:03 -05:00
Jeff Avallone 6bf094a4c1 Declaritively initializing service worker 2018-02-11 10:29:35 -05:00
Jeff Avallone fd5a8786d0 Adding Google Analytics 2018-02-11 10:27:43 -05:00
Jeff Avallone a30d1f07fc Mocking environment for PageTemplate tests 2018-02-11 09:45:46 -05:00
Jeff Avallone bbdacca1da Adding an environment banner to the page
To prevent testing local changes in production
2018-02-11 09:16:33 -05:00
Jeff Avallone 84df219d7f Creating separate templates for each page 2018-02-11 07:42:52 -05:00
Jeff Avallone 95a6709ec0 Pulling most of the page template into a component 2018-02-11 07:28:34 -05:00
Jeff Avallone bdf54945fe Keeping description consistent across app 2018-02-11 07:11:16 -05:00
Jeff Avallone eef5d50436 Tweaking some spacing 2018-02-11 07:09:03 -05:00
Jeff Avallone 49a236bf89 Switching back to SVG components for icons
No longer need the hack to only use them in components while URLs are
used in styles since I don't need icons in the styles anymore. Embedding
the markup also provides the option to restyle the icons
2018-02-11 06:58:59 -05:00
Jeff Avallone 1de5079aa9 Rendering page template using React
Allows for using components (like Message) when rendering the base page
template
2018-02-11 06:53:34 -05:00
Jeff Avallone 810b37aa47 Removing SVG components
Sticking with importing data URIs for now
2018-02-11 06:51:54 -05:00
Jeff Avallone c368e9031f Reworking Message component
* Supporting URLs for icon
* Moving styles into top-level stylesheet for use in the template
2018-02-11 06:41:15 -05:00
Jeff Avallone 3e729b2a34 Adding Jest 2018-02-10 18:30:07 -05:00
Jeff Avallone cf0c175d0a Addressing lint errors 2018-02-10 18:10:30 -05:00
Jeff Avallone 74d622c7a4 Getting icon loading in the root styles working 2018-02-10 17:55:48 -05:00
Jeff Avallone 2377cb2497 Removing unnecessary imports 2018-02-10 17:27:30 -05:00
Jeff Avallone 1576904f9c Ahem... 2018-02-10 17:20:56 -05:00
Jeff Avallone 5984f59063 Adding Message component 2018-02-10 17:20:04 -05:00
Jeff Avallone 7ef40cba9c Adding app frame 2018-02-10 17:01:30 -05:00
Jeff Avallone f8aaeba7a9 Going to one template for all pages 2018-02-10 16:39:38 -05:00
Jeff Avallone 8eb4b450ca Adding SVG icons 2018-02-10 16:32:52 -05:00
Jeff Avallone e52103a516 Integrating React 2018-02-10 16:22:59 -05:00
Jeff Avallone 40d08ddef8 Adding service worker cache 2018-02-10 16:08:42 -05:00
Jeff Avallone d78f4efd16 Base webpack config 2018-02-10 15:58:54 -05:00
Jeff Avallone ae2b7c74dd Clearing out old site code 2018-02-10 13:33:13 -05:00
Jeff Avallone 19b8d8c71c Adding download PNG link
For #46
2018-02-10 13:05:42 -05:00
Jeff Avallone b4ea423221 Encoding parenthesis in generated URLs
Closes #36
2018-02-10 11:37:00 -05:00
Jeff Avallone 988f5ca7d5 Adding sticky and unicode flags
Closes #33
2018-02-10 11:23:56 -05:00
Jeff Avallone a42ecb9c36 Fixing some style leaking in Firefox 2017-07-30 01:40:25 -04:00
Jeff Avallone 04a7f45dbd Removing IE8 deprecation notice
I think we're well past warning IE8 users that the site won't work for
them
2017-07-30 01:33:22 -04:00
Jeff Avallone d2ef260f81 Fixing some styling issues in IE 2017-07-30 01:29:18 -04:00
Jeff Avallone 9d69be4c61 Fixing failing tests 2017-07-29 21:10:48 -04:00
Jeff Avallone 90253b69c9 Integrating Sentry for JS error tracking 2017-07-29 17:37:06 -04:00
Jeff Avallone 3dbdd2dadd Removing deprecated bourbon mixins and old prefixing as a result 2017-07-29 17:01:20 -04:00
Jeff Avallone d49a59331b Removing dead path 2016-10-15 17:44:37 -04:00
Jeff Avallone 6efa287c4e Fixing lint warning that came with the new version of JSCS
Also some other minor code cleanup
2016-07-31 11:47:56 -04:00
Jeff Avallone 1b22d0b717 Cleaning up some of the arrow function syntax
Don't need to use `return` as much as I had been
2016-07-31 11:45:48 -04:00
Jeff Avallone 2ceb94fc42 Adding support for including ^ and $ in the middle of an expression
Closes #29
2016-07-31 11:45:48 -04:00
Jeff Avallone 7e914a5d1e Tweaking how title elements are created for tooltips
Using Snap().el was leading to several <svg> elements being created on
the page
2016-07-31 11:44:33 -04:00
Jeff Avallone 7f6980541c Removing extraneous console.log 2016-07-31 11:38:46 -04:00
Thibaud Colas 71489c5f67 Add loop label tooltip to graph with help cursor 2016-07-31 17:47:26 +03:00
Thibaud Colas 26779038aa Add logic to create loop label tooltip message 2016-07-31 17:46:11 +03:00
Jeff Avallone 30634d8eab Fixing styling of SVG icons 2016-05-31 08:43:00 -04:00
Jeff Avallone 21b4915f41 Revert "Moving SVG CSS to the main page CSS"
This reverts commit ac0389c7fa.
2016-05-31 08:36:44 -04:00
Jeff Avallone 6a0999f644 Refactoring tracking code
This is to support the new Google Analytics setup
2016-05-23 21:10:50 -04:00
Jeff Avallone 6a1a679fc9 Updating lodash version 2016-03-10 17:45:20 -05:00
Jeff Avallone f68a410ac1 Embedding icons into markup 2016-03-10 17:45:14 -05:00
Jeff Avallone ac0389c7fa Moving SVG CSS to the main page CSS 2016-03-10 16:52:57 -05:00
Jeff Avallone a7dc1a1357 Switching icons from font to SVG images 2016-03-08 21:47:27 -05:00
Jeff Avallone fd27e28918 Merge pull request #24 from Byron/repeat-edge-cases
'{0}' label is not shown anymore
2016-03-03 07:19:01 -05:00
Sebastian Thiel b08a9d95f7 '{0}' label is not shown anymore
Previously, '{0}' would be labelled as '-1 Times', which is not actually the case.
Also I am not sure to best visualize such a pattern, right now, except for the label,
'a{0}' looks similar to 'a?', even though they don't have the same effect.
2016-01-03 18:27:34 +01:00
Sebastian Thiel 7a591bb4a8 cleanup special 'definedProperties' field in Node
'definedProperties' seems like module-meta-data, which shouldn't be on a Node instance.
2016-01-03 15:59:50 +01:00
Jeff Avallone 966ab5f2d6 Fixing lint errors 2015-11-01 10:28:37 -05:00
Jeff Avallone 025636d559 Switching from compass to node-sass and Bourbon 2015-10-31 22:45:36 -04:00
Jeff Avallone dc72b2d4e4 Switching template rendering to use Handlebars
- Extracting the IE8 notice and SVG templates out into partials
- Moving changelog details into a data file
2015-10-31 13:12:14 -04:00
Jeff Avallone d98e2ed384 Updating changelog 2015-09-17 05:57:24 -04:00
Jeff Avallone 0f3677658d Changing content used for empty match
When an empty expression is used in alternation with something else
(such as `(|test)`) the empty expression was using its empty group as a
placeholder element for calculating its anchor position. This
calculation was incorrect and was leading to the alternation not being
centered vertically. Using any element with height and width fixes this.

Fixes #16
2015-09-17 05:51:38 -04:00
Jeff Avallone 6c9f5d4cb6 Fixing label rendering for repetition
Rendering a text element with a string leads to just a <text/> element.
Rendering with an array leads to <text><tspan/></text>. Decided to use
the latter since it matches with the majority of text rendering
currently in use.
2015-09-03 17:08:20 -04:00
Jeff Avallone 4169720eb2 Updating changelog 2015-09-02 17:04:35 -04:00
Christophe Coevoet 4875dd17c4 Fix exposing the error
Using a promise for the setTimeout call is broken in this case, as the error would again be thrown in a promise operation, and so not exposed
2015-09-02 12:41:21 +02:00
Jeff Avallone bdd64b7141 Updating changelog 2015-07-05 18:33:34 -04:00
Jeff Avallone 7fc7affd9f Belatedly adding changelog notes that have been sitting around 2015-07-05 18:32:20 -04:00
Jeff Avallone 4c556a39a1 Tweaking buggy hash detection
This should more appropriately detect the presence of the URL
constructor, and will silently ignore any exceptions (and assume the
hash isn't buggy)
2015-06-22 22:05:03 -04:00
Jeff Avallone 8ac6e7bf9b Updating changelog 2015-06-16 20:32:31 -04:00
Jeff Avallone e1f5891a3a Support for FF's buggy location.hash
FF decodes location.hash for you, so decoding is unnecessary and breaks
when the regex contains a "%"

Fixes #12
2015-06-16 20:22:04 -04:00
Jeff Avallone 06a7ffc110 Moving skip and loop line calculation into Repeat nodes
This code seems more at home in Repeat instead of MatchFragment since
Repeat knows about the dimensions of the lines for the contentPosition
value.
2015-04-23 20:03:25 -04:00
Jeff Avallone ff9e84f20e Adding documentation to subexp.js 2015-04-23 19:50:01 -04:00
Jeff Avallone 661e7fa6fb Adding documentation to root.js 2015-04-23 19:37:24 -04:00
Jeff Avallone c6af61659f Adding documentation to repeat.js and some logic simplification 2015-04-23 19:31:36 -04:00
Jeff Avallone 6beeddb83a Adding documentation to repeat_spec.js 2015-04-23 19:08:35 -04:00
Jeff Avallone beb5a6fb52 Adding documentation to repeat_required.js 2015-04-21 20:53:11 -04:00
Jeff Avallone bd67d7826e Adding documentation to repeat_optional.js 2015-04-21 20:52:21 -04:00
Jeff Avallone 042d44c044 Adding documentation to repeat_any.js 2015-04-21 20:51:27 -04:00
Jeff Avallone 01e920c31c Adding documentation to regexp.js 2015-04-21 20:48:12 -04:00
Jeff Avallone 1b03663473 Adding documentation to match.js 2015-04-21 20:24:56 -04:00
Jeff Avallone ce41796f8b Adding documentation to match_fragment.js 2015-04-21 20:24:56 -04:00
Jeff Avallone 424eca0a2a Adding documentation to literal.js 2015-04-21 20:24:56 -04:00
Jeff Avallone 51c2f87765 Adding documentation to escape.js 2015-04-21 20:24:56 -04:00
Jeff Avallone d8a635fa8f Adding documentation to charset_range.js 2015-04-21 20:24:53 -04:00
Jeff Avallone 7ca4b95cd7 Adding documentation to charset.js 2015-04-21 20:24:49 -04:00
Jeff Avallone c22656a75d Adding documentation to charset_escape.js 2015-04-21 20:24:46 -04:00
Jeff Avallone 01abba224a Adding documentation to any_character.js 2015-04-21 20:24:41 -04:00
Jeff Avallone 2777da518e Replacing an array join with a JS template 2015-04-19 16:45:06 -04:00
Jeff Avallone 1ef8bd7500 Adding documentation and a few tweaks to node.js 2015-04-19 16:40:53 -04:00
Jeff Avallone 8796c1329c Reorganizing and cleanup of base Node code 2015-04-19 12:06:22 -04:00
Jeff Avallone b2e7bade04 Adding more documentation 2015-04-16 17:52:50 -04:00
Jeff Avallone 5917d2b035 Updating getBBox and anchor code to improve performance
This change will reduce the number of calls to this.container.getBBox
when calculating the bounding box of a node
2015-04-16 17:13:12 -04:00
Jeff Avallone 5601c6a398 Removing some long dead code 2015-04-16 17:13:00 -04:00
Jeff Avallone 6cf4e3fe9b Tweaking normalizeBBox
Using defaults instead of extend seems to more clearly illustrate the
intent.
2015-04-16 17:10:30 -04:00
Jeff Avallone 35e817b105 Updating changelog 2015-04-14 21:52:41 -04:00
Jeff Avallone 0fdd210741 Optimizing spaceHorizontall and spaceVertically methods
Each method was transforming each item twice, and I found that Snap
appears to generate at least one timer per transform. Reducing it to one
transform per item.
2015-04-14 21:46:14 -04:00
Jeff Avallone d918f956ef Adding documentation to regexper.js and some minor tweaks 2015-04-12 17:03:13 -04:00
Jeff Avallone 7de958dc25 Adding documentation to util.js 2015-04-12 17:03:13 -04:00
Jeff Avallone d4b4b2111e Adding documentation to main.js 2015-04-12 17:03:13 -04:00
Jeff Avallone 1b3a1819c8 Updating changelog 2015-03-14 17:35:57 -04:00
Jeff Avallone 06e66c0f24 Creating helper methods for the setTimeout uses
Abstracting out some of the setTimeout patterns that have popped up in
the code to make the intention clearer.
2015-03-14 17:27:59 -04:00
Jeff Avallone 0093db8e20 Replacing Q promises with ES6 promises 2015-03-14 17:11:14 -04:00
Jeff Avallone 3970224302 Removing use of notify to update progress bar 2015-03-14 14:01:25 -04:00
Jeff Avallone ef11adb67c Updating changelog 2015-03-13 20:24:03 -04:00
Jeff Avallone 7328825204 Changing when subexpression numbers are generated
Generating subexp numbers during setup was leading to nested expressions
being numbered in reverse order.

Fixes #7
2015-03-13 20:23:04 -04:00
Jeff Avallone 1a117e3672 Updating changelog 2015-02-11 20:11:55 -05:00
Jeff Avallone bd40a71ece Tweaking styling of header links
Fixes #5
2015-02-11 20:06:01 -05:00
Jeff Avallone 1170a1be76 Displaying the hex code of escaped characters
This is only done where appropriate (escapes like "word boundary" don't
have a hex value, and displaying it for hex or unicode escapes would be
a little redundant).
2015-01-25 17:44:07 -05:00
Jeff Avallone 80e96c7bd3 Trapping errors in URL formatting and displaying an error message 2015-01-19 10:15:34 -05:00
Jeff Avallone 66c9d445da Adjusting how JS errors are tracked.
- Checking for a valid lineno instead of the filename to filter out
  "(0): Script error." logging
- Tracking stack traces separately from exceptions to make debugging
  easier
2015-01-04 18:50:16 -05:00
Jeff Avallone 0600d18bb5 Adding more detailed exception tracking 2015-01-01 12:24:11 -05:00
Jeff Avallone 491c9535a9 Adding code to track expression rendering time 2015-01-01 11:57:11 -05:00
Jeff Avallone 37fca15bc8 Removing _trackEvent method
It has become an unnecessary abstraction around _gaq.push
2015-01-01 11:56:36 -05:00
Jeff Avallone fd8014d326 Updating changelog 2014-12-30 17:10:13 -05:00
Jeff Avallone cb359bf4dd Adding support for rendering empty subexpressions
Fixes #1
2014-12-30 17:06:29 -05:00
Jeff Avallone facd4f6ac4 Changing how permalink and download links are hidden
Using a class name instead of setting the display CSS property. This
way, the ::after of the download link can be hidden when the permalink
is gone
2014-12-30 16:20:37 -05:00
Jeff Avallone 6c49d6ba8e Condensing some styles 2014-12-30 15:54:20 -05:00
Jeff Avallone fc6ffbd73a Merging some shared styles 2014-12-30 10:17:55 -05:00
Jeff Avallone 998e2a5574 Updating changelog 2014-12-29 21:39:20 -05:00
Jeff Avallone e271115d24 Merging the rendering code from main.js and regexper.js 2014-12-29 21:31:36 -05:00
Jeff Avallone d6e81a2932 Beginning to merge rendering code in main.js and regexper.js 2014-12-29 18:37:21 -05:00
Jeff Avallone 8dda135960 Animating the progress bar 2014-12-29 18:01:10 -05:00
Jeff Avallone f83e0c6ea8 Removing spinner
It has seemed a little excessive since adding the progress bar
2014-12-29 17:55:57 -05:00
Jeff Avallone d538d7b62a Adding progress bars to the inline diagrams in the documentation 2014-12-29 17:53:54 -05:00
Jeff Avallone e890fe7d2c Updating progress using the promise notify feature 2014-12-29 17:35:18 -05:00
Jeff Avallone 99c4c078fb No longer setting parseError attribute on error object
This was causing some JS exceptions to be logged
2014-12-29 16:32:08 -05:00
Jeff Avallone 5406487ae0 Adjusting how errors are logged
This should allow for working out any JS failures that may occur
2014-12-28 17:37:11 -05:00
Jeff Avallone cfaa3afa78 Changing date formatting on the changelog to be unambigious 2014-12-27 23:07:12 -05:00
Jeff Avallone eae4959f41 Updating event tracking to reduce noise in reporting
No need to report a "parse error" as an "exception"
2014-12-27 15:54:32 -05:00
Jeff Avallone 66836e0552 Fixing issue with multiple SVG elements being rendered at once 2014-12-26 17:08:37 -05:00