ruby-vpi 16.0.1 → 17.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (247) hide show
  1. data/LICENSE +19 -19
  2. data/README +1 -1
  3. data/Rakefile +35 -32
  4. data/bin/convert.rb +28 -0
  5. data/bin/generate/design.rb +16 -0
  6. data/bin/generate/proto.rb +13 -0
  7. data/bin/generate/runner.rake +33 -0
  8. data/bin/generate/spec.rb +45 -0
  9. data/bin/generate.rb +177 -0
  10. data/bin/ruby-vpi +56 -0
  11. data/doc/Rakefile +20 -4
  12. data/doc/common.css +92 -33
  13. data/doc/common.inc +13 -0
  14. data/doc/common.tpl +42 -28
  15. data/doc/history.doc +11 -11
  16. data/doc/history.html +769 -248
  17. data/doc/history.inc +909 -0
  18. data/doc/history.rb +9 -0
  19. data/doc/history.yaml +69 -0
  20. data/doc/intro.inc +170 -178
  21. data/doc/lib/doc_format.rb +57 -144
  22. data/doc/lib/doc_proxy.rb +504 -88
  23. data/doc/lib/erb_content.rb +8 -8
  24. data/doc/lib/erb_proxy.rb +17 -17
  25. data/doc/manual.doc +626 -777
  26. data/doc/manual.html +1541 -1031
  27. data/doc/memo.doc +38 -36
  28. data/doc/memo.html +64 -28
  29. data/doc/readme.doc +4 -31
  30. data/doc/readme.html +221 -163
  31. data/doc/rss.erb +1 -1
  32. data/doc/rss.xml +73 -1761
  33. data/ext/Rakefile +6 -5
  34. data/ext/main.c +17 -15
  35. data/ext/relay.c +4 -7
  36. data/ext/relay.h +2 -2
  37. data/ext/swig_vpi.h +2 -2
  38. data/ext/swig_vpi.i +1 -2
  39. data/ext/swig_wrap.cin +12 -16
  40. data/ext/vlog.c +5 -5
  41. data/ext/vlog.h +2 -2
  42. data/lib/ruby-vpi/erb.rb +3 -3
  43. data/lib/ruby-vpi/float.rb +2 -2
  44. data/lib/ruby-vpi/rcov.rb +5 -7
  45. data/lib/ruby-vpi/runner.rb +43 -41
  46. data/lib/ruby-vpi/runner_boot_loader.rb +117 -0
  47. data/lib/ruby-vpi/runner_proxy.rb +6 -8
  48. data/lib/ruby-vpi/util.rb +10 -0
  49. data/lib/ruby-vpi/verilog_parser.rb +28 -56
  50. data/lib/ruby-vpi/vpi.rb +168 -123
  51. data/lib/ruby-vpi.rb +22 -143
  52. data/ref/c/annotated.html +1 -1
  53. data/ref/c/common_8h.html +1 -1
  54. data/ref/c/files.html +1 -1
  55. data/ref/c/functions.html +1 -1
  56. data/ref/c/functions_vars.html +1 -1
  57. data/ref/c/globals.html +1 -1
  58. data/ref/c/globals_0x63.html +1 -1
  59. data/ref/c/globals_0x65.html +1 -1
  60. data/ref/c/globals_0x66.html +1 -1
  61. data/ref/c/globals_0x6d.html +1 -1
  62. data/ref/c/globals_0x70.html +1 -1
  63. data/ref/c/globals_0x72.html +1 -1
  64. data/ref/c/globals_0x73.html +1 -1
  65. data/ref/c/globals_0x74.html +1 -1
  66. data/ref/c/globals_0x76.html +1 -1
  67. data/ref/c/globals_0x78.html +1 -1
  68. data/ref/c/globals_defs.html +1 -1
  69. data/ref/c/globals_defs_0x65.html +1 -1
  70. data/ref/c/globals_defs_0x70.html +1 -1
  71. data/ref/c/globals_defs_0x76.html +1 -1
  72. data/ref/c/globals_defs_0x78.html +1 -1
  73. data/ref/c/globals_enum.html +1 -1
  74. data/ref/c/globals_eval.html +1 -1
  75. data/ref/c/globals_func.html +1 -1
  76. data/ref/c/globals_type.html +1 -1
  77. data/ref/c/globals_vars.html +1 -1
  78. data/ref/c/index.html +1 -1
  79. data/ref/c/main_8c.html +1 -1
  80. data/ref/c/main_8h.html +1 -1
  81. data/ref/c/relay_8c.html +1 -1
  82. data/ref/c/relay_8h.html +1 -1
  83. data/ref/c/structt__cb__data.html +1 -1
  84. data/ref/c/structt__vpi__delay.html +1 -1
  85. data/ref/c/structt__vpi__error__info.html +1 -1
  86. data/ref/c/structt__vpi__strengthval.html +1 -1
  87. data/ref/c/structt__vpi__systf__data.html +1 -1
  88. data/ref/c/structt__vpi__time.html +1 -1
  89. data/ref/c/structt__vpi__value.html +1 -1
  90. data/ref/c/structt__vpi__vecval.html +1 -1
  91. data/ref/c/structt__vpi__vlog__info.html +1 -1
  92. data/ref/c/verilog_8h.html +1 -1
  93. data/ref/c/vlog_8c.html +1 -1
  94. data/ref/c/vlog_8h.html +1 -1
  95. data/ref/c/vpi__user_8h.html +1 -1
  96. data/ref/ruby/classes/ERB.html +5 -5
  97. data/ref/ruby/classes/ERB.src/{M000024.html → M000026.html} +0 -0
  98. data/ref/ruby/classes/FileUtils.html +11 -11
  99. data/ref/ruby/classes/FileUtils.src/{M000025.html → M000027.html} +0 -0
  100. data/ref/ruby/classes/FileUtils.src/{M000026.html → M000028.html} +0 -0
  101. data/ref/ruby/classes/Float.html +6 -6
  102. data/ref/ruby/classes/Float.src/{M000020.html → M000021.html} +0 -0
  103. data/ref/ruby/classes/Integer.html +65 -65
  104. data/ref/ruby/classes/Integer.src/M000009.html +12 -5
  105. data/ref/ruby/classes/Integer.src/M000010.html +5 -5
  106. data/ref/ruby/classes/Integer.src/M000011.html +5 -5
  107. data/ref/ruby/classes/Integer.src/M000012.html +5 -5
  108. data/ref/ruby/classes/Integer.src/M000013.html +5 -5
  109. data/ref/ruby/classes/Integer.src/M000014.html +18 -0
  110. data/ref/ruby/classes/Integer.src/M000017.html +12 -18
  111. data/ref/ruby/classes/Integer.src/M000018.html +18 -12
  112. data/ref/ruby/classes/Integer.src/M000019.html +12 -17
  113. data/ref/ruby/classes/Integer.src/M000020.html +30 -0
  114. data/ref/ruby/classes/RDoc.html +5 -5
  115. data/ref/ruby/classes/RDoc.src/{M000053.html → M000058.html} +0 -0
  116. data/ref/ruby/classes/{RubyVpi/Config.html → RubyVPI.html} +20 -6
  117. data/ref/ruby/classes/String.html +34 -15
  118. data/ref/ruby/classes/String.src/M000022.html +5 -28
  119. data/ref/ruby/classes/String.src/M000023.html +5 -5
  120. data/ref/ruby/classes/String.src/{M000021.html → M000024.html} +0 -0
  121. data/ref/ruby/classes/String.src/M000025.html +41 -0
  122. data/ref/ruby/classes/VerilogParser/Module/Port.html +16 -36
  123. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000006.html +10 -5
  124. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000004.html → M000007.html} +4 -4
  125. data/ref/ruby/classes/VerilogParser/Module/Port.src/{M000005.html → M000008.html} +4 -4
  126. data/ref/ruby/classes/VerilogParser/Module.html +28 -9
  127. data/ref/ruby/classes/VerilogParser/Module.src/M000005.html +29 -0
  128. data/ref/ruby/classes/VerilogParser.html +5 -39
  129. data/ref/ruby/classes/VerilogParser.src/M000004.html +26 -0
  130. data/ref/ruby/classes/Vpi/Handle.html +179 -77
  131. data/ref/ruby/classes/Vpi/Handle.src/M000035.html +18 -0
  132. data/ref/ruby/classes/Vpi/Handle.src/M000036.html +5 -5
  133. data/ref/ruby/classes/Vpi/Handle.src/M000037.html +5 -5
  134. data/ref/ruby/classes/Vpi/Handle.src/M000038.html +5 -5
  135. data/ref/ruby/classes/Vpi/Handle.src/M000039.html +5 -5
  136. data/ref/ruby/classes/Vpi/Handle.src/M000040.html +5 -8
  137. data/ref/ruby/classes/Vpi/Handle.src/M000041.html +5 -8
  138. data/ref/ruby/classes/Vpi/Handle.src/M000042.html +5 -9
  139. data/ref/ruby/classes/Vpi/Handle.src/M000043.html +8 -31
  140. data/ref/ruby/classes/Vpi/Handle.src/M000044.html +8 -74
  141. data/ref/ruby/classes/Vpi/Handle.src/M000045.html +9 -17
  142. data/ref/ruby/classes/Vpi/Handle.src/M000046.html +31 -11
  143. data/ref/ruby/classes/Vpi/Handle.src/M000047.html +86 -0
  144. data/ref/ruby/classes/Vpi/Handle.src/M000048.html +17 -18
  145. data/ref/ruby/classes/Vpi/Handle.src/M000050.html +18 -0
  146. data/ref/ruby/classes/Vpi/Handle.src/M000051.html +24 -0
  147. data/ref/ruby/classes/Vpi/Handle.src/M000053.html +31 -0
  148. data/ref/ruby/classes/Vpi/Handle.src/M000054.html +89 -0
  149. data/ref/ruby/classes/Vpi/S_vpi_time.html +16 -16
  150. data/ref/ruby/classes/Vpi/S_vpi_time.src/{M000050.html → M000055.html} +4 -4
  151. data/ref/ruby/classes/Vpi/S_vpi_time.src/{M000051.html → M000056.html} +5 -5
  152. data/ref/ruby/classes/Vpi/S_vpi_value.html +15 -15
  153. data/ref/ruby/classes/Vpi/S_vpi_value.src/{M000035.html → M000032.html} +5 -5
  154. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000033.html +5 -5
  155. data/ref/ruby/classes/Vpi/S_vpi_value.src/M000034.html +5 -5
  156. data/ref/ruby/classes/Vpi.html +6 -42
  157. data/ref/ruby/classes/Vpi.src/M000029.html +15 -5
  158. data/ref/ruby/classes/Vpi.src/M000030.html +24 -24
  159. data/ref/ruby/classes/Vpi.src/M000031.html +6 -8
  160. data/ref/ruby/created.rid +1 -1
  161. data/ref/ruby/files/bin/{header_to_ruby_rb.html → convert_rb.html} +5 -5
  162. data/ref/ruby/files/bin/{generate_test_rb.html → generate_rb.html} +8 -21
  163. data/ref/ruby/files/lib/ruby-vpi/erb_rb.html +1 -1
  164. data/ref/ruby/files/lib/ruby-vpi/float_rb.html +1 -1
  165. data/ref/ruby/files/lib/ruby-vpi/integer_rb.html +1 -1
  166. data/ref/ruby/files/lib/ruby-vpi/rake_rb.html +1 -1
  167. data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +1 -1
  168. data/ref/ruby/files/lib/ruby-vpi/rdoc_rb.html +1 -1
  169. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +197 -0
  170. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000001.html +17 -0
  171. data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000002.html +18 -0
  172. data/ref/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +1 -1
  173. data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +6 -19
  174. data/ref/ruby/files/lib/ruby-vpi/util_rb.html +101 -0
  175. data/ref/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +8 -1
  176. data/ref/ruby/files/lib/ruby-vpi/vpi_rb.html +1 -1
  177. data/ref/ruby/files/lib/ruby-vpi_rb.html +2 -14
  178. data/ref/ruby/fr_class_index.html +1 -3
  179. data/ref/ruby/fr_file_index.html +4 -2
  180. data/ref/ruby/fr_method_index.html +56 -51
  181. data/ref/ruby/index.html +1 -1
  182. data/samp/counter/RSpec/Rakefile +1 -0
  183. data/samp/counter/RSpec/counter_design.rb +15 -0
  184. data/samp/counter/RSpec/counter_proto.rb +10 -0
  185. data/samp/counter/RSpec/counter_runner.rake +44 -0
  186. data/samp/counter/RSpec/counter_spec.rb +39 -0
  187. data/samp/counter/Rakefile +1 -1
  188. data/samp/counter/counter.v +7 -7
  189. data/samp/counter/xUnit/Rakefile +1 -0
  190. data/samp/counter/xUnit/counter_bench.rb +95 -0
  191. data/samp/counter/{counter_xunit_bench.v → xUnit/counter_bench.v} +0 -0
  192. data/samp/counter/xUnit/counter_design.rb +15 -0
  193. data/samp/counter/xUnit/counter_proto.rb +10 -0
  194. data/samp/counter/xUnit/counter_runner.rake +44 -0
  195. data/samp/counter/{counter_xunit_spec.rb → xUnit/counter_spec.rb} +9 -9
  196. data/samp/pipelined_alu/Rakefile +1 -1
  197. data/samp/pipelined_alu/TestHw5UnitModel.rb +4 -5
  198. data/samp/pipelined_alu/hw5_unit.v +55 -85
  199. data/samp/pipelined_alu/hw5_unit_design.rb +51 -0
  200. data/samp/pipelined_alu/hw5_unit_proto.rb +4 -0
  201. data/samp/pipelined_alu/hw5_unit_runner.rake +43 -0
  202. data/samp/pipelined_alu/hw5_unit_spec.rb +64 -0
  203. data/samp/register_file/LICENSE +20 -0
  204. data/samp/register_file/README +4 -0
  205. data/samp/register_file/Rakefile +1 -0
  206. data/samp/register_file/register_file.v +18 -0
  207. data/samp/register_file/register_file_design.rb +11 -0
  208. data/samp/register_file/register_file_proto.rb +11 -0
  209. data/samp/register_file/register_file_runner.rake +43 -0
  210. data/samp/register_file/register_file_spec.rb +58 -0
  211. metadata +78 -66
  212. data/bin/generate_test.rb +0 -200
  213. data/bin/generate_test_tpl/bench.rb +0 -89
  214. data/bin/generate_test_tpl/bench.v +0 -26
  215. data/bin/generate_test_tpl/design.rb +0 -11
  216. data/bin/generate_test_tpl/proto.rb +0 -16
  217. data/bin/generate_test_tpl/runner.rake +0 -42
  218. data/bin/generate_test_tpl/spec.rb +0 -37
  219. data/bin/header_to_ruby.rb +0 -27
  220. data/ref/ruby/classes/Integer.src/M000008.html +0 -25
  221. data/ref/ruby/classes/Integer.src/M000016.html +0 -25
  222. data/ref/ruby/classes/RubyVpi.html +0 -199
  223. data/ref/ruby/classes/RubyVpi.src/M000027.html +0 -121
  224. data/ref/ruby/classes/VerilogParser/Module/Parameter.html +0 -160
  225. data/ref/ruby/classes/VerilogParser/Module/Parameter.src/M000007.html +0 -19
  226. data/ref/ruby/classes/VerilogParser/Module/Port.src/M000003.html +0 -21
  227. data/ref/ruby/classes/VerilogParser/Module.src/M000002.html +0 -34
  228. data/ref/ruby/classes/VerilogParser.src/M000001.html +0 -34
  229. data/ref/ruby/classes/Vpi/Handle.src/M000049.html +0 -69
  230. data/ref/ruby/classes/Vpi.src/M000028.html +0 -28
  231. data/ref/ruby/classes/Vpi.src/M000032.html +0 -22
  232. data/samp/counter/counter_rspec_bench.rb +0 -86
  233. data/samp/counter/counter_rspec_bench.v +0 -9
  234. data/samp/counter/counter_rspec_design.rb +0 -8
  235. data/samp/counter/counter_rspec_proto.rb +0 -13
  236. data/samp/counter/counter_rspec_runner.rake +0 -52
  237. data/samp/counter/counter_rspec_spec.rb +0 -39
  238. data/samp/counter/counter_xunit_bench.rb +0 -86
  239. data/samp/counter/counter_xunit_design.rb +0 -8
  240. data/samp/counter/counter_xunit_proto.rb +0 -13
  241. data/samp/counter/counter_xunit_runner.rake +0 -52
  242. data/samp/pipelined_alu/hw5_unit_test_bench.rb +0 -86
  243. data/samp/pipelined_alu/hw5_unit_test_bench.v +0 -14
  244. data/samp/pipelined_alu/hw5_unit_test_design.rb +0 -61
  245. data/samp/pipelined_alu/hw5_unit_test_proto.rb +0 -7
  246. data/samp/pipelined_alu/hw5_unit_test_runner.rake +0 -52
  247. data/samp/pipelined_alu/hw5_unit_test_spec.rb +0 -68
