autoproj 1.7.0.rc2 → 1.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +29 -20
- data/Manifest.txt +2 -29
- data/Rakefile +7 -28
- data/bin/autolocate +9 -37
- data/{doc/guide/src → bin}/autoproj_bootstrap +36 -0
- data/bin/autoproj_stress_test +40 -0
- data/lib/autoproj/cmdline.rb +22 -3
- data/lib/autoproj/manifest.rb +0 -2
- data/lib/autoproj/version.rb +1 -1
- metadata +12 -40
- data/doc/guide/config.yaml +0 -29
- data/doc/guide/ext/init.rb +0 -18
- data/doc/guide/ext/previous_next.rb +0 -40
- data/doc/guide/ext/rdoc_links.rb +0 -33
- data/doc/guide/src/adding_packages.page +0 -40
- data/doc/guide/src/customization.page +0 -230
- data/doc/guide/src/default.css +0 -340
- data/doc/guide/src/default.template +0 -74
- data/doc/guide/src/error_messages.page +0 -37
- data/doc/guide/src/htmldoc.metainfo +0 -8
- data/doc/guide/src/htmldoc.virtual +0 -19
- data/doc/guide/src/images/bodybg.png +0 -0
- data/doc/guide/src/images/contbg.png +0 -0
- data/doc/guide/src/images/footerbg.png +0 -0
- data/doc/guide/src/images/gradient1.png +0 -0
- data/doc/guide/src/images/gradient2.png +0 -0
- data/doc/guide/src/index.page +0 -64
- data/doc/guide/src/manifest.xml +0 -14
- data/doc/guide/src/overview.png +0 -0
- data/doc/guide/src/overview.svg +0 -537
- data/doc/guide/src/package_sets/autobuild.page +0 -239
- data/doc/guide/src/package_sets/importers.page +0 -165
- data/doc/guide/src/package_sets/index.page +0 -223
- data/doc/guide/src/package_sets/manifest-xml.page +0 -29
- data/doc/guide/src/package_sets/osdeps.page +0 -128
- data/doc/guide/src/quick_start.page +0 -128
- data/doc/guide/src/toc.page +0 -7
- data/doc/guide/src/writing_manifest.page +0 -146
data/doc/guide/config.yaml
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
# This is the YAML configuration file for webgen used to set configuration options.
|
2
|
-
#
|
3
|
-
# The general syntax is:
|
4
|
-
#
|
5
|
-
# configuration.option.name: value
|
6
|
-
#
|
7
|
-
# For example, to set a different default language, you would do:
|
8
|
-
#
|
9
|
-
# website.lang: de
|
10
|
-
#
|
11
|
-
# Have a look at the documentation of the individual configuration options to see
|
12
|
-
# the allowed format of the values. Since this is a YAML file, you can easily set
|
13
|
-
# configuration options to strings, integers, dates, arrays, hashes and more.
|
14
|
-
#
|
15
|
-
# The available configuration options can be listed using the `webgen config`
|
16
|
-
# command, for example: `webgen config sourcehandler` will list all options starting
|
17
|
-
# with sourcehandler.
|
18
|
-
|
19
|
-
default_meta_info:
|
20
|
-
Webgen::SourceHandler::Page:
|
21
|
-
in_menu: true
|
22
|
-
|
23
|
-
tag.menu.nested: false
|
24
|
-
|
25
|
-
tag.breadcrumbtrail.omit_index_path: true
|
26
|
-
|
27
|
-
tag.coderay.line_numbers: false
|
28
|
-
tag.coderay.lang: ruby
|
29
|
-
|
data/doc/guide/ext/init.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# = webgen extensions directory
|
2
|
-
#
|
3
|
-
# All init.rb files anywhere under this directory get automatically loaded on a webgen run. This
|
4
|
-
# allows you to add your own extensions to webgen or to modify webgen's core!
|
5
|
-
#
|
6
|
-
# If you don't need this feature you can savely delete this file and the directory in which it is!
|
7
|
-
#
|
8
|
-
# The +config+ variable below can be used to access the Webgen::Configuration object for the current
|
9
|
-
# website.
|
10
|
-
config = Webgen::WebsiteAccess.website.config
|
11
|
-
|
12
|
-
config = Webgen::WebsiteAccess.website.config
|
13
|
-
config['sourcehandler.patterns']['Webgen::SourceHandler::Copy'] << '**/autoproj_bootstrap'
|
14
|
-
config['sourcehandler.patterns']['Webgen::SourceHandler::Copy'] << '**/manifest.xml'
|
15
|
-
|
16
|
-
$LOAD_PATH.unshift File.expand_path('..', File.dirname(__FILE__))
|
17
|
-
require 'ext/rdoc_links'
|
18
|
-
require 'ext/previous_next'
|
@@ -1,40 +0,0 @@
|
|
1
|
-
require 'webgen/tag'
|
2
|
-
class PrevNextTag
|
3
|
-
include Webgen::Tag::Base
|
4
|
-
|
5
|
-
def call(tag, body, context)
|
6
|
-
node = context.content_node
|
7
|
-
while !node.is_file?
|
8
|
-
node = node.parent
|
9
|
-
end
|
10
|
-
|
11
|
-
siblings = node.parent.children.sort
|
12
|
-
siblings.delete_if { |n| !n.meta_info['in_menu'] }
|
13
|
-
prev, _ = siblings.
|
14
|
-
enum_for(:each_cons, 2).
|
15
|
-
find { |prev, this| this == node }
|
16
|
-
_, nxt = siblings.
|
17
|
-
enum_for(:each_cons, 2).
|
18
|
-
find { |this, nxt| this == node }
|
19
|
-
|
20
|
-
content = if tag == "next" && nxt
|
21
|
-
node.link_to(nxt)
|
22
|
-
elsif tag == "previous" && prev
|
23
|
-
node.link_to(prev)
|
24
|
-
end
|
25
|
-
|
26
|
-
if content
|
27
|
-
if !body.empty?
|
28
|
-
body.gsub '%', content
|
29
|
-
else
|
30
|
-
content
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
config = Webgen::WebsiteAccess.website.config
|
37
|
-
config['contentprocessor.tags.map']['previous'] = 'PrevNextTag'
|
38
|
-
config['contentprocessor.tags.map']['next'] = 'PrevNextTag'
|
39
|
-
|
40
|
-
|
data/doc/guide/ext/rdoc_links.rb
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
require 'webgen/tag'
|
2
|
-
class RdocLinks
|
3
|
-
include Webgen::Tag::Base
|
4
|
-
|
5
|
-
def call(tag, body, context)
|
6
|
-
name = param('rdoclinks.name')
|
7
|
-
if base_module = param('rdoclinks.base_module')
|
8
|
-
name = base_module + "::" + name
|
9
|
-
end
|
10
|
-
|
11
|
-
if name =~ /(?:\.|#)(\w+)$/
|
12
|
-
class_name = $`
|
13
|
-
method_name = $1
|
14
|
-
else
|
15
|
-
class_name = name
|
16
|
-
end
|
17
|
-
|
18
|
-
path = class_name.split('::')
|
19
|
-
path[-1] += ".html"
|
20
|
-
url = "#{param('rdoclinks.base_url')}/#{path.join("/")}"
|
21
|
-
|
22
|
-
"<a href=\"#{context.ref_node.route_to(url)}\">#{param('rdoclinks.name')}</a>"
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
config = Webgen::WebsiteAccess.website.config
|
27
|
-
config.rdoclinks.name "", :mandatory => 'default'
|
28
|
-
config.rdoclinks.base_webgen "", :mandatory => false
|
29
|
-
config.rdoclinks.base_url "", :mandatory => false
|
30
|
-
config.rdoclinks.base_module nil, :mandatory => false
|
31
|
-
config.rdoclinks.full_name false, :mandatory => false
|
32
|
-
config['contentprocessor.tags.map']['rdoc_class'] = 'RdocLinks'
|
33
|
-
|
@@ -1,40 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: Adding packages (for the impatient)
|
3
|
-
sort_info: 50
|
4
|
-
---
|
5
|
-
|
6
|
-
To register a package in autoproj, you need to basically do two things
|
7
|
-
|
8
|
-
* declare it in an autobuild file
|
9
|
-
* add VCS information for it (i.e. "where to get it")
|
10
|
-
|
11
|
-
A first step
|
12
|
-
------------
|
13
|
-
|
14
|
-
A quick thing that can be done to register a new package in your autoproj
|
15
|
-
installation is to add it to the local package set.
|
16
|
-
|
17
|
-
* [register it](package_sets/autobuild.html) in
|
18
|
-
<tt>autoproj/local.autobuild</tt>
|
19
|
-
* [give version control information](package_sets/importers.html) for it in
|
20
|
-
<tt>autoproj/overrides.yml</tt>
|
21
|
-
|
22
|
-
Alternatively to the last point, you can register it under the "type: none"
|
23
|
-
importer in autoproj/overrides.yml to make autoproj not care about updating that
|
24
|
-
package.
|
25
|
-
|
26
|
-
Sharing package definitions with the rest of the world
|
27
|
-
------------------------------------------------------
|
28
|
-
|
29
|
-
To do that, you will either have to move the package definition to a separate
|
30
|
-
package set (usually one of those that are in autoproj/remotes/), or to create
|
31
|
-
your own package set]
|
32
|
-
|
33
|
-
For the first solution, you will have to move the package definition from
|
34
|
-
autoproj/local.autobuild to an autobuild file in the package set directory (name
|
35
|
-
does not matter as long as it ends with .autobuild). Moreover, you will have to
|
36
|
-
move the importer definition from autoproj/overrides.yml to the package set's
|
37
|
-
source.yml file.
|
38
|
-
|
39
|
-
For the second solution, [read on](package_sets/index.html)
|
40
|
-
|
@@ -1,230 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: Customizing the installation
|
3
|
-
sort_info: 75
|
4
|
-
---
|
5
|
-
|
6
|
-
Changing the installation's layout
|
7
|
-
----------------------------------
|
8
|
-
|
9
|
-
The <tt>layout</tt> section of <tt>autoproj/manifest</tt> offers two things:
|
10
|
-
|
11
|
-
* select which packages/package sets to build and
|
12
|
-
* build packages in specific subdirectories
|
13
|
-
|
14
|
-
This section lists packages or package sets that ought to be built by autoproj.
|
15
|
-
For instance, in the following example, only the <tt>orocos/rtt</tt> and <tt>orocos/ocl</tt>
|
16
|
-
packages of the rubim.orocos source will be built. The other will be excluded
|
17
|
-
from the build.
|
18
|
-
|
19
|
-
{coderay:: yaml}
|
20
|
-
package_sets:
|
21
|
-
- type: git
|
22
|
-
url: git://github.com/doudou/rubim.orocos.git
|
23
|
-
|
24
|
-
layout:
|
25
|
-
- orocos/rtt
|
26
|
-
- orocos/ocl
|
27
|
-
{coderay}
|
28
|
-
|
29
|
-
Instead of giving a package name, the name of a package set can be provided,
|
30
|
-
which translates into "all the packages of that set".
|
31
|
-
|
32
|
-
As we mentionned before, the layout mechanism also allows you to place packages
|
33
|
-
in subdirectories of the main installation. For instance, the following snippet
|
34
|
-
will build the <tt>typelib</tt>, <tt>utilmm</tt> and <tt>utilrb</tt> libraries of rubim.orocos into
|
35
|
-
the <tt>lib/</tt> subdirectory and all the <tt>orocos/</tt> packages in the root.
|
36
|
-
|
37
|
-
{coderay:: yaml}
|
38
|
-
layout:
|
39
|
-
- lib:
|
40
|
-
- typelib
|
41
|
-
- utilmm
|
42
|
-
- utilrb
|
43
|
-
- orocos/
|
44
|
-
{coderay}
|
45
|
-
|
46
|
-
Configuration files like <tt>autoproj/manifest</tt> are YAML file. As such, they
|
47
|
-
aresensible to indentation. The snippet above should be read as: in the layout, there is first a "lib" part and second the packages whose names start with "orocos/" _(first level of indentation)_. In the "lib" part, the packages are "typelib", "utilmm"
|
48
|
-
and "utilrb" _(second level of indentation)_.
|
49
|
-
{: .warning}
|
50
|
-
|
51
|
-
Alternatively, the example above could be written:
|
52
|
-
{coderay:: yaml}
|
53
|
-
layout:
|
54
|
-
- lib: [typelib, utilmm, utilrb]
|
55
|
-
- orocos/
|
56
|
-
{coderay}
|
57
|
-
|
58
|
-
Finally, names of sublayouts can be used as arguments in the autoproj command
|
59
|
-
line, instead of package names:
|
60
|
-
|
61
|
-
autoproj build lib
|
62
|
-
{: .commandline}
|
63
|
-
|
64
|
-
Removing packages from the build (<tt>exclude_packages</tt>) {#exclude_packages}
|
65
|
-
--------------------------------
|
66
|
-
Instead of having to list all packages that you do want to build, it is possible
|
67
|
-
to list the packages that you don't want to build. Simply list them in the
|
68
|
-
<tt>exclude_packages</tt> section of the manifest file. In the following example, all
|
69
|
-
of the rubim.orocos package set will be built *but* the pocosim-log package.
|
70
|
-
|
71
|
-
{coderay:: yaml}
|
72
|
-
layout:
|
73
|
-
- rubim.orocos
|
74
|
-
|
75
|
-
exclude_packages:
|
76
|
-
- pocosim-log
|
77
|
-
{coderay}
|
78
|
-
|
79
|
-
If another package, that should be built, depends on an excluded package, [an
|
80
|
-
error is generated](error_messages.html#exclusions)
|
81
|
-
|
82
|
-
Using packages that are already installed (<tt>ignore_packages</tt>)
|
83
|
-
-----------------------------------------
|
84
|
-
|
85
|
-
If some packages are already installed elsewhere, and you want to use that
|
86
|
-
version instead of the one listed in the package sets, list them in the
|
87
|
-
<tt>ignore_packages</tt> section of the manifest. In the following example, the
|
88
|
-
<tt>orocos/rtt</tt> package will *not* be built by autoproj.
|
89
|
-
|
90
|
-
{coderay:: yaml}
|
91
|
-
layout:
|
92
|
-
- rubim.orocos
|
93
|
-
|
94
|
-
exclude_packages:
|
95
|
-
- pocosim-log
|
96
|
-
|
97
|
-
ignore_packages:
|
98
|
-
- orocos/rtt
|
99
|
-
{coderay}
|
100
|
-
|
101
|
-
Unlike with <tt>exclude_packages</tt>, no error is generated for ignored
|
102
|
-
packages that are depended-upon by other packages in the build. This is because
|
103
|
-
ignore_packages is meant to list packages that are already installed outside of
|
104
|
-
autoproj, while exclude_packages lists what you do **not** want to have at all.
|
105
|
-
|
106
|
-
Local overrides of version control information
|
107
|
-
----------------------------------------------
|
108
|
-
|
109
|
-
The <tt>autoproj/overrides.yml</tt> allows you to override version control information
|
110
|
-
for specific packages. It has the same format than the source.yml file of
|
111
|
-
package sets, so [check that page out](package_sets/importers.html) for more information.
|
112
|
-
|
113
|
-
This file can in particular be used to avoid further updates to a given software
|
114
|
-
package. Simply do:
|
115
|
-
|
116
|
-
{coderay:: yaml}
|
117
|
-
overrides:
|
118
|
-
- orocos/rtt:
|
119
|
-
type: none
|
120
|
-
{coderay}
|
121
|
-
|
122
|
-
To track a different branch that the default branch, you will have to do:
|
123
|
-
|
124
|
-
{coderay:: yaml}
|
125
|
-
overrides:
|
126
|
-
- orocos/rtt:
|
127
|
-
branch: experimental
|
128
|
-
{coderay}
|
129
|
-
|
130
|
-
Tuning what files autoproj looks at to determine if a package should be updated
|
131
|
-
-------------------------------------------------------------------------------
|
132
|
-
When a package A depends on a package B, autoproj checks if some of the files in
|
133
|
-
B's directory are newer than the latest build of A. If it is the case, it will
|
134
|
-
trigger the build of B and then the one of A.
|
135
|
-
|
136
|
-
Autoproj has a default list of files that it should ignore. Unfortunately, it
|
137
|
-
may be that you are generating some files in the source directory that autoproj
|
138
|
-
interprets as new files and trigger builds.
|
139
|
-
|
140
|
-
If you have the impression that autoproj does too many rebuilds, run the build
|
141
|
-
once with the <tt>--list-newest-files</tt> option. For instance,
|
142
|
-
|
143
|
-
autoproj --list-newest-files fast-build
|
144
|
-
{: .cmdline}
|
145
|
-
|
146
|
-
If you find some files that should be ignored, add them either to the package
|
147
|
-
sets (i.e. autoproj/remotes/blablab/init.rb) or in autoproj/init.rb with
|
148
|
-
|
149
|
-
{coderay:: ruby}
|
150
|
-
ignore /a_regular_expression/
|
151
|
-
{coderay}
|
152
|
-
|
153
|
-
where /a_regular_expression/ is a regular expression matching your files. For
|
154
|
-
instance, to eliminate all files that have an extension in ".swp", one would do
|
155
|
-
|
156
|
-
{coderay:: ruby}
|
157
|
-
ignore /\.swp$/
|
158
|
-
{coderay}
|
159
|
-
|
160
|
-
Building local packages
|
161
|
-
-----------------------
|
162
|
-
|
163
|
-
You can list local packages that are not in an imported package set by placing
|
164
|
-
the definitions in autoproj/, in a file ending with <tt>.autobuild</tt>. See [this
|
165
|
-
page](package_sets/autobuild.html) for information on how to write autobuild files.
|
166
|
-
|
167
|
-
Setting up the path to specific commands (make, parallel builds)
|
168
|
-
----------------------------------------------------------------
|
169
|
-
|
170
|
-
The autobuild API allows to specify what specific installed command to use for
|
171
|
-
each tool needed during the build. These commands can be used in
|
172
|
-
<tt>autoproj/init.rb</tt> to tune the build system. Example:
|
173
|
-
|
174
|
-
{coderay:: ruby}
|
175
|
-
Autobuild.commands['make'] = '/path/to/ccmake'
|
176
|
-
Autobuild.parallel_build_level = 10 # build with -j10
|
177
|
-
{coderay}
|
178
|
-
|
179
|
-
More complex customization
|
180
|
-
--------------------------
|
181
|
-
|
182
|
-
More complex customization can be achieved by accessing the [Autoproj API](api/index.html) and
|
183
|
-
the [Autobuild API](http://doudou.github.com/autobuild/index.html) directly in the <tt>autoproj/init.rb</tt> and
|
184
|
-
<tt>autoproj/overrides.rb</tt>
|
185
|
-
files. The former is loaded before all source files and the latter is loaded
|
186
|
-
after all source files.
|
187
|
-
|
188
|
-
Some examples:
|
189
|
-
|
190
|
-
* fixing dependencies: if a dependency is not listed in a package's manifest,
|
191
|
-
then you can fix it by adding the following in <tt>autoproj/overrides.rb</tt>
|
192
|
-
{coderay:: ruby}
|
193
|
-
a = Autobuild::Package['a_package']
|
194
|
-
a.depends_on "other_package"
|
195
|
-
{coderay}
|
196
|
-
|
197
|
-
* changing the configuration of some cmake package:
|
198
|
-
{coderay:: ruby}
|
199
|
-
a = Autobuild::Package['a_package']
|
200
|
-
a.define "CONFIG_VAR", "CONFIG_VALUE"
|
201
|
-
{coderay}
|
202
|
-
|
203
|
-
Building packages selectively on the command line
|
204
|
-
-------------------------------------------------
|
205
|
-
|
206
|
-
The autoproj command line accepts subdirectories defined in the layout as well
|
207
|
-
as package names.
|
208
|
-
|
209
|
-
For instance, with the following layout:
|
210
|
-
|
211
|
-
{coderay:: yaml}
|
212
|
-
layout:
|
213
|
-
- typelib
|
214
|
-
- asguard:
|
215
|
-
- modules/base
|
216
|
-
- modules/logger
|
217
|
-
{coderay}
|
218
|
-
|
219
|
-
If the command line is
|
220
|
-
|
221
|
-
autoproj build modules/logger
|
222
|
-
{: .commandline}
|
223
|
-
|
224
|
-
then modules/logger and its dependencies will be built. Idem, if the command line is:
|
225
|
-
|
226
|
-
autoproj build asguard
|
227
|
-
{: .commandline}
|
228
|
-
|
229
|
-
then all packages or asguard/ are built, including their dependencies
|
230
|
-
|
data/doc/guide/src/default.css
DELETED
@@ -1,340 +0,0 @@
|
|
1
|
-
/* andreas03 - an open source xhtml/css website layout by Andreas Viklund - http://andreasviklund.com . Free to use for any purpose as long as the proper credits are given to the original author.
|
2
|
-
|
3
|
-
Version: 1.2
|
4
|
-
(Nov 28, 2005)
|
5
|
-
|
6
|
-
Screen layout: */
|
7
|
-
|
8
|
-
body{
|
9
|
-
margin:0;
|
10
|
-
padding:30px 0;
|
11
|
-
font:76% tahoma,verdana,sans-serif;
|
12
|
-
background:#047 url(images/bodybg.png) repeat-x fixed;
|
13
|
-
color:#222;
|
14
|
-
}
|
15
|
-
|
16
|
-
#thetop{
|
17
|
-
margin:0;
|
18
|
-
}
|
19
|
-
|
20
|
-
#container{
|
21
|
-
width:720px;
|
22
|
-
margin:0 auto;
|
23
|
-
padding:20px 20px 0 20px;
|
24
|
-
background:#fff url(images/contbg.png) no-repeat;
|
25
|
-
color:#222;
|
26
|
-
}
|
27
|
-
|
28
|
-
a{
|
29
|
-
text-decoration:none;
|
30
|
-
background-color:inherit;
|
31
|
-
color:#26c;
|
32
|
-
}
|
33
|
-
|
34
|
-
a:hover {
|
35
|
-
text-decoration:underline;
|
36
|
-
}
|
37
|
-
|
38
|
-
img.full {
|
39
|
-
margin-left: auto;
|
40
|
-
margin-right: auto;
|
41
|
-
margin-top: 2em;
|
42
|
-
margin-bottom: 2em;
|
43
|
-
}
|
44
|
-
|
45
|
-
a img{
|
46
|
-
border:0;
|
47
|
-
}
|
48
|
-
|
49
|
-
p{
|
50
|
-
margin:0 0 15px 0;
|
51
|
-
line-height:1.5em;
|
52
|
-
}
|
53
|
-
|
54
|
-
#main p,#sidebar p{
|
55
|
-
padding:0 0 0 10px;
|
56
|
-
}
|
57
|
-
|
58
|
-
#logo{
|
59
|
-
float:left;
|
60
|
-
width:240px;
|
61
|
-
margin:0 20px 0 0;
|
62
|
-
padding:0 0 25px 0;
|
63
|
-
background:#eee;
|
64
|
-
border:4px solid #dde;
|
65
|
-
text-align:center;
|
66
|
-
color:#555;
|
67
|
-
overflow:auto;
|
68
|
-
}
|
69
|
-
|
70
|
-
#logo h1{
|
71
|
-
margin:50px 5px 1px 5px;
|
72
|
-
letter-spacing:-3px;
|
73
|
-
}
|
74
|
-
|
75
|
-
#logo a{
|
76
|
-
background-color:inherit;
|
77
|
-
color:#26a;
|
78
|
-
text-decoration:none;
|
79
|
-
}
|
80
|
-
|
81
|
-
#logo a:hover{
|
82
|
-
background-color:inherit;
|
83
|
-
color:#69e;
|
84
|
-
}
|
85
|
-
|
86
|
-
#tagline{
|
87
|
-
text-align:center;
|
88
|
-
font-size:1.2em;
|
89
|
-
}
|
90
|
-
|
91
|
-
#intro p{
|
92
|
-
line-height:1.5em;
|
93
|
-
}
|
94
|
-
|
95
|
-
#main{
|
96
|
-
float:left;
|
97
|
-
width:530px;
|
98
|
-
margin-right:20px;
|
99
|
-
padding:0;
|
100
|
-
}
|
101
|
-
|
102
|
-
#main h2, .navbar {
|
103
|
-
display:block;
|
104
|
-
margin:30px 0 10px 0;
|
105
|
-
padding:5px 0 5px 8px;
|
106
|
-
background:#eee url(images/gradient2.png) repeat-x;
|
107
|
-
color:#222;
|
108
|
-
border-top:1px solid #ddd;
|
109
|
-
border-right:1px solid #bbb;
|
110
|
-
border-bottom:1px solid #bbb;
|
111
|
-
border-left:1px solid #ddd;
|
112
|
-
text-decoration:none;
|
113
|
-
}
|
114
|
-
|
115
|
-
#sidebar{
|
116
|
-
width:155px;
|
117
|
-
float:right;
|
118
|
-
margin-top:20px;
|
119
|
-
font-size:1em;
|
120
|
-
line-height:1.3em;
|
121
|
-
}
|
122
|
-
|
123
|
-
#sidebar p, #sidebar .linklist {
|
124
|
-
font-size:0.9em;
|
125
|
-
}
|
126
|
-
|
127
|
-
#sidebar ul.linklist {
|
128
|
-
list-style-type: none;
|
129
|
-
margin: 0px;
|
130
|
-
padding: 5px 0px 5px 8px;
|
131
|
-
}
|
132
|
-
|
133
|
-
#sidebar #menu ul, #sidebar #submenu ul {
|
134
|
-
list-style-type: none;
|
135
|
-
margin: 0px;
|
136
|
-
padding: 0px;
|
137
|
-
}
|
138
|
-
|
139
|
-
ul li ul li {
|
140
|
-
margin-left: -2em;
|
141
|
-
padding-left: 0;
|
142
|
-
}
|
143
|
-
|
144
|
-
#sidebar #menu li, .sidelink, #sidebar #submenu li, #sidebar #submenu li {
|
145
|
-
display:block;
|
146
|
-
width:140px;
|
147
|
-
margin:3px 10px 2px 0;
|
148
|
-
padding:5px 0 5px 8px;
|
149
|
-
font-size:1.1em;
|
150
|
-
font-weight:bold;
|
151
|
-
text-align:left;
|
152
|
-
background:#eee url(images/gradient1.png) repeat-x;
|
153
|
-
color:#26c;
|
154
|
-
border-top:1px solid #ddd;
|
155
|
-
border-right:1px solid #bbb;
|
156
|
-
border-bottom:1px solid #bbb;
|
157
|
-
border-left:1px solid #ddd;
|
158
|
-
}
|
159
|
-
|
160
|
-
#sidebar #menu a:hover {
|
161
|
-
text-decoration: none;
|
162
|
-
}
|
163
|
-
|
164
|
-
#sidebar #menu li.webgen-menu-submenu-inhierarchy, .menuheader {
|
165
|
-
background:#fff url(images/gradient2.png) repeat-x;
|
166
|
-
color:#222;
|
167
|
-
border-top:1px solid #ddd;
|
168
|
-
border-right:1px solid #888;
|
169
|
-
border-bottom:1px solid #888;
|
170
|
-
border-left:1px solid #ddd;
|
171
|
-
text-decoration:none;
|
172
|
-
}
|
173
|
-
|
174
|
-
#sidebar #menu li.webgen-menu-item-selected {
|
175
|
-
color: #222;
|
176
|
-
}
|
177
|
-
#sidebar #menu li.webgen-menu-item-selected:hover {
|
178
|
-
color: #222;
|
179
|
-
background: none;
|
180
|
-
border: none;
|
181
|
-
}
|
182
|
-
|
183
|
-
.menuheader {
|
184
|
-
font-size: 1.4em;
|
185
|
-
text-align: center;
|
186
|
-
margin-bottom: .4em;
|
187
|
-
}
|
188
|
-
|
189
|
-
#sidebar #submenu li.webgen-menu-item-selected, #sidebar #submenu li:hover {
|
190
|
-
background: none;
|
191
|
-
font-size: 1em:
|
192
|
-
}
|
193
|
-
|
194
|
-
#sidebar #menu li ul li, #sidebar #submenu li ul li, #sidebar #submenu li ul li.webgen-menu-item-selected {
|
195
|
-
display:block;
|
196
|
-
width:130px;
|
197
|
-
margin:3px 10px 2px 0;
|
198
|
-
padding:0px 0 0px 8px;
|
199
|
-
font-size:0.8em;
|
200
|
-
font-weight:bold;
|
201
|
-
text-align:left;
|
202
|
-
background: none;
|
203
|
-
color:#26c;
|
204
|
-
border: none;
|
205
|
-
}
|
206
|
-
|
207
|
-
|
208
|
-
#footer{
|
209
|
-
margin:0 auto 20px auto;
|
210
|
-
width:760px;
|
211
|
-
background:#fff url(images/footerbg.png) bottom left no-repeat;
|
212
|
-
padding:0 0 5px 0;
|
213
|
-
font-size:0.9em;
|
214
|
-
color:#888;
|
215
|
-
text-align:center;
|
216
|
-
}
|
217
|
-
|
218
|
-
h1,h2,h3,h4{
|
219
|
-
margin:0 0 10px 0;
|
220
|
-
font-weight:normal;
|
221
|
-
}
|
222
|
-
|
223
|
-
h1{
|
224
|
-
font-size:2.8em;
|
225
|
-
margin-top: 5px;
|
226
|
-
margin-bottom: 5px;
|
227
|
-
}
|
228
|
-
|
229
|
-
h2{
|
230
|
-
margin:0 0 4px 0;
|
231
|
-
font-size:1.8em;
|
232
|
-
}
|
233
|
-
|
234
|
-
h3{
|
235
|
-
margin:20px 0 8px 0;
|
236
|
-
font-size:1.4em;
|
237
|
-
}
|
238
|
-
|
239
|
-
h4{
|
240
|
-
margin:10px 0 5px 0;
|
241
|
-
font-size:1.2em;
|
242
|
-
}
|
243
|
-
|
244
|
-
.clear{
|
245
|
-
clear:both;
|
246
|
-
margin:0;
|
247
|
-
}
|
248
|
-
|
249
|
-
.right{
|
250
|
-
text-align:right;
|
251
|
-
}
|
252
|
-
|
253
|
-
.internallink{
|
254
|
-
font-size:0.9em;
|
255
|
-
text-align:center;
|
256
|
-
}
|
257
|
-
|
258
|
-
.block{
|
259
|
-
padding:20px;
|
260
|
-
background:#eee;
|
261
|
-
color:#222;
|
262
|
-
border:2px solid #ddd;
|
263
|
-
margin-top: 3em;
|
264
|
-
margin-bottom: 3em;
|
265
|
-
margin-left: 2em;
|
266
|
-
margin-right: 2em;
|
267
|
-
}
|
268
|
-
|
269
|
-
.warning{
|
270
|
-
padding:20px;
|
271
|
-
background:#fbb;
|
272
|
-
color:#222;
|
273
|
-
border:2px solid #eaa;
|
274
|
-
margin-top: 3em;
|
275
|
-
margin-bottom: 3em;
|
276
|
-
margin-left: 2em;
|
277
|
-
margin-right: 2em;
|
278
|
-
|
279
|
-
}
|
280
|
-
|
281
|
-
.credit{
|
282
|
-
color:#888;
|
283
|
-
background-color:inherit;
|
284
|
-
}
|
285
|
-
|
286
|
-
.hide{
|
287
|
-
display:none;
|
288
|
-
}
|
289
|
-
|
290
|
-
pre .code{
|
291
|
-
margin-left: 2.5em;
|
292
|
-
}
|
293
|
-
pre {
|
294
|
-
margin-left: 2.5em;
|
295
|
-
}
|
296
|
-
code {
|
297
|
-
font: monospace;
|
298
|
-
}
|
299
|
-
|
300
|
-
|
301
|
-
/* Original open source design by Andreas Viklund - http://andreasviklund.com
|
302
|
-
Released through OSWD.org */
|
303
|
-
|
304
|
-
.navbar {
|
305
|
-
padding-left: 1em;
|
306
|
-
padding-right: 1em;
|
307
|
-
padding-bottom: 2em;
|
308
|
-
}
|
309
|
-
.previous .next {
|
310
|
-
margin: 1em;
|
311
|
-
display: inline;
|
312
|
-
font-size: 1.2em;
|
313
|
-
}
|
314
|
-
.previous {
|
315
|
-
float: left;
|
316
|
-
}
|
317
|
-
.next {
|
318
|
-
float: right;
|
319
|
-
}
|
320
|
-
|
321
|
-
.fullfigure {
|
322
|
-
text-align: center;
|
323
|
-
}
|
324
|
-
.figurecaption {
|
325
|
-
text-align: center;
|
326
|
-
margin-top: -1em;
|
327
|
-
margin-bottom: 4em;
|
328
|
-
margin-left: 10%;
|
329
|
-
margin-right: 10%;
|
330
|
-
background:#eee;
|
331
|
-
color:#222;
|
332
|
-
border:2px solid #ddd;
|
333
|
-
}
|
334
|
-
.commandline {
|
335
|
-
font: monospace;
|
336
|
-
margin-left: 1em;
|
337
|
-
margin-top: -.6em;
|
338
|
-
margin-bottom: .5em;
|
339
|
-
}
|
340
|
-
|