nginx: Длинные имена файлов в списке каталогов

Вы могли использовать Калибр программного обеспечения с открытым исходным кодом (http://calibre-ebook.com).

Это доступно для OSX, Windows и Linux.

Форматы ввода: CBZ, CBR, CBC, CHM, DJVU, EPUB, FB2, HTML, HTMLZ, ОСВЕЩЕННЫЙ, LRF, MOBI, ODT, PDF, PRC, PDB, PML, RB, RTF, SNB, TCR, TXT, TXTZ

Выходные форматы: AZW3, EPUB, FB2, OEB, ОСВЕЩЕННЫЙ, LRF, MOBI, HTMLZ, PDB, PML, RB, PDF, RTF, SNB, TCR, TXT, TXTZ

Я думаю для лучших результатов, Вы просто производите страницу справочника к HTML с помощью преобразователя страницы справочника к HTML: http://dcssrv1.oit.uci.edu/indiv/ehood/man2html.html.

8
20.07.2014, 20:17
3 ответа

Согласно документации ngx_http_autoindex_module , настройка ширины столбца для автоматически проиндексированных страниц недоступна. Компиляция из исходного кода - единственный способ внести это изменение.

Альтернативой может быть использование языка сценариев (например, php , ruby ​​ или python ) для выполнения вывода списка каталогов за вас.

Преимущества включают:

  • полностью настраиваемый с помощью CSS, JavaScript и т. Д.
  • точный контроль над списком файлов

Предостережения:

  • требует CGI например php-fpm или пассажир
  • требует дополнительных настроек
5
27.01.2020, 20:11

Поскольку, похоже, нет другого способа добиться этого, кроме компиляции nginx из исходного кода, это будет обходной путь :

Вы можете автоматически создайте файл index.html в текущей папке, который содержит весь путь, с помощью этого сценария:

#!/bin/bash
# scriptname: /usr/local/sbin/directory-long-index.sh
# 
# the directory_root without slash at the end:
WEB=/var/www/
#reacheable url from inside the server:
URL=http://localhost

P=$(pwd|sed "s|$WEB/||")
echo "download $URL/$P/ to index.html"
curl "$URL/$P/" -o index.html
sed -i 's|href="\(.*\)".*</a>|style="display:inline-block;min-width:500px" href="\1">\1</a>|' index.html

внутри папки просто вызовите:

source /usr/local/sbin/directory-long-index.sh

источник: https://gist.github.com/rubo77/ c7a9434eb104c00bf8772b2278284360


Другой обходной путь - создание простого списка каталогов с нуля с помощью

for i in *; do echo '<a href="'$i'">'$i'</a><br>'>>index.html; done
1
27.01.2020, 20:11

Попробуйте это,

autoindex on;
autoindex_format json; # <- configure like this, your will get full name, FORMAT IN JSON

Документ из Модуль ngx _http _автоиндекс _модуль

-1
27.01.2020, 20:11

Теги

Похожие вопросы