/README.md
Markdown | 49 lines | 41 code | 8 blank | 0 comment | 0 complexity | 0a060762604dcde9f54e635893e0b3cb MD5 | raw file
1DuckDuckHack Developer Overview 2=== 3## What is this? 4 5[DuckDuckGo](https://duckduckgo.com/) is a general purpose search engine. We've created a platform called [DuckDuckHack](http://duckduckhack.com/) that enables developers to write open source plugins on top of the search engine (like [add-ons for Firefox](https://addons.mozilla.org/en-US/firefox/addon/duckduckgo-for-firefox/?src=ss)). DuckDuckGo plugins react to search queries and provide [useful](https://duckduckgo.com/?q=%40duckduckgo) [instant](https://duckduckgo.com/?q=roman+xvi) [answers](https://duckduckgo.com/?q=private+ips) above traditional links. 6 7 8 9If you want to get involved in making DuckDuckGo a better search engine, you've come to the right place! 10 11* If **you are a developer**, this guide serves as a master jumping-off point for the DuckDuckHack platform. 12* If **you are not a developer, but would like to become one** to help with DuckDuckHack, we recommend the [JavaScript course at Codecademy](http://www.codecademy.com/tracks/javascript). That will help you to get started with the Spice plugin type (explained below). 13* If **you have no intention of becoming a developer**, there is still a lot you can do at our [ideas companion site](http://ideas.duckduckhack.com/) where you can suggest and comment on plugin ideas such as identifying the best sites and data sources to draw from. Similarly, you can submit [issues about current plugins](https://github.com/duckduckgo/duckduckgo/issues?direction=desc&sort=created&state=open). Both of these activities are very valuable and will help direct community efforts. 14 15The DuckDuckHack platform is constantly changing as community contributors add new features. As a result, some plugin types have better interfaces than others. We will be improving the platform based on [your feedback](https://www.listbox.com/subscribe/?list_id=197814). 16Our long-term goal is to be able to distribute all DuckDuckHack (and internal) instant answers via the [DuckDuckGo Instant Answers API](https://api.duckduckgo.com). 17Currently [fathead](https://github.com/duckduckgo/zeroclickinfo-fathead) and [goodie](#goodies-overview) plugin types 18automatically flow through. We are working on exposing the other plugin types, which are more complicated to distribute 19and can have licensing restrictions. 20 21* To learn about new plugins, follow [@duckduckhack](https://twitter.com/duckduckhack) 22* For ongoing discussion, join the [DuckDuckHack list](https://www.listbox.com/subscribe/?list_id=197814) 23 24## Index 25 26* [For non-coders](documentation/faq.md#what-if-im-not-a-coder-at-all) 27* [Why should I make plugins?](documentation/faq.md#why-should-i-make-plugins) 28* [Getting Started](documentation/getting_started.md) 29 * [Determining Plugin Type](documentation/getting_started.md#determining-plugin-type) 30 * [Guidelines](documentation/getting_started.md#guidelines) 31* [Goodies Walkthrough](documentation/goodies_overview.md) 32* [Spice Walkthrough](documentation/spice_overview.md) 33* [Fathead Overview](https://github.com/duckduckgo/zeroclickinfo-fathead) 34* [Longtail Overview](https://github.com/duckduckgo/zeroclickinfo-longtail) 35* [General](documentation/general.md) 36 * [Basic Tutorial](documentation/general.md#basic-tutorial) 37 * [Triggers](documentation/general.md#triggers) 38 * [Submitting Plugins](documentation/general.md#submitting-plugins) 39* [Testing](documentation/testing.md) 40 * [Testing Triggers](documentation/testing.md#testing-triggers) 41 * [Installing DuckPAN](documentation/testing.md#testing-triggers) 42 * [Plugin Test Files](documentation/testing.md#plugin-test-files) 43 * [Testing Spice HTML](documentation/testing.md#testing-spice-html) 44* [Spice](documentation/spice.md) 45 * [Spice Handle Functions (spice backend)](documentation/spice.md#spice-handle-functions) 46 * [Frontend Spice development](documentation/spice2.md) 47 * [Advanced Spice Backend](https://github.com/duckduckgo/zeroclickinfo-spice#advanced-spice) 48* [Location API](documentation/location_api.md) 49* [FAQ](documentation/faq.md)