duckduckgo / zeroclickinfo-spice

DuckDuckGo Instant Answers based on JavaScript (JSON) APIs
https://duckduckhack.com/
Other
548 stars 942 forks source link

Port non-API Spice to Goodies #2463

Closed GuiltyDolphin closed 7 years ago

GuiltyDolphin commented 8 years ago

Goodies can support JS too! Any Spice that doesn't require API calls should be ported to Goodies, if you're interested, please follow the Guidelines below.

Guidelines

Choosing a Spice

  1. Pick an available Spice from the Relevant Spices list (if you have mentioned that you would like to port a Spice, but can no longer do so for any reason, please let me know so I can make it clearly available again).
  2. Comment to let me know which Spice you are interested in porting, feel free to inquire about Spices that are taken but haven't seen any development for a long time.

    Porting the Spice

  3. If you want to move any of the JS into Perl, feel free, but the functionality must remain the same (_if you are extending the functionality at all, please make that clear in your pull request!_).
  4. Update the tests accordingly - the test format will no longer be the same. If you are able to do so, please update the tests to actually show results rather than just responses.
  5. Make sure the tests pass (use duckpan test to test everything and duckpan test SPICE_NAME (where SPICE_NAME is the name of the Spice being ported) to test the Spice).

    Uploading your changes

  6. Make a pull request with the title Port SPICE_NAME to Goodies where SPICE_NAME is the name of the Spice you are porting. You should make one PR on Spice, which removes the Spice, and one on Goodies, which ports the functionality. _Please link to the PR on the other repo as well as this issue for both pull requests!_
  7. Add a link to the IA page of the Spice in the PR description. Do not create a new IA page for the Goodie version.
  8. If you have changed the functionality at all, please let us know in the pull request!

    Relevant Spices

    • [ ] Editor
    • [x] Timer
    • [x] Geometry
    • [x] ColorPicker
    • [x] Stopwatch
    • [x] FlashVersion

Reference to the Goodie issue: duckduckgo/zeroclickinfo-goodies#2258

GuiltyDolphin commented 8 years ago

If you spot a Spice that should (or shouldn't) be on this list, please let me know!

jagtalon commented 8 years ago

@GuiltyDolphin this is really useful! :heart: :heart: :heart:

GuiltyDolphin commented 8 years ago

@jagtalon I'll kick this off by porting Timer as an example.

jagtalon commented 8 years ago

@GuiltyDolphin yeaaaaaa

theaverageguy commented 8 years ago

I would like to take up FlashVersion. :)

GuiltyDolphin commented 8 years ago

@yash14123 Sure thing!

Remember to reference this issue in both PR's (and a reference to the other PR in each) when you're ready! :)

moollaza commented 8 years ago

@duckduckgo/duckduckhack-contributors we could really use a lot of help over here too. This is a fairly easy, but very important task.

We didn't always have JS available to Goodies and so we have a few "Spice" Instant Answers that don't actually use APIs and they should really be converted to Goodies with JS (like the 2048 Game).

There are still 4 IA's left to convert!

Is anyone interested in tackling them?

moollaza commented 8 years ago

@theaverageguy are you still interested in converting FlashVersion? If so don't forget to mention this issue in your PR so everyone else knows it's been fixed!

mattr555 commented 8 years ago

I'll port the stopwatch and color picker, as those are my other JS-only spices (I tend to make a bunch of those)

zekiel commented 8 years ago

You are my hero @mattr555

shashankgroovy commented 8 years ago

hey @mattr555 ! Are you still up for porting the color picker spice? If not I'd like to do it as my first contribution. And @GuiltyDolphin issue #2675 is pending for color picker - awaiting a better solution . so should we wait for it or can I fix that issue and port color picker together?

GuiltyDolphin commented 8 years ago

@shashankgroovy I think that solution won't be necessary as we'll be processing more of the queries in the Perl so I think it would be better handled in Perl as a Goodie (though I haven't familiarized myself with the workings of that IA).

What say you @mattr555 ?

shashankgroovy commented 8 years ago

@GuiltyDolphin will the geometry and editor spices will also be rewritten in Perl as a goodie as well? If not then I was hoping maybe I could pick up either one of them

GuiltyDolphin commented 8 years ago

@shashankgroovy Geometry has a PR in progress (duckduckgo/zeroclickinfo-goodies#2675); but I don't think there's anything in progress for Editor yet - you can pick it up if you wish :heart:

shashankgroovy commented 8 years ago

@GuiltyDolphin That'd be great. I'll take up the Editor. I will start working on it asap. I hope I can ask you for some guidance over email or slack as its it'd be my first contribution. Thanks!

edgesince84 commented 8 years ago

@shashankgroovy awesome!

GuiltyDolphin commented 8 years ago

@shashankgroovy Sure, feel free to ping me on Slack if you have any issues.

manrajgrover commented 8 years ago

@GuiltyDolphin @edgesince84 @moollaza I can start porting Editor if @shashankgroovy is okay with it. :smile: Also, if there are more IAs to be ported, please mention them.

shashankgroovy commented 8 years ago

@ManrajGrover yep go ahead!

GuiltyDolphin commented 8 years ago

@ManrajGrover I haven't spotted any - though if you see one please comment here to let me know and I can add it to the list :heart: