ferret/README.md
2018-02-09 17:10:16 -05:00

44 lines
1.3 KiB
Markdown

# ferret
Search DuckDuckGo in your terminal.
Run `ferret` and enter a search query:
![dialog box for entering search query](doc/search_input.png)
Ferret will display the first page of results:
![list of results scraped from DuckDuckGo](doc/results_list.png)
Press Enter on a result and it will open the result in a terminal text-based web
browser (w3m):
![viewing a search result in the w3m terminal web browser](doc/w3m.png)
## Why DuckDuckGo
Not only does it respect your privacy, but they are also pretty lenient about
not blocking scrapers. Google will eventually detect scrapers and force you to
fill out a captcha.
## Bugs
There's [an issue](https://github.com/gyscos/Cursive/issues/199) with launching
a sub program in [Cursive](https://github.com/gyscos/Cursive), the Rust
terminal UI library I'm using, where keyboard input doesn't quite go through
and the cursor does not show up.
## Todo
* Allow pressing 0-9 take you to that Nth result (0 == 10)
* Allow configuring colors
* Allow configuring web browser
* Error if screen is too small
* Display DuckDuckGo instant answers
* Support other search engines
* Add search history (press up arrow to get previous search entered)
* Cache search results
* Add autocompletion
* Refactor out scraping code into a separate module from the UI code
* Add tests