* Implement changed design, fix#3500
* Remove comment
* Update test file to use ISO8601 dates and avoid testing of Role
* Include subtitle in the template
* Take current time using momentjs, calculate difference in JS
* Remove subtitle from the template, make corrections to endCountdown
* Pass date string to JS and find difference in moment objects, change toggling at countdown end
* Remove use of difference passed from the backend
* Update test file
* Begin deprecating perl backend.
* Deprecate backend [skip ci]
* Routine checkin of code.
* Added docs + preprocessing.
* Deprecate perl eval backend.
* Checking in some code.'
* Handle bad search expressions by defaulting to 0
* Add ability to recover with grace from bad expressions from search bar.
* Removed unnessesary perl code.
* Add support for factorials with !
* cleanup trailing spaces
* Removed trig constants.
* Support tau in expression.
* Removed ln preprocess.
* Support leading =. Removed moot code.
* Add support for euro and pound.
* Removed nat lang query parsing from js.
* strip duplicate operators
* Fixed legacy spacing issue in tests.
* Remove empty exponent.
* Bail on hex looking entries.
* better handling of repeated operators
* Remove max import
* revert back to old check for 3+ operators
* relax phone number regex for now
* remove silly test
* added html entities goodie
* fixed trigger
* added tests
* fixed review issues
fixed CSS classes, fixed file names, switched from JSON to YML
* fixed tests and file loading
* renamed to camel case
* deleted AsciiTable.pm
* changed to camel case
* Remove extra newlines
* Fix indentation for Beta server
* Use chompContent
* Simplify CSS
* Remove scrolling div
* Fix test
* Switch overflow control to .c-base__content div
* Add: Initialized ASCII Table Goodie
* Update: Fixed content options
* Update: Title added to td tags
* Update: CSS for tables
* Fix: Makes titles more verbose in template
* Update: Tests for Ascii Table added
* AsciiTable: Fix variable name to be more generic
* AsciiTable: Improved testing of IA
* AsciiTable: Chomp the table
* AsciiTable: Add meta source
* AsciiTable: Rename table_rows -> table
* AsciiTable: Use already existing CSS
* AsciiTable: Data now contains Headers
* AsciiTable: Makes template more generic
* AsciiTable: Updated tests for checking table headers
* AsciiTable: Fix required table styling
* AsciiTable: Fix tests
* Use CSS to set chomp height
* Remove table scroll div
* Switch to List template
* Update AsciiTable.t
* DateRole: Adding failing test for `$nth of $month $year`
* DateRole: Now parses "7th of march 2017"
* DateRole: Adding failing test for '5 of jan 1993' (no suffix and short month)
* DateRole: Handles 5 of march
* DateRole: Now also handle "march the 30th, 2017"
* Conversions: Unphysical units like millibits (mb) and millibytes(mB) should be assumed as mega instead
* Conversions: Now has multiple symbols (case sensitive matches) meaning that Kb and kb both mean kilobits and KB and kB both mean kilobytes :D
* Added variable for non-stribbable triggers.
* Added unstripped triggers to the trigger list
* Added tests to Timer in correspondence of the new triggers
* Removed unnecessary test, added trigger words of hrs and secs and their counterparts.
* Typo fix
* FIX FOR ISSUE #4028
-> Set triggers to only apply to start of search string so the IA isn't triggered for
programming-related searches
-> Removed triggers 'characters count', 'length of string' and 'chars'
as they are unintuitive and can clash with programming requests
-> Added 'of' as a leading word to be removed so queries such as 'length in chars of foo'
count only the characters in 'foo'
-> Updated test script to reflect these changes
* Fix#4028 - reduce overtriggering of 'Chars' goodie
-> Set triggers to only apply to start of search string so the IA isn't triggered for
programming-related searches
-> Removed triggers 'characters count', 'length of string' and 'chars'
as they are unintuitive and can clash with programming requests
-> Added 'of' as a leading word to be removed so queries such as 'length in chars of foo'
count only the characters in 'foo'
-> Updated test script to reflect these changes
* NumbersRole: Despite the role being case insensitive, the number_style_regex isn't! Adding failing test
* NumbersRole: Fixing indentation
* Conversions: Adding tests around implicit case insensitivity in current implementation
* Conversions: Moved all case insensitive behaviour into the handle query so it's explicit rather than relying on query_lc to do the work for us
* Conversions: Adding symbol definitions for case sensitive handling
* Conversions: Fixing markup
* Conversions: UTF8 with BOM on ratios and adding symbol as a trigger
* Conversions: Symbol is now used (case sensitive) to match for factors
* Conversions: The test 'BTU to KwH' should fail (this isn't a unit), however it was causing a division by zero as get_matches wasn't finding a match and this condition wasn't handled correctly
* Conversions: Typo! KwH shouldn't trigger
* Conversions: Tests involving symbols now need to be correct according to SI
* Conversions: Tests around "oz" that should be interpreted as fl oz if the answer should unambiguously be a volume
* Conversions: Will handle ambiguity around oz for more units
* Conversions: Uncommenting tests around digital storage units and fixing them so they're actually correct
* Add Timer files
* Rename Spice -> Goodie
* Move structured answer into Perl
* Update display
Now working.
I removed the 'isMobile' flag, as 'DDG.device.isMobile' was causing it
to crash, and the mobile display wasn't pretty anyway ("Add Timer" was
wrapping). Instead it will use '+' for both.
* Move time parsing into Perl
This way we can check that parsed values are correct in the tests
easily; it also gives us something sensible to return (the start time in
seconds).
* Fix issue with queries like '5s'
* Fix alarm not being located correctly
It was pointing at 'share/spice'.
* Re-enable mobile text
Fixed the issue with mobile display.
* Integrate changes from Spice #3134
Adds the changes from duckduckgo/zeroclickinfo-spice#3134.
* Integrate changes from Spice #2656
Adds the changes from duckduckgo/zeroclickinfo-spice#2656
* Update ID to 'timer_goodie'
* Ensure time from query is used as default
* NumbersRole: No tests covering exponentials
* NumbersRole: Improving test coverage
* NumbersRole: Despite the role being case insensitive, the number_style_regex isn't! Adding failing test
* NumbersRole: number_style_regex now case insensitive
* NumbersRole: Fixing indentation
* Conversions: User feedback has indicated a preference for 3 sig figs for small(ish) results: #3984
* Conversions: Introducing the ability to have significant figures rather than decimal places for numbers <1
* Conversions: The reality is users want to see decimal places for 'normal numbers' (1,765.432 for example) but sig figs for something around 1 so that fractions can be expressed (0.0625 for example)
* Conversions: Bringing tests inline with 3 SF for results < 1; this is more aesthetically pleasing in my opinion
* ParcelForce: Should not trigger for non-UK parcels
* ParcelForce: Starting with KB clashes with Microsoft KB Articles; AFAIK this isn't a valid parcelforce tracking number anyway
* ParcelForce: Working around #3986
* Conversions: The precision (i.e. number of digits after a .) and the significant digits displayed in scientific notation were the same value; there are a few issues with people requesting more accuracy in scientific notation, and none for accuracy
* Conversions: Increasing accuracy of values in tests in-line with new significant figures output
* Conversions: Adding lightyear and lightyears as accepted variants of "light year"
* 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
* 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