data/doc/common.css CHANGED
@@ -1,57 +1,117 @@
1
1
  body {
2
+ margin: 0;
3
+ background-color: snow;
4
+ line-height: 160%;
5
+ }
6
+
7
+ #body {
2
8
  margin-left: auto;
3
9
  margin-right: auto;
4
- max-width: 600px;
10
+ max-width: 37em;
11
+
12
+ background-color: white;
13
+ border-left: thick solid salmon;
14
+ border-right: thick solid salmon;
15
+ padding: 2em;
16
+ }
5
17
 
6
- margin-bottom: 5em; /* give space for #menu */
7
- margin-top: 2.25em; /* give space for breathing */
18
+ #body > h1 {
19
+ margin-top: 0;
8
20
  }
9
21
 
10
22
 
11
23
  /* headings */
12
24
 
13
- th, h1, h2, h3, h4, h5, h6, .title {
25
+ h1, h2, h3, h4, h5, h6, th, .title {
14
26
  font-family: serif;
15
27
  }
16
28
 
17
29
  h1, h2, h3, h4, h5, h6 {
18
- margin-top: 3em;
30
+ font-weight: lighter;
31
+ padding-top: 3em;
19
32
  border-bottom: thin solid silver;
20
33
  }
21
34
 
22
35
 
23
36
  /* table of contents */
24
37
 
25
- #menu {
26
- position: fixed;
27
- left: 0px;
28
- bottom: 0px;
29
- width: 100%;
38
+ #toc-links {
39
+ text-align: center;
40
+ border-bottom: thick solid salmon;
41
+ background-color: white;
42
+ padding: 1em;
43
+ }
44
+
45
+ #toc {
46
+ border-top: thick solid salmon;
47
+ background-color: white;
48
+ padding: 1em;
49
+ }
30
50
 
