39 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| fn blagh_init {
 | |
|     if(~ $#blaghDirs 0 && ~ $req_path */[bB]log/index)
 | |
|         blaghDirs=( . )
 | |
| 
 | |
|     # Should not match sub-dirs!
 | |
|     if(! ~ $#blaghDirs 0) {
 | |
|     # && test -d / `{echo '-a -d '^$req_path^$blaghDirs}
 | |
| 
 | |
|         if(~ $req_path */[0-9][0-9][0-9][0-9]/ */[0-9][0-9][0-9][0-9]/[0-9][0-9]/ */[0-9][0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]/*)
 | |
|             status='Use default handler'
 | |
| 
 | |
|         if not if(~ $req_path */index) {
 | |
|             app_body_handler='blagh_body'
 | |
|             #u=`{cleanname $baseuri^`{basename -d '/'^$uri}|sed 's,:/,://,'} # Sed recovers '/' in 'http:/' stripped by cleanname
 | |
|             u=`{cleanname $baseuri^$req_path'index}
 | |
|             extraHeaders=$"extraHeaders ^ \
 | |
| '<link rel="alternate" type="application/rss+xml" title="RSS" href="'$"u'.rss" />' ^ \
 | |
| '<link rel="alternate" type="application/atom+xml" title="ATOM" href="'$"u'.atom" />'
 | |
| 
 | |
|         }
 | |
|         if not if(~ $req_path */index.atom)
 | |
|             app_body_handler='blagh_body'
 | |
|         if not if(~ $req_path */index.rss)
 | |
|             app_body_handler='blagh_body'
 | |
| 
 | |
|     }
 | |
| }
 | |
| 
 | |
| fn blagh_body {
 | |
|     d=$sitedir$req_path^$blaghDirs^/./[0-9][0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]/ 
 | |
|     posts=`{ls  -F $d >[2]/dev/null | sed -n 's,/\./,/|/,; /\/$/p' | sort -r '-t|' +1 | sed 's,/+\|/+,/,'}
 | |
|     for(p in $posts)
 | |
|         show_post $p | $formatter 
 | |
| }
 | |
| 
 | |
| fn show_post {
 | |
|     l=`{echo $1 | sed 's|'$sitedir$req_path'||'}
 | |
|     sed '1s|.*|[&]('$l')|' < $1/index.md  
 | |
| }
 | 
