fancyindex: Модуль Fancy Index для NGINX
Установка на Debian/Ubuntu
Эти документы относятся к APT пакету nginx-module-fancyindex, предоставляемому репозиторием GetPageSpeed Extras.
- Настройте репозиторий APT, как описано в настройке репозитория APT.
- Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-fancyindex
Показать дистрибутивы и архитектуры
| Дистрибутив | Версия | Компонент | Архитектуры |
|-------------|-------------------|-------------|-----------------|
| debian | bookworm | main | amd64, arm64 |
| debian | bookworm-mainline | main | amd64, arm64 |
| debian | trixie | main | amd64, arm64 |
| debian | trixie-mainline | main | amd64, arm64 |
| ubuntu | focal | main | amd64, arm64 |
| ubuntu | focal-mainline | main | amd64, arm64 |
| ubuntu | jammy | main | amd64, arm64 |
| ubuntu | jammy-mainline | main | amd64, arm64 |
| ubuntu | noble | main | amd64, arm64 |
| ubuntu | noble-mainline | main | amd64, arm64 |
Модуль Fancy Index позволяет генерировать списки файлов, так же как это делает встроенный модуль autoindex, но с добавлением стиля. Это возможно, потому что модуль позволяет определенный уровень настройки сгенерированного контента:
- Пользовательские заголовки. Локальные или удаленные.
- Пользовательские подвала. Локальные или удаленные.
- Добавьте свои собственные правила CSS.
- Возможность сортировки элементов по имени (по умолчанию), времени изменения или размеру; как в порядке возрастания (по умолчанию), так и в порядке убывания.
Этот модуль предназначен для работы с Nginx, высокопроизводительным открытым веб-сервером, написанным Игорем Сысоевым.
Пример
Вы можете протестировать стандартный встроенный стиль, добавив следующие строки
в раздел server в вашем файле конфигурации Nginx:
location / {
fancyindex on; # Включить красивые индексы.
fancyindex_exact_size off; # Выводить размеры файлов в удобочитаемом формате.
}
Темы
Следующие темы демонстрируют уровень настройки, который можно добиться с помощью модуля:
- Тема от @TheInsomniac. Использует пользовательский заголовок и подвал.
- Тема от @Naereen. Использует пользовательский заголовок и подвал, заголовок включает поле поиска для фильтрации по имени файла с использованием JavaScript.
- Тема от @fraoustin. Адаптивная тема, использующая элементы Material Design.
- Тема от @alehaa. Простой, плоский тема на основе Bootstrap 4 и FontAwesome.
Директивы
fancyindex
Синтаксис
fancyindex [on | off]
По умолчанию
fancyindex off
Контекст
http, server, location
Описание
Включает или отключает красивые индексы директорий.
fancyindex_default_sort
Синтаксис
fancyindex_default_sort [name | size | date | name_desc |
size_desc | date_desc]
По умолчанию
fancyindex_default_sort name
Контекст
http, server, location
Описание
Определяет критерий сортировки по умолчанию.
fancyindex_directories_first
Синтаксис
fancyindex_directories_first [on | off]
По умолчанию
fancyindex_directories_first on
Контекст
http, server, location
Описание
Если включено (по умолчанию), группирует директории вместе и сортирует их
перед всеми обычными файлами. Если отключено, директории сортируются вместе
с файлами.
fancyindex_css_href
Синтаксис
fancyindex_css_href uri
По умолчанию
fancyindex_css_href ""
Контекст
http, server, location
Описание
Позволяет вставить ссылку на CSS таблицу стилей в сгенерированные списки. Параметр uri будет вставлен без изменений в HTML тег <link>.
Ссылка вставляется после встроенных CSS правил, так что вы можете переопределить
стили по умолчанию.
fancyindex_exact_size
Синтаксис
fancyindex_exact_size [on | off]
По умолчанию
fancyindex_exact_size on
Контекст
http, server, location
Описание
Определяет, как представлять размеры файлов в списке директорий; либо
точно, либо округляя до килобайта, мегабайта и гигабайта.
fancyindex_name_length
Синтаксис
fancyindex_name_length length
По умолчанию
fancyindex_name_length 50
Контекст
http, server, location
Описание
Определяет максимальную длину имени файла в байтах.
fancyindex_footer
Синтаксис
fancyindex_footer path [subrequest | local]
По умолчанию
fancyindex_footer ""
Контекст
http, server, location
Описание
Указывает, какой файл должен быть вставлен в подвал списков директорий. Если установлено в пустую строку, будет отправлен
стандартный подвал, предоставляемый модулем. Необязательный параметр указывает, должна ли path
интерпретироваться как URI для загрузки с помощью subrequest (по умолчанию)
или относится к local файлу.
[!NOTE] Использование этой директивы требует ngx_http_addition_module, встроенного в Nginx.
[!WARNING] При вставке пользовательского заголовка/подула будет выполнен подзапрос, поэтому потенциально любой URL может быть использованКак источник для них. Хотя это будет работать с внешними URL, поддерживается только использование внутренних. Внешние URL совершенно не тестировались, и их использование приведет к блокировке Nginx, пока не завершится подзапрос. Если вы считаете, что внешний заголовок/подвал необходимы для вас, пожалуйста, сообщите мне.
fancyindex_header
Синтаксис
fancyindex_header path [subrequest | local]
По умолчанию
fancyindex_header ""
Контекст
http, server, location
Описание
Указывает, какой файл должен быть вставлен в заголовок списков директорий. Если установлено в пустую строку, будет отправлен
стандартный заголовок, предоставляемый модулем. Необязательный параметр указывает, должна ли path
интерпретироваться как URI для загрузки с помощью subrequest (по умолчанию)
или относится к local файлу.
[!NOTE] Использование этой директивы требует ngx_http_addition_module, встроенного в Nginx.
fancyindex_show_path
Синтаксис
fancyindex_show_path [on | off]
По умолчанию
fancyindex_show_path on
Контекст
http, server, location
Описание
Определяет, выводить ли путь и закрывающий тег \</h1> после заголовка или нет. Это полезно, когда вы хотите обработать отображение пути с помощью
PHP-скрипта, например.
[!WARNING] Эта директива может быть отключена только если предоставлен пользовательский заголовок с помощью fancyindex_header.
fancyindex_show_dotfiles \~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~~ :Синтаксис: fancyindex_show_dotfiles [on | off] :По умолчанию: fancyindex_show_dotfiles off :Контекст: http, server, location :Описание: Показывать ли файлы, которые начинаются с точки. Обычная практика — скрывать их.
fancyindex_ignore
Синтаксис
fancyindex_ignore string1 [string2 [... stringN]]
По умолчанию
Нет по умолчанию.
Контекст
http, server, location
Описание
Указывает список имен файлов, которые не будут показаны в сгенерированных
списках. Если Nginx был собран с поддержкой PCRE, строки интерпретируются
как регулярные выражения.
fancyindex_hide_symlinks
Синтаксис
fancyindex_hide_symlinks [on | off]
По умолчанию
fancyindex_hide_symlinks off
Контекст
http, server, location
Описание
При включении сгенерированные списки не будут содержать символических ссылок.
fancyindex_hide_parent_dir \~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~~ :Синтаксис: fancyindex_hide_parent_dir [on | off] :По умолчанию: fancyindex_hide_parent_dir off :Контекст: http, server, location :Описание: При включении не будет показан родительский каталог.
fancyindex_localtime
Синтаксис
fancyindex_localtime [on | off]
По умолчанию
fancyindex_localtime off
Контекст
http, server, location
Описание
Включает отображение времени файлов в местном времени. По умолчанию «off» (GMT время).
fancyindex_time_format
Синтаксис
fancyindex_time_format string
По умолчанию
fancyindex_time_format "%Y-%b-%d %H:%M"
Контекст
http, server, location
Описание
Строка формата, используемая для отметок времени. Спецификаторы формата являются подмножеством
поддерживаемых функцией strftime,
и поведение не зависит от локали (например, названия дней и месяцев всегда на английском). Поддерживаемые форматы:
%a: Сокращенное название дня недели.%A: Полное название дня недели.%b: Сокращенное название месяца.%B: Полное название месяца.%d: День месяца в десятичном формате (диапазон 01 до 31).%e: Как%d, день месяца в десятичном формате, но ведущий ноль заменяется пробелом.%F: Эквивалентно%Y-%m-%d(формат даты ISO 8601).%H: Час в десятичном формате с использованием 24-часового формата (диапазон 00 до 23).%I: Час в десятичном формате с использованием 12-часового формата (диапазон 01 до 12).%k: Час (24-часовой формат) в десятичном формате (диапазон 0 до 23); однозначные цифры предшествуют пробелом.%l: Час (12-часовой формат) в десятичном формате (диапазон 1 до 12); однозначные цифры предшествуют пробелом.%m: Месяц в десятичном формате (диапазон 01 до 12).%M: Минута в десятичном формате (диапазон 00 до 59).%p: Либо "AM", либо "PM" в зависимости от данного значения времени.%P: Как%p, но в нижнем регистре: "am" или "pm".%r: Время в формате a.m. или p.m. Эквивалентно%I:%M:%S %p.%R: Время в 24-часовом формате (%H:%M).%S: Секунда в десятичном формате (диапазон 00 до 60).%T: Время в 24-часовом формате (%H:%M:%S).%u: День недели в десятичном формате, диапазон 1 до 7, понедельник — 1.%w: День недели в десятичном формате, диапазон 0 до 6, понедельник — 0.%y: Год в десятичном формате без века (диапазон 00 до 99).%Y: Год в десятичном формате, включая век.