# Indexer Indexer is a Python script that generates an .html index of files within a selected directory. You can start from the current directory or from folder passed as first positional argument. Optionally filter by file types with --filter "\*.py". This script is an hodgepodge of older scripts [collected](https://stackoverflow.com/questions/10961378/how-to-generate-an-html-directory-list-using-python) & built over the years. * Blog Post: https://joshbrunty.github.io/2021/10/29/indexer.html * Video Tutorial (YouTube): https://youtu.be/-1_gVP3NtPo ## Prerequisites: * This script requires you to have **[Python > 3.x.x](https://www.python.org/downloads/)** installed on your system. * Ideally use the current build of **[Python 3.10](https://www.python.org/downloads/release/python-3100/)** (significantly faster processing on larger directories! 🏃) ## Usage ```python3 indexer.py /top_dir``` ## Positional arguments: * ```top_dir```: top folder from which to start generating indexes (*uses current working directory/folder if not specified*). ## Optional arguments: * ```-h, --help```: show help message (along with available options) * ```-f, --filter```: only include files matching [glob](https://docs.python.org/3/library/glob.html) (i.e.```indexer.py --filter '\**/*.jpg'*```). * ```-o filename, --output-file filename```: Custom output file (by default generates "index.html") * ```-r, --recursive```: recursively process nested folders/directories (*Off/False by default*). * ```-v, --verbose```: verbosely list every processed file. (*NOTE: will take longer time with complex file tree structures on slow terminals.*) ## Features: * File Size & Modified Time display for each file. * Create a custom output file (*by default *index.html* is generated*). * Ability to match/filter specified parameters using [glob](https://docs.python.org/3/library/glob.html) (*'\**/*.jpg' & '\**/*.UFD'*). ## Contact * Email: josh [dot] brunty [at] marshall [dot] edu * Follow @joshbrunty on Twitter [![Twitter Follow](https://img.shields.io/twitter/follow/shields_io.svg?style=social&label=Follow&maxAge=25920)](https://twitter.com/joshbrunty) * Indexer is Open Source via the MIT License (MIT): SysScout is Open Source via MIT License