livetext 0.9.42 → 0.9.43

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3cef25ba4a47577159b300d63d723939aef6e5bef6c083685d8f6539e988601e
4
- data.tar.gz: a20a3a5e09c47639180428833a62c855a0a13d26ec317b49a3e400b9f0b4a64c
3
+ metadata.gz: 2eecc4b7aec5571c91f72cdba9b7d2e3ab43c7caf3f079ba336ccc112d4a4939
4
+ data.tar.gz: d3556ab21ab322f054c0aae264a8e2c833f61f1baa69bb5a965d4b418bf08c58
5
5
  SHA512:
6
- metadata.gz: b4ddc892156911f77e9bd4b3878e77ddfba0d739b03c5df0fbeefb1b22562c03f173ffdc36fceff940273557a27c12cec0a4aea3a35a5470efdfd5ec360f0261
7
- data.tar.gz: f222133e7b2e784e15b43241e711e29bad362c10f41857e1e72883aac95d523580127a50a146a5b539e266eea98067e094b6dc3b1490e6b8a2d1b88c1a813b08
6
+ metadata.gz: 665b6c06e3f9469a7f98c1e4b6b9a7a4fad55d7a554811d4c92a63757a7ec2d44f33f4468ea2d709896d4bcc4cadb8a1a7f95fdacb2533982a552c133116bbd3
7
+ data.tar.gz: 7f391f554863d8411fd3523a09029419914dd8d8df66df1ac5bc2e0186060b543977c46c9e4bbe59343cb8dfa78263c81ff876f8732811b1ed2caa33fb41f05a
@@ -179,18 +179,55 @@ module Livetext::Standard
179
179
  api.optional_blank_line
180
180
  end
181
181
 
182
+ =begin
183
+ Filename: foobar
184
+ get_globals - 1 - transforming /private/tmp/.blogs/views/foobar/data/global.lt3
185
+
186
+ >> variables: fdir = /private/tmp/.blogs/views/foobar/data/
187
+ fname = ../settings/view.txt
188
+ path = /private/tmp/.blogs/views/foobar/data/../settings/view.txt
189
+
190
+ rpath = /private/tmp/.blogs/views/foobar/settings/view.txt
191
+ path = /private/tmp/.blogs/views/foobar/settings/view.txt
192
+ dir = /private/tmp/.blogs/views/foobar/settings
193
+ base = view.txt
194
+
195
+ >> variables: fdir = /private/tmp/.blogs/views/foobar/data/
196
+ fname = ../settings/recent.txt
197
+ path = /private/tmp/.blogs/views/foobar/data/../settings/recent.txt
198
+ rpath = /private/tmp/.blogs/views/foobar/settings/recent.txt
199
+ path = /private/tmp/.blogs/views/foobar/settings/recent.txt
200
+ dir = /private/tmp/.blogs/views/foobar/settings
201
+ base = recent.txt
202
+
203
+ >> variables: fdir = /private/tmp/.blogs/views/foobar/data/
204
+ fname = ../settings/publish.txt
205
+ path = /private/tmp/.blogs/views/foobar/data/../settings/publish.txt
206
+ rpath = /private/tmp/.blogs/views/foobar/settings/publish.txt
207
+ path = /private/tmp/.blogs/views/foobar/settings/publish.txt
208
+ dir = /private/tmp/.blogs/views/foobar/settings
209
+ base = publish.txt
210
+
211
+ get_globals - 2
212
+
213
+ =end
214
+
182
215
  def variables(args = nil, body = nil)
183
216
  prefix = api.args[0]
184
- file = api.args[1]
185
- puts ">> variables: pre=#{prefix.inspect} file=#{file.inspect} pwd=#{Dir.pwd}"
217
+ fname = api.args[1]
186
218
  prefix = nil if prefix == "-" # FIXME dumb hack
187
- here = File.dirname(file)
188
- dok, fok = Dir.exist?(here), File.exist?(file)
189
- raise "No such dir #{here.inspect} (file #{file})" unless dok
190
- raise "No such file #{file.inspect} (file #{file})" unless fok
191
- if file
192
- here = ::Livetext::Vars[:FileDir] + "/"
193
- lines = File.readlines(here + file)
219
+ fdir = ::Livetext::Vars[:FileDir] + "/" # where is the file we are reading?
220
+ if fname
221
+ path0 = fdir + fname
222
+ # puts ">> variables: fdir = #{fdir} fname = #{fname} path = #{path0}"
223
+ pname = Pathname.new(path0)
224
+ rpath = pname.realpath(pname)
225
+ path, dir, base = rpath.to_s, rpath.dirname.to_s, rpath.basename.to_s
226
+ # puts " rpath = #{rpath} path = #{path} dir = #{dir} base = #{base}"
227
+ dok, fok = Dir.exist?(dir), File.exist?(path)
228
+ raise "No such dir #{dir.inspect} (file #{path})" unless dok
229
+ raise "No such file #{path.inspect} (file #{path})" unless fok
230
+ lines = File.readlines(path)
194
231
  else
195
232
  lines = api.body
196
233
  end
@@ -416,6 +453,36 @@ puts ">> variables: pre=#{prefix.inspect} file=#{file.inspect} pwd=#{Dir.pwd}"
416
453
  api.optional_blank_line
417
454
  end
418
455
 
456
+ def table(args = nil, body = nil) # Same as xtable
457
+ title = api.data
458
+ delim = " :: "
459
+ api.out "<br>\n\n<center><table width=90% cellpadding=5>"
460
+ lines = api.body(true)
461
+ maxw = nil
462
+ processed = []
463
+ lines.each do |line|
464
+ line = api.format(line)
465
+ line.gsub!(/\n+/, "<br>\n")
466
+ processed << line
467
+ cells = line.split(delim)
468
+ wide = cells.map {|cell| cell.length }
469
+ maxw = [0] * cells.size
470
+ maxw = maxw.map.with_index {|x, i| [x, wide[i]].max }
471
+ end
472
+
473
+ sum = maxw.inject(0, :+)
474
+ maxw.map! {|x| (x/sum*100).floor }
475
+
476
+ processed.each do |line|
477
+ cells = line.split(delim)
478
+ html.wrap :tr do
479
+ cells.each {|cell| api.out " <td valign=top>#{cell}</td>" }
480
+ end
481
+ end
482
+ api.out "</table></center>"
483
+ api.optional_blank_line
484
+ end
485
+
419
486
  def image(args = nil, body = nil)
420
487
  name, wide, high = api.args
421
488
  geom = ""
@@ -2,5 +2,5 @@
2
2
  # Defining VERSION
3
3
 
4
4
  class Livetext
5
- VERSION = "0.9.42"
5
+ VERSION = "0.9.43"
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: livetext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.42
4
+ version: 0.9.43
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hal Fulton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-10 00:00:00.000000000 Z
11
+ date: 2024-05-14 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A smart text processor extensible in Ruby
14
14
  email: rubyhacker@gmail.com