ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cfmaps/cfupdate
Revision: 1.34
Committed: Thu Oct 22 03:04:34 2009 UTC (14 years, 6 months ago) by root
Branch: MAIN
Changes since 1.33: +1 -2 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 #!/bin/bash
2    
3 root 1.30 # cfupdate - convert a deliantra maps hierarchy to html
4     # Copyright (C) 2005,2007,2008 Marc Lehmann <cfmaps@schmorp.de>
5 root 1.6 #
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 root 1.24 # along with cfmaps; if not, write to the Free Software
18 root 1.6 # Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19    
20 root 1.33 VERSION=2.022
21 root 1.7
22 root 1.1 umask 022
23    
24 root 1.19 SRC=/root/src/cfmaps
25 root 1.9 PATH="$SRC:$PATH"
26 root 1.33 export BASE=${BASE:-/var/www/maps.deliantra.net}
27     export DELIANTRA_LIBDIR=${DELIANTRA_LIBDIR:-$BASE/lib}
28 root 1.1
29     cd "$BASE" || exit 69
30    
31 root 1.17 cvs -Q -z3 update -AdP | grep -v ^\\?
32    
33 root 1.20 #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 root 1.16
41 root 1.1 rm -f .cfmap2html
42    
43 root 1.10 chmod 644 "$SRC"/*.css
44     cp "$SRC"/*.css .
45 root 1.14 chmod 755 "$SRC"/cfmapidx
46     cp "$SRC"/cfmapidx .
47 root 1.9
48 root 1.14 find . "(" -name CVS -o -path ./a ")" -prune -o -type d -printf "%P/\n" | while read dir; do
49 root 1.1 (
50     export dir
51     cd "./$dir" || exit 68
52     {
53 root 1.9 cat >&7 <<-EOF
54     <?xml version='1.0' encoding='utf-8'?>
55 root 1.32 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
56 root 1.9 <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
57     <head>
58 root 1.29 <title>Deliantra Maps Directory "$dir"</title>
59 root 1.9 <link rel='stylesheet' type='text/css' media='all' href='/common.css'/>
60     </head>
61 root 1.14 <body>
62     <p>Keyword Search Over All Maps</p>
63 root 1.32 <form action='/search'><p>
64 root 1.14 <input type='text' name='k'/>
65     <input type='submit'/>
66 root 1.32 </p></form>
67 root 1.29 <h1>Deliantra Maps Directory "$dir"</h1><ul>
68 root 1.9 <li><a href='..'>&lt;parent&gt;</a></li></ul><h2>This Directory</h2><ul>
69     EOF
70 root 1.1 for file in *; do
71 root 1.33 if [ -h "$file" ]; then
72     : # ignore for now
73     elif [ -f "$file" ]; then
74 root 1.1 case "$file" in
75 root 1.33 cfmapidx | *.jpg | *.png | *.html | *.html.gz | *.xhtml | *.xhtml.gz | *.css | *.err | *~ )
76 root 1.1 ;;
77 root 1.27 *.map )
78     echo >&7 "<li><a href='${file%.map}.xhtml'>${file%.map}</a> [map]</li>"
79     DIR="${dir#/}"
80     echo "$DIR$file" >>$BASE/.cfmap2html
81     ;;
82 root 1.1 * )
83 root 1.33 # non-deliantra compatibility
84     if [ "$(head -1 "$file")" = "arch map" ]; then
85     echo >&7 "<li><a href='$file.xhtml'>$file</a> [map]</li>"
86     ln -sf "$file" "$file.map"
87     DIR="${dir#/}"
88     echo "$DIR$file.map" >>$BASE/.cfmap2html
89     else
90     echo >&7 "<li><a href='$file'>$file</a> [file]</li>"
91     fi
92 root 1.1 ;;
93     esac
94     elif [ -d "$file" ]; then
95     case "$file" in
96     CVS )
97     ;;
98     * )
99 root 1.8 echo >&7 "<li><a href='$file/'>$file/</a> [dir]</li>"
100 root 1.1 ;;
101     esac
102     fi
103     done
104 root 1.8 echo >&7 "</ul>"
105 root 1.9 cat >&7 <<-EOF
106     <h2>Bookmarks</h2>
107     <ul>
108     <li><a href="/world/">Worldmap</a></li>
109     <li><a href="/world/world_105_115.xhtml">Scorn</a></li>
110     <li><a href="/world/world_102_108.xhtml">Santo Dominion</a></li>
111     <li><a href="/world/world_107_123.xhtml">Brest</a></li>
112     <li><a href="/world/world_109_126.xhtml">Lake Country</a></li>
113     <li><a href="/world/world_122_117.xhtml">Navar</a></li>
114     <li><a href="/world/world_116_102.xhtml">Darcap</a></li>
115     <li><a href="/world/world_128_109.xhtml">Wolfsburg</a></li>
116     <li><a href="/world/world_128_101.xhtml">Azumauindo</a></li>
117     </ul>
118 root 1.21 <p class="footer">created by <a href='http://software.schmorp.de/pkg/cfmaps'>cfupdate</a> version $VERSION</p>
119 root 1.9 EOF
120 root 1.8 echo >&7 "</body></html>"
121 root 1.20 } 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 root 1.13 #gzip -7f index.xhtml
129 root 1.1 )
130     done
131    
132 root 1.33 for dir in *; do
133 root 1.34 if [ -e "$dir/${dir}_123_107.map" ]; then
134 root 1.33 cfworldmap "$dir"
135     fi
136     done
137    
138 root 1.29 cfarch2html
139    
140 root 1.28 rm -f .index.dat~
141 root 1.33 <.cfmap2html xargs -l100 -P16 cfmap2html
142 root 1.25 <.cfmap2html xargs cfmapidx -a
143 root 1.12 mv .index.dat~ .index.dat
144    
145     #rm -f .cfmap2html
146 root 1.2
147 root 1.3 chown -R root.root .
148     chmod -R u=rwX,go=rX .
149 root 1.2