kielce 2.0.2 → 2.0.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b819ff70e1a20261da54d186de5d671b9733134c6c0ba5f62e9107531eae896b
4
- data.tar.gz: 70cbeb088c2b28f42b3128454e5ec09a2ebd2a6efccd0488d41a11056e9e4318
3
+ metadata.gz: 2bdf0053d979e829a7ceb5ed7e4717d99dda0bf9dc4cff8780f8aa53bb6af1bc
4
+ data.tar.gz: 8b6479263c06dbcefd01d3e85daf756cd157117cff1c14d5851f2fb91a7f4ac1
5
5
  SHA512:
6
- metadata.gz: 621b21e9a8aae49e2631c664a8b07bb390311af0f3e9e30cde1945b86d7a24879b42fb94a79d5fe37b3f6076197c086767cfa9b4d3c0707010b6850d801ce14d
7
- data.tar.gz: 872f8a534a83ff518ee665048aa77d8bae0defbe1ebcb68f4591e4a3945e0245e6f6130fe2340d34170b0c3e0102172cd727c388adfaf268461b0b18c61db51a
6
+ metadata.gz: b7ab79d11727d58d1cfdb49330ce4373b94ff711ac882739045ec519004d055e8f8a65a066643f773c8361a33b9948c158de93f4dd40073b556194216ecbcc70
7
+ data.tar.gz: 8b243be6a675ec55df4386ce659460c9df05ab679f21e82b887113b3383bc3bc513966f409cf182fcdf0ca61681534977a06ffb0c38a0a50eecf94973415c15f
data/lib/kielce/kielce.rb CHANGED
@@ -38,7 +38,7 @@ module Kielce
38
38
  #
39
39
  # This could be a class method. We make it
40
40
  # an instance method so it can be used using the "$k.link" syntax.
41
- def link(url, text_param = nil, code: nil, classes: nil)
41
+ def link(url, text_param = nil, code: nil, classes: nil, target: nil)
42
42
  class_list = classes.nil? ? "" : " class='#{classes}'"
43
43
 
44
44
  # Make the text the same as the URL if no text given
@@ -47,7 +47,15 @@ module Kielce
47
47
  # use <code> if either (1) user requests it, or (2) no text_param given and no code param given
48
48
  text = "<code>#{text}</code>" if code || (text_param.nil? && code.nil?)
49
49
 
50
- "<a href='#{url}'#{class_list}>#{text}</a>"
50
+ if target.nil?
51
+ target_str = ''
52
+ else
53
+ target = "_#{target.to_s}" if target.is_a?(Symbol)
54
+ # NOTE: Space at the end of target_str is important
55
+ target_str = "target='#{target}' " unless target.nil?
56
+ end
57
+
58
+ "<a #{target_str}href='#{url}'#{class_list}>#{text}</a>"
51
59
  end
52
60
 
53
61
  # Load +file+ and run ERB. The binding parameter determines
@@ -92,7 +100,7 @@ module Kielce
92
100
  @@render_count += 1
93
101
 
94
102
  begin
95
- erb = ERB.new(content, nil, nil, "render_out_#{@@render_count}")
103
+ erb = ERB.new(content, eoutvar: "render_out_#{@@render_count}")
96
104
  erb.filename = file.to_s
97
105
  result = erb.result(b)
98
106
  rescue NoKeyError => e
data/lib/kielce.rb CHANGED
@@ -14,7 +14,12 @@ require "kielce/kielce"
14
14
  ##############################################################################################
15
15
 
16
16
  module Kielce
17
- VERSION = "2.0.2"
17
+ VERSION = "2.0.4"
18
+
19
+ # Changelog
20
+ #
21
+ # 2.0.4: Added a "target" option to "link", and made the timeline links open in a new tab.
22
+
18
23
 
19
24
  def self.run
20
25
 
@@ -51,7 +51,7 @@ module KielcePlugins
51
51
  end
52
52
 
53
53
  # build a link, if a link provided
54
- (linked && !@link.nil?) ? "<a href='#{@link}'>#{text}</a>" : text
54
+ (linked && !@link.nil?) ? "<a target='_blank' href='#{@link}'>#{text}</a>" : text
55
55
  end # title
56
56
  end # class Assignment
57
57
  end # module Schedule
@@ -24,10 +24,10 @@ module KielcePlugins
24
24
  # Replace link markup
25
25
  value.gsub!(/\[\[([^\s]+)(\s+(\S.*)|\s*)\]\]/) do
26
26
  text = $3.nil? ? "<code>#{$1}</code>" : $3
27
- "<a href='#{$1}'>#{text}</a>"
27
+ "<a target='_blank' href='#{$1}'>#{text}</a>"
28
28
  end
29
29
 
30
- value.gsub!(/<<(assign|due|ref)\s+(\S.+)>>/) do
30
+ value.gsub!(/<<(assign|due|ref)\s+(\S.+?)>>/) do
31
31
  #$stderr.puts "Found assignment ref #{$1} --- #{$2} -- #{@assignments[$2].inspect}"
32
32
  $stderr.puts "Assignment #{$2} not found" unless @assignments.has_key?($2)
33
33
 
@@ -58,7 +58,7 @@ module KielcePlugins
58
58
  else
59
59
  link = link_rule
60
60
  end
61
- "(<a href='#{link}'>#{text}</a>)"
61
+ "(<a target='_blank' href='#{link}'>#{text}</a>)"
62
62
  end # end gsub
63
63
 
64
64
  end # end if value is string
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kielce
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zachary Kurmas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-03 00:00:00.000000000 Z
11
+ date: 2022-07-06 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: 'An ERB-based templating engine for generating course documents. '
14
14
  email:
@@ -46,7 +46,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  requirements: []
49
- rubygems_version: 3.2.3
49
+ rubygems_version: 3.3.7
50
50
  signing_key:
51
51
  specification_version: 4
52
52
  summary: An ERB-based templating engine for generating course documents.