* POTUS: Adding failing test for overtrigger
* POTUS: the previous || $prez_count meant that it defaulted to the current president if it didn't recognise the number; hence why it was showing so many false positives
* POTUS: Now with stricter handling on the $num we can trust the validation later on to keep us safe from overtriggering
* POTUS: basic queries that really should work!
* POTUS: Switching to using a guard regex to match things rather than using replacements
* POTUS: Guard regex now protects the query space. and "was" is used to imply the previous president (currently obama)
* POTUS: switched to query_lc and implementing both a guard regex and a replacement for the triggers so that the code below behaves as if it is remainder =>, except that this doesn't erroneously replace "president-elect of the us" with ""
* POTUS: We don't need $rem
My particular concern is:
When I query: "bytes in 1 mib"
I want a precise response: "1,048,576 bytes"
...instead of "1.05 * 10^6 bytes"
Beyond that, generally, I believe that most people who can cognitively handle numbers up to 1MM can also handle any number with a seven digit integer-part/characteristic (http://math.stackexchange.com/a/64045/92444). Ideally, the decision should be made based on the number of characters in the significand (https://en.wikipedia.org/wiki/Significand) but that's beyond what I have time for at the moment (especially given how rusty my perl is) ;) .
* prevent anything but allowed ops in the query
no negative nums
* Uncomment neg catch and move after garbage is removed
* Add more tests
* The hex check can be simplified since the trigger isn't allowing most of it
Allow expressions like 1e9 to pass
* Allow = in query
decimal/negatives with e
* Remove debug
* add test for 1e9 query
* Restrict some other stuff
* Don't require digit
* Restrict multiple ops to two or less
* reject empty parens/multiple ops
* No @, or $ not followed by a number or .
* combine char class
* add more negative tests
* Add ops back, case-insensitive subs, require two ops again
* Case-insensitive on multiple ops too
* Allow leading negatives
* Move the leading neg sub
* Better regex for hex input
* update tests
* Update trigger
Use Safe for evaluation with the minimum functions
Removed unnecessary capturing, redundant function calls
* Add some tests
* Remove eval since we don't allow die
Add comment about debugging failed reval
* Add rv2gv from :base_orig to allow compat with Safe 2.35
Remove prtf since that was in :base_orig which was removed
* Remove unneeded opsets
* Silence all of reval's warnings
* Add STRICT
* Conversions: Failing test for n'm" format
* Conversions: Adding a totally specific workaround for 3 feet 5 inches or 6'1" queries
* Conversions: Accuracy correct relative to output
* Conversions: Improving test coverage around whitespace
* Conversions: Removing duplication
* Conversions: Handling foot and inch
* Conversions: Adding tests for feet and inches into another unit and failing test for the UK common "n foot m", commonly used for height
* Conversions: Implemeting the UK common 6 foot 1 query support
* Update trigger
Use Safe for evaluation with the minimum functions
Removed unnecessary capturing, redundant function calls
* Add some tests
* Remove eval since we don't allow die
Add comment about debugging failed reval
* Add rv2gv from :base_orig to allow compat with Safe 2.35
Remove prtf since that was in :base_orig which was removed
* Remove unneeded opsets
* Silence all of reval's warnings
* Update trigger
Use Safe for evaluation with the minimum functions
Removed unnecessary capturing, redundant function calls
* Add some tests
* Remove eval since we don't allow die
Add comment about debugging failed reval
* Add rv2gv from :base_orig to allow compat with Safe 2.35
Remove prtf since that was in :base_orig which was removed
* Remove unneeded opsets
* Base created
* YML File Updated
* Codepen logo added
* Logo renamed | urls added
* Initial version added
* Removes unwanted CSS
* Remove codepen logo
* Removes cssanimations.js
* Restructuring things
* Fixes bareword test file issue
* Test File fixed
* CSS Tricks Demos added
* Changes to tile and data
* Title added and styled
* Adds 2 demos to Goodie
* Fixes margin between title and demo
* Modularizing demos
* CSS Animations: Makes code more modular
* Data YML updated
* Fixes no file exist issue
* Minor changes in test file
* Fix: Reduces width of tile, fixes animation overflows
* Feature: CodePen AutoPen Generation added
* Fix: Test File fixed
* Add: Proportional Animations
* Add: Changing transform-origin mid-animation
* Add: Negative transform-origins
* Add: Box shadow magic
* Fix: Fix conflict in CSS
* Update: Removes unnecessary keys
* Fix: Warnings and errors for https
* Fix: Fixes text in demo 1
* Formats: Formats all CSS Stylesheets
* Fix: Handles unnecessary triggering
* Fix: Handles if variables are undefined
* Adds: Adds more test cases
* Fix: Moves logic to a separate sub routine
* Fix: Removes external resource usage
* ColorPicker: Adding tests for queries that should not return
* ColorPicker: If there is a string after the triggering it needs to be a valid colour name
* Added the SasstoCSS library
* Started with IA
* updated the goodie var
* Updated the classes to handlebar
* Updated the URL
* Updated the test file
* Updated the cdn of sass library
* Updates on format of IA
* fix(sass_to_css): Updated the url of the library.
* fix(triggers): Updated the tests and pm file.
* fix: Updated the file to remove ID param.
* fix(sass.js): Updated the code for synchronous sass compile.
* fix(sass_to_css.js): Load library when data is actually entered.
* fix(layout): Updated the layout of buttons.
* Js Beautifier
* fix(js_beautifier.js): Updated the library URL to internal.
* fix(triggers): Added more triggers.
* fix(triggers): Added a few more triggers and tests.
* Template Created
* Added the HTML beautifier files
* Updated the code
* Renamed the files
* Added more triggers and updated test file
* fix(html-beautify): Updated the url of library.
* fix(html_beautify): Added global scope to method.
* Add color titles to output
* Add titles for color in front-end (hover)
Hovering over the circle gives the color 'title', and hovering over a
hex value gives the color 'name' (more suitable for HTML and similar).
* Remove periods from titles, subtitles and plaintext responses
* Update test files
* Remove concatenation
* Remove repeated tests from Cusip test file
* Rot13: Remove HTML Encoding from output text
* Scramble: Remove HTML Encoding from output text
* Remove html encoding from TimezoneConverter and TitleCase IAs
* RIPEMD: Remove HTML encoding from output text
* Regexp: Remove HTML encoding
* Remove html_enc from NameDays and MD5 IAs
* Remove html_enc from MD4 and IDN
* FIGlet: Remove html enc
* Remove html enc from CaesarCipher and Braille
* Atbash: Remove html_enc from output text
* MD4: Simplify string concatenation in perl way
* NameDays: Simplify string concatenation the perl way
* NameDays: Refactor string concatenation
Also, return an ARRAY reference instead of a list (at least for now);
not sure which will make more sense in the future (probably just a
list).
/cc @mintsoft
And vastly improve execution and regexp compilation time.
1. Add some early-bail shortcuts so we don't need to check massive
regexes each time.
2. Reduce some duplication of regexes and matching.
3. Improve regexes.