metanorma-bipm 0.0.1

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 (46) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/macos.yml +38 -0
  3. data/.github/workflows/ubuntu.yml +56 -0
  4. data/.github/workflows/windows.yml +40 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +11 -0
  7. data/LICENSE +25 -0
  8. data/README.adoc +154 -0
  9. data/Rakefile +8 -0
  10. data/bin/console +14 -0
  11. data/bin/rspec +18 -0
  12. data/bin/setup +8 -0
  13. data/lib/asciidoctor/bipm.rb +8 -0
  14. data/lib/asciidoctor/bipm/basicdoc.rng +1082 -0
  15. data/lib/asciidoctor/bipm/biblio.rng +1237 -0
  16. data/lib/asciidoctor/bipm/bipm.rng +152 -0
  17. data/lib/asciidoctor/bipm/boilerplate-en.xml +21 -0
  18. data/lib/asciidoctor/bipm/boilerplate-fr.xml +21 -0
  19. data/lib/asciidoctor/bipm/converter.rb +85 -0
  20. data/lib/asciidoctor/bipm/isodoc.rng +1620 -0
  21. data/lib/asciidoctor/bipm/reqt.rng +194 -0
  22. data/lib/isodoc/bipm.rb +9 -0
  23. data/lib/isodoc/bipm/base_convert.rb +11 -0
  24. data/lib/isodoc/bipm/bipm.brochure.xsl +5447 -0
  25. data/lib/isodoc/bipm/html/html_bipm_intro.html +8 -0
  26. data/lib/isodoc/bipm/html/html_bipm_titlepage.html +71 -0
  27. data/lib/isodoc/bipm/html/htmlstyle.css +986 -0
  28. data/lib/isodoc/bipm/html/htmlstyle.scss +743 -0
  29. data/lib/isodoc/bipm/html/logo.png +0 -0
  30. data/lib/isodoc/bipm/html/scripts.html +71 -0
  31. data/lib/isodoc/bipm/html_convert.rb +15 -0
  32. data/lib/isodoc/bipm/i18n-en.yaml +1 -0
  33. data/lib/isodoc/bipm/i18n-fr.yaml +18 -0
  34. data/lib/isodoc/bipm/i18n.rb +9 -0
  35. data/lib/isodoc/bipm/init.rb +24 -0
  36. data/lib/isodoc/bipm/metadata.rb +41 -0
  37. data/lib/isodoc/bipm/pdf_convert.rb +19 -0
  38. data/lib/isodoc/bipm/presentation_xml_convert.rb +27 -0
  39. data/lib/isodoc/bipm/xref.rb +16 -0
  40. data/lib/metanorma-bipm.rb +11 -0
  41. data/lib/metanorma/bipm.rb +32 -0
  42. data/lib/metanorma/bipm/processor.rb +35 -0
  43. data/lib/metanorma/bipm/version.rb +5 -0
  44. data/metanorma-bipm.gemspec +42 -0
  45. data/metanorma.yml +74 -0
  46. metadata +258 -0
