hlt 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/lib/hlt.rb +42 -26
  5. metadata +6 -6
  6. metadata.gz.sig +2 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b0e0fa086282bc3b41011326708ebf5cb7d090f8
4
- data.tar.gz: 865673de04ddd2a3ca6066d1adf29ce665793eb3
3
+ metadata.gz: 7c84fd69fa082a907a0df5c140bd1cc3519dd0c7
4
+ data.tar.gz: ab6a2d8d68c17930659bb7326da904ce7c738ff5
5
5
  SHA512:
6
- metadata.gz: 64524ffdfe4e9012e7b42b0291167fe15b1461a66ceca17a44da4e8de15455b99f2cd66ae926d0a1a77fe507cd24854b056c5514190347d0dcf1adb405fb4fdf
7
- data.tar.gz: 64afc025ef3c7958519b56796168e1cc30b7749c5afcbcb0aaa814c2aceff54290c7311a513aeb556808065b7742f8db7f71ccee73e490b174d5a90676112d17
6
+ metadata.gz: e83dcfb9bfb9fc044fb463c7ccfedfd0b6d61756ac953be3f4a3867c12b7c793ec78e2f482550ec7b0680254a79de7989a8833af4833852e647428eb09ef8230
7
+ data.tar.gz: b8b5406e5838d29f87d0f06397328ed190f1c74cbf96aafd7a34ed4858257e3afb7a0be1b19c0bcb1c3de5255bb282e4e0c12ee7d23a8186d60b653e660eb7ec
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/hlt.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # file: hlt.rb
4
4
 
5
- require 'kramdown'
5
+ require 'martile'
6
6
  require 'line-tree'
7
7
  require 'rexle-builder'
8
8
 
@@ -11,16 +11,16 @@ class Hlt
11
11
 
12
12
  attr_reader :to_html, :to_doc
13
13
 
14
- def initialize(raw_s, options={})
14
+ def initialize(raw_s, pretty: true, declaration: true, style: true,
15
+ debug: false)
15
16
 
16
- opt = {pretty: true, declaration: true, style: true}.merge(options)
17
17
 
18
18
  # strip out lines which are blank or only contain a comment
19
19
  #s = raw_s.lines.to_a.reject!{|x| x[/(^\s+\#\s)|(^\s*$)/] }
20
20
 
21
21
  raw_s.strip!
22
22
 
23
- s2, markdown = fetch_markdown raw_s
23
+ s2, martile = fetch_martile raw_s
24
24
  s, xml_list = filter_xml(s2)
25
25
 
26
26
  #s = raw_s
@@ -72,11 +72,22 @@ class Hlt
72
72
  "\n\n" + a_code[i].lines.map{|x| ' ' * 4 + x}.join + "\n"
73
73
  end
74
74
 
