metanorma-bipm 0.0.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +62 -0
- data/README.adoc +7 -109
- data/lib/asciidoctor/bipm/bipm.rng +225 -24
- data/lib/asciidoctor/bipm/boilerplate-en.xml +2 -3
- data/lib/asciidoctor/bipm/boilerplate-fr.xml +3 -4
- data/lib/asciidoctor/bipm/converter.rb +139 -15
- data/lib/asciidoctor/bipm/isodoc.rng +29 -44
- data/lib/isodoc/bipm/base_convert.rb +47 -0
- data/lib/isodoc/bipm/bipm.brochure.xsl +2469 -626
- data/lib/isodoc/bipm/bipm.guide.xsl +7290 -0
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +7290 -0
- data/lib/isodoc/bipm/bipm.rapport.xsl +7290 -0
- data/lib/isodoc/bipm/html/html_bipm_titlepage.html +35 -4
- data/lib/isodoc/bipm/html/htmlstyle.css +57 -63
- data/lib/isodoc/bipm/html/htmlstyle.scss +53 -77
- data/lib/isodoc/bipm/html/si-aspect/A_e.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/A_e_deltanu.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/K_k.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/K_k_deltanu_h.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/cd_Kcd.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/cd_Kcd_h_deltanu.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/full.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/kg_h.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/kg_h_c_deltanu.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/m_c.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/m_c_deltanu.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/mol_NA.png +0 -0
- data/lib/isodoc/bipm/html/si-aspect/s_deltanu.png +0 -0
- data/lib/isodoc/bipm/html_convert.rb +32 -0
- data/lib/isodoc/bipm/i18n-en.yaml +7 -0
- data/lib/isodoc/bipm/i18n-fr.yaml +16 -0
- data/lib/isodoc/bipm/metadata.rb +34 -10
- data/lib/isodoc/bipm/pdf_convert.rb +20 -1
- data/lib/isodoc/bipm/presentation_xml_convert.rb +102 -7
- data/lib/isodoc/bipm/xref.rb +138 -3
- data/lib/metanorma/bipm.rb +7 -0
- data/lib/metanorma/bipm/fonts_manifest.yaml +7 -0
- data/lib/metanorma/bipm/version.rb +1 -1
- data/metanorma-bipm.gemspec +1 -2
- data/metanorma.yml +42 -1
- metadata +22 -21
- data/.github/workflows/macos.yml +0 -38
- data/.github/workflows/ubuntu.yml +0 -56
- data/.github/workflows/windows.yml +0 -40
@@ -23,12 +23,20 @@
|
|
23
23
|
<span class="docyear">{{ docyear }} {{ draftinfo }}</span>
|
24
24
|
</div>
|
25
25
|
|
26
|
+
<div class="coverpage-logo">
|
27
|
+
<img src="{{ logo }}"/>
|
28
|
+
</div>
|
29
|
+
|
26
30
|
<div class="coverpage-title">
|
27
|
-
{% if appendixtitle %}
|
31
|
+
{% if appendixtitle or parttitle or subparttitle %}
|
28
32
|
<span class="title-third">{{ doctitle }}</span>
|
29
33
|
<span class="title-third">{{ docsubtitle }}</span><br/>
|
30
|
-
<span class="title-first">{{
|
31
|
-
<span class="title-second">{{
|
34
|
+
{% if partid %}<span class="title-first">{{ partid}}: {{ parttitle }}</span><br/>{% endif %}
|
35
|
+
{% if partid_alt %}<span class="title-second">{{ partid_alt}}: {{ partsubtitle }}</span>{% endif %}
|
36
|
+
{% if subparttitle %}<span class="title-first">{{ subparttitle }}</span><br/>{% endif %}
|
37
|
+
{% if subpartsubtitle %}<span class="title-second">{{ subpartsubtitle }}</span><br/>{% endif %}
|
38
|
+
{% if appendixid %}<span class="title-first">{{ appendixid}}: {{ appendixtitle }}</span><br/>{% endif %}
|
39
|
+
{% if appendixid_alt %}<span class="title-second">{{ appendixid_alt}}: {{ appendixsubtitle }}</span>{% endif %}
|
32
40
|
{% else %}
|
33
41
|
<span class="title-first">{{ doctitle }}</span><br/>
|
34
42
|
<span class="title-second">{{ docsubtitle }}</span>
|
@@ -38,11 +46,34 @@
|
|
38
46
|
|
39
47
|
<div class="coverpage-logo">
|
40
48
|
<span>Bureau International de Poids et Mesures {{ docyear }}</span>
|
49
|
+
{% if metadata_extensions["si-aspect"] %}
|
50
|
+
<br/>
|
51
|
+
{% for item in si_aspect_index %}
|
52
|
+
{% if item == metadata_extensions["si-aspect"] %}
|
53
|
+
<img src="{{ si_aspect_paths[forloop.index0] }}" width="310px" height="310px"/>
|
54
|
+
{% endif %}
|
55
|
+
{% endfor %}
|
56
|
+
{% endif %}
|
41
57
|
</div>
|
42
58
|
|
59
|
+
{% for item in metadata_extensions["editorialgroup"]["committee"]["variant_language"] %}
|
60
|
+
{% if item == lang %}
|
61
|
+
{% assign committee = metadata_extensions["editorialgroup"]["committee"]["variant"][forloop.index0] %}
|
62
|
+
{% endif %}
|
63
|
+
{% endfor %}
|
64
|
+
|
43
65
|
<div class="coverpage-tc-name">
|
44
|
-
<span>{{
|
66
|
+
<span>{{ metadata_extensions["editorialgroup"]["committee_acronym"] }}{% if metadata_extensions["editorialgroup"]["committee_acronym"] and committee %}: {% endif %}{{ committee }}</span>
|
45
67
|
</div>
|
68
|
+
|
69
|
+
{% if authors %}
|
70
|
+
<div class="coverpage-tc-name">
|
71
|
+
{% for item in authors %}
|
72
|
+
<span>{{item}} {% if authors_affiliations[forloop.index0] %}({{ authors_affiliations[forloop.index0] }}){% endif %}{% if forloop.last == false %}, {% endif %}{% endfor %}.
|
73
|
+
</div>
|
74
|
+
{% endif %}
|
75
|
+
|
76
|
+
|
46
77
|
</div>
|
47
78
|
|
48
79
|
<div class="wrapper-top-bottom"></div>
|
@@ -17,7 +17,7 @@ fieldset, form, label, legend,
|
|
17
17
|
table, caption, tbody, tfoot, thead, tr, th, td,
|
18
18
|
article, aside, canvas, details, embed,
|
19
19
|
figure, figcaption, footer, header, hgroup,
|
20
|
-
menu,
|
20
|
+
menu, output, ruby, section, summary,
|
21
21
|
time, mark, audio, video {
|
22
22
|
margin: 0;
|
23
23
|
padding: 0; }
|
@@ -112,16 +112,20 @@ b, strong {
|
|
112
112
|
div.document-stage-band, div.document-type-band {
|
113
113
|
background-color: #333333; }
|
114
114
|
|
115
|
+
a.FootnoteRef + a.FootnoteRef:before {
|
116
|
+
content: ", ";
|
117
|
+
vertical-align: super; }
|
118
|
+
|
115
119
|
#brochure-band {
|
116
120
|
background-color: #0AC442; }
|
117
121
|
|
118
122
|
#brochure {
|
119
123
|
border-bottom: solid 3px #0AC442; }
|
120
124
|
|
121
|
-
#
|
125
|
+
#mise-en-pratique-band {
|
122
126
|
background-color: #540D6E; }
|
123
127
|
|
124
|
-
#
|
128
|
+
#mise-en-pratique {
|
125
129
|
border-bottom: solid 3px #540D6E; }
|
126
130
|
|
127
131
|
#rapport-band {
|
@@ -209,7 +213,7 @@ body {
|
|
209
213
|
margin-left: auto;
|
210
214
|
margin-right: auto;
|
211
215
|
max-width: 100%;
|
212
|
-
font-size:
|
216
|
+
font-size: {{normalfontsize}};
|
213
217
|
font-weight: 300;
|
214
218
|
line-height: 1.4em;
|
215
219
|
color: #1d1d1d;
|
@@ -446,31 +450,6 @@ p.document-stage {
|
|
446
450
|
font-weight: 300;
|
447
451
|
height: 160px; }
|
448
452
|
|
449
|
-
#proposal-band p {
|
450
|
-
height: 150px; }
|
451
|
-
|
452
|
-
#standard-band,
|
453
|
-
#published-band {
|
454
|
-
background-color: #007864; }
|
455
|
-
|
456
|
-
#standard,
|
457
|
-
#published {
|
458
|
-
border-bottom: solid 3px #007864; }
|
459
|
-
|
460
|
-
#governance,
|
461
|
-
#policy-and-procedures {
|
462
|
-
border-bottom: solid 3px #750697; }
|
463
|
-
|
464
|
-
#governance-band,
|
465
|
-
#policy-and-procedures-band {
|
466
|
-
background-color: #750697; }
|
467
|
-
|
468
|
-
#guide {
|
469
|
-
border-bottom: solid 3px #48a0e7; }
|
470
|
-
|
471
|
-
#guide-band {
|
472
|
-
background-color: #48a0e7; }
|
473
|
-
|
474
453
|
.coverpage-maturity {
|
475
454
|
font-family: {{bodyfont}};
|
476
455
|
font-weight: 400;
|
@@ -478,38 +457,6 @@ p.document-stage {
|
|
478
457
|
margin: 0 0 2em 0;
|
479
458
|
text-transform: uppercase; }
|
480
459
|
|
481
|
-
#working-draft,
|
482
|
-
#proposal {
|
483
|
-
border-bottom: solid 3px #F7803C; }
|
484
|
-
|
485
|
-
#working-draft-band,
|
486
|
-
#proposal-band {
|
487
|
-
background-color: #F7803C; }
|
488
|
-
|
489
|
-
#committee-draft {
|
490
|
-
border-bottom: solid 3px #fd06fd; }
|
491
|
-
|
492
|
-
#committee-draft-band {
|
493
|
-
background-color: #fd06fd; }
|
494
|
-
|
495
|
-
#draft-standard {
|
496
|
-
border-bottom: solid 3px #fdf906; }
|
497
|
-
|
498
|
-
#draft-standard-band {
|
499
|
-
background-color: #fdf906; }
|
500
|
-
|
501
|
-
#standard {
|
502
|
-
border-bottom: solid 3px #007864; }
|
503
|
-
|
504
|
-
#standard-band {
|
505
|
-
background-color: #007864; }
|
506
|
-
|
507
|
-
#obsolete {
|
508
|
-
border-bottom: solid 3px #7e0d13; }
|
509
|
-
|
510
|
-
#obsolete-band {
|
511
|
-
background-color: #7e0d13; }
|
512
|
-
|
513
460
|
/*
|
514
461
|
3. TYPOGRAPHY
|
515
462
|
*/
|
@@ -608,6 +555,53 @@ ul li:first-child {
|
|
608
555
|
content: " ";
|
609
556
|
display: none; }
|
610
557
|
|
558
|
+
/* https://github.com/metanorma/metanorma-bipm/issues/47 */
|
559
|
+
ol[class="alphabet"] {
|
560
|
+
counter-reset: alphabet; }
|
561
|
+
|
562
|
+
ol[class="roman"] {
|
563
|
+
counter-reset: roman; }
|
564
|
+
|
565
|
+
ol[class="alphabet"] ol[class="alphabet"] {
|
566
|
+
counter-reset: none; }
|
567
|
+
|
568
|
+
ol[class="alphabet"] > li {
|
569
|
+
list-style: none;
|
570
|
+
position: relative; }
|
571
|
+
|
572
|
+
ol[class="alphabet"] ol[class="alphabet"] > li {
|
573
|
+
list-style: inherit; }
|
574
|
+
|
575
|
+
ol[class="alphabet"] > li:before {
|
576
|
+
counter-increment: alphabet;
|
577
|
+
content: counter(alphabet, lower-alpha) ") ";
|
578
|
+
position: absolute;
|
579
|
+
left: -1.4em; }
|
580
|
+
|
581
|
+
ol[class="alphabet"] ol[class="alphabet"] > li:before {
|
582
|
+
counter-increment: none;
|
583
|
+
content: initial; }
|
584
|
+
|
585
|
+
ol[class="roman"] ol[class="roman"] {
|
586
|
+
counter-reset: none; }
|
587
|
+
|
588
|
+
ol[class="roman"] > li {
|
589
|
+
list-style: none;
|
590
|
+
position: relative; }
|
591
|
+
|
592
|
+
ol[class="roman"] ol[class="roman"] > li {
|
593
|
+
list-style: inherit; }
|
594
|
+
|
595
|
+
ol[class="roman"] > li:before {
|
596
|
+
counter-increment: roman;
|
597
|
+
content: "(" counter(roman, lower-roman) ") ";
|
598
|
+
position: absolute;
|
599
|
+
left: -2.0em; }
|
600
|
+
|
601
|
+
ol[class="roman"] ol[class="roman"] > li:before {
|
602
|
+
counter-increment: none;
|
603
|
+
content: initial; }
|
604
|
+
|
611
605
|
/*
|
612
606
|
3.4 Rules
|
613
607
|
*/
|
@@ -631,7 +625,7 @@ p.Biblio, p.NormRef {
|
|
631
625
|
pre,
|
632
626
|
.pseudocode {
|
633
627
|
background-color: #f7f7f7;
|
634
|
-
font-size:
|
628
|
+
font-size: {{monospacefontsize}};
|
635
629
|
line-height: 1.6em;
|
636
630
|
padding: 1.5em;
|
637
631
|
margin: 2em 0 1em 0;
|
@@ -727,7 +721,7 @@ a.footnote-number {
|
|
727
721
|
font-size: 0.8em; }
|
728
722
|
|
729
723
|
.footnote {
|
730
|
-
font-size:
|
724
|
+
font-size: {{footnotefontsize}}; }
|
731
725
|
|
732
726
|
/*
|
733
727
|
3.11 Blockquotes
|
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
$doctype-colors-list: (
|
11
11
|
brochure: #0AC442,
|
12
|
-
|
12
|
+
mise-en-pratique: #540D6E,
|
13
13
|
rapport: #D183C9,
|
14
14
|
monographie: #65AFFF,
|
15
15
|
guide: #3A405A,
|
@@ -36,7 +36,7 @@ $docstage-colors-list: (
|
|
36
36
|
*/
|
37
37
|
|
38
38
|
body {
|
39
|
-
@include bodyStyle1(
|
39
|
+
@include bodyStyle1($normalfontsize, 1.4em, #1d1d1d, #ffffff, 300);
|
40
40
|
font-weight: 400;
|
41
41
|
|
42
42
|
pre * {
|
@@ -147,84 +147,10 @@ p.document-stage {
|
|
147
147
|
height: 160px;
|
148
148
|
}
|
149
149
|
|
150
|
-
#proposal-band p {
|
151
|
-
height: 150px;
|
152
|
-
}
|
153
|
-
|
154
|
-
#standard-band,
|
155
|
-
#published-band {
|
156
|
-
background-color: #007864;
|
157
|
-
}
|
158
|
-
|
159
|
-
#standard,
|
160
|
-
#published {
|
161
|
-
border-bottom: solid 3px #007864;
|
162
|
-
}
|
163
|
-
|
164
|
-
#governance,
|
165
|
-
#policy-and-procedures {
|
166
|
-
border-bottom: solid 3px #750697;
|
167
|
-
}
|
168
|
-
|
169
|
-
#governance-band,
|
170
|
-
#policy-and-procedures-band {
|
171
|
-
background-color: #750697;
|
172
|
-
}
|
173
|
-
|
174
|
-
#guide {
|
175
|
-
border-bottom: solid 3px #48a0e7;
|
176
|
-
}
|
177
|
-
|
178
|
-
#guide-band {
|
179
|
-
background-color: #48a0e7;
|
180
|
-
}
|
181
|
-
|
182
150
|
.coverpage-maturity {
|
183
151
|
@include coverpageStageBlock();
|
184
152
|
}
|
185
153
|
|
186
|
-
#working-draft,
|
187
|
-
#proposal {
|
188
|
-
border-bottom: solid 3px #F7803C;
|
189
|
-
}
|
190
|
-
|
191
|
-
#working-draft-band,
|
192
|
-
#proposal-band {
|
193
|
-
background-color: #F7803C;
|
194
|
-
}
|
195
|
-
|
196
|
-
#committee-draft {
|
197
|
-
border-bottom: solid 3px #fd06fd;
|
198
|
-
}
|
199
|
-
|
200
|
-
#committee-draft-band {
|
201
|
-
background-color: #fd06fd;
|
202
|
-
}
|
203
|
-
|
204
|
-
#draft-standard {
|
205
|
-
border-bottom: solid 3px #fdf906;
|
206
|
-
}
|
207
|
-
|
208
|
-
#draft-standard-band {
|
209
|
-
background-color: #fdf906;
|
210
|
-
}
|
211
|
-
|
212
|
-
#standard {
|
213
|
-
border-bottom: solid 3px #007864;
|
214
|
-
}
|
215
|
-
|
216
|
-
#standard-band {
|
217
|
-
background-color: #007864;
|
218
|
-
}
|
219
|
-
|
220
|
-
#obsolete {
|
221
|
-
border-bottom: solid 3px #7e0d13;
|
222
|
-
}
|
223
|
-
|
224
|
-
#obsolete-band {
|
225
|
-
background-color: #7e0d13;
|
226
|
-
}
|
227
|
-
|
228
154
|
/*
|
229
155
|
3. TYPOGRAPHY
|
230
156
|
*/
|
@@ -330,6 +256,56 @@ ul li:first-child {
|
|
330
256
|
display: none;
|
331
257
|
}
|
332
258
|
|
259
|
+
/* https://github.com/metanorma/metanorma-bipm/issues/47 */
|
260
|
+
|
261
|
+
ol[class="alphabet"] {
|
262
|
+
counter-reset: alphabet;
|
263
|
+
}
|
264
|
+
ol[class="roman"] {
|
265
|
+
counter-reset: roman;
|
266
|
+
}
|
267
|
+
ol[class="alphabet"] ol[class="alphabet"] {
|
268
|
+
counter-reset: none;
|
269
|
+
}
|
270
|
+
ol[class="alphabet"] > li {
|
271
|
+
list-style: none;
|
272
|
+
position: relative;
|
273
|
+
}
|
274
|
+
ol[class="alphabet"] ol[class="alphabet"] > li {
|
275
|
+
list-style: inherit;
|
276
|
+
}
|
277
|
+
ol[class="alphabet"] > li:before {
|
278
|
+
counter-increment: alphabet;
|
279
|
+
content: counter(alphabet, lower-alpha)") ";
|
280
|
+
position: absolute;
|
281
|
+
left: -1.4em;
|
282
|
+
}
|
283
|
+
ol[class="alphabet"] ol[class="alphabet"] > li:before {
|
284
|
+
counter-increment: none;
|
285
|
+
content: initial;
|
286
|
+
}
|
287
|
+
ol[class="roman"] ol[class="roman"] {
|
288
|
+
counter-reset: none;
|
289
|
+
}
|
290
|
+
ol[class="roman"] > li {
|
291
|
+
list-style: none;
|
292
|
+
position: relative;
|
293
|
+
}
|
294
|
+
ol[class="roman"] ol[class="roman"] > li {
|
295
|
+
list-style: inherit;
|
296
|
+
}
|
297
|
+
ol[class="roman"] > li:before {
|
298
|
+
counter-increment: roman;
|
299
|
+
content: "("counter(roman, lower-roman)") ";
|
300
|
+
position: absolute;
|
301
|
+
left: -2.0em;
|
302
|
+
}
|
303
|
+
ol[class="roman"] ol[class="roman"] > li:before {
|
304
|
+
counter-increment: none;
|
305
|
+
content: initial;
|
306
|
+
}
|
307
|
+
|
308
|
+
|
333
309
|
|
334
310
|
/*
|
335
311
|
3.4 Rules
|
@@ -425,7 +401,7 @@ a.footnote-number {
|
|
425
401
|
}
|
426
402
|
|
427
403
|
.footnote {
|
428
|
-
font-size:
|
404
|
+
font-size: $footnotefontsize;
|
429
405
|
}
|
430
406
|
|
431
407
|
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -7,6 +7,38 @@ module IsoDoc
|
|
7
7
|
module BIPM
|
8
8
|
class HtmlConvert < IsoDoc::Generic::HtmlConvert
|
9
9
|
|
10
|
+
def middle(isoxml, out)
|
11
|
+
super
|
12
|
+
doccontrol isoxml, out
|
13
|
+
end
|
14
|
+
|
15
|
+
def doccontrol(isoxml, out)
|
16
|
+
c = isoxml.at(ns("//doccontrol")) or return
|
17
|
+
out.div **attr_code(class: "doccontrol") do |div|
|
18
|
+
clause_parse_title(c, div, c.at(ns("./title")), out)
|
19
|
+
c.children.reject { |c1| c1.name == "title" }.each do |c1|
|
20
|
+
parse(c1, div)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def counter_reset(node)
|
26
|
+
s = node["start"]
|
27
|
+
return nil unless s && !s.empty? && !s.to_i.zero?
|
28
|
+
"counter-reset: #{node['type']} #{s.to_i - 1};"
|
29
|
+
end
|
30
|
+
|
31
|
+
def ol_attrs(node)
|
32
|
+
klass, style = if node["type"] == "roman" &&
|
33
|
+
!node.at("./ancestor::xmlns:ol[@type = 'roman']") ||
|
34
|
+
node["type"] == "alphabet" &&
|
35
|
+
!node.at("./ancestor::xmlns:ol[@type = 'alphabet']")
|
36
|
+
[node["type"], counter_reset(node)]
|
37
|
+
end
|
38
|
+
super.merge(attr_code(type: ol_style((node["type"] || "arabic").to_sym),
|
39
|
+
start: node["start"]), style: style, class: klass)
|
40
|
+
end
|
41
|
+
|
10
42
|
include BaseConvert
|
11
43
|
include Init
|
12
44
|
end
|