metanorma-vg 1.1.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 (42) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/macos.yml +39 -0
  3. data/.github/workflows/ubuntu.yml +53 -0
  4. data/.github/workflows/windows.yml +41 -0
  5. data/.gitignore +1 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +11 -0
  8. data/LICENSE +25 -0
  9. data/README.adoc +105 -0
  10. data/Rakefile +6 -0
  11. data/bin/console +14 -0
  12. data/bin/rspec +18 -0
  13. data/bin/setup +8 -0
  14. data/lib/asciidoctor/vg.rb +8 -0
  15. data/lib/asciidoctor/vg/basicdoc.rng +1059 -0
  16. data/lib/asciidoctor/vg/biblio.rng +1237 -0
  17. data/lib/asciidoctor/vg/converter.rb +29 -0
  18. data/lib/asciidoctor/vg/isodoc.rng +1504 -0
  19. data/lib/asciidoctor/vg/reqt.rng +194 -0
  20. data/lib/asciidoctor/vg/vsd.rng +79 -0
  21. data/lib/isodoc/vg.rb +9 -0
  22. data/lib/isodoc/vg/html/header.html +242 -0
  23. data/lib/isodoc/vg/html/html_vsd_intro.html +8 -0
  24. data/lib/isodoc/vg/html/html_vsd_titlepage.html +106 -0
  25. data/lib/isodoc/vg/html/htmlstyle.scss +717 -0
  26. data/lib/isodoc/vg/html/logo.png +0 -0
  27. data/lib/isodoc/vg/html/scripts.html +71 -0
  28. data/lib/isodoc/vg/html/vsd.scss +687 -0
  29. data/lib/isodoc/vg/html/word_vsd_intro.html +3 -0
  30. data/lib/isodoc/vg/html/word_vsd_titlepage.html +71 -0
  31. data/lib/isodoc/vg/html/wordstyle.scss +1152 -0
  32. data/lib/isodoc/vg/html_convert.rb +21 -0
  33. data/lib/isodoc/vg/metadata.rb +11 -0
  34. data/lib/isodoc/vg/presentation_xml_convert.rb +10 -0
  35. data/lib/isodoc/vg/word_convert.rb +19 -0
  36. data/lib/metanorma-vg.rb +11 -0
  37. data/lib/metanorma/vg.rb +32 -0
  38. data/lib/metanorma/vg/processor.rb +37 -0
  39. data/lib/metanorma/vg/version.rb +5 -0
  40. data/metanorma-vsd.gemspec +45 -0
  41. data/metanorma.yml +20 -0
  42. metadata +256 -0
