# Fancyindex: кастомізований список файлів для Nginx

Недавно опублікував розділ подкастів для проєкту Pidpilne:
=> pidpilne.gmi Підпільне: ретрансляція українського мовлення

Вирішив відобразити список файлів засобами Nginx, додавши відносне посилання прямо до /etc/icecast2/web/status.xsl (для підтримки мульти-хост)

Але біда у тому, що в стандартному autoindex:

* обмежена довжина назви файлів
* немає адаптивної теми, що мучить мої вампірські очі

І о диво!

``` bash
apt install libnginx-mod-http-fancyindex
```

``` /etc/nginx/sites-available/default
    # файл хедера чомусь повинен розміщуватись відносно кореню
    # тому для нього створено публічну локацію без фізичного файла
    location /podcast/header.html {
        alias /var/www/icecast/header.html;
    }
    # список файлів для розділу подкастів, розташований тут:
    location /podcast {
        alias /path/to/icecast/podcast;
        charset utf-8;
        fancyindex on;
        fancyindex_name_length 255;
        fancyindex_exact_size off;
        fancyindex_directories_first on;
        fancyindex_header "/podcast/header.html";
        fancyindex_ignore "theme";
    }
```

З хедером поки не заморочувався, така вийшла каша-закос під стилі оригінального Icecast:

``` /var/www/icecast/header.html
<!DOCTYPE html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width"><style type="text/css">body,html {background:#000;font-family:"Bitstream Vera Sans","Lucida Grande","Lucida Sans Unicode",Lucidux,Verdana,Lucida,sans-serif;color:#fff;}tr:nth-child(even) {background:#000;}th,td {padding:0.1em 0.5em;}th {text-align:left;font-weight:bold;border-bottom:1px solid #aaa;}#list {border:1px solid #aaa;width:100%;}a {color:#f8ef64;}tbody a:hover {color:#f8ef64!important;}tbody a:visited {color:#dfd215;}</style>
```

## Дивіться також

=> simple-nginx-autoindex-conversion-to-rss.gmi Конвертація Nginx autoindex в RSS
=> ffmpeg-aacp-on-fedora-linux.gmi Збірка ffmpeg з підтримкою AAC+ засобами FDK AAC (дампи подкастів)