75
- markdown.each.with_index do |x,i|
76
- html.sub!(/<markdown:#{i.to_s}\/>/, Kramdown::Document.new(x).to_html
77
- .gsub(/<(\w+)>{style:\s*['"]([^'"]+)[^\}]+\}/,'<\1 style=\'\2\'>'))
75
+ martile.each.with_index do |x,i|
76
+
77
+ if @debug then
78
+ puts 'i: ' + i.inspect
79
+ puts 'x: ' + x.inspect
80
+ puts 'html: ' + html.inspect
81
+ end
82
+
83
+ html.sub!(/<mar(tile|kdown):#{i.to_s}\/>/, RDiscount.new(\
84
+ Martile.new(x).to_s).to_html\
85
+ .gsub(/<(\w+)>\s*{style:\s*['"]([^'"]+)[^\}]+\}/,\
86
+ '<\1 style=\'\2\'>'))
78
87
  end
79
88
 
89
+ puts 'html_: ' + html.inspect if @debug
90
+
80
91
  doc = Rexle.new(html)
81
92
 
82
93
  xml_list.each.with_index do |xml,i|
@@ -85,7 +96,9 @@ class Hlt
85
96
  e.delete
86
97
  end
87
98
 
88
- if opt[:style] == false then
99
+ # remove the style attributes from the document if style == false
100
+ #
101
+ if style == false then
89
102
  doc.root.xpath('//.[@style]').each do |e|
90
103
  unless e.attributes[:style][/^clear:/] then
91
104
  e.attributes.delete :style
@@ -94,9 +107,9 @@ class Hlt
94
107
  end
95
108
 
96
109
 
97
- #html = doc.xml opt
98
110
  @doc = doc
99
- html = doc.root.xpath('*'){|x| x.xml opt}.join("\n")
111
+ h = {declaration: declaration, pretty: pretty, style: style}
112
+ html = doc.root.xpath('*'){|x| x.xml(h)}.join("\n")
100
113
 
101
114
  time = Time.now
102
115
  timestamp = time.strftime("#{ordinalize(time.day)} %B %Y @ %H:%M")
@@ -162,9 +175,9 @@ class Hlt
162
175
 
163
176
  end
164
177
 
165
- def fetch_markdown(raw_s)
178
+ def fetch_martile(raw_s)
166
179
 
167
- # any lines which are in the context of markdown which only contain
180
+ # any lines which are in the context of martile which only contain
168
181
  # a new line character will have spaces inserted into them
169
182
 
170
183
  prev_line = ''
@@ -176,53 +189,56 @@ class Hlt
176
189
 
177
190
  index, spaces, md_spaces = 0, 0, 0
178
191
  state = :default
179
- markdown = []
192
+ martile = []
180
193
 
181
194
  s2 = s.lines.map do |line|
182
-
183
- if state == :markdown then
195
+
196
+ puts 'line: ' + line.inspect if @debug
197
+
198
+ if state == :martile then
184
199
 
185
200
  spaces = line[/^\s+/].to_s.length
186
201
 
187
202
  if spaces > md_spaces then
188
- markdown[index] << line[(md_spaces + 2)..-1]
203
+ martile[index] << line[(md_spaces + 2)..-1]
189
204
  line = ''
190
205
  else
191
- markdown[index].strip!
206
+ martile[index].strip!
192
207
  index += 1
193
208
  state = :default
194
209
 
195
- r = line[/^(\s+)markdown:/,1]
210
+ r = line[/^(\s+)martile:/,1]
196
211
 
197
212
  if r then
198
213
 
199
- state = :markdown
214
+ state = :martile
200
215
  md_spaces = r.length
201
216
 
202
- line.sub!(/markdown:/,'\0' + index.to_s)
203
- markdown[index] = ''
217
+ line.sub!(/mar(kdown|tile):/,'\0' + index.to_s)
218
+ martile[index] = ''
204
219
  end
205
220
  end
206
221
 
207
222
  else
208
223
 
209
- r = line[/^(\s+)markdown:/,1]
224
+ r = line[/^(\s+)mar(kdown|tile):/,1]
210
225
 
211
226
  if r then
212
227
 
213
- state = :markdown
228
+ state = :martile
214
229
  md_spaces = r.length
215
- line.sub!(/markdown:/,'\0' + index.to_s)
230
+ line.sub!(/mar(kdown|tile):/,'\0' + index.to_s)
216
231
 
217
- markdown[index] = ''
232
+ martile[index] = ''
218
233
  end
219
234
  end
220
235
 
236
+ puts 'line: ' + line.inspect
221
237
  line
222
238
 
223
239
  end
224
240
 
225
- [s2.join, markdown]
241
+ [s2.join, martile]
226
242
  end
227
243
 
228
244
  def ordinalize(n)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hlt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -53,25 +53,25 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.6.4
55
55
  - !ruby/object:Gem::Dependency
56
- name: kramdown
56
+ name: martile
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.16'
61
+ version: '0.8'
62
62
  - - ">="
63
63
  - !ruby/object:Gem::Version
64
- version: 1.16.2
64
+ version: 0.8.3
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
69
69
  - - "~>"
70
70
  - !ruby/object:Gem::Version
71
- version: '1.16'
71
+ version: '0.8'
72
72
  - - ">="
73
73
  - !ruby/object:Gem::Version
74
- version: 1.16.2
74
+ version: 0.8.3
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: rexle-builder
77
77
  requirement: !ruby/object:Gem::Requirement
metadata.gz.sig CHANGED
@@ -1 +1,2 @@
1
- oûi��ْ,�[;��u�Ee>>�S,j���Y�.!���]� �F=�ނ�#�G�P�!�Hɀp]����o�sq5��c�΃b9�% ���k�i�8��� ��?ޒ���w"MBׄ����PGĒho�U$�j�,6){7fF��\���;��QS��� �z�͎��g$Ϊ��c�퓿DupՎ�K_jQi���ژ��;)��ӱ۪,�V3P��8��1e��O—E1[�"7��|,T
1
+ �;��UQ��G��O���@�U�� �!�-61���B%?RE����k��/�Lj����7���,�T�$m]�˨��iWςN�-+����(�}a�ۅ�H�����؇���Kw�U���'Hw�c�ufMY ��D��xö��}D�x�@.T{���R��RSQI �أӜ �CV�n���)[7�_ ��|�mK%΍v�gN�p?������ڨ��+
2
+ ���Ù�����;!c�ѦiV������q�M