Fuzzy Search documentation from the CLI.
See it in action here https://terminalizer.com/view/2c3935cf1418
Disclaimer This tool was built to learn FZF
capabilities. Feel free to use it or extend it.
Usage
doc-fzf ansible
doc-fzf ansible -q yum
Installation
pip3 install doc-fzf
Verify your installation:
doc-fzf -h
usage: doc-fzf.py [-h] [-q QUERY] module_name
doc-fzf.
positional arguments:
module_name Name of the module to search
optional arguments:
-h, --help show this help message and exit
-q QUERY Query the docs
Extending Doc-FZF
doc-fzf
is a modular application. It can load modules at runtime that scrap websites in any way you like.
Any module should always contain:
- class name must always be
Screapper(FZFDoc)
self.documentation_url
attributedef get_documentation(self):
function that must always return a tuple (“url”, “description”)
from doc_fzf.pyfzf import FZFDoc
class Scrapper(FZFDoc):
def __init__(self):
self.base_url = "https://docs.python.org/3"
self.documentation_url = "{0}/py-modindex.html".format(self.base_url)
FZFDoc.__init__(self, self.documentation_url)
def get_documentation(self):
""" Return a tuple of (url, description)
"""
docs = get_online_documentation()
for doc in docs:
yield (doc.url, doc.description)
Here is the ansible documentation example
Road Map
- Module definition
- FZFDoc base class
- File system cache layer
- Load dynamic modules