clwiki 3.2.3 → 3.2.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: 19d12f7ee8fbce5a07c527e9a05dd90703f5ff5f91fdb66c728295fc9c565539
4
- data.tar.gz: 72daa353d7a40ebc6774c6b2a99aa665fa0483d53e40dd16af34cd22838a7c59
3
+ metadata.gz: 18900683f87266b7a2c5b8b449910761885c1b8560833c2c1552a1dcc06ea422
4
+ data.tar.gz: 4de460a24cd59205616b0cf3cbe8ce627f0fc4a9af1542593e22a3b6454f3254
5
5
  SHA512:
6
- metadata.gz: 46b443d65f1bdc2403b33690e67310d07361e5b159cee18ed480932a8003685b8e6eb35004e0c18473c726c24a434fcc1b562ebca8eeac1d4555119ae988a973
7
- data.tar.gz: ccf1ac19ed5f3f8f1b9ee7a013a27777f5183287ca80d3124409e2a07e642818b2da6b8368fe82738d0d9f5b6f36d566eeb338bd1fb2e61588747c9743497c8b
6
+ metadata.gz: 56c8759000fdfb0bc0bdfdcdc8996f90f788161d33b95e1289de60c9513504bcd5a739b6defb066a1489ec08df65f9eaf5028ea8f8c5851be0bcb1cc0b592091
7
+ data.tar.gz: 97ff51ddb7b6840bed6df586f1a92c4137b124a8a0bbc8a8cb894d4b1ed7f65f6b442a5a53006355fe9d17be1fd5e37b0d87a4fea628e4f124e9783c1edd1259
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ClWiki
4
+ class FormatGraphVizDiGraph < ClWiki::CustomFormatter
5
+ def self.match_re
6
+ /digraph.*\}/m
7
+ end
8
+
9
+ def self.format_content(content, page)
10
+ content.sub!(/digraph.*\}/m,
11
+ "<a href=\"dot.rb?fn=#{page.file_full_path_and_name}\">
12
+ <img src=\"dot.rb?fn=#{page.file_full_path_and_name}\">
13
+ </a>")
14
+ content
15
+ end
16
+ end
17
+ end
18
+
19
+ ClWiki::CustomFormatters.instance.register(ClWiki::FormatGraphVizDiGraph)
@@ -5,33 +5,35 @@ if $PROGRAM_NAME == __FILE__
5
5
  require 'clwikipage'
6
6
  end
7
7
 
8
- class FormatOPML < ClWiki::CustomFormatter
9
- def self.match_re
10
- %r{<opml.*?>.*?</opml>}m
11
- end
8
+ module ClWiki
9
+ class FormatOPML < ClWiki::CustomFormatter
10
+ def self.match_re
11
+ %r{<opml.*?>.*?</opml>}m
12
+ end
12
13
 
