shithub: werc

Download patch

ref: 561b01eedfb87965b2ff1f7e32d8270ad98cf59e
parent: 3c06f81e37a13c346e4e4a375d8b181b3b2dee61
author: uriel <[email protected]>
date: Tue Jul 28 10:36:38 EDT 2009

Implement dir listing headers and footers. Just add a _header.md or _footer.md
file to any directory and their contents will be displayed together with the
directory listing.

--- a/bin/corehandlers.rc
+++ b/bin/corehandlers.rc
@@ -106,8 +106,13 @@
     if(! ~ $#handler_body_main 0)
         { } # We are done
     # Dir listing
-    if not if(~ $local_path */index)
+    if not if(~ $local_path */index) {
         handler_body_main=(dir_listing_handler $req_path)
+        if(test -f $sitedir$req_path'_header.md')
+            ll_add handlers_body_head md_handler $sitedir$req_path'_header.md'            
+        if(test -f $sitedir$req_path'_footer.md')
+            ll_add handlers_body_foot md_handler $sitedir$req_path'_footer.md'            
+    }
     # Canonize explicit .html urls, the web server might handle this first!
     if not if(~ $local_path *.html && test -f $local_path)
         perm_redirect `{ echo $req_path|sed 's/.html$//' }