trac-wiki 0.3.37 → 0.3.42

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: 8e3ed3f2aa66db2cd00b4504c240b78d5478cb985246fd445ccfcd3f328697c9
4
- data.tar.gz: 55c633635589b06b0d1a3f40ffb23f494179b52c1932bcd199f05ea51ce21bd9
3
+ metadata.gz: fc28b8d25c68d501bec4993cffeadbe55993edc78418564e04885432a5210488
4
+ data.tar.gz: 59f6b969838f1805362f3b0cfcd32cab19ac4e2080e265c64fe017ed3f190e8e
5
5
  SHA512:
6
- metadata.gz: fbb4fe3d82e1c47ecee7af3578290fd1ff97a0d8a2a0556103c345e636916e134c9cae51105982f329eb275cc773719d89f0901630a83daaa092c01b612267b2
7
- data.tar.gz: 975d14bf33f828ff65fcee758d11fc678ce688fe2e07b4d5ca33a89949337c995fb94f0fa06bc8de00dab312a3665a14515907236c552d8bf295a05035341768
6
+ metadata.gz: ff8dd55257f46c32abcca139434547c70aad494d13eb1b3988b90b0f76a1e406ff9db082869fa8ec6ade00efe8a80bc8640f029b8d638631198436a09ff45d15
7
+ data.tar.gz: ac6c6b34b2662a7b4699b3090edc841dcabd368a2f1416f5821765e4894977d2247cb91f30e357a481f65beae7c472009a2160f899aa76795ba6c6f45baa199a
data/Gemfile.lock CHANGED
@@ -15,7 +15,7 @@ PLATFORMS
15
15
 
16
16
  DEPENDENCIES
17
17
  bacon (~> 0)
18
- rake (~> 0)
18
+ rake (~> 12.3.3)
19
19
  trac-wiki!
20
20
  unicode_utils
21
21
 
@@ -91,7 +91,7 @@ module TracWiki
91
91
  attr_writer :math
92
92
  def math?; @math; end
93
93
 
94
- # allow some <b> <form> <html>
94
+ # allow some <b> <form> <html>
95
95
  # html will be sanitized
96
96
  attr_writer :allow_html
97
97
  def allow_html?; @allow_html; end
@@ -255,7 +255,7 @@ module TracWiki
255
255
  begin
256
256
  sprintf fmt, *args
257
257
  rescue Exception => e
258
- "(sprintf error:`#{e}`)"
258
+ "(sprintf error:`#{e}`)"
259
259
  end
260
260
  },
261
261
  '!digest' => proc { |env| Base64.urlsafe_encode64(Digest::SHA256.digest(env.expand_arg(0))) },
@@ -376,6 +376,13 @@ module TracWiki
376
376
  end
377
377
  end
378
378
 
379
+ def end_to_tag(tag)
380
+ if @stack.include?(tag)
381
+ end_tag while @stack.last != tag
382
+ end_tag
383
+ end
384
+ end
385
+
379
386
  def end_paragraph
380
387
  end_tag while !@stack.empty?
381
388
  @p = false
@@ -515,7 +522,7 @@ module TracWiki
515
522
  notlink, link = $1, $2
516
523
  make_link(link, nil, link, 0, !!notlink)
517
524
  # [[Image(pic.jpg|tag)]]
518
- when str =~ /\A\[\[Image\(([^,]*?)(,(.*?))?\)\]\]/ # image
525
+ when str =~ /\A\[\[Image\(([^,]*?)(,(.*?))?\)\]\]/ # image
519
526
  make_image($1, $3)
520
527
  # [[link]]
521
528
  # [ link2 | text5 ]
@@ -543,7 +550,7 @@ module TracWiki
543
550
  when math? && str =~ /\A\$(.+?)\$/ # inline math (tt)
544
551
  @tree.tag(:span, {:class => 'math'}, $1)
545
552
  @was_math = true
546
- when str =~ /\A(\&\w*;)/ # html entity
553
+ when str =~ /\A(\&\w*;)/ # html entity
547
554
  #print "add html ent: #{$1}\n"
548
555
  @tree.add_raw($1)
549
556
  when str =~ /\A([:alpha:]|[:digit:])+/
@@ -571,7 +578,7 @@ module TracWiki
571
578
  when str =~ /\A,,/
572
579
  toggle_tag 'sub', $& # _{}
573
580
  when str =~ /\A!\./