13
- def self.format_content(content, page)
14
- out = ['<NoWikiLinks>']
15
- content.grep(%r{<outline.*?>|</outline>}).each do |ln|
16
- title = ln.scan(/title=\"(.*?)\"/).compact
17
- html = ln.scan(/htmlUrl=\"(.*?)\"/).compact
18
- xml = ln.scan(/xmlUrl=\"(.*?)\"/).compact
19
- if html.empty? && xml.empty?
20
- if !title.empty?
21
- out << "<h4>#{title}</h4>"
22
- out << '<blockquote>'
14
+ def self.format_content(content, page)
15
+ out = ['<NoWikiLinks>']
16
+ content.grep(%r{<outline.*?>|</outline>}).each do |ln|
17
+ title = ln.scan(/title=\"(.*?)\"/).compact
18
+ html = ln.scan(/htmlUrl=\"(.*?)\"/).compact
19
+ xml = ln.scan(/xmlUrl=\"(.*?)\"/).compact
20
+ if html.empty? && xml.empty?
21
+ if !title.empty?
22
+ out << "<h4>#{title}</h4>"
23
+ out << '<blockquote>'
24
+ else
25
+ out << '</blockquote>'
26
+ end
23
27
  else
24
- out << '</blockquote>'
28
+ out << "<a href='#{xml}'>[xml]</a> <a href='#{html}'>#{title}</a>"
25
29
  end
26
- else
27
- out << "<a href='#{xml}'>[xml]</a> <a href='#{html}'>#{title}</a>"
28
30
  end
31
+ out.join("\n") + content
29
32
  end
30
- out.join("\n") + content
31
33
  end
32
34
  end
33
35
 
34
- ClWiki::CustomFormatters.instance.register(FormatOPML)
36
+ ClWiki::CustomFormatters.instance.register(ClWiki::FormatOPML)
35
37
 
36
38
  if $PROGRAM_NAME == __FILE__
37
39
  sample_opml = <<-OPMLTEXT
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'cgi'
4
+
5
+ module ClWiki
6
+ class FormatPreBlockquote < ClWiki::CustomFormatter
7
+ def self.match_re
8
+ %r{\[p\].*?\[/p\]}mi
9
+ end
10
+
11
+ def self.format_content(content, page)
12
+ content = CGI.escapeHTML(content)
13
+ content.gsub!(/\[p\]/i, '<blockquote><pre>')
14
+ content.gsub!(%r{\[/p\]}i, '</pre></blockquote>')
15
+ end
16
+ end
17
+ end
18
+
19
+ ClWiki::CustomFormatters.instance.register(ClWiki::FormatPreBlockquote)
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ClWiki
4
+ class FormatSimpleTable < ClWiki::CustomFormatter
5
+ def self.match_re
6
+ %r{<simpletable.*?>.*?</simpletable>}m
7
+ end
8
+
9
+ def self.format_content(content, page = nil)
10
+ table_attr = content.scan(/<simpletable(.*?)>/m).to_s.strip
11
+ table_attr = 'border="1"' if table_attr.empty?
12
+ content.gsub!(/<simpletable.*?>/m, '')
13
+ content.gsub!(%r{</simpletable>}m, '')
14
+ content.strip!
15
+ lines = content.split("\n")
16
+ lines.collect! do |ln|
17
+ ln.gsub!(/\t/, ' ')
18
+ '<tr><td>' + ln.gsub(/ +/, '</td><td>') + '</td></tr>'
19
+ end
20
+ lines.collect! { |ln| ln.gsub(%r{<td>\s*?</td>}, '<td>&nbsp;</td>') }
21
+
22
+ # if you do a .join("\n"), then the \n will be converted to <br>
23
+ # ... so don't do that
24
+ "<table #{table_attr}>\n#{lines.join('')}</table>"
25
+ end
26
+ end
27
+ end
28
+
29
+ ClWiki::CustomFormatters.instance.register(ClWiki::FormatSimpleTable)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ClWiki
4
- VERSION = '3.2.3'
4
+ VERSION = '3.2.5'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clwiki
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.3
4
+ version: 3.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - chrismo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-22 00:00:00.000000000 Z
11
+ date: 2023-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcrypt
@@ -92,11 +92,11 @@ files:
92
92
  - lib/cl_wiki/file.rb
93
93
  - lib/cl_wiki/file_error.rb
94
94
  - lib/cl_wiki/file_modified_since_read.rb
95
- - lib/cl_wiki/format/format_blockquote.rb
96
- - lib/cl_wiki/format/format_graphviz_di_graph.rb
97
- - lib/cl_wiki/format/format_opml.rb
98
- - lib/cl_wiki/format/format_pre_blockquote.rb
99
- - lib/cl_wiki/format/format_simple_table.rb
95
+ - lib/cl_wiki/format_blockquote.rb
96
+ - lib/cl_wiki/format_graphviz_di_graph.rb
97
+ - lib/cl_wiki/format_opml.rb
98
+ - lib/cl_wiki/format_pre_blockquote.rb
99
+ - lib/cl_wiki/format_simple_table.rb
100
100
  - lib/cl_wiki/memory_indexer.rb
101
101
  - lib/cl_wiki/metadata.rb
102
102
  - lib/cl_wiki/page.rb
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class FormatGraphVizDiGraph < ClWiki::CustomFormatter
4
- def self.match_re
5
- /digraph.*\}/m
6
- end
7
-
8
- def self.format_content(content, page)
9
- content.sub!(/digraph.*\}/m,
10
- "<a href=\"dot.rb?fn=#{page.file_full_path_and_name}\">
11
- <img src=\"dot.rb?fn=#{page.file_full_path_and_name}\">
12
- </a>")
13
- content
14
- end
15
- end
16
-
17
- ClWiki::CustomFormatters.instance.register(FormatGraphVizDiGraph)
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'cgi'
4
-
5
- class FormatPreBlockquote < ClWiki::CustomFormatter
6
- def self.match_re
7
- %r{\[p\].*?\[/p\]}mi
8
- end
9
-
10
- def self.format_content(content, page)
11
- content = CGI.escapeHTML(content)
12
- content.gsub!(/\[p\]/i, '<blockquote><pre>')
13
- content.gsub!(%r{\[/p\]}i, '</pre></blockquote>')
14
- end
15
- end
16
-
17
- ClWiki::CustomFormatters.instance.register(FormatPreBlockquote)
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class FormatSimpleTable < ClWiki::CustomFormatter
4
- def self.match_re
5
- %r{<simpletable.*?>.*?</simpletable>}m
6
- end
7
-
8
- def self.format_content(content, page = nil)
9
- table_attr = content.scan(/<simpletable(.*?)>/m).to_s.strip
10
- table_attr = 'border="1"' if table_attr.empty?
11
- content.gsub!(/<simpletable.*?>/m, '')
12
- content.gsub!(%r{</simpletable>}m, '')
13
- content.strip!
14
- lines = content.split("\n")
15
- lines.collect! do |ln|
16
- ln.gsub!(/\t/, ' ')
17
- '<tr><td>' + ln.gsub(/ +/, '</td><td>') + '</td></tr>'
18
- end
19
- lines.collect! { |ln| ln.gsub(%r{<td>\s*?</td>}, '<td>&nbsp;</td>') }
20
-
21
- # if you do a .join("\n"), then the \n will be converted to <br>
22
- # ... so don't do that
23
- "<table #{table_attr}>\n#{lines.join('')}</table>"
24
- end
25
- end
26
-
27
- ClWiki::CustomFormatters.instance.register(FormatSimpleTable)