Autoindex-Strapdown
===================

_by [Chuck Houpt] (<chuck@habilis.net>)_

**Easily add Markdown README/HEADERs to Apache directory indexes, rendered by [Strapdown.js]**

This page is itself an example of Autoindex-Strapdown -- just an augmented Apache
web directory listing. You are currently reading the [HEADER.md](HEADER.md) file, which is
rendered above the directory index.

See the [Read-Me](#readme) below for one-step Quick-Start and more.

<a href="https://github.com/chuckhoupt/autoindex_strapdown">
<img style="position: fixed; top: 0; right: 0; border: 0; z-index: 1000; margin: 0;"
     src="https://camo.githubusercontent.com/652c5b9acfaddf3a9c326fa6bde407b87f7be0f4/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6f72616e67655f6666373630302e706e67"
     alt="Fork me on GitHub"
     data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png">
</a>

[Chuck Houpt]: http://chuck.habilis.net
[ICO]NameLast modifiedSizeDescription
[PARENTDIR]Parent Directory  -  
[DIR]icons/2015-11-22 09:54 -  
[DIR]pic/2015-11-22 09:54 -  
[DIR]strapdown/2015-12-13 12:35 -  
[TXT]HEADER.md2015-11-22 09:54 1.0K 
[   ]LICENSE2015-11-22 09:54 1.1K 
[TXT]README.md2015-11-22 09:54 3.3K 
[TXT]autoindex_strapdown.css2015-11-22 09:54 158  
[TXT]autoindex_strapdown.js2015-11-22 09:54 1.5K 
[TXT]fixed--**this_is_bold**.txt2015-11-22 11:38 0  
[TXT]fixed--*this_is_emph*.txt2015-11-22 11:38 0  
[TXT]fixed--__this_is_bold__.txt2015-11-22 11:37 0  
[TXT]fixed--``this_is_code``.txt2015-11-22 11:39 0  
[TXT]fixed--~~this_is_striked~~.txt2015-11-22 11:38 0  
Autoindex-Strapdown Read-Me
---------------------------

<a id=readme></a>
[Autoindex-Strapdown] enhances Apache's [mod_autoindex] directory listings with
[Markdown] README and HEADER files rendered by [Strapdown.js]. Setup GitHub-like
directory documentation with just Apache!

#### Screenshot Before and After

![Before and After Autoindex-Strapdown](pic/before-after.png "Before: ugly, pixilated, cramped, boring.
After: sleek, vectorized, spacious, lickable.")

### Quick Start

**Simply copy the following into a directory's .htaccess file -- That's All!**
<br>Then add a README.md or HEADER.md files and enjoy.

```ApacheConf
# Apache Autoindex Directives
Options +Indexes
IndexOptions FancyIndexing HTMLTable SuppressRules
IndexOptions IconsAreLinks ScanHTMLTitles NameWidth=* DescriptionWidth=*

# Autoindex-Strapdown Directives
AddType text/plain .md
HeaderName HEADER.md
ReadmeName README.md

# Customize by setting theme and title
IndexHeadInsert "<script>conf = {theme: 'bootstrap', title: ''};</script> \
<script src='http://ais.habilis.net/autoindex_strapdown.js'></script> \
<link rel='stylesheet' href='http://ais.habilis.net/autoindex_strapdown.css'>"

# Icons using Bootstrap's Glyphicon set
DefaultIcon http://ais.habilis.net/icons/glyphicon-file.svg
AddIcon http://ais.habilis.net/icons/blank.svg ^^BLANKICON^^
AddIcon http://ais.habilis.net/icons/glyphicon-folder-open.svg ^^DIRECTORY^^
AddIcon http://ais.habilis.net/icons/glyphicon-circle-arrow-up.svg ..
AddIconByType (TXT,http://ais.habilis.net/icons/glyphicon-file.svg) text/*
AddIconByType (IMG,http://ais.habilis.net/icons/glyphicon-picture.svg) image/*
AddIconByType (SND,http://ais.habilis.net/icons/glyphicon-music.svg) audio/*
AddIconByType (VID,http://ais.habilis.net/icons/glyphicon-film.svg) video/*
```

Customize by setting the `theme` or `title` configuration parameter on the first line of
the `IndexHeadInsert` directive. For example:

`IndexHeadInsert "<script>conf = {theme: 'cyborg', title: 'My Robot Pics'};</script> \`

See the list of [themes available from Strapdown.js][Strapdown.js].

### Self-Hosting

For simplicity, the example above is hosted at `ais.habilis.net`. To install on your
own host, download or git-clone Autoindex-Strapdown, and adjust the htaccess directives
to point at local URLs for the Javascript, CSS and icons. Add the extra conf option
`strapdown` to self-host Strapdown. I.e.:

`conf = {theme: 'bootstrap', title: '', strapdown: '/sd/strapdown.js'}`

For a concrete example, see the [htaccess-selfhost](htaccess-selfhost) file which expects
Autoindex-Strapdown to be installed on the host at the URL `/autoindex_strapdown/`.

### Background

Since time immemorial, the Apache web server has had the ability to serve up directory
listings (indexes), optionally augmented with text or HTML read-me and header files.
GitHub partially emulates Apache's auto-indexes with READMEs, but enhances it by adding
Markdown formatting -- the prefect compromise between plain text and HTML.

In a sense, Autoindex-Strapdown is an attempt to backport GitHub's enhanced emulation of
Apache mod_autoindex back to Apache.

[Autoindex-Strapdown]: http://ais.habilis.net
[mod_autoindex]: http://httpd.apache.org/docs/2.2/mod/mod_autoindex.html
[Markdown]: https://daringfireball.net/projects/markdown/
[Strapdown.js]: http://strapdownjs.com