ferret/README.md

43 lines
1.2 KiB
Markdown
Raw Normal View History

2018-02-09 22:08:06 +00:00
# ferret
Search DuckDuckGo in your terminal.
Run `ferret` and enter a search query:
![dialog box for entering search query](docs/search_input.png)
Ferret will display the first page of results:
![list of results scraped from DuckDuckGo](docs/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](docs/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]() with launching a sub program in [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