source: main/trunk/greenstone2/macros/style.dm@ 23748

Last change on this file since 23748 was 23748, checked in by davidb, 13 years ago

Including gsajaxapi.js and initializing the JS variable 'gsapi' now done as standard (rather than optionally done if seaweed or talkback is activated).

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 7.4 KB
Line 
1# this file must be UTF-8 encoded
2#######################################################################
3# PAGE STYLES
4#######################################################################
5
6package Style
7
8# to use this style system output
9# _header_
10# all your page content, then
11# _footer_
12
13# use the page parameter 'style' to choose the appropriate style
14
15# Current values: "html" and "xhtml"
16_compliance_ {html}
17
18# the style system uses
19# _pagetitle_ - what gets displayed at the top of the browser window
20# _pagescriptextra_ - any extra javascript you want included in the header
21# _pagebannerextra_ - anything extra you want displayed in the page banner
22# _pagefooterextra_ - anything extra you want displayed in the footer
23
24# defaults for the above macros
25_pagetitle_ {_collectionname_}
26_pagescriptfileextra_ {}
27_pagescriptextra_ {}
28_pagebannerextra_ {}
29_pagefooterextra_ {}
30
31# collection specific style and script may be set in collection's extra.dm
32# using the following macros
33_collectionspecificstyle_ {}
34_collectionspecificscript_ {}
35
36# it also relies on lots of Globals, the most important of these are:
37# _cookie_ - put in the cgi header
38# _globalscripts_ - javascript stuff
39# _imagecollection_
40# _imagehome_
41# _imagehelp_
42# _imagepref_
43# _imagethispage_ (this is now not an image, but text. should be renamed?)
44# _linkotherversion_
45
46# _httpiconchalk_ - the image down the left of the page - is now done
47# by the style sheet.
48
49_header_ {_cgihead_
50_htmlhead_(class="bgimage")_startspacer__pagebanner_
51}
52
53_header_[v=1] {_cgihead_
54_htmlhead__pagebanner_
55}
56
57# _cgihead_ {Content-type: text/html
58# _cookie_
59#
60# }
61_cgihead_{}
62
63
64# any declarations relating to CSS that should go in the html head part.
65# declarations containing images are done here so the path is correct
66# at runtime.
67
68_csslink_{
69 <link rel="stylesheet" href="_cssfilelink_" type="text/css"
70 title="Greenstone Style" charset="UTF-8" _linktagend_
71 <link rel="alternate stylesheet" href="_httpstyle_/style-print.css"
72 type="text/css" title="Printer" charset="UTF-8" media="print, screen" _linktagend_
73 <link rel="stylesheet" href="_httpstyle_/style-print.css" type="text/css"
74 title="Printer" charset="UTF-8" media="print" _linktagend_
75}
76
77_cssheader_ {
78_csslink_
79<style type="text/css">
80body.bgimage \{ background: url("_httpimages_/chalk.gif") scroll repeat-y left top; \}
81div.navbar \{ background-image: url("_httpimages_/bg_green.png"); \}
82div.divbar \{ background-image: url("_httpimages_/bg_green.png"); \}
83a.navlink \{ background-image: url("_httpimages_/bg_off.png"); \}
84a.navlink_sel \{ background-image: url("_httpimages_/bg_green.png"); \}
85a.navlink:hover \{ background-image: url("_httpimages_/bg_on.png"); \}
86p.bannertitle \{background-image: url("_httpimages_/banner_bg.png"); \}
87p.collectiontitle \{background-image: url("_httpimages_/banner_bg.png"); \}
88</style>
89_collectionspecificstyle_
90
91}
92
93# separate macro so it can be easily overridden for customised collections
94_cssfilelink_ {_httpstyle_/style.css}
95
96# Languages that should be displayed right-to-left
97_htmlextra_ [l=ar] { dir=rtl }
98_htmlextra_ [l=fa] { dir=rtl }
99_htmlextra_ [l=he] { dir=rtl }
100_htmlextra_ [l=ur] { dir=rtl }
101_htmlextra_ [l=ps] { dir=rtl }
102_htmlextra_ [l=prs] { dir=rtl }
103
104# htmlhead uses:
105# _1_ - extra parameters for the body tag
106# _pagetitle_
107# _globalscripts_
108_htmlhead_ {<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
109"http://www.w3.org/TR/html4/loose.dtd">
110
111<html_htmlextra_>
112<head>
113<title>_pagetitle_</title>
114<meta name="_status:textversion_" content="_versionnum_" _metatagend_
115_globalscripts_
116_cssheader_
117_document:documentheader_
118</head>
119
120<body _1_>
121}
122
123# Link and meta tags must be closed differently for HTML/XHTML validation
124_linktagend_ {_If_("_compliance_" eq "xhtml",/>,>)}
125_metatagend_ {_If_("_compliance_" eq "xhtml",/>,>)}
126
127_spacerwidth_ {65}
128
129# _startspacer_ is a spacer that gives pages a left-hand margin.
130# It must eventually be closed by _endspacer_.
131_startspacer_ {
132<div id="page">
133}
134
135# If you want to move the home/help/pref buttons, override this to be empty
136# and then explicitly include _globallinks_ somewhere else
137# on the page
138_optgloballinks_ {_globallinks_}
139
140# _bannertitle_ is defined in nav_css/ns4.dm, and is either text or
141# a banner image
142_pagebanner_ {
143<!-- page banner (\_style:pagebanner\_) -->
144<div id="banner">
145<div class="pageinfo">
146<p class="bannerlinks">_optgloballinks_</p>
147_bannertitle_
148</div>
149<div class="collectimage">_imagecollection_</div>
150</div>
151<div class="bannerextra">_pagebannerextra_</div>
152<!-- end of page banner -->
153_If_("_activateweb20_" eq "2",
154 _If_("_activatetalkback_" eq "1",_talkback:uploadForm_)
155)
156}
157
158_pagebanner_[v=1] {
159<!-- page ba
160nner - text version [v=1] (\_style:pagebanner\_) -->
161<center><h2><b><u>_imagecollection_</u></b></h2></center><p>
162_optgloballinks_
163_pagebannerextra_
164<p>
165<!-- end of page banner -->
166_If_("_activateweb20_" eq "2",
167 _If_("_activatetalkback_" eq "1",_talkback:uploadForm_)
168)
169}
170
171# note we no longer close off one of the startspacer tables here!!
172_footer_ {
173_If_("_cgiargtalkback_" eq "1",_talkback:monitorUpload_)
174<!-- page footer (\_style:footer\_) -->
175_pagefooterextra__endspacer__htmlfooter_
176}
177
178# v=1 footer: not using startspacer in the header, so dont put it in the footer
179_footer_ [v=1]{
180_If_("_cgiargtalkback_" eq "1",_talkback:monitorUpload_)
181<!-- page footer [v=1] (\_style:footer\_) -->
182_pagefooterextra_
183_htmlfooter_
184}
185
186# close off anything opened by startspacer
187_endspacer_ {
188</div> <!-- id=page -->
189}
190
191
192_htmlfooter_ {
193</body>
194</html>
195}
196
197_loginscript_ {
198 function appendUsernameArgs(id,addOn)
199 \{
200 var a=document.getElementById(id);
201 var url = a.getAttribute("href");
202 if (url == "") \{
203 url = document.location.toString();
204 \}
205
206 //alert("url before = " + url);
207
208 // clear out any earlier user name/authentication values
209 url = url.replace(/(&|\\\\?)uan=\\d\{0,1\}/g,"");
210 url = url.replace(/(&|\\\\?)un=[a-z0-9:\\-]*/g,"");
211 url = url.replace(/(&|\\\\?)pw=[a-z0-9:\\-]*/g,"");
212
213 //alert("url after = " + url);
214
215 var gwcgi = "_gwcgi_";
216
217 var tailUrl = url.substr(url.length-gwcgi.length);
218
219 url += (tailUrl == "_gwcgi_") ? "?" : "&";
220 url += addOn;
221
222 //alert("url with add on = " + url);
223
224 a.setAttribute("href",url);
225 \}
226}
227
228
229# imagescript only used in nav_ns4.dm
230_globalscripts_{
231 <script type="text/javascript" src="_httpscript_/gsajaxapi.js"></script>
232
233 <script language="javascript" type="text/javascript">
234 function gsdefined(val)
235 \{
236 return (typeof(val) != "undefined");
237 \}
238
239 var gsapi = new GSAjaxAPI("_gwcgi_","_cgiargc_");
240 </script>
241
242_If_("_activateweb20_" eq "2",
243 _If_("_activateseaweed_" eq "1",_seaweedscript_)
244 _If_("_activatetalkback_" eq "1",_talkbackscript_)
245)
246_If_(_pagescriptfileextra_,_pagescriptfileextra_)
247<script language="javascript" type="text/javascript">
248_loginscript_
249_If_(_pagescriptextra_,_pagescriptextra_)
250_collectionspecificscript_
251_imagescript_
252</script>
253
254}
255
256_globalscripts_ [v=1] {
257_If_("_activateweb20_" eq "2",
258 <script type="text/javascript" src="_httpscript_/gsajaxapi.js"></script>
259 _If_("_activateseaweed_" eq "1",_seaweedscript_)
260 _If_("_activatetalkback_" eq "1",_talkbackscript_)
261)
262_If_(_pagescriptfileextra_,_pagescriptfileextra_)
263<script language="javascript" type="text/javascript">
264<!--
265_loginscript_
266_If_(_cgiargx_,_scriptdetach_)
267_If_(_pagescriptextra_,_pagescriptextra_)
268_collectionspecificscript_
269// -->
270</script>
271}
272
273_scriptdetach_ {
274 function close\_detach() \{
275 close();
276 \}
277}
Note: See TracBrowser for help on using the repository browser.