Páginas de índice automático personalizadas com nginx

4

Existe uma maneira de definir suas próprias páginas de índice automático no nginx?

Eu quero adicionar meu próprio HTML e CSS às páginas de índice automático geradas.

    
por pvorb 19.09.2011 / 00:02

5 respostas

5

Usando o XSLT é possível personalizar a saída xml do autoindex usando o módulo xslt :

location / {
    autoindex on;
    autoindex_format xml;
    xslt_stylesheet /path/to/custom.xslt
}

Foi o que fiz neste projeto: ngx-superbindex

    
por 18.08.2016 / 05:04
5

Mesma resposta que gibatronic : aproveite o poder do xslt! Dê uma olhada neste exemplo de arquivo xslt:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
    <html>
    <body>
        <h3>Dafshabbat</h3>
        <table border="0">
        <tr bgcolor="#9acd32">
            <th>name</th>
            <th>size</th>
            <th>date</th>
        </tr>
        <xsl:for-each select="list/*">
        <xsl:sort select="mtime"/>

            <xsl:variable name="name">
                <xsl:value-of select="."/>
            </xsl:variable>
            <xsl:variable name="size">
                <xsl:if test="string-length(@size) &gt; 0">
                        <xsl:if test="number(@size) &gt; 0">
                            <xsl:choose>
                                    <xsl:when test="round(@size div 1024) &lt; 1"><xsl:value-of select="@size" /></xsl:when>
                                    <xsl:when test="round(@size div 1048576) &lt; 1"><xsl:value-of select="format-number((@size div 1024), '0.0')" />K</xsl:when>
                                    <xsl:otherwise><xsl:value-of select="format-number((@size div 1048576), '0.00')" />M</xsl:otherwise>
                            </xsl:choose>
                        </xsl:if>
                </xsl:if>
            </xsl:variable>
            <xsl:variable name="date">
                <xsl:value-of select="substring(@mtime,9,2)"/>-<xsl:value-of select="substring(@mtime,6,2)"/>-<xsl:value-of select="substring(@mtime,1,4)"/><xsl:text> </xsl:text>
                <xsl:value-of select="substring(@mtime,12,2)"/>:<xsl:value-of select="substring(@mtime,15,2)"/>:<xsl:value-of select="substring(@mtime,18,2)"/>
            </xsl:variable>

        <tr>
            <td><a href="{$name}"><xsl:value-of select="."/></a></td>
            <td align="right"><xsl:value-of select="$size"/></td>
            <td><xsl:value-of select="$date"/></td>
        </tr>

        </xsl:for-each>
        </table>
    </body>
    </html>
    </xsl:template>
</xsl:stylesheet>

O que eu particularmente gosto é da capacidade de classificar por data, definida aqui com: <xsl:sort select="mtime"/>

Isso certamente requer mais esforço para configurar em comparação com a adição de algumas diretivas em um arquivo .htaccess. E , arquivos xml são trabalhosos para escrever e ler. No entanto, o potencial de personalização é ótimo e muito bom ter!

Veja um tutorial introdutório sobre w3schools .

    
por 05.01.2018 / 12:26
2

A existência do módulo Fancy Index sugere que o módulo de auto-índice embutido não possui capacidade de personalização. Eu não tenho certeza se eu recomendaria o módulo de indexação sofisticado - não parece que ele esteja particularmente atualizado (editado pela última vez em 2007 ...)

    
por 19.09.2011 / 02:22
1

Acontece que você pode adicionar HTML válido com o link .

Eu não pretendo entendê-lo totalmente, mas há um repositório que exatamente o que você quer , para que você possa tentar e de lá ir.

    
por 06.08.2018 / 12:38
-2

Você também pode tentar h5ai:

link

Eles fornecem uma interface muito legal para navegar pelos arquivos.

    
por 28.08.2014 / 16:36

Tags