Skip to content

alehaa/nginx-fancyindex-flat-theme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flat theme for nginx's fancyindex module

About

The fancyindex module of nginx has the powerful capability to be customizable. Instead of using an external application, this gives us the ability to use just the webserver's capabilities to generate beautiful directory listings.

This theme provides a simple, flat interface based on Bootstrap 4, Font Awesome and (for easy navigation in galleries) lightbox2. In combination with the browser's preview capability, accessing the majority of files should be possible, giving the user easy access without a single line of server-side dynamic code.

Usage

  1. Get the latest resources from GitHub releases, or build them yourself by running make inside this repository. Instructions on how to build the resources can be found below.
  2. Copy these files into any location accessible by nginx.
  3. Configure your vhost to use the theme's resources for fancyindex:
    # Fancyindex
    fancyindex             on;
    fancyindex_header      "/theme/header.html";
    fancyindex_footer      "/theme/footer.html";
    fancyindex_show_path   off;
    fancyindex_name_length 255;
    fancyindex_exact_size  off;
    fancyindex_localtime   on;
    
    location /theme/{
        alias /srv/www/fileserver/theme/;
    }
    

Build

Instead of using pre-built sources, you can build them on a local machine. For convenience, a Dockerfile is provided that creates a container with all the necessary tools to compile the sources. You can easily build the theme using the following commands:

docker build -t fancyindex-flat .
docker run --rm -it -v ./:/mnt -w /mnt fancyindex-flat make

The compiled sources for the theme will be located in the build directory.

License

The nginx-fancyindex-flat-theme is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A Copy of the GNU General Public License can be found in the LICENSE file.

© 2018-2024 Alexander Haase