asciidoctor-csd 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 59f1e4a9b8ad8b5a0b407b01f8d47d0b8040b6c3
4
+ data.tar.gz: 876d61939b829cc455a7d399327c5654cf6eab73
5
+ SHA512:
6
+ metadata.gz: e30368e08af5dd62da89ab1684e452ee5192f82de05c2a393fbe29635231583469e6d0361af76a845557aba195f2430925f767837fc107b59feb39082ee03077
7
+ data.tar.gz: 24f0e6f82f9dd31970d0957859fa6d074fd7a21fd5e73bccacbbd6ac16f4de7c439e47ceee54f36a08de1462e0f7d5fe2c123334c06f86217f1ecae107709bc8
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ .DS_Store
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at ronald.tse@ribose.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in asciidoctor-csd.gemspec
6
+ gemspec
data/README.adoc ADDED
@@ -0,0 +1,254 @@
1
+ = AsciiCSD: Asciidoctor processor for CSD standards
2
+
3
+ image:https://img.shields.io/gem/v/asciidoctor-csd.svg["Gem Version", link="https://rubygems.org/gems/asciidoctor-csd"]
4
+ image:https://img.shields.io/travis/riboseinc/asciidoctor-csd/master.svg["Build Status", link="https://travis-ci.org/riboseinc/asciidoctor-csd"]
5
+ image:https://codeclimate.com/github/riboseinc/asciidoctor-csd/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/riboseinc/asciidoctor-csd"]
6
+
7
+ WARNING: This gem is still under development.
8
+
9
+ == Functionality
10
+
11
+ This gem processes http://asciidoctor.org/[Asciidoctor] documents following
12
+ a template for generating CSD International Standards. The following
13
+ outputs are generated.
14
+
15
+ * (Optional) An HTML preview generated directly from the Asciidoctor document,
16
+ using native Asciidocot formatting.
17
+ ** http://asciimath.org[AsciiMathML] is to be used for mathematical formatting.
18
+ The gem uses the https://github.com/asciidoctor/asciimath[Ruby AsciiMath parser],
19
+ which is syntactically stricter than the common MathJax processor;
20
+ if you do not get expected results, try bracketting terms your in AsciiMathML
21
+ expressions.
22
+ * an XML representation of the document, intended as a document model for CSD
23
+ International Standards.
24
+ * The XML representation is processed in turn to generate the following outputs
25
+ as end deliverable CSD standard drafts.
26
+ ** Microsoft Word output (`.doc`), following the style conventions of the
27
+ https://www.csd.org/csd-templates.html[CSD Standard Microsoft Word template].
28
+ (In development)
29
+ ** PDF (forthcoming)
30
+ ** HTML (forthcoming)
31
+
32
+ This AsciiDoc syntax for writing CSD standards is hereby named "AsciiCSD".
33
+
34
+ == Usage
35
+
36
+ [source,console]
37
+ ----
38
+ $ asciidoctor a.adoc # HTML output of Asciidoc file
39
+ $ asciidoctor -b csd -r 'asciidoctor-csd' a.adoc # CSD XML output
40
+ ----
41
+
42
+ The gem translates the document into CSD XML format, and then
43
+ validates its output against the CSD XML document model; errors are
44
+ reported to console against the XML, and are intended for users to
45
+ check that they have provided all necessary components of the
46
+ document.
47
+
48
+ TODO: The gem will then convert the XML to Word Document, HTML, and
49
+ PDF, and output those files with the appropriate file suffixes.
50
+ `lib/asciidoctor/csd/csd2wordhtml.rb` is work in progress, and not yet
51
+ integrated into the executable.
52
+
53
+ === Content Warnings
54
+
55
+ The gem also realises several format checks as prescribed in ISO/IEC
56
+ DIR 2, and warns the user about them in the console:
57
+
58
+ * Numbers with what looks like dots instead of commas for decimal points.
59
+
60
+ * Groups of numbers without spacing for every three digits. (The gem attempts
61
+ to ignore CSD references.)
62
+
63
+ * No space before percent sign.
64
+
65
+ * No bracketing of tolerance in percentage (e.g. `15 ± 7 % .`)
66
+
67
+ * No recommendations, permissions or requirements (detected by keyword) in:
68
+ foreword, scope, introduction, term examples and examples, notes, footnotes.
69
+
70
+ * No subclauses that are the only child of a clause. (In clauses, annexes, or
71
+ scopes.)
72
+
73
+ * 5 levels of subclause nesting. (Never actuated, AsciiDoc only permits 4
74
+ levels of subsections.)
75
+
76
+ * Non-CSD/IEC reference turning up as normative.
77
+
78
+ * Term definition starts with an article, or ends with a period.
79
+
80
+ * Title intro or title part appears in only one of French or English.
81
+
82
+ == Approach
83
+
84
+ === Document model
85
+
86
+ The CSD Standard Document model is an instance of the
87
+ https://github.com/riboseinc/isodoc-models[StandardDocument model].
88
+
89
+ The CSD format ("CSD XML") intends to introduce rigour into the CSD
90
+ standards authoring process, and is prescribed in a separate document.
91
+
92
+ CSD XML is still under development, but it already contains all the markup
93
+ needed to render a CSD document into HTML.
94
+
95
+ WARNING: The current RNG model of CSD XML is out of sync with the UML.
96
+
97
+ === Asciidoctor
98
+
99
+ Asciidoctor has been selected as the authoring tool to generate the document
100
+ model representation of CSD standards. It is a document formatting tool like
101
+ Markdown and DocBook, which combines the relative ease of use of the former
102
+ (using relatively lightweight markup), and the rigour and expressively of the
103
+ latter (it has a well-defined syntax, and was in fact initially developed as a
104
+ DocBook document authoring tool). Asciidoctor has built-in capability to output
105
+ Text, DocBook and HTML; so it can be used to preview the file as it is being
106
+ authored.
107
+
108
+ Note that in order to generate HTML preview output close to what is intended
109
+ in the CSD standard, the Asciidoc
110
+ document includes a fair amount of formatting instructions (e.g. disabling
111
+ section numbering where appropriate, the titling of Appendixes as Annexes), as
112
+ well as CSD boilerplate text, and predefined section headers (sections are
113
+ recognised by fixed titles such as `Normative References`). Authoring CSD
114
+ standards in this fashion assumes that users will be populating an Asciidoc
115
+ template, and not removing needed formatting instructions.
116
+
117
+ === Features not visible in HTML preview
118
+
119
+ The gem uses built-in Asciidoc formatting as much as possible, so that users
120
+ can retain the ability to preview documents; for _Terms and Definitions_
121
+ clauses, which have a good deal of explicit structure, macros have been
122
+ introduced for semantic markup (admitted terms, deprecated terms, etc). The
123
+ default HTML output of an Asciidoc-formatted CSD document is quite close to the
124
+ intended final output, with the following exceptions. Note that the final
125
+ outputs of the conversion (Microsoft Word, PDF, HTML) do not have these exceptions,
126
+ and comply with the CSD Standard specifications.
127
+
128
+ * _Terms and Definitions_: each term is marked up as an unnumbered subclause,
129
+ the semantic markup of alternate and other terms is not rendered visually.
130
+
131
+ * _Formulas_: Asciidoctor has no provision for the automated numbering of
132
+ csdlated block formulas ("stem"), and does not display the number assigned a
133
+ block formula in its default HTML processor—although it does provide automated
134
+ numbering of examples. Formula numbering is provided in the final outputs
135
+ of the conversion.
136
+
137
+ * _Missing elements_: The document model does not yet include Asciidoc elements
138
+ that do not appear to be relevant to CSD Standards; these will be ignored in
139
+ generating CSD XML. Those elements include:
140
+ * sidebars (`aside`) (as distinct from warnings),
141
+ * ASCII art/preformatted text (`literal`) (as distinct from sourcecode listings),
142
+ * page breaks (`thematic break`).
143
+
144
+ * _Markup_: Some connecting text which is used to convey markup structure is
145
+ left out: in particular, `DEPRECATED` and `SOURCE` (replaced by formatting
146
+ macros).
147
+
148
+ * _Tables_: Table footnotes are treated like all other footnotes: they are
149
+ rendered at the bottom of the document, rather than the bottom of the table,
150
+ and they are not numbered separately.
151
+
152
+ * _Cross-references_: Footnoted cross-references are indicated with the reference
153
+ text `fn` in csdlation, or `fn:` as a prefix to the reference text. The default
154
+ HTML processor leaves these as is: if no reference text is given, only `fn`
155
+ will be displayed (though it will still hyperlink to the right reference).
156
+
157
+ * _References_: The convention for references is that CSD documents are cited
158
+ without brackets by CSD number, and optionally year, whether they are normative
159
+ or in the bibliography (e.g. `CSD 20483:2013`); while all other references are
160
+ cited by bracketed number in the bibliography (e.g. `[1]`). The default HTML
161
+ processor treats all references the same, and will bracket them (e.g. `[CSD
162
+ 20483:2013]`). For the same reason, CSD references listed in the bibliography
163
+ will be listed under an CSD reference, rather than a bracketed number.
164
+
165
+ * _References_: References are rendered cited throughout, since they are
166
+ automated. For that reason, if reference is to be made to both an undated and a
167
+ dated version of an CSD reference, these need to be explicitly listed as
168
+ separate references. (This is not done in the Rice model document, which lists
169
+ CSD 6646, but under _Terms and Definitions_ cites the dated CSD 6646:2011.
170
+
171
+ * _References_: CSD references that are undated but published have their date
172
+ indicated under the CSD standards format in an explanatory footnote. Because of
173
+ constraints introduced by Asciidoctor, that explanation is instead given in
174
+ square brackets in Asciidoc format.
175
+
176
+ * _Annexes_: Subheadings cannot preserve subsection numbering, while also
177
+ appearing inline with their text (e.g. Rice document, Annex B.2): they appear
178
+ as headings in separate lines.
179
+
180
+ * _Annexes_: Cross-references to Annex subclauses are automatically prefixed
181
+ with `Clause` rather than `Annex` or nothing.
182
+
183
+ * _Metadata_: Document metadata such as document numbers, technical committees
184
+ and title wording are not rendered in the default HTML output.
185
+
186
+ * _Patent Notice_: Patent notices are treated and rendered as a subsection of
187
+ the introduction, with an explicit subheading.
188
+
189
+ * _Numbering_: The numbering of figures and tables is sequential in the default
190
+ HTML processor: it does not include the Clause or Annex number. This,
191
+ _Figure 1_, not _Figure A.1_.
192
+
193
+ * _Notes_: There is no automatic note numbering by the default HTML processor.
194
+
195
+ * _Review Notes_: The reviewer on the review note is not displayed.
196
+
197
+ * _Keys_: Keys to formulas and figures are expected to be marked up as
198
+ definition lists consistently, rather than as inline prose.
199
+
200
+ * _Figures_: Simple figures are marked up as images, figures containing
201
+ subfigures as examples. Numbering by the default HTML processor may be
202
+ inconsistent. Subfigures are automatically numbered as independent figures.
203
+
204
+ * _Markup_: The default HTML processor does not support CSS extensions such as
205
+ small caps or strike through, though these can be marked up as CSS classes
206
+ through custom macros in Asciidoctor: a custom CSS stylesheet will be needed to
207
+ render them.
208
+
209
+
210
+
211
+ TODO: May need to only encode figures as examples.
212
+
213
+ == Document Attributes
214
+
215
+ The gem relies on Asciidoctor document attributes to provide necessary
216
+ metadata about the document. These include:
217
+
218
+ `:edition:`:: The document edition
219
+
220
+ `:revdate:`:: The date the document was last updated
221
+
222
+ `:copyright-year:`:: The year which will be claimed as when the copyright for
223
+ the document was issued
224
+
225
+ `:title:`:: The main component of the English title of the document
226
+ (mandatory). (The first line of the AsciiDoc document, which contains the title
227
+ introduced with `=`, is ignored)
228
+
229
+ `:doctype:`:: The document type (see CSD deliverables: The different types of
230
+ CSD publications) (mandatory). The permitted types are: `standard, governance`.
231
+
232
+ `:technical-committee:`:: The name of the relevant CSD technical committee
233
+ (mandatory)
234
+
235
+ `:language:` :: The language of the document (only `en` for now) (mandatory)
236
+
237
+
238
+ The attribute `:draft:`, if present, includes review notes in the XML output;
239
+ these are otherwise suppressed.
240
+
241
+
242
+ == Data Models
243
+
244
+ The CSD Standard Document format is an instance of the
245
+ https://github.com/riboseinc/isodoc-models[StandardDocument model]. Details of
246
+ this general model can be found on its page.
247
+
248
+ === CSD Document Model
249
+
250
+ image::models/standard-document.png[]
251
+
252
+
253
+ == Examples
254
+
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,50 @@
1
+
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "asciidoctor/csd/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "asciidoctor-csd"
8
+ spec.version = Asciidoctor::Csd::VERSION
9
+ spec.authors = ["Ribose Inc."]
10
+ spec.email = ["open.source@ribose.com"]
11
+
12
+ spec.summary = "asciidoctor-csd lets you write CSD in AsciiDoc."
13
+ spec.description = <<~DESCRIPTION
14
+ asciidoctor-csd lets you write CSD in AsciiDoc syntax.
15
+
16
+ This gem is in active development.
17
+ DESCRIPTION
18
+
19
+ spec.homepage = "https://github.com/riboseinc/asciidoctor-csd"
20
+ spec.license = "MIT"
21
+
22
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
23
+ f.match(%r{^(test|spec|features)/})
24
+ end
25
+ spec.bindir = "exe"
26
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
+ spec.require_paths = ["lib"]
28
+
29
+ spec.add_dependency "asciidoctor", "~> 1.5.6"
30
+ spec.add_dependency "asciimath"
31
+ spec.add_dependency "htmlentities", "~> 4.3.4"
32
+ spec.add_dependency "image_size"
33
+ spec.add_dependency "mime-types"
34
+ spec.add_dependency "nokogiri", "~> 1.8.1"
35
+ spec.add_dependency "ruby-jing"
36
+ spec.add_dependency "ruby-xslt"
37
+ spec.add_dependency "thread_safe"
38
+ spec.add_dependency "uuidtools"
39
+
40
+ spec.add_development_dependency "bundler", "~> 1.15"
41
+ spec.add_development_dependency "byebug", "~> 9.1"
42
+ spec.add_development_dependency "equivalent-xml", "~> 0.6"
43
+ spec.add_development_dependency "guard", "~> 2.14"
44
+ spec.add_development_dependency "guard-rspec", "~> 4.7"
45
+ spec.add_development_dependency "rake", "~> 12.0"
46
+ spec.add_development_dependency "rspec", "~> 3.6"
47
+ spec.add_development_dependency "rubocop", "~> 0.50"
48
+ spec.add_development_dependency "simplecov", "~> 0.15"
49
+ spec.add_development_dependency "timecop", "~> 0.9"
50
+ end
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "asciidoctor/csd"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,7 @@
1
+ require "asciidoctor/csd/version"
2
+
3
+ module Asciidoctor
4
+ module Csd
5
+ # Your code goes here...
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ module Asciidoctor
2
+ module Csd
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
metadata ADDED
@@ -0,0 +1,337 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: asciidoctor-csd
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Ribose Inc.
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-01-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: asciidoctor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.5.6
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.5.6
27
+ - !ruby/object:Gem::Dependency
28
+ name: asciimath
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: htmlentities
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 4.3.4
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 4.3.4
55
+ - !ruby/object:Gem::Dependency
56
+ name: image_size
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: mime-types
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: nokogiri
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.8.1
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.8.1
97
+ - !ruby/object:Gem::Dependency
98
+ name: ruby-jing
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: ruby-xslt
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: thread_safe
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: uuidtools
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: bundler
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '1.15'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '1.15'
167
+ - !ruby/object:Gem::Dependency
168
+ name: byebug
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '9.1'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '9.1'
181
+ - !ruby/object:Gem::Dependency
182
+ name: equivalent-xml
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '0.6'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '0.6'
195
+ - !ruby/object:Gem::Dependency
196
+ name: guard
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '2.14'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '2.14'
209
+ - !ruby/object:Gem::Dependency
210
+ name: guard-rspec
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '4.7'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '4.7'
223
+ - !ruby/object:Gem::Dependency
224
+ name: rake
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '12.0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: '12.0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: rspec
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: '3.6'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '3.6'
251
+ - !ruby/object:Gem::Dependency
252
+ name: rubocop
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '0.50'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '0.50'
265
+ - !ruby/object:Gem::Dependency
266
+ name: simplecov
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '0.15'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: '0.15'
279
+ - !ruby/object:Gem::Dependency
280
+ name: timecop
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: '0.9'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - "~>"
291
+ - !ruby/object:Gem::Version
292
+ version: '0.9'
293
+ description: |
294
+ asciidoctor-csd lets you write CSD in AsciiDoc syntax.
295
+
296
+ This gem is in active development.
297
+ email:
298
+ - open.source@ribose.com
299
+ executables: []
300
+ extensions: []
301
+ extra_rdoc_files: []
302
+ files:
303
+ - ".gitignore"
304
+ - CODE_OF_CONDUCT.md
305
+ - Gemfile
306
+ - README.adoc
307
+ - Rakefile
308
+ - asciidoctor-csd.gemspec
309
+ - bin/console
310
+ - bin/setup
311
+ - lib/asciidoctor/csd.rb
312
+ - lib/asciidoctor/csd/version.rb
313
+ homepage: https://github.com/riboseinc/asciidoctor-csd
314
+ licenses:
315
+ - MIT
316
+ metadata: {}
317
+ post_install_message:
318
+ rdoc_options: []
319
+ require_paths:
320
+ - lib
321
+ required_ruby_version: !ruby/object:Gem::Requirement
322
+ requirements:
323
+ - - ">="
324
+ - !ruby/object:Gem::Version
325
+ version: '0'
326
+ required_rubygems_version: !ruby/object:Gem::Requirement
327
+ requirements:
328
+ - - ">="
329
+ - !ruby/object:Gem::Version
330
+ version: '0'
331
+ requirements: []
332
+ rubyforge_project:
333
+ rubygems_version: 2.6.14
334
+ signing_key:
335
+ specification_version: 4
336
+ summary: asciidoctor-csd lets you write CSD in AsciiDoc.
337
+ test_files: []