# Parsers of tsumugu
This is a list of parsers that tsumugu supports:
- apache_f2: [Apache2's autoindex](https://httpd.apache.org/docs/2.4/mod/mod_autoindex.html) with HTMLTable FancyIndexed list (`F=2`).
- directory_lister: [Directory Lister](https://www.directorylister.com/).
- docker: A specialized parser for .
- lighttpd: [lighttpd's mod_dirlisting](https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModDirlisting).
- nginx: [Nginx's autoindex](https://nginx.org/en/docs/http/ngx_http_autoindex_module.html). It should also work with Apache2's autoindex `F=1` mode.
- caddy: [Caddy's file_server](https://caddyserver.com/docs/caddyfile/directives/file_server).
- fancyindex: [Nginx fancyindex](https://github.com/aperezdc/ngx-fancyindex).
- gradle: A specialized parser for , might suitable for other websites like this:
```html
gradle-8.10-wrapper.jar.sha256
14-Aug-2024 11:18 +0000
64.00B
```
- fallback: An inefficient fallback parser for `index.htm(l)` which is NOT a file listing:
```rust
// An inefficient fallback parser only for non-listing HTML.
// Limitations:
// 1. It requires /index.html or /index.htm available.
// Parser cannot write to disk, so index file would be accessed twice during sync.
// 2. Currently it ignores files in directories.
// For example, it recognizes "static/css.css" as contains a "static" directory only.
// If "static/" is inaccessible, "static/css.css" would NOT be synced.
// In future it might be implemented when we have another parser returning a full file tree.
// 3. It would always try HEAD to confirm existence and get file mtime & size. Items with 403/404 code would be ignored.
// 4. It does not try parse other html files.
// 5. It only looks for . ,