metanorma-nist 0.0.4 → 0.0.5
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.
- checksums.yaml +4 -4
- data/.travis.yml +3 -3
- data/README.adoc +108 -36
- data/appveyor.yml +30 -0
- data/lib/asciidoctor/nist/biblio.rng +38 -34
- data/lib/asciidoctor/nist/converter.rb +70 -36
- data/lib/asciidoctor/nist/front.rb +132 -31
- data/lib/asciidoctor/nist/isodoc.rng +1 -0
- data/lib/asciidoctor/nist/nist.rng +133 -16
- data/lib/asciidoctor/nist/reqt.rng +157 -0
- data/lib/isodoc/nist/html/header.html +1 -2
- data/lib/isodoc/nist/html/html_nist_intro.html +12 -0
- data/lib/isodoc/nist/html/html_nist_titlepage.html +6 -15
- data/lib/isodoc/nist/html/htmlstyle.scss +10 -10
- data/lib/isodoc/nist/html/word_nist_intro.html +13 -0
- data/lib/isodoc/nist/html/word_nist_titlepage.html +4 -1
- data/lib/isodoc/nist/html_convert.rb +78 -13
- data/lib/isodoc/nist/metadata.rb +58 -17
- data/lib/isodoc/nist/pdf_convert.rb +77 -4
- data/lib/isodoc/nist/word_convert.rb +82 -7
- data/lib/metanorma/nist/version.rb +1 -1
- data/metanorma-nist.gemspec +2 -1
- metadata +19 -3
@@ -13,7 +13,8 @@ module IsoDoc
|
|
13
13
|
super
|
14
14
|
end
|
15
15
|
|
16
|
-
|
16
|
+
def convert1(docxml, filename, dir)
|
17
|
+
@bibliographycount = docxml.xpath(ns("//bibliography/references | //annex/references | //bibliography/clause/references")).size
|
17
18
|
FileUtils.cp html_doc_path("logo.png"), "#{@localdir}/logo.png"
|
18
19
|
FileUtils.cp html_doc_path("deptofcommerce.png"),
|
19
20
|
"#{@localdir}/deptofcommerce.png"
|
@@ -24,9 +25,9 @@ module IsoDoc
|
|
24
25
|
{
|
25
26
|
bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' :
|
26
27
|
'"Times New Roman",serif'),
|
27
|
-
|
28
|
-
|
29
|
-
|
28
|
+
headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' :
|
29
|
+
'"Arial",sans-serif'),
|
30
|
+
monospacefont: '"Courier New",monospace'
|
30
31
|
}
|
31
32
|
end
|
32
33
|
|
@@ -221,7 +222,11 @@ module IsoDoc
|
|
221
222
|
out.div do |div|
|
222
223
|
#div.p **{ class: "h1Annex" } do |h1|
|
223
224
|
div.h1 do |h1|
|
224
|
-
|
225
|
+
if @bibliographycount == 1
|
226
|
+
h1 << "References"
|
227
|
+
else
|
228
|
+
f&.at(ns("./title"))&.children.each { |n| parse(n, h1) }
|
229
|
+
end
|
225
230
|
end
|
226
231
|
f.elements.reject do |e|
|
227
232
|
["reference", "title", "bibitem"].include? e.name
|
@@ -459,6 +464,8 @@ module IsoDoc
|
|
459
464
|
|
460
465
|
def info(isoxml, out)
|
461
466
|
@meta.keywords isoxml, out
|
467
|
+
@meta.series isoxml, out
|
468
|
+
@meta.commentperiod isoxml, out
|
462
469
|
super
|
463
470
|
end
|
464
471
|
|
@@ -491,7 +498,7 @@ module IsoDoc
|
|
491
498
|
end
|
492
499
|
end
|
493
500
|
|
494
|
-
|
501
|
+
def middle_section_asset_names(d)
|
495
502
|
middle_sections =
|
496
503
|
"//xmlns:preface/child::* | //xmlns:sections/child::*"
|
497
504
|
sequential_asset_names(d.xpath(middle_sections))
|
@@ -593,7 +600,11 @@ module IsoDoc
|
|
593
600
|
div.h1 **{ class: "Annex" } do |t|
|
594
601
|
t << "#{get_anchors[annex['id']][:label]} — "
|
595
602
|
t.b do |b|
|
596
|
-
|
603
|
+
if @bibliographycount == 1 && annex.at(ns("./references"))
|
604
|
+
b << "References"
|
605
|
+
else
|
606
|
+
name&.children&.each { |c2| parse(c2, b) }
|
607
|
+
end
|
597
608
|
end
|
598
609
|
end
|
599
610
|
end
|
@@ -602,7 +613,71 @@ module IsoDoc
|
|
602
613
|
"-"
|
603
614
|
end
|
604
615
|
|
616
|
+
def annex_names(clause, num)
|
617
|
+
@anchors[clause["id"]] = { label: annex_name_lbl(clause, num), type: "clause",
|
618
|
+
xref: "#{@annex_lbl} #{num}", level: 1 }
|
619
|
+
clause.xpath(ns("./clause | ./terms | ./term | ./references")).each_with_index do |c, i|
|
620
|
+
annex_names1(c, "#{num}.#{i + 1}", 2)
|
621
|
+
end
|
622
|
+
hierarchical_asset_names(clause, num)
|
623
|
+
end
|
624
|
+
|
625
|
+
def annex_names1(clause, num, level)
|
626
|
+
@anchors[clause["id"]] = { label: num, xref: "#{@annex_lbl} #{num}",
|
627
|
+
level: level, type: "clause" }
|
628
|
+
clause.xpath(ns("./clause | ./terms | ./term | ./references")).each_with_index do |c, i|
|
629
|
+
annex_names1(c, "#{num}.#{i + 1}", level + 1)
|
630
|
+
end
|
631
|
+
end
|
632
|
+
|
633
|
+
def terms_parse(node, out)
|
634
|
+
out.div **attr_code(id: node["id"]) do |div|
|
635
|
+
node.at(ns("./title")) and
|
636
|
+
clause_parse_title(node, div, node.at(ns("./title")), out)
|
637
|
+
term_defs_boilerplate(div, node.xpath(ns(".//termdocsource")),
|
638
|
+
node.at(ns(".//term")), node.at(ns("./p")))
|
639
|
+
node.elements.each do |e|
|
640
|
+
parse(e, div) unless %w{title source}.include? e.name
|
641
|
+
end
|
642
|
+
end
|
643
|
+
end
|
644
|
+
|
645
|
+
def termdef_parse(node, out)
|
646
|
+
pref = node.at(ns("./preferred"))
|
647
|
+
out.table **{ class: "terms_dl" } do |dl|
|
648
|
+
dl.tr do |tr|
|
649
|
+
tr.td **{ valign: "top", align: "left" } do |dt|
|
650
|
+
pref.children.each { |n| parse(n, dt) }
|
651
|
+
end
|
652
|
+
set_termdomain("")
|
653
|
+
tr.td **{ valign: "top" } do |dd|
|
654
|
+
node.children.each { |n| parse(n, dd) unless n.name == "preferred" }
|
655
|
+
end
|
656
|
+
end
|
657
|
+
end
|
658
|
+
end
|
605
659
|
|
660
|
+
def term_cleanup(docxml)
|
661
|
+
docxml.xpath("//table[@class = 'terms_dl']").each do |d|
|
662
|
+
prev = d.previous_element
|
663
|
+
next unless prev.name == "table" and prev["class"] == "terms_dl"
|
664
|
+
d.children.each { |n| prev.add_child(n.remove) }
|
665
|
+
d.remove
|
666
|
+
end
|
667
|
+
docxml
|
668
|
+
end
|
669
|
+
|
670
|
+
def bibliography_parse(node, out)
|
671
|
+
title = node&.at(ns("./title"))&.text || ""
|
672
|
+
out.div do |div|
|
673
|
+
node.parent.name == "annex" or
|
674
|
+
div.h2 title, **{ class: "Section3" }
|
675
|
+
node.elements.reject do |e|
|
676
|
+
["reference", "title", "bibitem"].include? e.name
|
677
|
+
end.each { |e| parse(e, div) }
|
678
|
+
biblio_list(node, div, true)
|
679
|
+
end
|
680
|
+
end
|
606
681
|
end
|
607
682
|
end
|
608
683
|
end
|
data/metanorma-nist.gemspec
CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
13
13
|
Metanorma NIST gem.
|
14
14
|
DESCRIPTION
|
15
15
|
|
16
|
-
spec.homepage = "https://github.com/
|
16
|
+
spec.homepage = "https://github.com/metanorma/metanorma-nist"
|
17
17
|
spec.license = "BSD-2-Clause"
|
18
18
|
|
19
19
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
|
|
29
29
|
|
30
30
|
spec.add_dependency "metanorma-standoc", "~> 1.1.0"
|
31
31
|
spec.add_dependency "isodoc", "~> 0.9.0"
|
32
|
+
spec.add_dependency "twitter_cldr"
|
32
33
|
|
33
34
|
spec.add_development_dependency "bundler", "~> 2.0.1"
|
34
35
|
spec.add_development_dependency "byebug", "~> 9.1"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-nist
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-03-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.9.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: twitter_cldr
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: bundler
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -251,6 +265,7 @@ files:
|
|
251
265
|
- LICENSE
|
252
266
|
- README.adoc
|
253
267
|
- Rakefile
|
268
|
+
- appveyor.yml
|
254
269
|
- bin/console
|
255
270
|
- bin/rspec
|
256
271
|
- bin/setup
|
@@ -261,6 +276,7 @@ files:
|
|
261
276
|
- lib/asciidoctor/nist/isodoc.rng
|
262
277
|
- lib/asciidoctor/nist/isostandard.rng
|
263
278
|
- lib/asciidoctor/nist/nist.rng
|
279
|
+
- lib/asciidoctor/nist/reqt.rng
|
264
280
|
- lib/isodoc/nist/html/commerce-logo-color.png
|
265
281
|
- lib/isodoc/nist/html/deptofcommerce.png
|
266
282
|
- lib/isodoc/nist/html/header.html
|
@@ -284,7 +300,7 @@ files:
|
|
284
300
|
- lib/metanorma/nist/processor.rb
|
285
301
|
- lib/metanorma/nist/version.rb
|
286
302
|
- metanorma-nist.gemspec
|
287
|
-
homepage: https://github.com/
|
303
|
+
homepage: https://github.com/metanorma/metanorma-nist
|
288
304
|
licenses:
|
289
305
|
- BSD-2-Clause
|
290
306
|
metadata: {}
|