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.
Files changed (38) hide show
  1. data/History.txt +29 -20
  2. data/Manifest.txt +2 -29
  3. data/Rakefile +7 -28
  4. data/bin/autolocate +9 -37
  5. data/{doc/guide/src → bin}/autoproj_bootstrap +36 -0
  6. data/bin/autoproj_stress_test +40 -0
  7. data/lib/autoproj/cmdline.rb +22 -3
  8. data/lib/autoproj/manifest.rb +0 -2
  9. data/lib/autoproj/version.rb +1 -1
  10. metadata +12 -40
  11. data/doc/guide/config.yaml +0 -29
  12. data/doc/guide/ext/init.rb +0 -18
  13. data/doc/guide/ext/previous_next.rb +0 -40
  14. data/doc/guide/ext/rdoc_links.rb +0 -33
  15. data/doc/guide/src/adding_packages.page +0 -40
  16. data/doc/guide/src/customization.page +0 -230
  17. data/doc/guide/src/default.css +0 -340
  18. data/doc/guide/src/default.template +0 -74
  19. data/doc/guide/src/error_messages.page +0 -37
  20. data/doc/guide/src/htmldoc.metainfo +0 -8
  21. data/doc/guide/src/htmldoc.virtual +0 -19
  22. data/doc/guide/src/images/bodybg.png +0 -0
  23. data/doc/guide/src/images/contbg.png +0 -0
  24. data/doc/guide/src/images/footerbg.png +0 -0
  25. data/doc/guide/src/images/gradient1.png +0 -0
  26. data/doc/guide/src/images/gradient2.png +0 -0
  27. data/doc/guide/src/index.page +0 -64
  28. data/doc/guide/src/manifest.xml +0 -14
  29. data/doc/guide/src/overview.png +0 -0
  30. data/doc/guide/src/overview.svg +0 -537
  31. data/doc/guide/src/package_sets/autobuild.page +0 -239
  32. data/doc/guide/src/package_sets/importers.page +0 -165
  33. data/doc/guide/src/package_sets/index.page +0 -223
  34. data/doc/guide/src/package_sets/manifest-xml.page +0 -29
  35. data/doc/guide/src/package_sets/osdeps.page +0 -128
  36. data/doc/guide/src/quick_start.page +0 -128
  37. data/doc/guide/src/toc.page +0 -7
  38. data/doc/guide/src/writing_manifest.page +0 -146
@@ -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
-
@@ -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
-
@@ -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
-
@@ -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
-