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

Comparing cfmaps/cfupdate (file contents):
Revision 1.7 by root, Sun Nov 20 01:05:34 2005 UTC vs.
Revision 1.34 by root, Thu Oct 22 03:04:34 2009 UTC

1#!/bin/bash 1#!/bin/bash
2 2
3# cfupdate - convert a crossfire maps hierarchy to html 3# cfupdate - convert a deliantra maps hierarchy to html
4# Copyright (C) 2005 Marc Lehmann <gvpe@schmorp.de> 4# Copyright (C) 2005,2007,2008 Marc Lehmann <cfmaps@schmorp.de>
5# 5#
6# CFUPDATE is free software; you can redistribute it and/or modify 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 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 8# the Free Software Foundation; either version 2 of the License, or
9# (at your option) any later version. 9# (at your option) any later version.
12# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details. 14# GNU General Public License for more details.
15# 15#
16# You should have received a copy of the GNU General Public License 16# You should have received a copy of the GNU General Public License
17# along with gvpe; if not, write to the Free Software 17# along with cfmaps; if not, write to the Free Software
18# Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18# Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 19
20VERSION=1.02 20VERSION=2.022
21 21
22umask 022 22umask 022
23 23
24PATH=/root/src/crossfire:$PATH 24SRC=/root/src/cfmaps
25BASE=/var/www/cfmaps.schmorp.de 25PATH="$SRC:$PATH"
26export CROSSFIRE_LIBDIR=$BASE/lib 26export BASE=${BASE:-/var/www/maps.deliantra.net}
27export DELIANTRA_LIBDIR=${DELIANTRA_LIBDIR:-$BASE/lib}
27 28
28cd "$BASE" || exit 69 29cd "$BASE" || exit 69
29 30
30cvs -Q -z3 update -AdP | grep -v ^\\? 31cvs -Q -z3 update -AdP | grep -v ^\\?
31 32
33#wget -qm --no-check-certificate https://cat2.dynu.ca/cat2/mlab-devel.tar.gz
34#if [ cat2.dynu.ca/cat2/mlab-devel.tar.gz -nt cat2.dynu.ca/cat2/mlab-devel.tar.gz~ ]; then
35# tar xzpf cat2.dynu.ca/cat2/mlab-devel.tar.gz
36# chown -R root.root mlab-devel
37# chmod -R u=rwX,go=rX mlab-devel
38# ln -f cat2.dynu.ca/cat2/mlab-devel.tar.gz cat2.dynu.ca/cat2/mlab-devel.tar.gz~
39#fi
40
32rm -f .cfmap2html 41rm -f .cfmap2html
33 42
43chmod 644 "$SRC"/*.css
44cp "$SRC"/*.css .
45chmod 755 "$SRC"/cfmapidx
46cp "$SRC"/cfmapidx .
47
34find . -name CVS -prune -o -type d -printf "%P/\n" | while read dir; do 48find . "(" -name CVS -o -path ./a ")" -prune -o -type d -printf "%P/\n" | while read dir; do
35 ( 49 (
36 export dir 50 export dir
37 cd "./$dir" || exit 68 51 cd "./$dir" || exit 68
38 { 52 {
39 echo "<html><head><title>Crossfire Maps Directory \"$dir\"</title></head><body><h1>Crossfire Maps Directory \"$dir\"</h1><ul>" >&7 53 cat >&7 <<-EOF
54 <?xml version='1.0' encoding='utf-8'?>
55 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
56 <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
57 <head>
58 <title>Deliantra Maps Directory "$dir"</title>
59 <link rel='stylesheet' type='text/css' media='all' href='/common.css'/>
60 </head>
61 <body>
62 <p>Keyword Search Over All Maps</p>
63 <form action='/search'><p>
64 <input type='text' name='k'/>
65 <input type='submit'/>
66 </p></form>
67 <h1>Deliantra Maps Directory "$dir"</h1><ul>
40 echo "<li><a href='..'>&lt;parent&gt;</a></li></ul><h2>This Directory</h2><ul>" >&7 68 <li><a href='..'>&lt;parent&gt;</a></li></ul><h2>This Directory</h2><ul>
69 EOF
41 for file in *; do 70 for file in *; do
71 if [ -h "$file" ]; then
72 : # ignore for now
42 if [ -f "$file" ]; then 73 elif [ -f "$file" ]; then
43 case "$file" in 74 case "$file" in
44 *.pst | *.jpg | *.png | *.html | *.html.gz | *~ ) 75 cfmapidx | *.jpg | *.png | *.html | *.html.gz | *.xhtml | *.xhtml.gz | *.css | *.err | *~ )
76 ;;
77 *.map )
78 echo >&7 "<li><a href='${file%.map}.xhtml'>${file%.map}</a> [map]</li>"
79 DIR="${dir#/}"
80 echo "$DIR$file" >>$BASE/.cfmap2html
45 ;; 81 ;;
46 * ) 82 * )
83 # non-deliantra compatibility
47 if head -5 "$file" | grep -q "^arch map"; then 84 if [ "$(head -1 "$file")" = "arch map" ]; then
48 echo "<li><a href='$file.html'>$file</a> [map]</li>" >&7 85 echo >&7 "<li><a href='$file.xhtml'>$file</a> [map]</li>"
86 ln -sf "$file" "$file.map"
49 DIR="${dir#/}" 87 DIR="${dir#/}"
50 echo "$DIR$file" >>$BASE/.cfmap2html 88 echo "$DIR$file.map" >>$BASE/.cfmap2html
51 else 89 else
52 echo "<li><a href='$file'>$file</a> [file]</li>" >&7 90 echo >&7 "<li><a href='$file'>$file</a> [file]</li>"
53 fi 91 fi
54 ;; 92 ;;
55 esac 93 esac
56 elif [ -d "$file" ]; then 94 elif [ -d "$file" ]; then
57 case "$file" in 95 case "$file" in
58 CVS ) 96 CVS )
59 ;; 97 ;;
60 * ) 98 * )
61 echo "<li><a href='$file/'>$file/</a> [dir]</li>" >&7 99 echo >&7 "<li><a href='$file/'>$file/</a> [dir]</li>"
62 ;; 100 ;;
63 esac 101 esac
64 fi 102 fi
65 done 103 done
66 echo "</ul>" >&7 104 echo >&7 "</ul>"
67 cat <<EOF >&7 105 cat >&7 <<-EOF
68<h2>Bookmarks</h2> 106 <h2>Bookmarks</h2>
69<ul> 107 <ul>
70 <li><a href="/world/">Worldmap</a></li> 108 <li><a href="/world/">Worldmap</a></li>
71 <li><a href="/world/world_105_115.html">Scorn</a></li> 109 <li><a href="/world/world_105_115.xhtml">Scorn</a></li>
72 <li><a href="/world/world_102_108.html">Santo Dominion</a></li> 110 <li><a href="/world/world_102_108.xhtml">Santo Dominion</a></li>
73 <li><a href="/world/world_107_123.html">Brest</a></li> 111 <li><a href="/world/world_107_123.xhtml">Brest</a></li>
74 <li><a href="/world/world_109_126.html">Lake Country</a></li> 112 <li><a href="/world/world_109_126.xhtml">Lake Country</a></li>
75 <li><a href="/world/world_122_117.html">Navar</a></li> 113 <li><a href="/world/world_122_117.xhtml">Navar</a></li>
76 <li><a href="/world/world_116_102.html">Darcap</a></li> 114 <li><a href="/world/world_116_102.xhtml">Darcap</a></li>
77 <li><a href="/world/world_128_109.html">Wolfsburg</a></li> 115 <li><a href="/world/world_128_109.xhtml">Wolfsburg</a></li>
78 <li><a href="/world/world_128_101.html">Azumauindo</a></li> 116 <li><a href="/world/world_128_101.xhtml">Azumauindo</a></li>
79</ul> 117 </ul>
80<hr />
81<p style='font-size: 8pt;'>created by <a href='http://software.schmorp.de/#crossfire'>cfupdate</a> version $VERSION</p> 118 <p class="footer">created by <a href='http://software.schmorp.de/pkg/cfmaps'>cfupdate</a> version $VERSION</p>
82EOF 119 EOF
83 echo "</body></html>" >&7 120 echo >&7 "</body></html>"
84 } 7>index.html 121 } 7>index.xhtml~
122
123 if [ "$DIR" = "world/" -o "$DIR" = "world-overlay/" ]; then
124 rm index.xhtml~
125 else
126 mv index.xhtml~ index.xhtml
127 fi
128 #gzip -7f index.xhtml
85 ) 129 )
86done 130done
87 131
88<.cfmap2html xargs cfmap2html 132for dir in *; do
89rm -f .cfmap2html 133 if [ -e "$dir/${dir}_123_107.map" ]; then
134 cfworldmap "$dir"
135 fi
136done
90 137
91cfarch2html 138cfarch2html
92cfworldmap 139
140rm -f .index.dat~
141<.cfmap2html xargs -l100 -P16 cfmap2html
142<.cfmap2html xargs cfmapidx -a
143mv .index.dat~ .index.dat
144
145#rm -f .cfmap2html
93 146
94chown -R root.root . 147chown -R root.root .
95chmod -R u=rwX,go=rX . 148chmod -R u=rwX,go=rX .
96 149

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines