ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cfmaps/cfupdate
(Generate patch)

Comparing cfmaps/cfupdate (file contents):
Revision 1.4 by root, Fri Nov 18 23:33:09 2005 UTC vs.
Revision 1.8 by root, Sun Nov 20 03:31:58 2005 UTC

1#!/bin/bash 1#!/bin/bash
2
3# cfupdate - convert a crossfire maps hierarchy to html
4# Copyright (C) 2005 Marc Lehmann <gvpe@schmorp.de>
5#
6# CFUPDATE is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 2 of the License, or
9# (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with gvpe; if not, write to the Free Software
18# Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
20VERSION=1.04
2 21
3umask 022 22umask 022
4 23
5PATH=/root/src/crossfire:$PATH 24PATH=/root/src/crossfire:$PATH
6BASE=/var/www/cfmaps.schmorp.de 25BASE=/var/www/cfmaps.schmorp.de
7export CROSSFIRE_LIBDIR=$BASE/lib 26export CROSSFIRE_LIBDIR=$BASE/lib
8 27
9cd "$BASE" || exit 69 28cd "$BASE" || exit 69
10
11VERSION=1.0
12 29
13cvs -Q -z3 update -AdP | grep -v ^\\? 30cvs -Q -z3 update -AdP | grep -v ^\\?
14 31
15rm -f .cfmap2html 32rm -f .cfmap2html
16 33
17find . -name CVS -prune -o -type d -printf "%P/\n" | while read dir; do 34find . -name CVS -prune -o -type d -printf "%P/\n" | while read dir; do
18 ( 35 (
19 export dir 36 export dir
20 cd "./$dir" || exit 68 37 cd "./$dir" || exit 68
21 { 38 {
39 echo >&7 "<?xml version='1.0' encoding='utf-8'?>"
40 echo >&7 "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">"
41 echo >&7 "<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>"
22 echo "<html><head><title>Crossfire Maps: $dir</title></head><body><h1>Crossfire Maps $dir</h1><h2>This Directory</h2><ul>" >&7 42 echo >&7 "<head><title>Crossfire Maps Directory \"$dir\"</title></head><body><h1>Crossfire Maps Directory \"$dir\"</h1><ul>"
23 echo "<li><a href='..'>&lt;parent&gt;</a></li>" >&7 43 echo >&7 "<li><a href='..'>&lt;parent&gt;</a></li></ul><h2>This Directory</h2><ul>"
24 for file in *; do 44 for file in *; do
25 if [ -f "$file" ]; then 45 if [ -f "$file" ]; then
26 case "$file" in 46 case "$file" in
27 *.pst | *.jpg | *.png | *.html | *.html.gz | *~ ) 47 *.pst | *.jpg | *.png | *.html | *.html.gz | *.xhtml | *.xhtml.gz | *~ )
28 ;; 48 ;;
29 * ) 49 * )
30 if head -5 "$file" | grep -q "^arch map"; then 50 if head -5 "$file" | grep -q "^arch map"; then
31 echo "<li><a href='$file.html'>$file</a> [map]</li>" >&7 51 echo >&7 "<li><a href='$file.xhtml'>$file</a> [map]</li>"
32 DIR="${dir#/}" 52 DIR="${dir#/}"
33 echo "$DIR$file" >>$BASE/.cfmap2html 53 echo "$DIR$file" >>$BASE/.cfmap2html
34 else 54 else
35 echo "<li><a href='$file'>$file</a> [file]</li>" >&7 55 echo >&7 "<li><a href='$file'>$file</a> [file]</li>"
36 fi 56 fi
37 ;; 57 ;;
38 esac 58 esac
39 elif [ -d "$file" ]; then 59 elif [ -d "$file" ]; then
40 case "$file" in 60 case "$file" in
41 CVS ) 61 CVS )
42 ;; 62 ;;
43 * ) 63 * )
44 echo "<li><a href='$file/'>$file/</a> [dir]</li>" >&7 64 echo >&7 "<li><a href='$file/'>$file/</a> [dir]</li>"
45 ;; 65 ;;
46 esac 66 esac
47 fi 67 fi
48 done 68 done
49 echo "</ul>" >&7 69 echo >&7 "</ul>"
50 cat <<EOF >&7 70 cat >&7 <<EOF
51<h2>Bookmarks</h2> 71<h2>Bookmarks</h2>
52<ul> 72<ul>
53 <li><a href="/world/">Worldmap</a></li> 73 <li><a href="/world/">Worldmap</a></li>
54 <li><a href="/world/world_105_115.html">Scorn</a></li> 74 <li><a href="/world/world_105_115.xhtml">Scorn</a></li>
55 <li><a href="/world/world_102_108.html">Santo Dominion</a></li> 75 <li><a href="/world/world_102_108.xhtml">Santo Dominion</a></li>
56 <li><a href="/world/world_107_123.html">Brest</a></li> 76 <li><a href="/world/world_107_123.xhtml">Brest</a></li>
57 <li><a href="/world/world_109_126.html">Lake Country</a></li> 77 <li><a href="/world/world_109_126.xhtml">Lake Country</a></li>
58 <li><a href="/world/world_122_117.html">Navar</a></li> 78 <li><a href="/world/world_122_117.xhtml">Navar</a></li>
59 <li><a href="/world/world_116_102.html">Darcap</a></li> 79 <li><a href="/world/world_116_102.xhtml">Darcap</a></li>
60 <li><a href="/world/world_128_109.html">Wolfsburg</a></li> 80 <li><a href="/world/world_128_109.xhtml">Wolfsburg</a></li>
61 <li><a href="/world/world_128_101.html">Azumauindo</a></li> 81 <li><a href="/world/world_128_101.xhtml">Azumauindo</a></li>
62</ul> 82</ul>
63<hr /> 83<hr />
64<p style='font-size: 8pt;'>created by <b>update</b> version $VERSION</p> 84<p style='font-size: 8pt;'>created by <a href='http://software.schmorp.de/#crossfire'>cfupdate</a> version $VERSION</p>
65EOF 85EOF
66 echo "</body></html>" >&7 86 echo >&7 "</body></html>"
67 } 7>index.html 87 } 7>index.xhtml
88 gzip -7f index.xhtml
68 ) 89 )
69done 90done
70 91
71<.cfmap2html xargs cfmap2html 92<.cfmap2html xargs cfmap2html
72rm -f .cfmap2html 93rm -f .cfmap2html

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines