clwiki 3.2.4 → 3.2.6
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 +4 -4
- data/lib/cl_wiki/engine.rb +6 -0
- data/lib/cl_wiki/format_blockquote.rb +12 -10
- data/lib/cl_wiki/format_graphviz_di_graph.rb +11 -9
- data/lib/cl_wiki/format_opml.rb +21 -19
- data/lib/cl_wiki/format_pre_blockquote.rb +11 -9
- data/lib/cl_wiki/format_simple_table.rb +22 -20
- data/lib/cl_wiki/version.rb +1 -1
- data/lib/cl_wiki_lib.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 88f3646fc174c186690fa0704bf8eea487dd0b9aa04192d1dada2048215a84b1
|
4
|
+
data.tar.gz: 19e1e949c5db182f1ccd98069f9a6bbe8b251db3d3cd557d7229c1d4204f0d75
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: adb5a002ccaaf9eb214008caf18922f55e4f1c64aea000f46cc15815c7d0b72d54b36ba78440aba9a2e4d95740453c0de1b6a0d5ee04e8f2cc1c99403519e423
|
7
|
+
data.tar.gz: 7de2d1f85a2f7b42aeea640da0822c6a81a269a4ee7f07d5efacfccee5e649ce801f01fa8bbd585e21fc4265657ffc0ad98f4e605d4754424bab64df591add23
|
data/lib/cl_wiki/engine.rb
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# This seems a little unnecessary here, having done a bunch of zeitwerk stuff
|
4
|
+
# for auto-loading, but the formatters need to be referenced somehow in order to
|
5
|
+
# be loaded, and then registered ... but - this is working, and this ain't for
|
6
|
+
# nothing but my silly website.
|
7
|
+
require_relative '../cl_wiki_lib'
|
8
|
+
|
3
9
|
module ClWiki
|
4
10
|
class Engine < ::Rails::Engine
|
5
11
|
isolate_namespace ClWiki
|
@@ -1,17 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
module ClWiki
|
4
|
+
class FormatBlockquote < ClWiki::CustomFormatter
|
5
|
+
def self.match_re
|
6
|
+
%r{\[\].*\[/\]}m
|
7
|
+
end
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
def self.format_content(content, page)
|
10
|
+
if content
|
11
|
+
content.gsub!(/\[\]/, '<blockquote>')
|
12
|
+
content.gsub!(%r{\[/\]}, '</blockquote>')
|
13
|
+
content
|
14
|
+
end
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
16
18
|
|
17
|
-
ClWiki::CustomFormatters.instance.register(FormatBlockquote)
|
19
|
+
ClWiki::CustomFormatters.instance.register(ClWiki::FormatBlockquote)
|
@@ -1,17 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
module ClWiki
|
4
|
+
class FormatGraphVizDiGraph < ClWiki::CustomFormatter
|
5
|
+
def self.match_re
|
6
|
+
/digraph.*\}/m
|
7
|
+
end
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
9
|
+
def self.format_content(content, page)
|
10
|
+
content.sub!(/digraph.*\}/m,
|
11
|
+
"<a href=\"dot.rb?fn=#{page.file_full_path_and_name}\">
|
11
12
|
<img src=\"dot.rb?fn=#{page.file_full_path_and_name}\">
|
12
13
|
</a>")
|
13
|
-
|
14
|
+
content
|
15
|
+
end
|
14
16
|
end
|
15
17
|
end
|
16
18
|
|
17
|
-
ClWiki::CustomFormatters.instance.register(FormatGraphVizDiGraph)
|
19
|
+
ClWiki::CustomFormatters.instance.register(ClWiki::FormatGraphVizDiGraph)
|
data/lib/cl_wiki/format_opml.rb
CHANGED
@@ -5,33 +5,35 @@ if $PROGRAM_NAME == __FILE__
|
|
5
5
|
require 'clwikipage'
|
6
6
|
end
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
module ClWiki
|
9
|
+
class FormatOPML < ClWiki::CustomFormatter
|
10
|
+
def self.match_re
|
11
|
+
%r{<opml.*?>.*?</opml>}m
|
12
|
+
end
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
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 << '</
|
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
|
@@ -2,16 +2,18 @@
|
|
2
2
|
|
3
3
|
require 'cgi'
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
module ClWiki
|
6
|
+
class FormatPreBlockquote < ClWiki::CustomFormatter
|
7
|
+
def self.match_re
|
8
|
+
%r{\[p\].*?\[/p\]}mi
|
9
|
+
end
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
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
|
14
16
|
end
|
15
17
|
end
|
16
18
|
|
17
|
-
ClWiki::CustomFormatters.instance.register(FormatPreBlockquote)
|
19
|
+
ClWiki::CustomFormatters.instance.register(ClWiki::FormatPreBlockquote)
|
@@ -1,27 +1,29 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
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>'
|
3
|
+
module ClWiki
|
4
|
+
class FormatSimpleTable < ClWiki::CustomFormatter
|
5
|
+
def self.match_re
|
6
|
+
%r{<simpletable.*?>.*?</simpletable>}m
|
18
7
|
end
|
19
|
-
lines.collect! { |ln| ln.gsub(%r{<td>\s*?</td>}, '<td> </td>') }
|
20
8
|
|
21
|
-
|
22
|
-
|
23
|
-
|
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> </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
|
24
26
|
end
|
25
27
|
end
|
26
28
|
|
27
|
-
ClWiki::CustomFormatters.instance.register(FormatSimpleTable)
|
29
|
+
ClWiki::CustomFormatters.instance.register(ClWiki::FormatSimpleTable)
|
data/lib/cl_wiki/version.rb
CHANGED
data/lib/cl_wiki_lib.rb
CHANGED
@@ -16,7 +16,7 @@ require File.expand_path('cl_wiki/custom_footers', __dir__)
|
|
16
16
|
require File.expand_path('cl_wiki/custom_formatter', __dir__)
|
17
17
|
require File.expand_path('cl_wiki/custom_formatters', __dir__)
|
18
18
|
|
19
|
-
Dir[File.join(__dir__, 'cl_wiki', '
|
19
|
+
Dir[File.join(__dir__, 'cl_wiki', 'format_*.rb')].each do |fn|
|
20
20
|
require fn
|
21
21
|
end
|
22
22
|
|