@@ -0,0 +1,71 @@
1
+ <script>
2
+ $("#toc").on('click', 'li', function(e) {
3
+ $(this).parent().find('li.toc-active').removeClass('toc-active');
4
+ $(this).addClass('toc-active');
5
+ });
6
+ </script>
7
+
8
+ <script>
9
+ //TOC toggle animation
10
+ $('#toggle').on('click', function(){
11
+ if( $('nav').is(':visible') ) {
12
+ $('nav').animate({ 'left': '-353px' }, 'slow', function(){
13
+ $('nav').hide();
14
+ });
15
+ $('.container').animate({ 'padding-left': '31px' }, 'slow');
16
+ }
17
+ else {
18
+ $('nav').show();
19
+ $('nav').animate({ 'left': '0px' }, 'slow');
20
+ $('.container').animate({ 'padding-left': '360px' }, 'slow');
21
+ }
22
+ });
23
+ </script>
24
+
25
+ <script>
26
+ // Scroll to top button
27
+ window.onscroll = function() {scrollFunction()};
28
+
29
+ function scrollFunction() {
30
+ if (document.body.scrollTop > 100 || document.documentElement.scrollTop > 100) {
31
+ document.getElementById("myBtn").style.display = "block";
32
+ } else {
33
+ document.getElementById("myBtn").style.display = "none";
34
+ }
35
+ }
36
+
37
+ // When the user clicks on the button, scroll to the top of the document
38
+ function topFunction() {
39
+ document.body.scrollTop = 0;
40
+ document.documentElement.scrollTop = 0;
41
+ }
42
+ </script>
43
+
44
+ <script>
45
+ // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat
46
+ //
47
+ // AnchorJS - v4.2.2 - 2020-04-20
48
+ // https://www.bryanbraun.com/anchorjs/
49
+ // Copyright (c) 2020 Bryan Braun; Licensed MIT
50
+ //
51
+ // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat
52
+ !function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function f(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.base=A.hasOwnProperty("base")?A.base:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64,A.titleText=A.hasOwnProperty("titleText")?A.titleText:""}function p(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],f(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,i,n,o,s,a,r,c,h,l,u,d=[];if(f(this.options),"touch"===(l=this.options.visible)&&(l=this.isTouchDevice()?"always":"hover"),0===(e=p(A=A||"h2, h3, h4, h5, h6")).length)return this;for(!function(){if(null!==document.head.querySelector("style.anchorjs"))return;var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"],style'))?document.head.appendChild(e):document.head.insertBefore(e,A);e.sheet.insertRule(".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}",e.sheet.cssRules.length),e.sheet.insertRule(":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}",e.sheet.cssRules.length),e.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",e.sheet.cssRules.length),e.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',e.sheet.cssRules.length)}(),t=document.querySelectorAll("[id]"),i=[].map.call(t,function(A){return A.id}),o=0;o<e.length;o++)if(this.hasAnchorJSLink(e[o]))d.push(o);else{if(e[o].hasAttribute("id"))n=e[o].getAttribute("id");else if(e[o].hasAttribute("data-anchor-id"))n=e[o].getAttribute("data-anchor-id");else{for(c=r=this.urlify(e[o].textContent),a=0;void 0!==s&&(c=r+"-"+a),a+=1,-1!==(s=i.indexOf(c)););s=void 0,i.push(c),e[o].setAttribute("id",c),n=c}(h=document.createElement("a")).className="anchorjs-link "+this.options.class,h.setAttribute("aria-label",this.options.ariaLabel),h.setAttribute("data-anchorjs-icon",this.options.icon),this.options.titleText&&(h.title=this.options.titleText),u=document.querySelector("base")?window.location.pathname+window.location.search:"",u=this.options.base||u,h.href=u+"#"+n,"always"===l&&(h.style.opacity="1"),""===this.options.icon&&(h.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(h.style.lineHeight="inherit")),"left"===this.options.placement?(h.style.position="absolute",h.style.marginLeft="-1em",h.style.paddingRight="0.5em",e[o].insertBefore(h,e[o].firstChild)):(h.style.paddingLeft="0.375em",e[o].appendChild(h))}for(o=0;o<d.length;o++)e.splice(d[o]-o,1);return this.elements=this.elements.concat(e),this},this.remove=function(A){for(var e,t,i=p(A),n=0;n<i.length;n++)(t=i[n].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(i[n]))&&this.elements.splice(e,1),i[n].removeChild(t));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){return this.options.truncate||f(this.options),A.trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),t=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||t||!1}}});
53
+ // @license-end
54
+ </script>
55
+ <script>
56
+ /*
57
+ $(document).ready(function() {
58
+ $('[id^=toc]').each(function ()
59
+ {
60
+ var currentToc = $(this);
61
+ var url = window.location.href;
62
+ currentToc.wrap("<a href='" + url + "#" + currentToc.attr("id") + "' </a>");
63
+ });
64
+ });
65
+ */
66
+ anchors.options = {
67
+ placement: 'left'
68
+ };
69
+ anchors.add('h1, h2, h3, h4');
70
+ </script>
71
+
@@ -0,0 +1,15 @@
1
+ require "isodoc"
2
+ require "isodoc/generic/html_convert"
3
+ require_relative "init"
4
+ require_relative "base_convert"
5
+
6
+ module IsoDoc
7
+ module BIPM
8
+ class HtmlConvert < IsoDoc::Generic::HtmlConvert
9
+
10
+ include BaseConvert
11
+ include Init
12
+ end
13
+ end
14
+ end
15
+
@@ -0,0 +1 @@
1
+ annex: Appendix
@@ -0,0 +1,18 @@
1
+ annex: Annexe
2
+ doctype_dict:
3
+ brochure: brochure
4
+ mise-en-pratique: mise-en-pratique
5
+ rapport: rapport
6
+ monographie: monographie
7
+ guide: guide
8
+ meeting-report: procès-verbal
9
+ technical-report: rapport-technique
10
+ working-party-note: note-du-groupe-de-travail
11
+ strategy: stratégie
12
+ cipm-mra: cipm-mra
13
+ resolution: résolution
14
+ stage_dict:
15
+ draft-proposal: projet-de-proposition
16
+ draft-development: projet-de-développement
17
+ in-force: en-vigeur
18
+ retired: retiré
@@ -0,0 +1,9 @@
1
+ module IsoDoc
2
+ module BIPM
3
+ class I18n < IsoDoc::Generic::I18n
4
+ def configuration
5
+ Metanorma::BIPM.configuration
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,24 @@
1
+ require "isodoc"
2
+ require_relative "metadata"
3
+ require_relative "xref"
4
+ require_relative "i18n"
5
+
6
+ module IsoDoc
7
+ module BIPM
8
+ module Init
9
+ def metadata_init(lang, script, labels)
10
+ @meta = Metadata.new(lang, script, labels)
11
+ end
12
+
13
+ def xref_init(lang, script, klass, labels, options)
14
+ html = HtmlConvert.new(language: lang, script: script)
15
+ @xrefs = Xref.new(lang, script, html, labels, options)
16
+ end
17
+
18
+ def i18n_init(lang, script, i18nyaml = nil)
19
+ @i18n = I18n.new(lang, script, i18nyaml || @i18nyaml)
20
+ end
21
+ end
22
+ end
23
+ end
24
+
@@ -0,0 +1,41 @@
1
+ require "isodoc"
2
+
3
+ module IsoDoc
4
+ module BIPM
5
+ class Metadata < IsoDoc::Generic::Metadata
6
+ def configuration
7
+ Metanorma::BIPM.configuration
8
+ end
9
+
10
+ def title(isoxml, _out)
11
+ lang1 = @lang == "fr" ? "fr" : "en"
12
+ lang2 = @lang == "fr" ? "en" : "fr"
13
+ set(:doctitle, @c.encode(isoxml&.at(
14
+ ns("//bibdata/title[@type='main'][@language='#{lang1}']"))&.text || ""))
15
+ set(:docsubtitle, @c.encode(isoxml&.at(
16
+ ns("//bibdata/title[@type='main'][@language='#{lang2}']"))&.text || ""))
17
+ set(:appendixtitle, @c.encode(isoxml&.at(
18
+ ns("//bibdata/title[@type='appendix'][@language='#{lang1}']"))&.text || ""))
19
+ set(:appendixsubtitle, @c.encode(isoxml&.at(
20
+ ns("//bibdata/title[@type='appendix'][@language='#{lang2}']"))&.text || ""))
21
+ end
22
+
23
+ def status_print(status)
24
+ return "Procès-Verbal" if status == "procès-verbal"
25
+ return "CIPM-MRA" if status == "cipm-mra"
26
+ status.split(/[- ]/).map.with_index do |s, i|
27
+ (%w(en de).include?(s) && i > 0) ? s : s.capitalize
28
+ end.join(' ')
29
+ end
30
+
31
+ def docid(isoxml, _out)
32
+ super
33
+ label1 = @lang == "fr" ? "Annexe" : "Appendix"
34
+ label2 = @lang == "fr" ? "Appendix" : "Annexe"
35
+ dn = isoxml.at(ns("//bibdata/ext/structuredidentifier/appendix"))
36
+ dn and set(:appendixid, @i18n.l10n("#{label1} #{dn&.text}"))
37
+ dn and set(:appendixid_alt, @i18n.l10n("#{label2} #{dn&.text}"))
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,19 @@
1
+ require "isodoc"
2
+
3
+ module IsoDoc
4
+ module BIPM
5
+ # A {Converter} implementation that generates PDF HTML output, and a
6
+ # document schema encapsulation of the document for validation
7
+ class PdfConvert < IsoDoc::XslfoPdfConvert
8
+ def initialize(options)
9
+ @libdir = File.dirname(__FILE__)
10
+ super
11
+ end
12
+
13
+ def pdf_stylesheet(docxml)
14
+ "bipm.brochure.xsl"
15
+ end
16
+ end
17
+ end
18
+ end
19
+
@@ -0,0 +1,27 @@
1
+ require "isodoc"
2
+ require "metanorma-generic"
3
+ require_relative "init"
4
+
5
+ module IsoDoc
6
+ module BIPM
7
+ class PresentationXMLConvert < IsoDoc::Generic::PresentationXMLConvert
8
+ def table1(f)
9
+ return if labelled_ancestor(f)
10
+ return if f["unnumbered"] && !f.at(ns("./name"))
11
+ n = @xrefs.anchor(f['id'], :label, false)
12
+ prefix_name(f, ".<tab/>", l10n("#{@i18n.table} #{n}"), "name")
13
+ end
14
+
15
+ def annex1(f)
16
+ lbl = @xrefs.anchor(f['id'], :label)
17
+ if t = f.at(ns("./title"))
18
+ t.children = "<strong>#{t.children.to_xml}</strong>"
19
+ end
20
+ prefix_name(f, ".<tab/>", lbl, "title")
21
+ end
22
+
23
+ include Init
24
+ end
25
+ end
26
+ end
27
+
@@ -0,0 +1,16 @@
1
+ module IsoDoc
2
+ module BIPM
3
+ class Xref < IsoDoc::Xref
4
+ def back_anchor_names(docxml)
5
+ super
6
+ docxml.xpath(ns("//annex")).each_with_index do |c, i|
7
+ annex_names(c, (i+1).to_s)
8
+ end
9
+ end
10
+
11
+ def annex_name_lbl(clause, num)
12
+ l10n("<strong>#{@labels["annex"]} #{num}</strong>")
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,11 @@
1
+ require 'metanorma'
2
+ require 'metanorma/bipm'
3
+ require "isodoc/bipm"
4
+
5
+ require 'asciidoctor' unless defined? Asciidoctor::Converter
6
+ require 'asciidoctor/bipm'
7
+
8
+ if defined? Metanorma
9
+ require_relative "metanorma/bipm"
10
+ Metanorma::Registry.instance.register(Metanorma::BIPM::Processor)
11
+ end
@@ -0,0 +1,32 @@
1
+ require "metanorma"
2
+ require "metanorma-generic"
3
+ require "metanorma/bipm/processor"
4
+
5
+ module Metanorma
6
+ module BIPM
7
+ class Configuration < Metanorma::Generic::Configuration
8
+ def initialize(*args)
9
+ super
10
+ html_configs ||= File.join(File.expand_path('config', __dir__), 'bipm_html.yml')
11
+ end
12
+ end
13
+
14
+ class << self
15
+ extend Forwardable
16
+
17
+ attr_accessor :configuration
18
+
19
+ Configuration::CONFIG_ATTRS.each do |attr_name|
20
+ def_delegator :@configuration, attr_name
21
+ end
22
+
23
+ def configure
24
+ self.configuration ||= Configuration.new
25
+ yield(configuration)
26
+ end
27
+ end
28
+
29
+ configure {}
30
+ end
31
+ end
32
+ Metanorma::Registry.instance.register(Metanorma::BIPM::Processor)
@@ -0,0 +1,35 @@
1
+ require "metanorma/processor"
2
+
3
+ module Metanorma
4
+ module BIPM
5
+ class Processor < Metanorma::Generic::Processor
6
+ def configuration
7
+ Metanorma::BIPM.configuration
8
+ end
9
+
10
+ def output_formats
11
+ super.merge(
12
+ html: "html",
13
+ pdf: "pdf"
14
+ ).tap { |hs| hs.delete(:doc) }
15
+ end
16
+
17
+ def version
18
+ "Metanorma::BIPM #{Metanorma::BIPM::VERSION}"
19
+ end
20
+
21
+ def output(isodoc_node, inname, outname, format, options={})
22
+ case format
23
+ when :html
24
+ IsoDoc::BIPM::HtmlConvert.new(options).convert(inname, isodoc_node, nil, outname)
25
+ when :presentation
26
+ IsoDoc::BIPM::PresentationXMLConvert.new(options).convert(inname, isodoc_node, nil, outname)
27
+ when :pdf
28
+ IsoDoc::BIPM::PdfConvert.new(options).convert(inname, isodoc_node, nil, outname)
29
+ else
30
+ super
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,5 @@
1
+ module Metanorma
2
+ module BIPM
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,42 @@
1
+ lib = File.expand_path("../lib", __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require "metanorma/bipm/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "metanorma-bipm"
7
+ spec.version = Metanorma::BIPM::VERSION
8
+ spec.authors = ["Ribose Inc."]
9
+ spec.email = ["open.source@ribose.com"]
10
+
11
+ spec.summary = "metanorma-bipm lets you write BIPM standards in Metanorma."
12
+ spec.description = <<~DESCRIPTION
13
+ metanorma-vg lets you write Bureau International de Poids et Mesures (BIPM) standards in Metanorma syntax.
14
+
15
+ This gem is in active development.
16
+ DESCRIPTION
17
+
18
+ spec.homepage = "https://github.com/metanorma/metanorma-bipm"
19
+ spec.license = "BSD-2-Clause"
20
+
21
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
22
+ f.match(%r{^(test|spec|features)/})
23
+ end
24
+ spec.bindir = "exe"
25
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
+ spec.require_paths = ["lib"]
27
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
28
+
29
+ spec.add_dependency "metanorma-generic", "~> 1.7.0"
30
+ spec.add_dependency "isodoc", "~> 1.2.0"
31
+
32
+ spec.add_development_dependency "byebug", "~> 9.1"
33
+ spec.add_development_dependency "sassc", "2.4.0"
34
+ spec.add_development_dependency "equivalent-xml", "~> 0.6"
35
+ spec.add_development_dependency "guard", "~> 2.14"
36
+ spec.add_development_dependency "guard-rspec", "~> 4.7"
37
+ spec.add_development_dependency "rake", "~> 12.0"
38
+ spec.add_development_dependency "rspec", "~> 3.6"
39
+ spec.add_development_dependency "rubocop", "~> 0.50"
40
+ spec.add_development_dependency "simplecov", "~> 0.15"
41
+ spec.add_development_dependency "timecop", "~> 0.9"
42
+ end
@@ -0,0 +1,74 @@
1
+ metanorma_name: bipm
2
+ organization_name_short: BIPM
3
+ organization_name_long: Bureau International des poids et mesures
4
+ document_namespace: https://www.metanorma.org/ns/bipm
5
+ xml_root_tag: 'bipm-standard'
6
+ logo_path: lib/isodoc/bipm/html/logo.png
7
+ i18nyaml:
8
+ en: lib/isodoc/bipm/i18n-en.yaml
9
+ fr: lib/isodoc/bipm/i18n-fr.yaml
10
+ validate_rng_file: lib/asciidoctor/bipm/bipm.rng
11
+ htmlcoverpage: lib/isodoc/bipm/html/html_bipm_titlepage.html
12
+ htmlintropage: lib/isodoc/bipm/html/html_bipm_intro.html
13
+ htmlstylesheet: lib/isodoc/bipm/html/htmlstyle.scss
14
+ scripts: lib/isodoc/bipm/html/scripts.html
15
+ boilerplate:
16
+ en: lib/asciidoctor/bipm/boilerplate-en.xml
17
+ fr: lib/asciidoctor/bipm/boilerplate-fr.xml
18
+ published_stages:
19
+ - in-force
20
+ - retired
21
+ default_stage: in-force
22
+ stage_abbreviations:
23
+ draft-proposal:
24
+ draft-development:
25
+ in-force:
26
+ retired:
27
+ doctypes:
28
+ - brochure
29
+ - mise-en-pratique
30
+ - rapport
31
+ - monographie
32
+ - guide
33
+ - meeting-report
34
+ - technical-report
35
+ - working-part-note
36
+ - strategy
37
+ - cipm-mra
38
+ - resolution
39
+ default_doctype: brochure
40
+ committees:
41
+ - CGPM
42
+ - CIPM
43
+ - BIPM
44
+ - CCAUV
45
+ - CCEM
46
+ - CCL
47
+ - CCM
48
+ - CCPR
49
+ - CCQM
50
+ - CCRI
51
+ - CCT
52
+ - CCTF
53
+ - CCU
54
+ - CCL-CCT
55
+ - JCGM
56
+ - JCRB
57
+ - JCTLM
58
+ - INetQI
59
+ metadata_extensions:
60
+ comment-period:
61
+ comment-period-from:
62
+ _output: from
63
+ comment-period-to:
64
+ _output: to
65
+ si-aspect:
66
+ structuredidentifier:
67
+ docnumber:
68
+ partnumber:
69
+ _output: part
70
+ appendix-id:
71
+ _output: appendix
72
+ relations:
73
+ - supersedes
74
+ - superseded-by