ruby-vpi 16.0.1 → 17.0.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.
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>