{"id":13399778,"url":"https://github.com/Naereen/Nginx-Fancyindex-Theme","last_synced_at":"2025-03-14T04:31:56.147Z","repository":{"id":43361379,"uuid":"46458839","full_name":"Naereen/Nginx-Fancyindex-Theme","owner":"Naereen","description":"A :iphone: responsive theme for Nginx Fancyindex module :wrench:. Minimal, modern and simple. ☀ Light \u0026 😎 Dark themes. Comes with a search form :mag_right:, aims to handle thousands of files without any problems :open_file_folder:","archived":false,"fork":false,"pushed_at":"2022-09-16T20:16:46.000Z","size":663,"stargazers_count":491,"open_issues_count":2,"forks_count":119,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-10-23T21:58:55.840Z","etag":null,"topics":["fancyindex","nginx","nginx-fancyindex-theme","responsive-theme"],"latest_commit_sha":null,"homepage":"https://perso.crans.org/besson/publis/Nginx-Fancyindex-Theme/","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Naereen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"Naereen","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2015-11-19T01:22:58.000Z","updated_at":"2024-10-09T01:18:20.000Z","dependencies_parsed_at":"2023-01-18T11:17:56.266Z","dependency_job_id":null,"html_url":"https://github.com/Naereen/Nginx-Fancyindex-Theme","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naereen%2FNginx-Fancyindex-Theme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naereen%2FNginx-Fancyindex-Theme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naereen%2FNginx-Fancyindex-Theme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naereen%2FNginx-Fancyindex-Theme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Naereen","download_url":"https://codeload.github.com/Naereen/Nginx-Fancyindex-Theme/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243526885,"owners_count":20305109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fancyindex","nginx","nginx-fancyindex-theme","responsive-theme"],"created_at":"2024-07-30T19:00:42.732Z","updated_at":"2025-03-14T04:31:56.111Z","avatar_url":"https://github.com/Naereen.png","language":"CSS","funding_links":["https://github.com/sponsors/Naereen"],"categories":["CSS"],"sub_categories":[],"readme":"# Nginx-Fancyindex-Theme\nA responsive theme for [Nginx](https://www.nginx.org/) Fancyindex module. Minimal, modern and simple.\nComes with a search form, aims to handle thousands of files without any problems.\n\nThe fancyindex module can be found [here](https://github.com/aperezdc/ngx-fancyindex) (by @aperezdc).\n\n[![made-for-nginx](https://img.shields.io/badge/Made%20for-nginx-1f425f.svg)](https://www.nginx.org/)\n\n### Demonstration of the Light theme:\n![Demo #5](screenshots/Nginx-Fancyindex-Theme__example5.png \"Example of Nginx-Fancyindex-Theme-light\")\n\n## Usage\n\n1. Make sure you have the fancyindex module compiled with nginx, either by compiling it yourself or installing nginx via the full distribution (paquet `nginx-extras`).\n2. Include the content of [fancyindex.conf](fancyindex.conf) in your location directive (`location / {.....}`) in your nginx config (usually `nginx.conf`).\n3. Move the `Nginx-Fancyindex-Theme-light/` *and/or* `Nginx-Fancyindex-Theme-dark/` folder to the root of the site directory.\n4. Restart/reload nginx.\n5. Check that it's working, and enjoy!\n6. A new feature is the automatic inclusion of `HEADER.md` and `README.md` file from the current directory (if any), as shown in the example above. It uses [JQuery](https://jquery.com/) and [ShowDown.js](https://github.com/showdownjs/showdown/), it is not so cleanly written but it works perfectly! I wanted this feature as I have it for Apache (see [this project](https://bitbucket.org/lbesson/autoindex-strapdown)).\n\n## Configuration\n\nA standard config looks something like this (use `-light` for the default light theme, or `-dark` for a dark theme):\n\n```bash\nfancyindex on;\nfancyindex_localtime on;\nfancyindex_exact_size off;\n# Specify the path to the header.html and foother.html files, that are server-wise,\n# ie served from root of the website. Remove the leading '/' otherwise.\nfancyindex_header \"/Nginx-Fancyindex-Theme-light/header.html\";\nfancyindex_footer \"/Nginx-Fancyindex-Theme-light/footer.html\";\n# Ignored files will not show up in the directory listing, but will still be public.\nfancyindex_ignore \"examplefile.html\";\n# Making sure folder where these files are do not show up in the listing.\nfancyindex_ignore \"Nginx-Fancyindex-Theme-light\";\n```\n\nIf you want to conserve a few more bytes in network transmissions enable gzip on the served assets.\n\n```bash\n# Enable gzip compression.\n  gzip on;\n\n  # Compression level (1-9).\n  # 5 is a perfect compromise between size and CPU usage, offering about\n  # 75% reduction for most ASCII files (almost identical to level 9).\n  gzip_comp_level    5;\n\n  # Don't compress anything that's already small and unlikely to shrink much\n  # if at all (the default is 20 bytes, which is bad as that usually leads to\n  # larger files after gzipping).\n  gzip_min_length    256;\n\n  # Compress data even for clients that are connecting to us via proxies,\n  # identified by the \"Via\" header (required for CloudFront).\n  gzip_proxied       any;\n\n  # Tell proxies to cache both the gzipped and regular version of a resource\n  # whenever the client's Accept-Encoding capabilities header varies;\n  # Avoids the issue where a non-gzip capable client (which is extremely rare\n  # today) would display gibberish if their proxy gave them the gzipped version.\n  gzip_vary          on;\n\n  # Compress all output labeled with one of the following MIME-types.\n  gzip_types\n    application/atom+xml\n    application/javascript\n    application/json\n    application/ld+json\n    application/manifest+json\n    application/rss+xml\n    application/vnd.geo+json\n    application/vnd.ms-fontobject\n    application/x-font-ttf\n    application/x-web-app-manifest+json\n    application/xhtml+xml\n    application/xml\n    font/opentype\n    image/bmp\n    image/svg+xml\n    image/x-icon\n    text/cache-manifest\n    text/css\n    text/plain\n    text/vcard\n    text/vnd.rim.location.xloc\n    text/vtt\n    text/x-component\n    text/x-cross-domain-policy;\n  # text/html is always compressed by gzip module\n\n  # This should be turned on if you are going to have pre-compressed copies (.gz) of\n  # static files available. If not it should be left off as it will cause extra I/O\n  # for the check. It is best if you enable this in a location{} block for\n  # a specific directory, or on an individual server{} level.\n  # gzip_static on;\n```\n\n\u003e Reference: [H5BP Nginx Server Config](https://github.com/h5bp/server-configs-nginx/blob/master/nginx.conf)\n\n## Examples\n### Showing a list of files (without search):\n![Demo #2](screenshots/Nginx-Fancyindex-Theme__example2.png \"Example of Nginx-Fancyindex-Theme\")\n\n---\n\n### Filter a list of files (with search):\n![Demo #1](screenshots/Nginx-Fancyindex-Theme__example1.png \"Example of Nginx-Fancyindex-Theme\")\n\n---\n\n### Filter a list of directories (with search):\n![Demo #3](screenshots/Nginx-Fancyindex-Theme__example3.png \"Example of Nginx-Fancyindex-Theme\")\n\n---\n\n### Filter a list of directories (with search) -- Dark theme:\nIt also shows the automatic inclusion of `HEADER.md` file and `README.md` file.\n\n![Demo #4](screenshots/Nginx-Fancyindex-Theme__example4.png \"Example of Nginx-Fancyindex-Theme-dark\")\n\n### Include `HEADER` and `README` files automatically:\nAnother demo:\n\n![Demo #6](screenshots/Nginx-Fancyindex-Theme__example6.png \"Example of Nginx-Fancyindex-Theme-light\")\n\n---\n\n### :scroll: License ? [![GitHub license](https://img.shields.io/github/license/Naereen/Nginx-Fancyindex-Theme.svg)](https://github.com/Naereen/Nginx-Fancyindex-Theme/blob/master/LICENSE)\n[MIT Licensed](https://lbesson.mit-license.org/) (file [LICENSE](LICENSE)).\n© [Lilian Besson](https://GitHub.com/Naereen), 2016-18.\n\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/Naereen/Nginx-Fancyindex-Theme/graphs/commit-activity)\n[![Ask Me Anything !](https://img.shields.io/badge/Ask%20me-anything-1abc9c.svg)](https://GitHub.com/Naereen/ama)\n[![Analytics](https://ga-beacon.appspot.com/UA-38514290-17/github.com/Naereen/Nginx-Fancyindex-Theme/README.md?pixel)](https://GitHub.com/Naereen/Nginx-Fancyindex-Theme/)\n\n[![ForTheBadge built-with-swag](http://ForTheBadge.com/images/badges/built-with-swag.svg)](https://GitHub.com/Naereen/)\n[![ForTheBadge uses-js](http://ForTheBadge.com/images/badges/uses-js.svg)](http://ForTheBadge.com)\n[![ForTheBadge uses-html](http://ForTheBadge.com/images/badges/uses-html.svg)](http://ForTheBadge.com)\n[![ForTheBadge uses-css](http://ForTheBadge.com/images/badges/uses-css.svg)](http://ForTheBadge.com)\n[![ForTheBadge uses-badges](http://ForTheBadge.com/images/badges/uses-badges.svg)](http://ForTheBadge.com)\n[![ForTheBadge uses-git](http://ForTheBadge.com/images/badges/uses-git.svg)](https://GitHub.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNaereen%2FNginx-Fancyindex-Theme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNaereen%2FNginx-Fancyindex-Theme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNaereen%2FNginx-Fancyindex-Theme/lists"}