31
- background-color: whitesmoke;
32
- border-top: thin solid silver;
51
+ #toc li {
52
+ margin-left: -15px;
53
+ }
54
+
55
+
56
+ /* latex */
57
+
58
+ .front_cover {
59
+ margin-bottom: 10em;
60
+ }
61
+
62
+ .front_cover h1,
63
+ .front_cover h2,
64
+ .front_cover h3,
65
+ .front_cover h4,
66
+ .front_cover h5,
67
+ .front_cover h6 {
68
+ border: none;
33
69
  text-align: center;
34
70
  }
35
71
 
36
- #menu a {
37
- color: black;
72
+ .part,
73
+ .chapter {
74
+ padding-top: 3em;
75
+ padding-bottom: 3em;
76
+ }
77
+
78
+ .part > .title,
79
+ .chapter > .title {
80
+ border: none;
81
+ padding-bottom: 1em;
82
+ }
83
+
84
+ .part > .title {
85
+ border-bottom: thick solid salmon;
86
+ }
87
+
88
+ .paragraph > .title,
89
+ .admonition .title {
90
+ font-family: serif;
91
+ font-size: larger;
92
+ }
93
+
94
+ .paragraph > .title {
95
+ padding-top: 1em;
38
96
  }
39
97
 
40
98
 
