Merge
This commit is contained in:
commit
3110edb0d3
@ -35,10 +35,10 @@ fn blagh_init {
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="'$"u'.rss" />'
|
||||
}
|
||||
if not if(~ $req_path $blagh_uri^index.atom)
|
||||
blagh_setup_feed_handlers atom.tpl
|
||||
blagh_setup_feed_handlers atom.tpl 'application/atom+xml'
|
||||
|
||||
if not if(~ $req_path $blagh_uri^index.rss)
|
||||
blagh_setup_feed_handlers rss20.tpl
|
||||
blagh_setup_feed_handlers rss20.tpl 'text/xml; charset=utf-8'
|
||||
|
||||
if not if(~ $req_path $blagh_uri^new_post && ! ~ $#editor_mode 0) {
|
||||
handler_body_main=( tpl_handler `{get_lib_file blagh/new_post.tpl apps/blagh/new_post.tpl} )
|
||||
@ -56,6 +56,7 @@ fn blagh_init {
|
||||
fn blagh_setup_feed_handlers {
|
||||
handler_body_main=NOT_USED_by_blagh_feeds
|
||||
res_tail=()
|
||||
http_content_type=$2
|
||||
headers=()
|
||||
master_template=apps/blagh/$1 # Should we allow tempalte override?
|
||||
}
|
||||
|
@ -1,5 +1,3 @@
|
||||
Content-Type: application/atom+xml
|
||||
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
%{
|
||||
|
@ -1,5 +1,3 @@
|
||||
Content-Type: text/xml; charset=utf-8
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
%{
|
||||
|
@ -8,32 +8,15 @@ fn dirdir_init {
|
||||
if(! ~ $#enable_wiki 0 && check_user $wiki_editors_groups) {
|
||||
dirdir_file=$local_path.md
|
||||
dirdir_dir=$dirdir_file^'_werc/dirdir/'
|
||||
|
||||
if(test -f $local_path.md) {
|
||||
if(~ $#post_arg_dirdir_save 1 && ! ~ $"post_arg_edit_text '')
|
||||
save_page
|
||||
|
||||
if(~ 1 $#post_arg_dirdir_edit $#post_arg_dirdir_preview)
|
||||
handler_body_main=(tpl_handler `{get_lib_file dirdir/edit.tpl apps/dirdir/edit.tpl})
|
||||
|
||||
if not if(~ 1 $#post_arg_dirdir_edit $#post_arg_dirdir_preview)
|
||||
handler_body_main=(tpl_handler \
|
||||
`{get_lib_file dirdir/edit.tpl apps/dirdir/edit.tpl})
|
||||
|
||||
if not if(! ~ $REQUEST_METHOD POST)
|
||||
ll_add handlers_bar_left tpl_handler \
|
||||
apps/dirdir/sidebar_controls.tpl
|
||||
}
|
||||
|
||||
if not if(~ 1 $#post_arg_dirdir_edit)
|
||||
handler_body_main=(tpl_handler \
|
||||
`{get_lib_file dirdir/edit.tpl apps/dirdir/edit.tpl})
|
||||
|
||||
if not if(~ 1 $#post_arg_dirdir_save) {
|
||||
mkdir -p `{basename -d $local_path}
|
||||
if not if(! ~ '' $"post_arg_dirdir_save $"post_arg_edit_text)
|
||||
save_page
|
||||
}
|
||||
if not if(~ $"handler_body_main '')
|
||||
ll_add handlers_bar_left tpl_handler \
|
||||
apps/dirdir/sidebar_controls.tpl
|
||||
|
||||
if not if(~ $"handler_body_main '' || {~ $REQUEST_METHOD GET && test -f $local_path.md})
|
||||
ll_add handlers_bar_left tpl_handler apps/dirdir/sidebar_controls.tpl
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -157,6 +157,13 @@ fn ll_add {
|
||||
$_l=$*(2-)
|
||||
$1=( $$1 $_l )
|
||||
}
|
||||
# Add to the head: dangerous if you shrink list by hand!
|
||||
fn ll_addh {
|
||||
_l=$1^_^$#$1
|
||||
$_l=$*(2-)
|
||||
$1=( $_l $$1 )
|
||||
}
|
||||
|
||||
|
||||
NEW_LINE='
|
||||
'
|
||||
|
31
bin/werc.rc
31
bin/werc.rc
@ -19,6 +19,7 @@ path=(. $PLAN9/bin ./bin /bin /usr/bin)
|
||||
|
||||
headers=lib/headers.tpl
|
||||
res_tail='</body></html>'
|
||||
http_content_type='text/html'
|
||||
ll_add handlers_bar_left nav_tree
|
||||
werc_apps=( apps/* )
|
||||
werc_root=`{pwd}
|
||||
@ -88,20 +89,16 @@ fn werc_exec_request {
|
||||
|
||||
if(~ $#perm_redir_to 1)
|
||||
perm_redirect $perm_redir_to
|
||||
p=();
|
||||
for(i in $perm_redir_patterns) {
|
||||
if(~ $#p 0)
|
||||
p=$i
|
||||
if not {
|
||||
# If target is absolute, require patern matches whole string
|
||||
if(~ $i http://* https://)
|
||||
p='^'$p
|
||||
t=`{ echo $req_path | sed 's!'$p'!'$i'!' }
|
||||
for(l in $perm_redir_patterns) {
|
||||
p=$$l
|
||||
r=$p(1)
|
||||
# If target is absolute, then patern must match whole string
|
||||
if(~ $p(2) http://* https://)
|
||||
r='^'$r
|
||||
t=`{ echo $req_path | sed 's!'^$r^'!'^$p(2)^'!' } # Malicious danger!
|
||||
|
||||
if(! ~ $"t '' && ! ~ $t $req_path)
|
||||
perm_redirect $t
|
||||
p=()
|
||||
}
|
||||
if(! ~ $"t '' $req_path)
|
||||
perm_redirect $t
|
||||
}
|
||||
|
||||
# Set Page title
|
||||
@ -112,9 +109,17 @@ fn werc_exec_request {
|
||||
|
||||
setup_handlers
|
||||
|
||||
for(h in $extraHttpHeaders)
|
||||
echo $h
|
||||
echo 'Content-Type: '^$http_content_type
|
||||
if(~ $REQUEST_METHOD HEAD)
|
||||
exit
|
||||
echo # End of HTTP headers
|
||||
|
||||
if(! ~ $#debug 0)
|
||||
dprint $"SERVER_NAME^$"REQUEST_URI - $"HTTP_USER_AGENT - $"REQUEST_METHOD - $"handler_body_main - $"master_template
|
||||
|
||||
|
||||
template $headers $master_template | awk_buffer
|
||||
echo $res_tail
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ fn conf_perm_redirect {
|
||||
if(~ $#* 1)
|
||||
perm_redir_to=$1
|
||||
if not
|
||||
perm_redir_patterns=($1 $2 $perm_redir_patterns)
|
||||
ll_addh perm_redir_patterns $1 $2
|
||||
}
|
||||
|
||||
fn conf_hide_paths {
|
||||
|
@ -14,6 +14,7 @@ fn get_lib_file {
|
||||
fn template { awk -f bin/template.awk $* | rc $rcargs }
|
||||
|
||||
# Auth code
|
||||
# TODO: check http://cookies.lcs.mit.edu/pubs/webauth:tr.pdf
|
||||
allowed_user_chars='[a-zA-Z0-9_]'
|
||||
# Cookie format: WERC_USER: name:timestamp:hash(name.timestamp.password)
|
||||
# login_user can't be used from a template because it sets a cookie
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
<div id="header">
|
||||
<div class="superHeader">
|
||||
% cat `{ get_lib_file top_bar.inc }
|
||||
|
@ -1,8 +1,3 @@
|
||||
% for(h in $extraHttpHeaders) echo $h
|
||||
Content-Type: text/html
|
||||
% if(~ $REQUEST_METHOD HEAD)
|
||||
% exit
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
@ -11,7 +6,13 @@ Content-Type: text/html
|
||||
|
||||
<title>%($pageTitle%)</title>
|
||||
|
||||
<link rel="stylesheet" href="/pub/style/style.css" type="text/css" media="screen, handheld" title="default" />
|
||||
<link rel="shortcut icon" href="/favicon.ico" type="image/vnd.microsoft.icon" />
|
||||
% if(test -f $sitedir/_werc/pub/style.css)
|
||||
% echo ' <link rel="stylesheet" href="/_werc/pub/style.css" type="text/css" media="screen" title="default" />'
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
|
||||
<meta name="author" content="k" />
|
||||
|
||||
% if(! ~ $#meta_description 0)
|
||||
@ -19,11 +20,6 @@ Content-Type: text/html
|
||||
% if(! ~ $#meta_keywords 0)
|
||||
% echo ' <meta name="keywords" content="'$"meta_keywords'" />'
|
||||
|
||||
<link rel="stylesheet" href="/pub/style/style.css" type="text/css" media="screen, handheld" title="default" />
|
||||
<link rel="shortcut icon" href="/favicon.ico" type="image/vnd.microsoft.icon" />
|
||||
% if(test -f $sitedir/_werc/pub/style.css)
|
||||
% echo ' <link rel="stylesheet" href="/_werc/pub/style.css" type="text/css" media="screen" title="default" />'
|
||||
|
||||
% h = `{get_lib_file headers.inc}
|
||||
% if(! ~ $#h 0)
|
||||
% cat $h
|
||||
|
Loading…
Reference in New Issue
Block a user