Combine DevDocs API documentation, the fzf fuzzy finder, and the elinks text-based browser—all within your terminal. ☯
- 🔎 Lightning-fast search: Use fzf to filter docs instantly.
- 🛠 Offline-friendly: Access 100+ documentation sets including HTML, CSS, JS, Python, C++, and more.
- 🖥 Terminal-native: Works without a GUI using elinks.
devdocs consists of three command-line tools:
- 🔭 devopen — Open a documentation entry or topic index.
Usage: devopen [-p|--preview] [topic] [entry]
or: devopen -h|--help
or: devopen -v|--version
If topic is omitted or set to ?, the entry will be searched
in all available topics.
If entry is omitted, index page for the given topic will be shown.
- 🔍 devgrep — Fuzzy search for entries across one or all documentation topics.
Usage: devgrep [-p|--preview] [topic] [pattern]
or: devgrep -h|--help
or: devgrep -v|--version
If topic is omitted or set to ?, the pattern will be searched in
all available topics.
If pattern is omitted, all entries for the given topic will be searched.
- 🧰 devmanage — Install, remove, and update documentation topics.
Usage: devmanage -a|--all
or: devmanage -l|--local
or: devmanage -u|--update
or: devmanage -i|--install topic [topic] ...
or: devmanage -r|--remove topic [topic] ...
or: devmanage -h|--help
or: devmanage -v|--version
Where:
-a|--all Show all topics available online.
-l|--local Show locally cached topics.
-u|--update Update all local topics.
-i|--install Cache one or more topics locally.
-r|--remove Remove local topic(s).
You can use the --preview option with both devgrep and devopen:
Debian/Ubuntu/etc:
sudo add-apt-repository ppa:ppa-verse/devdocs
sudo apt install devdocs
# find doc packages you are interested in and install them as well, eg:
apt list devdocs-data-*
sudo apt install devdocs-data-css devdocs-data-html
RaspberryPi:
$ sudo add-apt-repository -S deb https://ppa.launchpadcontent.net/ppa-verse/devdocs/ubuntu jammy main
$ sudo apt install devdocs
# install doc packages as above
Stable version (requires CMake >= 3.16, elinks >= 0.17.1, fzf, python3 with Pygments and lxml).
$ p=devdocs v=1.1.4
$ wget https://github.com/dimitry-ishenko-cpp/${p}/archive/v${v}.tar.gz
$ tar xzf v${v}.tar.gz
$ mkdir ${p}-${v}/build
$ cd ${p}-${v}/build
$ cmake ..
$ make
$ make install
To install system-wide, change the last 3 commands above to:
$ cmake -DSYSTEM_INSTALL=ON ..
$ make
$ sudo make install
- Dimitry Ishenko - dimitry (dot) ishenko (at) (gee) mail (dot) com
This project is distributed under the GNU GPL license. See the LICENSE.md file for details.
Share and enjoy.