metanorma-bipm 0.0.1

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