574
- @tree.add('') # !. \relax
581
+ @tree.add('') # !. \relax
575
582
  when str =~ /\A!(\{\{|[\S])/
576
583
  @tree.add($1) # !neco !{{
577
584
  # when str =~ /\A!(\{\{)/
@@ -761,6 +768,33 @@ module TracWiki
761
768
  end_paragraph
762
769
  @tree.tag(:div, { class: "merge #{merge_class}" }, who)
763
770
  end
771
+
772
+ def do_wikimedia_table(text)
773
+ end_paragraph
774
+ if div_around_table?
775
+ start_tag('div', class: 'table-div', 'data-line' => @line_no, 'data-lines' => text.count("\n") + 2)
776
+ end
777
+ start_tag(:table)
778
+ start_tag(:tr)
779
+ offset = 0
780
+ text.split("\n").each do |line|
781
+ offset += line.length + 1
782
+ if line == '|-'
783
+ end_to_tag :tr
784
+ start_tag(:tr)
785
+ elsif line =~ /^([!\|])(.*)/
786
+ end_to_tag :td
787
+ end_to_tag :th
788
+ fst, rest = $1, $2
789
+ start_tag($1 == '|' ? :td : :th)
790
+ parse_inline(rest.strip, offset)
791
+ else
792
+ parse_inline(' ' +line.strip, offset)
793
+ end
794
+ end
795
+ end_to_tag :table
796
+ end
797
+
764
798
  def do_pre(text)
765
799
  end_paragraph
766
800
  nowikiblock = make_nowikiblock(text)
@@ -876,6 +910,9 @@ module TracWiki
876
910
  # pre {{{ ... }}}
877
911
  when str =~ /\A\{\{\{\r?\n(.*?)\r?\n\}\}\}/m
878
912
  do_pre($1)
913
+ # wikimedia table {| ... |}
914
+ when str =~ /\A\{\|\r?\n(.*?)\r?\n\|\}/m
915
+ do_wikimedia_table($1)
879
916
  # horizontal rule
880
917
  when str =~ /\A\s*-{4,}\s*$/
881
918
  do_hr()
@@ -892,11 +929,11 @@ module TracWiki
892
929
  #when str =~ /\A([:\w\s]+)::(\s+|\r?\n)/
893
930
  when str =~ /\A(.+)::(\s+|\r?\n)/
894
931
  do_term($1)
895
- # li
932
+ # li *
896
933
  when str =~ /\A((\s*)([*-]|[aAIi\d]\.)\s+)(.*?)$(\r?\n)?/
897
934
  parse_li_line($2.size, $3)
898
935
  parse_inline($4, $1.size)
899
- # citation
936
+ # citation >
900
937
  when str =~ /\A(>[>\s]*)(.*?)$(\r?\n)?/
901
938
  do_citation($1.count('>'))
902
939
  parse_inline($2, $1.size)
@@ -1,3 +1,3 @@
1
1
  module TracWiki
2
- VERSION = '0.3.37'
2
+ VERSION = '0.3.42'
3
3
  end
data/test/parser_test.rb CHANGED
@@ -675,6 +675,11 @@ describe 'TracWiki::Parser' do
675
675
  tc "<p>-- --</p>\n", "--\t-- "
676
676
  end
677
677
 
678
+ it 'should parse wm-table' do
679
+ tc "<table><tr><td>Hello</td>\n<th>World!</th>\n</tr>\n<tr><td>Hello</td>\n<td>World!</td>\n</tr>\n</table>\n", "{|\n|Hello\n!World!\n|-\n|Hello\n|World!\n|}\n\n"
680
+ tc "<table><tr><td><strong>Hello</strong></td>\n<td>World!</td>\n</tr>\n<tr><td>Hello</td>\n<td>World!</td>\n</tr>\n</table>\n", "{|\n|**Hello**\n|World!\n|-\n|Hello\n|World!\n|}\n\n"
681
+ tc "<table><tr><td><strong>Hello</strong></td>\n<td>Wor ld</td>\n</tr>\n</table>\n", "{|\n|**Hello**\n|Wor\nld\n|}\n\n"
682
+ end
678
683
  it 'should parse table' do
679
684
  tc "<table><tr><td>Hello</td>\n<td>World!</td>\n</tr>\n</table>\n", "||Hello||World!||"
680
685
  tc "<table><tr><td>Hello</td>\n<td>World!</td>\n</tr>\n<tr><td>Hello</td>\n<td>World!</td>\n</tr>\n</table>\n", "||Hello||World!||\n||Hello||World!||\n\n"
data/trac-wiki.gemspec CHANGED
@@ -21,5 +21,5 @@ Gem::Specification.new do |s|
21
21
  s.homepage = 'http://github.com/vitstradal/trac-wiki'
22
22
 
23
23
  s.add_development_dependency('bacon', '~> 0')
24
- s.add_development_dependency('rake', '~> 0')
24
+ s.add_development_dependency('rake', ">= 12.3.3" )
25
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trac-wiki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.37
4
+ version: 0.3.42
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vitas Stradal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-12 00:00:00.000000000 Z
11
+ date: 2021-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bacon
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 12.3.3
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 12.3.3
41
41
  description: TracWiki markup language render (http://trac.edgewall.org/wiki/WikiFormatting
42
42
  ).
43
43
  email:
@@ -81,8 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  requirements: []
84
- rubyforge_project: trac-wiki
85
- rubygems_version: 2.7.6
84
+ rubygems_version: 3.2.27
86
85
  signing_key:
87
86
  specification_version: 4
88
87
  summary: Trac Wiki markup language