dxsectionx 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: e39f974433bfee9a6c35eca09338b9fdd4df9921
4
+ data.tar.gz: 8cf33efaf246dc73f83d59d6ac729b60b822f187
5
+ SHA512:
6
+ metadata.gz: cc981a90c9b98db1c93f696f83e8c173dda5321c0262ce4ff8992774788f421fb2ffe2444d9131332170d5d8d90f1a43c5f675b122bd6baaa1ac6849d1568aa7
7
+ data.tar.gz: 2dd99c16a81ef2a540f05e97e4d1ec036041aec8e3ef484f302219c31517dc48716112ea308895961955574dfb06334c0f5df75b8bc918ceea4d2001bade56fd
checksums.yaml.gz.sig ADDED
Binary file
data.tar.gz.sig ADDED
Binary file
data/lib/dxsectionx.rb ADDED
@@ -0,0 +1,64 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: dxsectionx.rb
4
+
5
+ require 'dynarex'
6
+ require 'martile'
7
+
8
+
9
+ class DxSectionX
10
+
11
+ attr_writer :xsl_url, :domain
12
+
13
+
14
+ def initialize(filepath, domain: nil)
15
+
16
+ dx = Dynarex.new
17
+ dx.import filepath
18
+ @doc = dx.to_doc
19
+ @domain = domain
20
+
21
+ end
22
+
23
+ def to_xml
24
+
25
+ @doc.root.xpath('records/section/x') do |x|
26
+
27
+ s = "=%s\n%s\n=" % [x.text.lines.first[/#\w+$/], x.text.unescape]
28
+
29
+ html = Martile.new(s, ignore_domainlabel: domain).to_html
30
+
31
+ e = x.parent
32
+ e.attributes.merge x.attributes
33
+ x.delete
34
+ doc2 = Rexle.new(html)
35
+
36
+ h1 = doc2.root.element('h1')
37
+ details = Rexle::Element.new('details')
38
+ details.attributes[:open] = 'open'
39
+ summary = Rexle::Element.new('summary')
40
+ summary.add h1
41
+
42
+ details.add summary
43
+ doc2.root.xpath('.').each {|x| details.add x }
44
+ doc2.root.add details
45
+ doc2.root.elements.each do |e2|
46
+ e.add e2
47
+ end
48
+ end
49
+
50
+ if @xsl_url then
51
+
52
+ @doc.instructions << [
53
+ 'xml-stylesheet',
54
+ "title='XSL_formatting' type='text/xsl' href='#{@xsl_url}'"
55
+ ]
56
+
57
+ end
58
+
59
+ return @doc
60
+
61
+ end
62
+
63
+ end
64
+
metadata ADDED
@@ -0,0 +1,108 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dxsectionx
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
+ YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
+ 8ixkARkWAmV1MB4XDTE1MDkyNTE5MzUwN1oXDTE2MDkyNDE5MzUwN1owSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
+ ggEBAM5kvDZIQJmCVUIc1Y9fdaO/2yBuTAJRtuaDNkyY+9cK9C1tNe360Jm/v07r
19
+ tJLObjLhyny/DWgFH1Hphq9t9K6DbuxkWU47+9cyOhfq7SYHE10+6U3+Va9p5xIO
20
+ P3frjIcGlymr4aNISvy46O9ngL1x5az9mGy8d9Jyks5BaPzJg4DznrOTGe1QFV+S
21
+ UT8Pb7uUdeVsx3wzZoMY0KkkV+4uvLcJaFdl+SLakTAiidumuZkHrSCjN1z4dV3k
22
+ olvWzxL9EJGMh3hgy7mKniPSmiVnsxSOmXr1/da+nlPYNNUXfoFvEMbcEsUgNA3b
23
+ FV03gciJdaFlsvE1HaOLRmx3vMUCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUY89yjdKvvaGSk8ZdCOdpXfGcZRUwJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAqKppP0m2
27
+ PxU9ZRo1rXtXuuxywACdfqAYKsbIySYvbkWwMpFUzNhvbDFiWRBmQbUTABuzH2GG
28
+ RANlUvsz3IO1J+uxvJM2P+qMgQ0IW0/XUFs9g1fQQK1BKHQ1fZ629rBFMQ+j4yMr
29
+ xhyWmNTWWlRzMDO623kWltxDMXfKQgLpDQXzY22Z4o6JFJnx06bWidWOOagoKOht
30
+ b5MHK/H7X06PtCZ30pZNJYPD3s5tvF/5sVqd+Uta3MJjXowvj65UhDfCGBC9wsiA
31
+ HhOKrYa1ZXzGZXzzuW+g4Kgr48elktpRmyANrU2SRv15+aT17JIHdTXpbWK6eB0X
32
+ 6kiGexYQCkyt+Q==
33
+ -----END CERTIFICATE-----
34
+ date: 2015-09-25 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: dynarex
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.5'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 1.5.36
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '1.5'
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 1.5.36
56
+ - !ruby/object:Gem::Dependency
57
+ name: martile
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '0.6'
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 0.6.12
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '0.6'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.6.12
76
+ description:
77
+ email: james@r0bertson.co.uk
78
+ executables: []
79
+ extensions: []
80
+ extra_rdoc_files: []
81
+ files:
82
+ - lib/dxsectionx.rb
83
+ homepage: https://github.com/jrobertson/dxsectionx
84
+ licenses:
85
+ - MIT
86
+ metadata: {}
87
+ post_install_message:
88
+ rdoc_options: []
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ requirements: []
102
+ rubyforge_project:
103
+ rubygems_version: 2.4.8
104
+ signing_key:
105
+ specification_version: 4
106
+ summary: Transforms entries containing Markdown within a Dynarex document into HTML
107
+ using the Martile gem
108
+ test_files: []
metadata.gz.sig ADDED
Binary file