slitaz-dev-tools rev 248

tazwikiss: show toc
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Sep 03 09:52:52 2015 +0200 (2015-09-03)
parents 4b5cb7cab042
children 15df7d51af7c
files tazwikiss/rootfs/var/www/wiki/index.sh tazwikiss/rootfs/var/www/wiki/pages/Aide.txt tazwikiss/rootfs/var/www/wiki/pages/Help.txt
line diff
     1.1 --- a/tazwikiss/rootfs/var/www/wiki/index.sh	Wed Sep 02 21:21:36 2015 +0200
     1.2 +++ b/tazwikiss/rootfs/var/www/wiki/index.sh	Thu Sep 03 09:52:52 2015 +0200
     1.3 @@ -148,8 +148,8 @@
     1.4  if [ -r "$PAGE_txt" -o -n "$action" ]; then
     1.5  	CONTENT=""
     1.6  	if [ -e "$PAGE_txt" ]; then
     1.7 -		TIME=$(filedate $PAGE_txt)
     1.8 -		CONTENT="$(cat $PAGE_txt)"
     1.9 +		TIME=$(filedate "$PAGE_txt")
    1.10 +		CONTENT="$(cat "$PAGE_txt")"
    1.11  	fi
    1.12  	# Restaurer une page
    1.13  	[ -n "$(GET page)" -a -n "$gtime" -a "$(GET restore)" == 1 ] &&
    1.14 @@ -278,7 +278,7 @@
    1.15  		unesc="$(echo "$CONTENT" | sed 's/\^\(.\)/\n^\1\n/g' | grep '\^' |\
    1.16  		  sort | uniq | grep -v "['[!]" | hexdump -e '"" 3/1 "%d " "\n"' |\
    1.17  		  awk '{ printf "-e '\''s/\\^%c/\\&#%d;/g'\'' ",$2,$2}' | \
    1.18 -		  sed 's/\^\([*.[{]\)/^\\\1/') \
    1.19 +		  sed 's/\^\([*.]\)/^\\\1/') \
    1.20  		  -e 's/\\^'\\''/\\&#39;/g' -e 's/\^\!/\&#33;/g' \
    1.21  		  -e 's/\^\[/\&#91;/g'"
    1.22  		CONTENT="$(eval sed $unesc <<EOT | \
    1.23 @@ -407,33 +407,32 @@
    1.24  EOT
    1.25  )"
    1.26  		toc='<div id="toc">'
    1.27 -		i=1
    1.28 -		for pat in '^![^!]' '^!![^!]' '^!!![^!]' '^!!!![^!]' '^!!!!!' ; do
    1.29 -			while read line; do
    1.30 -				[ -n "$line" ] || continue
    1.31 -				label="$(echo $line | sed 's/[^\dA-Za-z]/_/g')"
    1.32 -				toc="$(cat <<EOT
    1.33 +		while read line; do
    1.34 +			[ -n "$line" ] || continue
    1.35 +			i=$(echo "$line" | sed 's/^!\(!*\).*/\1/' | wc -c)
    1.36 +			line="$(echo "$line" | sed 's/^!!*//')"
    1.37 +			label="$(echo "$line" | sed 's/[^\dA-Za-z]/_/g')"
    1.38 +			toc="$(cat <<EOT
    1.39  $toc
    1.40  	<h$i><a href="#$label">$line</a></h$i>
    1.41  EOT
    1.42  )"
    1.43 -				CONTENT="$(sed "s/^!!* *$(sedesc "$line")\$/<h$i><a name=\"$label\">$(sedesc "$line")<\/a><\/h$i>/" <<EOT
    1.44 +			CONTENT="$(sed "s/^!!* *$(sedesc "$line")\$/<h$i><a name=\"$label\">$(sedesc "$line")<\/a><\/h$i>/" <<EOT
    1.45  $CONTENT
    1.46  EOT
    1.47  )"
    1.48 -			done <<EOT
    1.49 -$(grep "$pat" <<EOM | sed -e 's/^!!*//' -e 's/#/\#/g' -e 's/&/\\\&/g'
    1.50 +		done <<EOT
    1.51 +$(grep "^!" <<EOM | sed -e 's/#/\#/g' -e 's/&/\\\&/g'
    1.52  $CONTENT
    1.53  EOM
    1.54  )
    1.55  EOT
    1.56 -			i=$(( $i + 1 ))
    1.57 -		done
    1.58  		toc="$(cat <<EOT
    1.59  $toc
    1.60  </div>
    1.61  EOT
    1.62  )"
    1.63 +		false &&
    1.64  		case "$hastoc" in
    1.65  		TOC*) ;;
    1.66  		*) toc='';;
    1.67 @@ -487,7 +486,7 @@
    1.68  	[ -w "$PAGE_txt" -o ! -e "$PAGE_txt" ] &&
    1.69          EDIT="<a href=\"$urlbase?page=$(urlencode "$PAGE_TITLE")&amp;action=edit\" accesskey=\"5\" rel=\"nofollow\">$EDIT_BUTTON</a>"
    1.70  fi
    1.71 -[ -n "$toc" ] && toc="\1$toc\2"
    1.72 +[ $(echo "$toc" | wc -l) -gt 2 ] && toc="\1$toc\2" || toc=""
    1.73  AUTH_GET=""
    1.74  AUTH_POST=""
    1.75  if authentified; then
    1.76 @@ -500,7 +499,7 @@
    1.77  	-e "s/{\([^}]*\)HISTORY\([^}]*\)}/$(sedesc "$HISTORY")/" \
    1.78  	-e "s/{PAGE_TITLE}/$(sedesc "$PAGE_TITLE_str")/" \
    1.79  	-e "s/{\([^}]*\)EDIT\([^}]*\)}/\1$(sedesc "$EDIT")\2/" \
    1.80 -	-e "s/{\([^}]*\)TOC\([^}]*\)}/$(sedesc "$TOC")/" \
    1.81 +	-e "s/{\([^}]*\)TOC\([^}]*\)}/$(sedesc "$toc")/" \
    1.82  	-e "s/{PAGE_TITLE_BRUT}/$(sedesc "$(htmlentities "$PAGE_TITLE")")/" \
    1.83  	-e "s/{LAST_CHANGE}/$(sedesc "$LAST_CHANGES") :/" \
    1.84  	-e "s/{LANG}/$(sedesc "$LANG")/" \
     2.1 --- a/tazwikiss/rootfs/var/www/wiki/pages/Aide.txt	Wed Sep 02 21:21:36 2015 +0200
     2.2 +++ b/tazwikiss/rootfs/var/www/wiki/pages/Aide.txt	Thu Sep 03 09:52:52 2015 +0200
     2.3 @@ -47,7 +47,7 @@
     2.4     print "Hello",sys.argv[1]}}
     2.5  ----
     2.6  Certains caractères spéciaux sont reconnus :
     2.7 -* Flèches : &lt;^-- : &lt;--, ^--> : -->, &lt;^--> : &lt;-->
     2.8 +* Flèches : &lt;^-- : &lt;--, ^--> : -->, &lt;^--> : &lt;-->, &lt;^== : &lt;==, ^==> : ==>, &lt;^==> : &lt;==>
     2.9  * Copyrights : ^(c) ou ^(C) : (c), ^(r) ou ^(R) : (r)
    2.10  * Fractions : ^(1/2) : (1/2), ^(1/4) : (1/4), ^(3/4) : (3/4)
    2.11  * Divers : ^(+-) : (+-), ^(!=) : (!=)
     3.1 --- a/tazwikiss/rootfs/var/www/wiki/pages/Help.txt	Wed Sep 02 21:21:36 2015 +0200
     3.2 +++ b/tazwikiss/rootfs/var/www/wiki/pages/Help.txt	Thu Sep 03 09:52:52 2015 +0200
     3.3 @@ -70,7 +70,7 @@
     3.4  ----
     3.5  
     3.6  Some special characters are recognized:
     3.7 -* Arrows: &lt;^-- : &lt;--, ^--> : -->, &lt;^--> : &lt;-->
     3.8 +* Arrows: &lt;^-- : &lt;--, ^--> : -->, &lt;^--> : &lt;-->, &lt;^== : &lt;==, ^==> : ==>, &lt;^==> : &lt;==>
     3.9  * Copyrights: ^(c) or ^(C) : (c), ^(r) or ^(R) : (r)
    3.10  * Fractions: ^(1/2) : (1/2), ^(1/4) : (1/4), ^(3/4) : (3/4)
    3.11  * Miscellaneous: ^(+-) : (+-), ^(!=) : (!=)