autoproj 1.7.0.rc2 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
-
|