@@ -0,0 +1,8 @@
1
+ <nav>
2
+ <h1 id="content">Contents</h1>
3
+ <div id="toc"></div>
4
+
5
+ </nav>
6
+
7
+
8
+ <div class="rule toc"></div>
@@ -0,0 +1,106 @@
1
+ <div class="document-stage-band" id="{{ stage | downcase | replace: ' ', '-' }}-band">
2
+ <p class="document-stage">{{ stage }}</p>
3
+ </div>
4
+
5
+ <div class="document-type-band" id="{{ doctype | downcase | replace: ' ', '-' }}-band">
6
+ <p class="document-type">Vita Green {{ doctype }}</p>
7
+ </div>
8
+
9
+
10
+
11
+ <div id='toggle'> <span>&#x2022;</span> </div>
12
+
13
+ <header>
14
+
15
+ <!--<div class="WordSection1">-->
16
+ <div class="coverpage">
17
+ <div class="wrapper-top">
18
+
19
+ <div class="coverpage-doc-identity">
20
+ <div class="doc-number">
21
+ <span class="docnumber">{{ docnumber }}</span>
22
+ <span class="docnumber-separator">:</span>
23
+ <span class="docyear">{{ docyear }} {{ draftinfo }}</span>
24
+ </div>
25
+
26
+ <div class="coverpage-title">
27
+ <span class="title-first">{{ doctitle }}</span>
28
+ <!--<span class="title-second">{{ docsubtitle }}</span>-->
29
+ </div>
30
+ </div>
31
+
32
+ <div class="coverpage-logo">
33
+ <span>Vita Green International Inc. {{ docyear }}</span>
34
+ </div>
35
+
36
+ <div class="coverpage-tc-name">
37
+ <span>{{ tc }}</span>
38
+ </div>
39
+ </div>
40
+
41
+ <div class="wrapper-top-bottom"></div>
42
+
43
+ <div class="WordSection11">
44
+ <div class="coverpage-stage-block" >
45
+ <span class="coverpage-stage" id="{{ doctype | replace: ' ', '-' | downcase }}">Vita Green {{ doctype }}</span>
46
+ </div>
47
+
48
+ <div class="coverpage-stage-block" >
49
+ <p><span class="coverpage-maturity" id="{{ stage | replace: ' ', '-' | downcase }}">{{ stage }}</span></p>
50
+ {% if security %}
51
+ <p><span class="coverpage-maturity">Classification: {{ security }}</span></p>
52
+ {% endif %}
53
+ </div>
54
+
55
+ {% if doctype == "Policy And Procedures" or doctype == "Proposal" %}
56
+ <div class="coverpage-stage-block" >{{ revdate }}</div>
57
+ {% endif %}
58
+
59
+ {% if stage != "Published" and stage != "Withdrawn" %}
60
+ <div class="coverpage-warning">
61
+ <span class="title">Warning for Drafts</span>
62
+
63
+ <p class="content">
64
+ This document is not a Vita Green Standard. It is distributed for review and
65
+ comment, and is subject to change without notice and may not be referred to as
66
+ a Standard. Recipients of this draft are invited to submit, with their
67
+ comments, notification of any relevant patent rights of which they are aware
68
+ and to provide supporting documentation.
69
+ </p>
70
+ </div>
71
+ {% endif %}
72
+
73
+ <div class="info-section">
74
+ <div class="copyright">
75
+ <p class="year">
76
+ &copy; {{ docyear }} Vita Green International Inc.
77
+ </p>
78
+
79
+ <p class="message">
80
+ All rights reserved. Unless otherwise specified, no part of this
81
+ publication may be reproduced or utilized otherwise in any form or by any
82
+ means, electronic or mechanical, including photocopying, or posting on the
83
+ internet or an intranet, without prior written permission. Permission can
84
+ be requested from the address below.
85
+ </p>
86
+
87
+ <div class="contact-info">
88
+ <p class="name">Vita Green International Inc.</p>
89
+ <p class="address">
90
+ 18 Dai Hei Street<br />
91
+ Tai Po Industrial Estate<br />
92
+ New Territories<br />
93
+ Hong Kong<br />
94
+ <br />
95
+ <a href="mailto:copyright@vitagreen.com">copyright@vitagreen.com</a><br />
96
+ <a href="www.vitagreen.com">www.vitagreen.com</a>
97
+ </p>
98
+ </div>
99
+ </div>
100
+
101
+ <div class="rule"></div>
102
+ </div>
103
+ </div>
104
+
105
+
106
+ </header>
@@ -0,0 +1,717 @@
1
+ /*
2
+ 0 CSS RESET
3
+ */
4
+
5
+ /* http://meyerweb.com/eric/tools/css/reset/
6
+ v2.0 | 20110126
7
+ License: none (public domain)
8
+ */
9
+
10
+ @import 'base_style/all';
11
+
12
+ /*
13
+ 1. HTML & Body
14
+ */
15
+
16
+ body {
17
+ @include bodyStyle1(15px, 1.4em, #1d1d1d, #ffffff, 300);
18
+ font-weight: 400;
19
+
20
+ pre * {
21
+ font-family: $bodyfont !important;
22
+ }
23
+ }
24
+
25
+ main {
26
+ margin: 0 3em 0 6em;
27
+ }
28
+
29
+ /*
30
+ 2. Responsive navigation layout
31
+ */
32
+
33
+ #toc {
34
+ @include toc(#485094, #6C734A, #485094);
35
+ @include sidebarToc();
36
+
37
+ .toc-active a {
38
+ color: white;
39
+ }
40
+
41
+ .toc-active,
42
+ li:hover {
43
+ box-shadow: none !important;
44
+
45
+ a {
46
+ color: white;
47
+ background: none;
48
+ box-shadow: none;
49
+ }
50
+ }
51
+
52
+ li a {
53
+ text-transform: uppercase;
54
+ }
55
+
56
+ ul {
57
+ a:hover {
58
+ box-shadow: none;
59
+ color: white;
60
+ }
61
+ }
62
+ }
63
+
64
+ nav {
65
+ @include sidebarNav(#f7f7f7, 323px, 45px);
66
+ }
67
+
68
+ #toggle {
69
+ @include sidebarNavToggle(white, #6C734A)
70
+ }
71
+
72
+ @media screen and (min-width: 768px) {
73
+ .container {
74
+ padding-left: 360px;
75
+ }
76
+
77
+ .rule.toc {
78
+ display: none;
79
+ }
80
+
81
+ h1.toc-contents {
82
+ margin-top: 1em;
83
+ }
84
+
85
+ ul#toc-list {
86
+ padding: 0;
87
+ margin: 0;
88
+ }
89
+ }
90
+
91
+ div.figure {
92
+ @include figureBlock();
93
+ }
94
+
95
+ /*
96
+ Document types + stages
97
+ */
98
+
99
+ .document-type-band {
100
+ @include docBand($order: 2, $offset: 180px);
101
+
102
+ .document-type {
103
+ top: 20px;
104
+ }
105
+ }
106
+
107
+ .document-stage-band {
108
+ @include docBand(1, 150);
109
+ }
110
+
111
+ .document-stage-band> :first-child {
112
+ font-weight: 300;
113
+ }
114
+
115
+ p.document-stage {
116
+ @include docBandTitle(150);
117
+ }
118
+
119
+ #governance-band p.document-type {
120
+ height: 230px !important;
121
+ }
122
+
123
+ p.document-stage {
124
+ font-weight: 300;
125
+ height: 160px;
126
+ }
127
+
128
+ #proposal-band p {
129
+ height: 150px;
130
+ }
131
+
132
+ #standard-band,
133
+ #published-band {
134
+ background-color: #007864;
135
+ }
136
+
137
+ #standard,
138
+ #published {
139
+ border-bottom: solid 3px #007864;
140
+ }
141
+
142
+ #governance,
143
+ #policy-and-procedures {
144
+ border-bottom: solid 3px #750697;
145
+ }
146
+
147
+ #governance-band,
148
+ #policy-and-procedures-band {
149
+ background-color: #750697;
150
+ }
151
+
152
+ #guide {
153
+ border-bottom: solid 3px #48a0e7;
154
+ }
155
+
156
+ #guide-band {
157
+ background-color: #48a0e7;
158
+ }
159
+
160
+ .coverpage-maturity {
161
+ @include coverpageStageBlock();
162
+ }
163
+
164
+ #working-draft,
165
+ #proposal {
166
+ border-bottom: solid 3px #F7803C;
167
+ }
168
+
169
+ #working-draft-band,
170
+ #proposal-band {
171
+ background-color: #F7803C;
172
+ }
173
+
174
+ #committee-draft {
175
+ border-bottom: solid 3px #fd06fd;
176
+ }
177
+
178
+ #committee-draft-band {
179
+ background-color: #fd06fd;
180
+ }
181
+
182
+ #draft-standard {
183
+ border-bottom: solid 3px #fdf906;
184
+ }
185
+
186
+ #draft-standard-band {
187
+ background-color: #fdf906;
188
+ }
189
+
190
+ #standard {
191
+ border-bottom: solid 3px #007864;
192
+ }
193
+
194
+ #standard-band {
195
+ background-color: #007864;
196
+ }
197
+
198
+ #obsolete {
199
+ border-bottom: solid 3px #7e0d13;
200
+ }
201
+
202
+ #obsolete-band {
203
+ background-color: #7e0d13;
204
+ }
205
+
206
+ /*
207
+ 3. TYPOGRAPHY
208
+ */
209
+
210
+ /*
211
+ 3.1 Titles
212
+ */
213
+
214
+ h1,h2,h3,h4,h5,h6 {
215
+ font-family: $headerfont;
216
+ color: #6C734A;
217
+ font-weight: 300;
218
+ margin-top: 1.6em;
219
+ margin-bottom: 0.3em;
220
+ }
221
+
222
+ h1 {
223
+ font-size: 1.6em;
224
+ text-transform: uppercase;
225
+ margin-top: 2em;
226
+ }
227
+
228
+ h1#content {
229
+ margin-top: 2em;
230
+ }
231
+
232
+ h2 {
233
+ margin-top: 1.3em;
234
+ font-size: 1.3em;
235
+ font-weight: 400;
236
+ }
237
+
238
+ h3 {
239
+ margin-top: 1.1em;
240
+ font-size: 1.1em;
241
+ font-weight: 100;
242
+ }
243
+
244
+ .TermNum, .Terms, .AltTerms {
245
+ color: #6C734A;
246
+ font-weight: 100;
247
+ }
248
+
249
+ h2.TermNum {
250
+ margin-bottom: 0;
251
+ }
252
+
253
+ p.Terms {
254
+ font-size: 1.1em;
255
+ line-height: 1.5em;
256
+ margin: 0;
257
+ }
258
+
259
+ p.AltTerms {
260
+ /*
261
+ font-style: italic;
262
+ */
263
+ font-size: 1.1em;
264
+ margin: 0;
265
+ }
266
+
267
+ /*
268
+ 3.2 Links
269
+ */
270
+ @include elementStyles(#485094, #6C734A, white);
271
+
272
+ /*
273
+ 3.3 Lists
274
+ */
275
+
276
+ ul, ol {
277
+ margin-left: 1.2em;
278
+ }
279
+
280
+ ul li {
281
+ list-style: none;
282
+ }
283
+
284
+ ul li:before {
285
+ content: "—";
286
+ display: inline-block; width: 1em;
287
+ margin-left: -1.2em;
288
+ }
289
+
290
+ ul li p {
291
+ display: inline;
292
+ }
293
+
294
+ ul li:first-child {
295
+ margin-top: 1em;
296
+ }
297
+
298
+ #toc-list ul {
299
+ margin-bottom: 0.25em;
300
+ }
301
+
302
+ #toc-list li {
303
+ list-style-type: none;
304
+ }
305
+
306
+ #toc li:before {
307
+ content: " ";
308
+ display: none;
309
+ }
310
+
311
+
312
+ /*
313
+ 3.4 Rules
314
+ */
315
+ .rule {
316
+ @include rule(1px, #0e1a85)
317
+ }
318
+
319
+ /*
320
+ 3.5 Bibliograhy
321
+ */
322
+
323
+ p.Biblio, p.NormRef {
324
+ margin-top: 1em;
325
+ margin-left: 2em;
326
+ }
327
+
328
+ /*
329
+ 3.6 Source Code + figures
330
+ */
331
+
332
+ .figure,
333
+ pre,
334
+ .pseudocode {
335
+ @include pseudocodeBlock(#f7f7f7);
336
+ }
337
+
338
+ pre {
339
+ @include monospaceBlockStyle()
340
+ }
341
+
342
+ @include admonitionBlock();
343
+ @include recommendationBlock();
344
+
345
+ .FigureTitle,
346
+ .SourceTitle {
347
+ @include blockTitle()
348
+ }
349
+
350
+ /*
351
+ 3.7 Notes
352
+ */
353
+
354
+ .Note {
355
+ background-color: #fff495;
356
+ color: #47430c;
357
+ padding: 1.2em;
358
+ margin: 1em 0 1em 0;
359
+
360
+ p {
361
+ margin: 0;
362
+ }
363
+ }
364
+
365
+ /*
366
+ 3.8 Examples
367
+ */
368
+
369
+ .example {
370
+ @include exampleBlock(#e1eef1, #424242, 1.2em);
371
+
372
+ .example-title {
373
+ margin-top: 0;
374
+ }
375
+
376
+ pre,
377
+ .pseudocode {
378
+ background: none;
379
+ }
380
+ }
381
+
382
+ /*
383
+ 3.9 Tables
384
+ */
385
+
386
+ table {
387
+ @include table(1px solid black);
388
+ }
389
+
390
+ p.TableTitle {
391
+ text-align: center;
392
+ margin-top: 2.5em;
393
+ font-weight: 400;
394
+ }
395
+
396
+ /*
397
+ 3.10 Footnotes
398
+ */
399
+
400
+ a.footnote-number {
401
+ vertical-align: super;
402
+ font-size: 0.8em;
403
+ }
404
+
405
+ .footnote {
406
+ font-size: 0.9em;
407
+ }
408
+
409
+
410
+ /*
411
+ 3.11 Blockquotes
412
+ */
413
+
414
+ .Quote {
415
+ @include blockquoteBlock(#f2f2f2);
416
+ }
417
+
418
+ /*
419
+ 3.12 Formulas
420
+ */
421
+
422
+ .formula {
423
+ @include formulaBlock(#f7f7f7)
424
+ }
425
+
426
+ /*
427
+ 3.13 Contact Info
428
+ */
429
+
430
+ .contact-info {
431
+ padding: 2em;
432
+ margin-top: 5em;
433
+ width: 250px;
434
+ text-align: left;
435
+ border: #6C734A solid 2px;
436
+ color: #6C734A!important;
437
+ border-radius: 25px;
438
+
439
+ }
440
+
441
+ .contact-info a,
442
+ .contact-info a:hover {
443
+ color: #6C734A;
444
+ }
445
+
446
+ .contact-info p, .contact-info a {
447
+ font-family: $monospacefont;
448
+ font-weight: 400;
449
+ }
450
+
451
+ .contact-info .name {
452
+ font-weight: 700;
453
+ font-size: 1.2em;
454
+ margin-bottom:0;
455
+ }
456
+
457
+ .contact-info .address {
458
+ font-size: 1em;
459
+ line-height: 1.3em;
460
+ margin-top:0;
461
+ }
462
+
463
+ /*
464
+ Keywords
465
+ */
466
+
467
+ span.keyword {
468
+ font-weight: 600;
469
+ }
470
+
471
+ /*
472
+ Paragraphs
473
+ */
474
+
475
+ p {
476
+ margin-top: 1em;
477
+ margin-bottom: 1em;
478
+ }
479
+
480
+ h2 p {
481
+ display: inline;
482
+ }
483
+
484
+
485
+ /*
486
+ 4.0 Page header
487
+ */
488
+
489
+ /*
490
+ 4.1 Top Logo
491
+ */
492
+
493
+ .icon-svg {
494
+ width: 100%;
495
+ color: #5ecf86;
496
+ }
497
+
498
+ .wrapper-top {
499
+ background: linear-gradient(200deg, #007864, #6C734A);
500
+ color: #ffffff;
501
+ padding: 2em 0;
502
+ width: 100%;
503
+ }
504
+
505
+ .wrapper-top-bottom {
506
+ width: 0;
507
+ height: 0;
508
+ border-top: 100px solid #6C734A;
509
+ border-right: 100px solid transparent;
510
+ position: absolute;
511
+ }
512
+
513
+ .doc-number {
514
+ font-size: 0.5em;
515
+ font-family: $bodyfont;
516
+ }
517
+
518
+ .coverpage-title {
519
+ padding-bottom: 0.5em;
520
+ font-family: $headerfont;
521
+ font-size: 1.2em;
522
+ line-height: 1.5em;
523
+ font-weight: 100;
524
+ padding-left: 1em;
525
+ padding-right: 1em;
526
+ text-transform: uppercase;
527
+ }
528
+
529
+ .WordSection11 {
530
+ padding: 0 2em 0 3em;
531
+ }
532
+
533
+ .info-section {
534
+ padding: 0 2em 0 5em;
535
+ }
536
+
537
+ .prefatory-section {
538
+ padding: 0 3em 0 6em;
539
+ }
540
+
541
+
542
+ .zzSTDTitle1, .MsoCommentText {
543
+ display: none;
544
+ }
545
+
546
+
547
+ .coverpage {
548
+ text-align: center;
549
+ padding-left: 1.5em;
550
+ }
551
+
552
+ .coverpage-logo span, .coverpage-tc-name span {
553
+ font-family: $bodyfont;
554
+ text-transform: none;
555
+ font-weight: 300;
556
+ }
557
+
558
+ .coverpage-tc-name {
559
+ font-size: 1.2em;
560
+ line-height: 1.2em;
561
+ margin: 0.25em 0;
562
+ }
563
+
564
+ /*
565
+ 4.2 Document Identity
566
+ */
567
+
568
+ .coverpage-doc-identity {
569
+ font-size: 2em;
570
+ line-height: 2em;
571
+ }
572
+
573
+ .coverpage-title .title-second {
574
+ display: none;
575
+ }
576
+
577
+ .coverpage-stage-block {
578
+ font-family: $bodyfont;
579
+ font-weight: 600;
580
+ font-size: 1.25em;
581
+ margin: 2em 0em 2em 0em;
582
+ text-transform: uppercase;
583
+ }
584
+
585
+ /*
586
+ 4.3 Draft Warning
587
+ */
588
+
589
+ .coverpage-warning {
590
+ border: #f36f36 solid 2px;
591
+ color: #f36f36!important;
592
+ margin: 1em 2em;
593
+ color: #485094;
594
+ padding: 2em 1em 1em 1em;
595
+ border-radius: 25px;
596
+ }
597
+
598
+ .coverpage-warning .title {
599
+ font-family: $headerfont;
600
+ font-weight: 300;
601
+ text-transform: uppercase;
602
+ font-size: 1.2em;
603
+ }
604
+
605
+
606
+ /*
607
+ 4.4 Copyright
608
+ */
609
+
610
+ .copyright {
611
+ padding: 1em;
612
+ font-size: 0.9em;
613
+ text-align: left;
614
+ }
615
+
616
+
617
+ /* .copyright .name, .copyright .address {color: #485094;} */
618
+
619
+
620
+
621
+ /*
622
+ 5.0 Other styles
623
+ */
624
+
625
+
626
+
627
+ /*
628
+ To top button
629
+ */
630
+
631
+ #myBtn {
632
+ @include toTopBtn(white, #1f8ca0);
633
+ text-transform: uppercase;
634
+
635
+ a.anchorjs-link {
636
+ @include anchorLink(#485094)
637
+ }
638
+ }
639
+
640
+ @page {
641
+ margin: 2cm 1cm;
642
+ }
643
+
644
+ @media print {
645
+ .document-info, nav, .copyright {
646
+ page-break-before: always;
647
+ }
648
+
649
+ h1, h2, h3, h4 {
650
+ page-break-after: avoid;
651
+ margin-top: 1.2em;
652
+ }
653
+
654
+ .note, .figure, pre, .pseudocode, table {
655
+ page-break-inside: avoid;
656
+ }
657
+
658
+ .info-section {
659
+ display: none;
660
+ }
661
+
662
+ .coverpage {
663
+ height: 23cm;
664
+ }
665
+
666
+ .wrapper-top {
667
+ top: 0;
668
+ padding-top: 4cm;
669
+ padding-bottom: 4cm;
670
+ }
671
+
672
+ .wrapper-top-bottom {
673
+ margin-top: -5px;
674
+ }
675
+
676
+
677
+ #toggle, .document-stage-band,
678
+ .document-type-band, button#myBtn {
679
+ display: none;
680
+ }
681
+
682
+ .container {
683
+ padding-left: 0;
684
+ }
685
+
686
+ h1.content {
687
+ margin-top: 2em;
688
+ line-height: 2.5em;
689
+ }
690
+
691
+ h1 {
692
+ font-size: 1.5em;
693
+ line-height: 1.5;
694
+ }
695
+
696
+ h2 {
697
+ font-size: 1.2em
698
+ }
699
+
700
+ h3 {
701
+ font-size: 1em;
702
+ }
703
+
704
+ .Note {
705
+ background-color: #fff495;
706
+ color: #47430c;
707
+ padding: 5px;
708
+ margin: 2em 0 1em 0; }
709
+
710
+ .Note p {
711
+ padding: 0 5px 0 5px;
712
+ }
713
+
714
+ .wrapper-top-bottom {
715
+ display: none;
716
+ }
717
+ }