41
99
  /* admonitions */
42
100
 
43
101
  .admonition {
44
- border: thin solid steelblue;
45
- background-color: aliceblue;
102
+ border: thin solid seagreen;
103
+ background-color: honeydew;
46
104
  padding: 1em;
47
- margin-bottom: 1em;
48
105
  margin-top: 1em;
106
+ margin-bottom: 1em;
49
107
 
50
- min-height: 170px;
108
+ min-height: 150px;
51
109
  }
52
110
 
53
- .admonition img {
54
- margin-right: 2em;
111
+ .admonition .icon {
112
+ margin-top: 0;
113
+ margin-left: 0;
114
+ float: left;
55
115
  }
56
116
 
57
117
 
@@ -83,6 +143,10 @@ pre {
83
143
 
84
144
  /* tables */
85
145
 
146
+ table {
147
+ background-color: white; /* otherwise it's transparent! */
148
+ }
149
+
86
150
  th, td {
87
151
  padding: 1em;
88
152
  border: thin solid silver;
@@ -96,15 +160,13 @@ th {
96
160
  /* formal blocks; see http://www.sagehill.net/docbookxsl/FormalTitles.html */
97
161
 
98
162
  .formal {
99
- margin: 1em;
163
+ padding-top: 1em;
164
+ padding-bottom: 1em;
100
165
  }
101
166
 
102
- .title {
167
+ .formal .title {
103
168
  display: block;
104
169
  font-size: large;
105
- }
106
-
107
- .formal .title {
108
170
  text-align: center
109
171
  }
110
172
 
@@ -145,6 +207,11 @@ big {
145
207
  font-size: larger;
146
208
  }
147
209
 
210
+ a:hover {
211
+ color: red;
212
+ }
213
+
214
+
148
215
  /* fix annoyances */
149
216
 
150
217
  img {
@@ -154,11 +221,3 @@ img {
154
221
  a img {
155
222
  border: none;
156
223
  }
157
-
158
- #menu li, .entry .toc li {
159
- margin-left: -1.5em;
160
- }
161
-
162
- .formal .title {
163
- margin-top: 3em;
164
- }
data/doc/common.inc ADDED
@@ -0,0 +1,13 @@
1
+ <%
2
+ unindent ' ' # 2 spaces
3
+
4
+ history = YAML.load_file('history.yaml')
5
+ version = history.first['Version']
6
+
7
+ downloadURL = 'http://rubyforge.org/frs/?group_id=1339'
8
+ forumURL = 'http://rubyforge.org/forum/?group_id=1339'
9
+ trackerURL = 'http://rubyforge.org/tracker/?group_id=1339'
10
+ portalURL = 'http://rubyforge.org/projects/ruby-vpi'
11
+ codeURL = 'http://ruby-vpi.rubyforge.org/src/ruby-vpi'
12
+ projectURL = 'http://ruby-vpi.rubyforge.org'
13
+ %>
data/doc/common.tpl CHANGED
@@ -2,11 +2,26 @@
2
2
  require 'doc_format'
3
3
 
4
4
  # set default page title if none was given
5
- unless page_title
6
- if h = @headings.first
7
- page_title = h.title
8
- end
5
+ unless page_title
6
+ if h = @nodeTree.group2nodes[:latex].first
7
+ page_title = h.title
9
8
  end
9
+ end
10
+
11
+ Listing = Struct.new(:name, :anchor, :key, :nodes) unless defined? Listing
12
+
13
+ listings = (
14
+ DocProxy::GROUP2TYPES[:admonition] +
15
+ DocProxy::GROUP2TYPES[:formal]
16
+ ).flatten.inject([]) do |ary, key|
17
+ nodes = @nodeTree.type2nodes[key]
18
+
19
+ unless nodes.empty?
20
+ ary << Listing.new(key.to_s.capitalize << 's', "toc:#{key}".to_html_anchor, key, nodes)
21
+ end
22
+
23
+ ary
24
+ end
10
25
  %>
11
26
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
12
27
  <html>
@@ -19,39 +34,38 @@
19
34
  </head>
20
35
  <body>
21
36
  <% if insert_toc %>
22
- <h1 style="margin-top: 0"><%= page_title %></h1>
23
-
24
- <%= %{p=. !images/tango/home.png(Return to main page)!:readme.html}.redcloth %>
25
-
26
- <div id="menu">
27
- <%=
28
- links = @indexes.values.flatten.map do |i|
29
- %{<a href="##{i.name.downcase}">#{i.name}</a>}
37
+ <div id="toc-links">
38
+ <%
39
+ links = listings.map do |x|
40
+ %{<a href="##{x.anchor}">#{x.name}</a>}
30
41
  end
31
- links.unshift %{<a href="#index">Contents</a>}
32
-
33
- links.join ' &middot; '
42
+ links.unshift %{<a href="#toc:contents">Contents</a>}
34
43
  %>
44
+ <% links.each do |link| %>
45
+ <%= link %> &middot;
46
+ <% end %>
47
+
48
+ <a href="readme.html" style="color: green; font-size: larger;">Home page</a>
35
49
  </div>
50
+ <% end %>
36
51
 
37
- <div id="index">
38
- <h1>Contents</h1>
39
- <%= toc %>
52
+ <div id="body"><%= content %></div>
40
53
 
41
- <% @indexes.each_pair do |cat, lists| %>
42
- <h1><%= cat %></h1>
54
+ <% if insert_toc %>
55
+ <hr style="display: none"/>
56
+ <div id="toc">
57
+ <h1 id="toc:contents">Contents</h1>
58
+ <%= toc %>
43
59
 
44
- <% lists.each do |list| %>
45
- <h2 id="<%= list.name.downcase %>"><%= list.name %></h2>
46
- <%=
47
- list.items.inject('') do |memo, block|
48
- memo << "# #{(block.title || block.anchor).inspect}:##{block.anchor}\n"
49
- end.redcloth
50
- %>
60
+ <% listings.each do |x| %>
61
+ <h1 id="<%= x.anchor %>"><%= x.name %></h1>
62
+ <ol>
63
+ <% x.nodes.map do |node| %>
64
+ <%= %{<li><a href="##{node.anchor}" id="#{node.tocAnchor}">#{node.title.to_html}</a></li>} %>
51
65
  <% end %>
66
+ </ol>
52
67
  <% end %>
53
68
  </div>
54
69
  <% end %>
55
- <%= content %>
56
70
  </body>
57
71
  </html>
data/doc/history.doc CHANGED
@@ -1,17 +1,17 @@
1
- h1. Release history
1
+ <doc_proxy_include common.inc>
2
2
 
3
- This is a record of important changes that have occurred with each release.
3
+ <% front_cover "Release history" do %>
4
+ This is a record of important changes that have occurred with each release.
4
5
 
6
+ <% paragraph "Version numbering system" do %>
7
+ Ruby-VPI uses the "RubyGems rational versioning policy":http://www.rubygems.org/read/chapter/7 to number its releases. This "major.minor.build" numbering policy "is summarized":http://ablog.apress.com/?p=738 as follows.
5
8
 
6
- h2. Version numbering system
9
+ * When the *major* number increases, functionally _incompatible changes_ have occurred. Thus, what may have worked in the previous version may not work in the new one.
7
10
 
8
- Ruby-VPI uses the "RubyGems rational versioning policy":http://www.rubygems.org/read/chapter/7 to number its releases. This "major.minor.build" numbering policy "is summarized":http://ablog.apress.com/?p=738 as follows.
11
+ * When the *minor* number increases, functionally _compatible changes_ have occurred. Thus, what worked in the previous version will work in the new one.
9
12
 
10
- * When the *major* number increases, functionally _incompatible changes_ have occurred. Thus, what may have worked in the previous version may not work in the new one.
13
+ * When the *build* number increases, the _underlying implementation_ has changed. The functionality has not changed and no features have been added. Thus, what worked in the previous version will work in the new one.
14
+ <% end %>
15
+ <% end %>
11
16
 
12
- * When the *minor* number increases, functionally _compatible changes_ have occurred. Thus, what worked in the previous version will work in the new one.
13
-
14
- * When the *build* number increases, the _underlying implementation_ has changed. The functionality has not changed and no features have been added. Thus, what worked in the previous version will work in the new one.
15
-
16
-
17
- <%= @history.join "\n\n" %>
17
+ <doc_proxy_include history.inc>