metanorma-vg 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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
+ }