asciidoctor-csd 0.1.0

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 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: []