source: gsdl/trunk/macros/style.dm@ 20597

Last change on this file since 20597 was 20597, checked in by kjdon, 15 years ago

added _collectionspecificscript_ macro for collection specific javascript, this can be used instead of pagescriptextra - doesn't need to include any stuff for the local page

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 5.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# _bannertitle_ is defined in nav_css/ns4.dm, and is either text or
136# a banner image
137_pagebanner_ {
138<!-- page banner (\_style:pagebanner\_) -->
139<div id="banner">
140<div class="pageinfo">
141<p class="bannerlinks">_optgloballinks_</p>
142_bannertitle_
143</div>
144<div class="collectimage">_imagecollection_</div>
145</div>
146<div class="bannerextra">_pagebannerextra_</div>
147<!-- end of page banner -->
148}
149
150_pagebanner_[v=1] {
151<!-- page ba
152nner - text version [v=1] (\_style:pagebanner\_) -->
153<center><h2><b><u>_imagecollection_</u></b></h2></center><p>
154_optgloballinks_
155_pagebannerextra_
156<p>
157<!-- end of page banner -->
158}
159
160# note we no longer close off one of the startspacer tables here!!
161_footer_ {
162<!-- page footer (\_style:footer\_) -->
163_pagefooterextra__endspacer__htmlfooter_
164}
165
166# v=1 footer: not using startspacer in the header, so dont put it in the footer
167_footer_ [v=1]{
168<!-- page footer [v=1] (\_style:footer\_) -->
169_pagefooterextra_
170_htmlfooter_
171}
172
173# close off anything opened by startspacer
174_endspacer_ {
175</div> <!-- id=page -->
176}
177
178
179_htmlfooter_ {
180</body>
181</html>
182}
183
184# imagescript only used in nav_ns4.dm
185_globalscripts_{
186_If_(_pagescriptfileextra_,_pagescriptfileextra_)
187<script language="javascript" type="text/javascript">
188_If_(_pagescriptextra_,_pagescriptextra_)
189_collectionspecificscript_
190_imagescript_
191</script>
192}
193
194_globalscripts_ [v=1] {
195<script language="javascript" type="text/javascript">
196<!--
197_If_(_cgiargx_,_scriptdetach_)
198_pagescriptextra_
199_collectionspecificscript_
200// -->
201</script>
202}
203
204_scriptdetach_ {
205 function close\_detach() \{
206 close();
207 \}
208}
Note: See TracBrowser for help on using the repository browser.