coradoc 1.1.0 → 1.1.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.
- checksums.yaml +4 -4
- data/Makefile +35 -0
- data/{.docker/readme.md → README.Docker.adoc} +21 -25
- data/README.adoc +121 -0
- data/coradoc.gemspec +4 -0
- data/docker-compose.yml +14 -0
- data/exe/coradoc +5 -0
- data/exe/reverse_adoc +24 -34
- data/exe/w2a +16 -28
- data/lib/coradoc/cli.rb +105 -0
- data/lib/coradoc/converter.rb +145 -0
- data/lib/coradoc/document.rb +13 -0
- data/lib/coradoc/element/admonition.rb +5 -0
- data/lib/coradoc/element/attribute_list.rb +1 -1
- data/lib/coradoc/element/author.rb +4 -4
- data/lib/coradoc/element/bibliography.rb +24 -0
- data/lib/coradoc/element/bibliography_entry.rb +24 -0
- data/lib/coradoc/element/block/core.rb +6 -4
- data/lib/coradoc/element/block/example.rb +1 -0
- data/lib/coradoc/element/block/pass.rb +21 -0
- data/lib/coradoc/element/block/quote.rb +1 -1
- data/lib/coradoc/element/block/reviewer_comment.rb +19 -0
- data/lib/coradoc/element/block/side.rb +4 -2
- data/lib/coradoc/element/block/sourcecode.rb +1 -0
- data/lib/coradoc/element/block.rb +2 -0
- data/lib/coradoc/element/comment_block.rb +22 -0
- data/lib/coradoc/element/comment_line.rb +18 -0
- data/lib/coradoc/element/document_attributes.rb +8 -1
- data/lib/coradoc/element/header.rb +1 -1
- data/lib/coradoc/element/image/block_image.rb +8 -0
- data/lib/coradoc/element/image/core.rb +6 -5
- data/lib/coradoc/element/include.rb +18 -0
- data/lib/coradoc/element/inline/citation.rb +24 -0
- data/lib/coradoc/element/inline/cross_reference.rb +29 -8
- data/lib/coradoc/element/inline.rb +1 -0
- data/lib/coradoc/element/list/core.rb +10 -2
- data/lib/coradoc/element/list_item.rb +7 -5
- data/lib/coradoc/element/paragraph.rb +8 -5
- data/lib/coradoc/element/revision.rb +1 -1
- data/lib/coradoc/element/section.rb +6 -4
- data/lib/coradoc/element/table.rb +2 -2
- data/lib/coradoc/element/tag.rb +19 -0
- data/lib/coradoc/element/term.rb +21 -0
- data/lib/coradoc/element/text_element.rb +9 -1
- data/lib/coradoc/element/title.rb +1 -1
- data/lib/coradoc/generator.rb +2 -0
- data/lib/coradoc/input/adoc.rb +28 -0
- data/lib/coradoc/input/docx.rb +35 -0
- data/lib/coradoc/{reverse_adoc → input/html}/README.adoc +9 -9
- data/lib/coradoc/{reverse_adoc → input/html}/cleaner.rb +18 -4
- data/lib/coradoc/input/html/config.rb +75 -0
- data/lib/coradoc/{reverse_adoc → input/html}/converters/a.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/aside.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/audio.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/base.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/blockquote.rb +2 -2
- data/lib/coradoc/{reverse_adoc → input/html}/converters/br.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/bypass.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/code.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/div.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/dl.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/drop.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/em.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/figure.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/h.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/head.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/hr.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/ignore.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/img.rb +7 -7
- data/lib/coradoc/{reverse_adoc → input/html}/converters/li.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/mark.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/markup.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/math.rb +3 -3
- data/lib/coradoc/{reverse_adoc → input/html}/converters/ol.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/p.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/pass_through.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/pre.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/q.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/strong.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/sub.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/sup.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/table.rb +4 -4
- data/lib/coradoc/{reverse_adoc → input/html}/converters/td.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/text.rb +2 -2
- data/lib/coradoc/{reverse_adoc → input/html}/converters/th.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/tr.rb +1 -1
- data/lib/coradoc/{reverse_adoc → input/html}/converters/video.rb +1 -1
- data/lib/coradoc/input/html/converters.rb +57 -0
- data/lib/coradoc/input/html/errors.rb +12 -0
- data/lib/coradoc/{reverse_adoc → input/html}/html_converter.rb +37 -22
- data/lib/coradoc/{reverse_adoc → input/html}/plugin.rb +6 -6
- data/lib/coradoc/{reverse_adoc → input/html}/plugins/plateau.rb +3 -3
- data/lib/coradoc/{reverse_adoc → input/html}/postprocessor.rb +3 -3
- data/lib/coradoc/input/html.rb +59 -0
- data/lib/coradoc/input.rb +12 -0
- data/lib/coradoc/output/adoc.rb +17 -0
- data/lib/coradoc/output/coradoc_tree_debug.rb +19 -0
- data/lib/coradoc/output.rb +11 -0
- data/lib/coradoc/parser/asciidoc/admonition.rb +24 -0
- data/lib/coradoc/parser/asciidoc/attribute_list.rb +67 -0
- data/lib/coradoc/parser/asciidoc/base.rb +101 -13
- data/lib/coradoc/parser/asciidoc/bibliography.rb +30 -0
- data/lib/coradoc/parser/asciidoc/block.rb +82 -0
- data/lib/coradoc/parser/asciidoc/citation.rb +48 -0
- data/lib/coradoc/parser/asciidoc/content.rb +15 -120
- data/lib/coradoc/parser/asciidoc/document_attributes.rb +12 -5
- data/lib/coradoc/parser/asciidoc/header.rb +1 -4
- data/lib/coradoc/parser/asciidoc/inline.rb +72 -0
- data/lib/coradoc/parser/asciidoc/list.rb +81 -0
- data/lib/coradoc/parser/asciidoc/paragraph.rb +33 -0
- data/lib/coradoc/parser/asciidoc/section.rb +36 -31
- data/lib/coradoc/parser/asciidoc/table.rb +32 -0
- data/lib/coradoc/parser/asciidoc/term.rb +23 -0
- data/lib/coradoc/parser/base.rb +39 -4
- data/lib/coradoc/transformer.rb +353 -82
- data/lib/coradoc/util.rb +1 -1
- data/lib/coradoc/version.rb +1 -1
- data/lib/coradoc.rb +8 -5
- data/lib/reverse_adoc.rb +6 -6
- data/utils/parser_analyzer.rb +66 -0
- data/utils/round_trip.rb +37 -0
- metadata +112 -54
- data/.docker/Makefile +0 -35
- data/.docker/docker-compose.yml +0 -14
- data/Makefile +0 -1
- data/README.md +0 -73
- data/docker-compose.yml +0 -1
- data/lib/coradoc/reverse_adoc/config.rb +0 -73
- data/lib/coradoc/reverse_adoc/converters.rb +0 -55
- data/lib/coradoc/reverse_adoc/errors.rb +0 -10
- data/lib/coradoc/reverse_adoc.rb +0 -30
- /data/{.docker/Dockerfile → Dockerfile} +0 -0
- /data/lib/coradoc/{reverse_adoc → input/html}/LICENSE.txt +0 -0
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: coradoc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: exe
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2024-
|
|
12
|
+
date: 2024-09-17 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: marcel
|
|
@@ -109,6 +109,34 @@ dependencies:
|
|
|
109
109
|
- - ">="
|
|
110
110
|
- !ruby/object:Gem::Version
|
|
111
111
|
version: '0'
|
|
112
|
+
- !ruby/object:Gem::Dependency
|
|
113
|
+
name: base64
|
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
|
115
|
+
requirements:
|
|
116
|
+
- - ">="
|
|
117
|
+
- !ruby/object:Gem::Version
|
|
118
|
+
version: '0'
|
|
119
|
+
type: :runtime
|
|
120
|
+
prerelease: false
|
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
122
|
+
requirements:
|
|
123
|
+
- - ">="
|
|
124
|
+
- !ruby/object:Gem::Version
|
|
125
|
+
version: '0'
|
|
126
|
+
- !ruby/object:Gem::Dependency
|
|
127
|
+
name: thor
|
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
|
129
|
+
requirements:
|
|
130
|
+
- - ">="
|
|
131
|
+
- !ruby/object:Gem::Version
|
|
132
|
+
version: '0'
|
|
133
|
+
type: :runtime
|
|
134
|
+
prerelease: false
|
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
136
|
+
requirements:
|
|
137
|
+
- - ">="
|
|
138
|
+
- !ruby/object:Gem::Version
|
|
139
|
+
version: '0'
|
|
112
140
|
- !ruby/object:Gem::Dependency
|
|
113
141
|
name: codeclimate-test-reporter
|
|
114
142
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -226,31 +254,33 @@ email:
|
|
|
226
254
|
- open.source@ribose.com
|
|
227
255
|
- abunashir@gmail.com
|
|
228
256
|
executables:
|
|
257
|
+
- coradoc
|
|
229
258
|
- reverse_adoc
|
|
230
259
|
- w2a
|
|
231
260
|
extensions: []
|
|
232
261
|
extra_rdoc_files: []
|
|
233
262
|
files:
|
|
234
|
-
- ".docker/Dockerfile"
|
|
235
|
-
- ".docker/Makefile"
|
|
236
|
-
- ".docker/docker-compose.yml"
|
|
237
|
-
- ".docker/readme.md"
|
|
238
263
|
- ".editorconfig"
|
|
239
264
|
- ".hound.yml"
|
|
240
265
|
- ".pryrc.sample"
|
|
241
266
|
- ".rubocop.yml"
|
|
242
267
|
- CHANGELOG.md
|
|
243
268
|
- CODE_OF_CONDUCT.md
|
|
269
|
+
- Dockerfile
|
|
244
270
|
- Gemfile
|
|
245
271
|
- LICENSE.txt
|
|
246
272
|
- Makefile
|
|
247
|
-
- README.
|
|
273
|
+
- README.Docker.adoc
|
|
274
|
+
- README.adoc
|
|
248
275
|
- Rakefile
|
|
249
276
|
- coradoc.gemspec
|
|
250
277
|
- docker-compose.yml
|
|
278
|
+
- exe/coradoc
|
|
251
279
|
- exe/reverse_adoc
|
|
252
280
|
- exe/w2a
|
|
253
281
|
- lib/coradoc.rb
|
|
282
|
+
- lib/coradoc/cli.rb
|
|
283
|
+
- lib/coradoc/converter.rb
|
|
254
284
|
- lib/coradoc/document.rb
|
|
255
285
|
- lib/coradoc/element/admonition.rb
|
|
256
286
|
- lib/coradoc/element/attribute.rb
|
|
@@ -258,23 +288,31 @@ files:
|
|
|
258
288
|
- lib/coradoc/element/audio.rb
|
|
259
289
|
- lib/coradoc/element/author.rb
|
|
260
290
|
- lib/coradoc/element/base.rb
|
|
291
|
+
- lib/coradoc/element/bibliography.rb
|
|
292
|
+
- lib/coradoc/element/bibliography_entry.rb
|
|
261
293
|
- lib/coradoc/element/block.rb
|
|
262
294
|
- lib/coradoc/element/block/core.rb
|
|
263
295
|
- lib/coradoc/element/block/example.rb
|
|
264
296
|
- lib/coradoc/element/block/literal.rb
|
|
297
|
+
- lib/coradoc/element/block/pass.rb
|
|
265
298
|
- lib/coradoc/element/block/quote.rb
|
|
299
|
+
- lib/coradoc/element/block/reviewer_comment.rb
|
|
266
300
|
- lib/coradoc/element/block/side.rb
|
|
267
301
|
- lib/coradoc/element/block/sourcecode.rb
|
|
268
302
|
- lib/coradoc/element/break.rb
|
|
303
|
+
- lib/coradoc/element/comment_block.rb
|
|
304
|
+
- lib/coradoc/element/comment_line.rb
|
|
269
305
|
- lib/coradoc/element/document_attributes.rb
|
|
270
306
|
- lib/coradoc/element/header.rb
|
|
271
307
|
- lib/coradoc/element/image.rb
|
|
272
308
|
- lib/coradoc/element/image/block_image.rb
|
|
273
309
|
- lib/coradoc/element/image/core.rb
|
|
274
310
|
- lib/coradoc/element/image/inline_image.rb
|
|
311
|
+
- lib/coradoc/element/include.rb
|
|
275
312
|
- lib/coradoc/element/inline.rb
|
|
276
313
|
- lib/coradoc/element/inline/anchor.rb
|
|
277
314
|
- lib/coradoc/element/inline/bold.rb
|
|
315
|
+
- lib/coradoc/element/inline/citation.rb
|
|
278
316
|
- lib/coradoc/element/inline/cross_reference.rb
|
|
279
317
|
- lib/coradoc/element/inline/hard_line_break.rb
|
|
280
318
|
- lib/coradoc/element/inline/highlight.rb
|
|
@@ -295,71 +333,91 @@ files:
|
|
|
295
333
|
- lib/coradoc/element/revision.rb
|
|
296
334
|
- lib/coradoc/element/section.rb
|
|
297
335
|
- lib/coradoc/element/table.rb
|
|
336
|
+
- lib/coradoc/element/tag.rb
|
|
337
|
+
- lib/coradoc/element/term.rb
|
|
298
338
|
- lib/coradoc/element/text_element.rb
|
|
299
339
|
- lib/coradoc/element/title.rb
|
|
300
340
|
- lib/coradoc/element/video.rb
|
|
301
341
|
- lib/coradoc/generator.rb
|
|
342
|
+
- lib/coradoc/input.rb
|
|
343
|
+
- lib/coradoc/input/adoc.rb
|
|
344
|
+
- lib/coradoc/input/docx.rb
|
|
345
|
+
- lib/coradoc/input/html.rb
|
|
346
|
+
- lib/coradoc/input/html/LICENSE.txt
|
|
347
|
+
- lib/coradoc/input/html/README.adoc
|
|
348
|
+
- lib/coradoc/input/html/cleaner.rb
|
|
349
|
+
- lib/coradoc/input/html/config.rb
|
|
350
|
+
- lib/coradoc/input/html/converters.rb
|
|
351
|
+
- lib/coradoc/input/html/converters/a.rb
|
|
352
|
+
- lib/coradoc/input/html/converters/aside.rb
|
|
353
|
+
- lib/coradoc/input/html/converters/audio.rb
|
|
354
|
+
- lib/coradoc/input/html/converters/base.rb
|
|
355
|
+
- lib/coradoc/input/html/converters/blockquote.rb
|
|
356
|
+
- lib/coradoc/input/html/converters/br.rb
|
|
357
|
+
- lib/coradoc/input/html/converters/bypass.rb
|
|
358
|
+
- lib/coradoc/input/html/converters/code.rb
|
|
359
|
+
- lib/coradoc/input/html/converters/div.rb
|
|
360
|
+
- lib/coradoc/input/html/converters/dl.rb
|
|
361
|
+
- lib/coradoc/input/html/converters/drop.rb
|
|
362
|
+
- lib/coradoc/input/html/converters/em.rb
|
|
363
|
+
- lib/coradoc/input/html/converters/figure.rb
|
|
364
|
+
- lib/coradoc/input/html/converters/h.rb
|
|
365
|
+
- lib/coradoc/input/html/converters/head.rb
|
|
366
|
+
- lib/coradoc/input/html/converters/hr.rb
|
|
367
|
+
- lib/coradoc/input/html/converters/ignore.rb
|
|
368
|
+
- lib/coradoc/input/html/converters/img.rb
|
|
369
|
+
- lib/coradoc/input/html/converters/li.rb
|
|
370
|
+
- lib/coradoc/input/html/converters/mark.rb
|
|
371
|
+
- lib/coradoc/input/html/converters/markup.rb
|
|
372
|
+
- lib/coradoc/input/html/converters/math.rb
|
|
373
|
+
- lib/coradoc/input/html/converters/ol.rb
|
|
374
|
+
- lib/coradoc/input/html/converters/p.rb
|
|
375
|
+
- lib/coradoc/input/html/converters/pass_through.rb
|
|
376
|
+
- lib/coradoc/input/html/converters/pre.rb
|
|
377
|
+
- lib/coradoc/input/html/converters/q.rb
|
|
378
|
+
- lib/coradoc/input/html/converters/strong.rb
|
|
379
|
+
- lib/coradoc/input/html/converters/sub.rb
|
|
380
|
+
- lib/coradoc/input/html/converters/sup.rb
|
|
381
|
+
- lib/coradoc/input/html/converters/table.rb
|
|
382
|
+
- lib/coradoc/input/html/converters/td.rb
|
|
383
|
+
- lib/coradoc/input/html/converters/text.rb
|
|
384
|
+
- lib/coradoc/input/html/converters/th.rb
|
|
385
|
+
- lib/coradoc/input/html/converters/tr.rb
|
|
386
|
+
- lib/coradoc/input/html/converters/video.rb
|
|
387
|
+
- lib/coradoc/input/html/errors.rb
|
|
388
|
+
- lib/coradoc/input/html/html_converter.rb
|
|
389
|
+
- lib/coradoc/input/html/plugin.rb
|
|
390
|
+
- lib/coradoc/input/html/plugins/plateau.rb
|
|
391
|
+
- lib/coradoc/input/html/postprocessor.rb
|
|
302
392
|
- lib/coradoc/legacy_parser.rb
|
|
303
393
|
- lib/coradoc/oscal.rb
|
|
394
|
+
- lib/coradoc/output.rb
|
|
395
|
+
- lib/coradoc/output/adoc.rb
|
|
396
|
+
- lib/coradoc/output/coradoc_tree_debug.rb
|
|
304
397
|
- lib/coradoc/parser.rb
|
|
398
|
+
- lib/coradoc/parser/asciidoc/admonition.rb
|
|
399
|
+
- lib/coradoc/parser/asciidoc/attribute_list.rb
|
|
305
400
|
- lib/coradoc/parser/asciidoc/base.rb
|
|
401
|
+
- lib/coradoc/parser/asciidoc/bibliography.rb
|
|
402
|
+
- lib/coradoc/parser/asciidoc/block.rb
|
|
403
|
+
- lib/coradoc/parser/asciidoc/citation.rb
|
|
306
404
|
- lib/coradoc/parser/asciidoc/content.rb
|
|
307
405
|
- lib/coradoc/parser/asciidoc/document_attributes.rb
|
|
308
406
|
- lib/coradoc/parser/asciidoc/header.rb
|
|
407
|
+
- lib/coradoc/parser/asciidoc/inline.rb
|
|
408
|
+
- lib/coradoc/parser/asciidoc/list.rb
|
|
409
|
+
- lib/coradoc/parser/asciidoc/paragraph.rb
|
|
309
410
|
- lib/coradoc/parser/asciidoc/section.rb
|
|
411
|
+
- lib/coradoc/parser/asciidoc/table.rb
|
|
412
|
+
- lib/coradoc/parser/asciidoc/term.rb
|
|
310
413
|
- lib/coradoc/parser/base.rb
|
|
311
|
-
- lib/coradoc/reverse_adoc.rb
|
|
312
|
-
- lib/coradoc/reverse_adoc/LICENSE.txt
|
|
313
|
-
- lib/coradoc/reverse_adoc/README.adoc
|
|
314
|
-
- lib/coradoc/reverse_adoc/cleaner.rb
|
|
315
|
-
- lib/coradoc/reverse_adoc/config.rb
|
|
316
|
-
- lib/coradoc/reverse_adoc/converters.rb
|
|
317
|
-
- lib/coradoc/reverse_adoc/converters/a.rb
|
|
318
|
-
- lib/coradoc/reverse_adoc/converters/aside.rb
|
|
319
|
-
- lib/coradoc/reverse_adoc/converters/audio.rb
|
|
320
|
-
- lib/coradoc/reverse_adoc/converters/base.rb
|
|
321
|
-
- lib/coradoc/reverse_adoc/converters/blockquote.rb
|
|
322
|
-
- lib/coradoc/reverse_adoc/converters/br.rb
|
|
323
|
-
- lib/coradoc/reverse_adoc/converters/bypass.rb
|
|
324
|
-
- lib/coradoc/reverse_adoc/converters/code.rb
|
|
325
|
-
- lib/coradoc/reverse_adoc/converters/div.rb
|
|
326
|
-
- lib/coradoc/reverse_adoc/converters/dl.rb
|
|
327
|
-
- lib/coradoc/reverse_adoc/converters/drop.rb
|
|
328
|
-
- lib/coradoc/reverse_adoc/converters/em.rb
|
|
329
|
-
- lib/coradoc/reverse_adoc/converters/figure.rb
|
|
330
|
-
- lib/coradoc/reverse_adoc/converters/h.rb
|
|
331
|
-
- lib/coradoc/reverse_adoc/converters/head.rb
|
|
332
|
-
- lib/coradoc/reverse_adoc/converters/hr.rb
|
|
333
|
-
- lib/coradoc/reverse_adoc/converters/ignore.rb
|
|
334
|
-
- lib/coradoc/reverse_adoc/converters/img.rb
|
|
335
|
-
- lib/coradoc/reverse_adoc/converters/li.rb
|
|
336
|
-
- lib/coradoc/reverse_adoc/converters/mark.rb
|
|
337
|
-
- lib/coradoc/reverse_adoc/converters/markup.rb
|
|
338
|
-
- lib/coradoc/reverse_adoc/converters/math.rb
|
|
339
|
-
- lib/coradoc/reverse_adoc/converters/ol.rb
|
|
340
|
-
- lib/coradoc/reverse_adoc/converters/p.rb
|
|
341
|
-
- lib/coradoc/reverse_adoc/converters/pass_through.rb
|
|
342
|
-
- lib/coradoc/reverse_adoc/converters/pre.rb
|
|
343
|
-
- lib/coradoc/reverse_adoc/converters/q.rb
|
|
344
|
-
- lib/coradoc/reverse_adoc/converters/strong.rb
|
|
345
|
-
- lib/coradoc/reverse_adoc/converters/sub.rb
|
|
346
|
-
- lib/coradoc/reverse_adoc/converters/sup.rb
|
|
347
|
-
- lib/coradoc/reverse_adoc/converters/table.rb
|
|
348
|
-
- lib/coradoc/reverse_adoc/converters/td.rb
|
|
349
|
-
- lib/coradoc/reverse_adoc/converters/text.rb
|
|
350
|
-
- lib/coradoc/reverse_adoc/converters/th.rb
|
|
351
|
-
- lib/coradoc/reverse_adoc/converters/tr.rb
|
|
352
|
-
- lib/coradoc/reverse_adoc/converters/video.rb
|
|
353
|
-
- lib/coradoc/reverse_adoc/errors.rb
|
|
354
|
-
- lib/coradoc/reverse_adoc/html_converter.rb
|
|
355
|
-
- lib/coradoc/reverse_adoc/plugin.rb
|
|
356
|
-
- lib/coradoc/reverse_adoc/plugins/plateau.rb
|
|
357
|
-
- lib/coradoc/reverse_adoc/postprocessor.rb
|
|
358
414
|
- lib/coradoc/transformer.rb
|
|
359
415
|
- lib/coradoc/util.rb
|
|
360
416
|
- lib/coradoc/version.rb
|
|
361
417
|
- lib/reverse_adoc.rb
|
|
362
418
|
- todo.md
|
|
419
|
+
- utils/parser_analyzer.rb
|
|
420
|
+
- utils/round_trip.rb
|
|
363
421
|
homepage: https://www.metanorma.org
|
|
364
422
|
licenses:
|
|
365
423
|
- MIT
|
data/.docker/Makefile
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export SPEC ?= spec
|
|
2
|
-
SPEC_FILE = $(subst ../,, $(SPEC))
|
|
3
|
-
export RUBY_IMAGE ?= ruby:3.1.2-slim
|
|
4
|
-
|
|
5
|
-
.PHONY: up
|
|
6
|
-
up:
|
|
7
|
-
docker-compose up
|
|
8
|
-
|
|
9
|
-
.PHONY: down
|
|
10
|
-
down:
|
|
11
|
-
docker-compose down
|
|
12
|
-
|
|
13
|
-
.PHONY: test
|
|
14
|
-
test: rspec
|
|
15
|
-
|
|
16
|
-
.PHONY: ssh
|
|
17
|
-
ssh:
|
|
18
|
-
docker-compose run lib bash
|
|
19
|
-
|
|
20
|
-
.PHONY: install
|
|
21
|
-
install:
|
|
22
|
-
docker-compose run lib bin/setup
|
|
23
|
-
|
|
24
|
-
.PHONY: console
|
|
25
|
-
console:
|
|
26
|
-
docker-compose run lib bin/console
|
|
27
|
-
|
|
28
|
-
.PHONY: rspec
|
|
29
|
-
rspec:
|
|
30
|
-
docker-compose run lib bin/rspec ${SPEC_FILE}
|
|
31
|
-
|
|
32
|
-
.PHONY: setup
|
|
33
|
-
setup:
|
|
34
|
-
docker-compose build --build-arg RUBY_IMAGE=${RUBY_IMAGE}
|
|
35
|
-
docker-compose run lib bin/setup
|
data/.docker/docker-compose.yml
DELETED
data/Makefile
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.docker/Makefile
|
data/README.md
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
# Coradoc
|
|
2
|
-
|
|
3
|
-
Coradoc is a modern Parser for Asciidoc document. It defines a grammar for
|
|
4
|
-
AsciiDoc, and then build the Parser for that grammar.
|
|
5
|
-
|
|
6
|
-
Once the document is parsed, it provides a pure ruby object `Coradoc::Document`,
|
|
7
|
-
which can used to customize the document in easiest way.
|
|
8
|
-
|
|
9
|
-
## Installation
|
|
10
|
-
|
|
11
|
-
Add this line to your application's Gemfile:
|
|
12
|
-
|
|
13
|
-
```ruby
|
|
14
|
-
gem "coradoc"
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
And then execute:
|
|
18
|
-
|
|
19
|
-
```sh
|
|
20
|
-
bundle install
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Or install it yourself as:
|
|
24
|
-
|
|
25
|
-
```sh
|
|
26
|
-
gem install coradoc
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Development
|
|
30
|
-
|
|
31
|
-
We are following Sandi Metz's Rules for this gem, you can read the
|
|
32
|
-
[description of the rules here][sandi-metz] All new code should follow these
|
|
33
|
-
rules. If you make changes in a pre-existing file that violates these rules you
|
|
34
|
-
should fix the violations as part of your contribution.
|
|
35
|
-
|
|
36
|
-
### Setup
|
|
37
|
-
|
|
38
|
-
Clone the repository.
|
|
39
|
-
|
|
40
|
-
```sh
|
|
41
|
-
git clone https://github.com/metanorma/coradoc.git
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Setup your environment in docker
|
|
45
|
-
|
|
46
|
-
```sh
|
|
47
|
-
make setup
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Run the test suite
|
|
51
|
-
|
|
52
|
-
```sh
|
|
53
|
-
make test
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
## Usages
|
|
58
|
-
|
|
59
|
-
### Parsing a document
|
|
60
|
-
|
|
61
|
-
To parse any AsciiDoc, we can use the following:
|
|
62
|
-
|
|
63
|
-
```ruby
|
|
64
|
-
Coradoc::Parser.parse(sample_asciidoc)
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
This interface will return the abstract syntax tree.
|
|
68
|
-
|
|
69
|
-
### Converting from HTML to AsciiDoc (reverse_adoc)
|
|
70
|
-
|
|
71
|
-
See: [reverse_adoc README](https://github.com/metanorma/coradoc/blob/main/lib/coradoc/reverse_adoc/README.adoc)
|
|
72
|
-
|
|
73
|
-
[sandi-metz]: http://robots.thoughtbot.com/post/50655960596/sandi-metz-rules-for-developers
|
data/docker-compose.yml
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.docker/docker-compose.yml
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
require "tmpdir"
|
|
2
|
-
|
|
3
|
-
module Coradoc::ReverseAdoc
|
|
4
|
-
class Config
|
|
5
|
-
def initialize
|
|
6
|
-
@unknown_tags = :pass_through
|
|
7
|
-
@input_format = :html
|
|
8
|
-
@mathml2asciimath = false
|
|
9
|
-
@external_images = false
|
|
10
|
-
|
|
11
|
-
# Destination to save file and images
|
|
12
|
-
@destination = nil
|
|
13
|
-
|
|
14
|
-
# Source of HTML
|
|
15
|
-
# @sourcedir = nil
|
|
16
|
-
|
|
17
|
-
# Image counter, assuming there are max 999 images
|
|
18
|
-
@image_counter = 1
|
|
19
|
-
# pad with 0s
|
|
20
|
-
@image_counter_pattern = "%03d"
|
|
21
|
-
|
|
22
|
-
@em_delimiter = "_".freeze
|
|
23
|
-
@strong_delimiter = "*".freeze
|
|
24
|
-
@inline_options = {}
|
|
25
|
-
@tag_border = " ".freeze
|
|
26
|
-
|
|
27
|
-
@split_sections = nil
|
|
28
|
-
|
|
29
|
-
# Document width - used to compute table sizes.
|
|
30
|
-
# This is an assumption for screen size in input document.
|
|
31
|
-
# If column widths are specified in absolute values, then we
|
|
32
|
-
# have to convert them to relative values, as AsciiDoc only
|
|
33
|
-
# supports those.
|
|
34
|
-
@doc_width = 1000
|
|
35
|
-
|
|
36
|
-
# Plugin system
|
|
37
|
-
@plugins = []
|
|
38
|
-
|
|
39
|
-
# Debugging options
|
|
40
|
-
@track_time = false
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def with(options = {})
|
|
44
|
-
old_options = @inline_options
|
|
45
|
-
@inline_options = options
|
|
46
|
-
result = yield
|
|
47
|
-
@inline_options = old_options
|
|
48
|
-
result
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def self.declare_option(option)
|
|
52
|
-
define_method(option) do
|
|
53
|
-
@inline_options[option] || instance_variable_get(:"@#{option}")
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
attr_writer option
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
declare_option :unknown_tags
|
|
60
|
-
declare_option :tag_border
|
|
61
|
-
declare_option :mathml2asciimath
|
|
62
|
-
declare_option :external_images
|
|
63
|
-
declare_option :destination
|
|
64
|
-
declare_option :sourcedir
|
|
65
|
-
declare_option :image_counter
|
|
66
|
-
declare_option :image_counter_pattern
|
|
67
|
-
declare_option :input_format
|
|
68
|
-
declare_option :split_sections
|
|
69
|
-
declare_option :doc_width
|
|
70
|
-
declare_option :plugins
|
|
71
|
-
declare_option :track_time
|
|
72
|
-
end
|
|
73
|
-
end
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
module Coradoc::ReverseAdoc
|
|
2
|
-
module Converters
|
|
3
|
-
def self.register(tag_name, converter)
|
|
4
|
-
@@converters ||= {}
|
|
5
|
-
@@converters[tag_name.to_sym] = converter
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def self.unregister(tag_name)
|
|
9
|
-
@@converters.delete(tag_name.to_sym)
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def self.lookup(tag_name)
|
|
13
|
-
converter = @@converters[tag_name.to_sym] || default_converter(tag_name)
|
|
14
|
-
converter = converter.new if converter.respond_to? :new
|
|
15
|
-
converter
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
# Note: process won't run plugin hooks
|
|
19
|
-
def self.process(node, state)
|
|
20
|
-
node = node.to_a if node.is_a? Nokogiri::XML::NodeSet
|
|
21
|
-
return node.map { |i| process(i, state) }.join if node.is_a? Array
|
|
22
|
-
|
|
23
|
-
lookup(node.name).convert(node, state)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def self.process_coradoc(node, state)
|
|
27
|
-
node = node.to_a if node.is_a? Nokogiri::XML::NodeSet
|
|
28
|
-
return node.map { |i| process_coradoc(i, state) } if node.is_a? Array
|
|
29
|
-
|
|
30
|
-
plugins = state[:plugin_instances] || {}
|
|
31
|
-
process = proc { lookup(node.name).to_coradoc(node, state) }
|
|
32
|
-
plugins.each do |i|
|
|
33
|
-
prev_process = process
|
|
34
|
-
process = proc { i.html_tree_run_hooks(node, state, &prev_process) }
|
|
35
|
-
end
|
|
36
|
-
process.(node, state)
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def self.default_converter(tag_name)
|
|
40
|
-
case Coradoc::ReverseAdoc.config.unknown_tags.to_sym
|
|
41
|
-
when :pass_through
|
|
42
|
-
Coradoc::ReverseAdoc::Converters::PassThrough.new
|
|
43
|
-
when :drop
|
|
44
|
-
Coradoc::ReverseAdoc::Converters::Drop.new
|
|
45
|
-
when :bypass
|
|
46
|
-
Coradoc::ReverseAdoc::Converters::Bypass.new
|
|
47
|
-
when :raise
|
|
48
|
-
raise UnknownTagError, "unknown tag: #{tag_name}"
|
|
49
|
-
else
|
|
50
|
-
raise InvalidConfigurationError,
|
|
51
|
-
"unknown value #{Coradoc::ReverseAdoc.config.unknown_tags.inspect} for Coradoc::ReverseAdoc.config.unknown_tags"
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
end
|
data/lib/coradoc/reverse_adoc.rb
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "digest"
|
|
4
|
-
require "nokogiri"
|
|
5
|
-
require_relative "../coradoc"
|
|
6
|
-
require_relative "reverse_adoc/errors"
|
|
7
|
-
require_relative "reverse_adoc/cleaner"
|
|
8
|
-
require_relative "reverse_adoc/config"
|
|
9
|
-
require_relative "reverse_adoc/converters"
|
|
10
|
-
require_relative "reverse_adoc/converters/base"
|
|
11
|
-
require_relative "reverse_adoc/html_converter"
|
|
12
|
-
require_relative "reverse_adoc/plugin"
|
|
13
|
-
require_relative "reverse_adoc/postprocessor"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
module Coradoc::ReverseAdoc
|
|
17
|
-
def self.convert(input, options = {})
|
|
18
|
-
Coradoc::ReverseAdoc::HtmlConverter.convert(input, options)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def self.config
|
|
22
|
-
@config ||= Config.new
|
|
23
|
-
yield @config if block_given?
|
|
24
|
-
@config
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def self.cleaner
|
|
28
|
-
@cleaner ||= Cleaner.new
|
|
29
|
-
end
|
|
30
|
-
end
|
|
File without changes
|
|
File without changes
|