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

Last change on this file since 14119 was 13429, checked in by shaoqun, 17 years ago

added a new macro _csslink_ to allow css link customization for different pages, for example, the document page now uses its own print stylesheets

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 5.1 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_pagescriptextra_ {}
27_pagebannerextra_ {}
28_pagefooterextra_ {}
29
30# it also relies on lots of Globals, the most important of these are:
31# _cookie_ - put in the cgi header
32# _globalscripts_ - javascript stuff
33# _imagecollection_
34# _imagehome_
35# _imagehelp_
36# _imagepref_
37# _imagethispage_ (this is now not an image, but text. should be renamed?)
38# _linkotherversion_
39
40# _httpiconchalk_ - the image down the left of the page - is now done
41# by the style sheet.
42
43_header_ {_cgihead_
44_htmlhead_(class="bgimage")_startspacer__pagebanner_
45}
46
47_header_[v=1] {_cgihead_
48_htmlhead__pagebanner_
49}
50
51# _cgihead_ {Content-type: text/html
52# _cookie_
53#
54# }
55_cgihead_{}
56
57# may be set in collection's extra.dm
58_collectionspecificstyle_ {}
59
60# any declarations relating to CSS that should go in the html head part.
61# declarations containing images are done here so the path is correct
62# at runtime.
63
64_csslink_{
65 <link rel="stylesheet" href="_cssfilelink_" type="text/css"
66 title="Greenstone Style" charset="UTF-8" _linktagend_
67 <link rel="alternate stylesheet" href="_httpimg_/style-print.css"
68 type="text/css" title="Printer" charset="UTF-8" media="print, screen" _linktagend_
69 <link rel="stylesheet" href="_httpimg_/style-print.css" type="text/css"
70 title="Printer" charset="UTF-8" media="print" _linktagend_
71}
72
73_cssheader_ {
74_csslink_
75<style type="text/css">
76body.bgimage \{ background-image: url("_httpimg_/chalk.gif"); \}
77div.navbar \{ background-image: url("_httpimg_/bg_green.png"); \}
78div.divbar \{ background-image: url("_httpimg_/bg_green.png"); \}
79a.navlink \{ background-image: url("_httpimg_/bg_off.png"); \}
80a.navlink_sel \{ background-image: url("_httpimg_/bg_green.png"); \}
81a.navlink:hover \{ background-image: url("_httpimg_/bg_on.png"); \}
82p.bannertitle \{background-image: url("_httpimg_/banner_bg.png"); \}
83p.collectiontitle \{background-image: url("_httpimg_/banner_bg.png"); \}
84</style>
85_collectionspecificstyle_
86
87}
88
89# separate macro so it can be easily overridden for customised collections
90_cssfilelink_ {_httpimg_/style.css}
91
92# Languages that should be displayed right-to-left
93_htmlextra_ [l=ar] { dir=rtl }
94_htmlextra_ [l=fa] { dir=rtl }
95_htmlextra_ [l=he] { dir=rtl }
96_htmlextra_ [l=ur] { dir=rtl }
97
98# htmlhead uses:
99# _1_ - extra parameters for the body tag
100# _pagetitle_
101# _globalscripts_
102_htmlhead_ {<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
103
104<html_htmlextra_>
105<head>
106<title>_pagetitle_</title>
107<meta name="_status:textversion_" content="_versionnum_" _metatagend_
108_globalscripts_
109_cssheader_
110_document:documentheader_
111</head>
112
113<body _1_>
114}
115
116# Link and meta tags must be closed differently for HTML/XHTML validation
117_linktagend_ {_If_("_compliance_" eq "xhtml",/>,>)}
118_metatagend_ {_If_("_compliance_" eq "xhtml",/>,>)}
119
120_spacerwidth_ {65}
121
122# _startspacer_ is a spacer that gives pages a left-hand margin.
123# It must eventually be closed by _endspacer_.
124_startspacer_ {
125<div id="page">
126}
127
128# _bannertitle_ is defined in nav_css/ns4.dm, and is either text or
129# a banner image
130_pagebanner_ {
131<!-- page banner (\_style:pagebanner\_) -->
132<div id="banner">
133<div class="pageinfo">
134<p class="bannerlinks">_globallinks_</p>
135_bannertitle_
136</div>
137<div class="collectimage">_imagecollection_</div>
138</div>
139<div class="bannerextra">_pagebannerextra_</div>
140<!-- end of page banner -->
141}
142
143_pagebanner_[v=1] {
144<!-- page banner - text version [v=1] (\_style:pagebanner\_) -->
145<center><h2><b><u>_imagecollection_</u></b></h2></center><p>
146_globallinks_
147_pagebannerextra_
148<p>
149<!-- end of page banner -->
150}
151
152# note we no longer close off one of the startspacer tables here!!
153_footer_ {
154<!-- page footer (\_style:footer\_) -->
155_pagefooterextra__endspacer__htmlfooter_
156}
157
158# v=1 footer: not using startspacer in the header, so dont put it in the footer
159_footer_ [v=1]{
160<!-- page footer [v=1] (\_style:footer\_) -->
161_pagefooterextra_
162_htmlfooter_
163}
164
165# close off anything opened by startspacer
166_endspacer_ {
167</div> <!-- id=page -->
168}
169
170
171_htmlfooter_ {
172</body>
173</html>
174}
175
176# imagescript only used in nav_ns4.dm
177_globalscripts_{
178<script language="javascript" type="text/javascript">
179_If_(_pagescriptextra_,_pagescriptextra_)
180_imagescript_
181</script>
182}
183
184_globalscripts_ [v=1] {
185<script language="javascript" type="text/javascript">
186<!--
187_If_(_cgiargx_,_scriptdetach_)
188_pagescriptextra_
189// -->
190</script>
191}
192
193_scriptdetach_ {
194 function close\_detach() \{
195 close();
196 \}
197}
Note: See TracBrowser for help on using the repository browser.