bb-ruby 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.gitignore +1 -0
- data/{History.txt → CHANGELOG} +4 -0
- data/Gemfile.lock +2 -2
- data/{License.txt → LICENSE} +1 -1
- data/README.md +108 -0
- data/lib/bb-ruby.rb +7 -3
- data/lib/bb-ruby/version.rb +1 -1
- data/test/bb-ruby_test.rb +6 -1
- metadata +8 -10
- data/README.rdoc +0 -134
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YzBkYjZmZTMzM2RmOWIwODBlNjlhZjdkOWRhMzc3M2I1MTM0ZDIwZg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MThhM2Y4ODRhMjZjNTNiMzFjZmI5YzgyOTllZGY3YzEwOTQ1NzA1OQ==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
Njc2ZDcxNzVlY2I5NTZlOTk0MzM2ZWJlM2IyM2E2ZDlhNjA2MDUwNmRkNjk1
|
10
|
+
M2NiMjg1NDg5ODEwNzc3OGQwOTkwZjNkMzViZjJiOTIwNDQ2NmRjYzE3OTQ3
|
11
|
+
YjBhNTZjMjcxMWExNWY1YWFhNTY3YjE1YzUzMjMzZTkzOTIxNGE=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NTE3NWJlMmQyYzM1NzQ3Y2YxMGEwMTVhOTNjOWU4OTUzOTVmOTAzODVmZGRk
|
14
|
+
Mjk3YzkyOTlmZTg5MjRjOTVkNzBkODYyMWUzMTk5MTgyOTYxMGZlNzM1Yzhi
|
15
|
+
YTE0NmQ2MjI1Y2MyZmM5MmFjNDRkN2ZiYzg2YjI3NmUxMGQ3Mzc=
|
data/.gitignore
CHANGED
data/{History.txt → CHANGELOG}
RENAMED
data/Gemfile.lock
CHANGED
data/{License.txt → LICENSE}
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2008 Craig P Jolicoeur
|
3
|
+
Copyright (c) 2008 Craig P Jolicoeur, Fernando Blat
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
6
|
this software and associated documentation files (the "Software"), to deal in
|
data/README.md
ADDED
@@ -0,0 +1,108 @@
|
|
1
|
+
# BBRuby
|
2
|
+
|
3
|
+
* [http://rubygems.org/gems/bb-ruby](http://rubygems.org/gems/bb-ruby) [![Build Status](https://travis-ci.org/cpjolicoeur/bb-ruby.png?branch=master)](https://travis-ci.org/cpjolicoeur/bb-ruby)
|
4
|
+
|
5
|
+
## Description:
|
6
|
+
|
7
|
+
BBRuby is a [BBCode](http://www.bbcode.org) implementation for Ruby. It will convert strings with BBCode markup to their HTML equivalent.
|
8
|
+
|
9
|
+
## Installation:
|
10
|
+
|
11
|
+
gem install bb-ruby
|
12
|
+
|
13
|
+
|
14
|
+
## Usage:
|
15
|
+
|
16
|
+
require 'bb-ruby'
|
17
|
+
|
18
|
+
BBRuby has been included directly into the String class for use on any string object:
|
19
|
+
|
20
|
+
text = "[b]Here is some bold text[/b] followed by some [u]underlined text[/u]"
|
21
|
+
output = text.bbcode_to_html
|
22
|
+
text.bbcode_to_html!
|
23
|
+
|
24
|
+
BBRuby will auto-escape HTML tags. To prevent this just pass false as the second param:
|
25
|
+
|
26
|
+
output = text.bbcode_to_html({}, false)
|
27
|
+
|
28
|
+
Only allow certain tags:
|
29
|
+
|
30
|
+
output = text.bbcode_to_html({}, true, :enable, :image, :bold, :quote)
|
31
|
+
|
32
|
+
Disable certain tags:
|
33
|
+
|
34
|
+
output = text.bbcode_to_html({}, true, :disable, :image, :bold, :quote)
|
35
|
+
|
36
|
+
Alternative Direct usage:
|
37
|
+
|
38
|
+
output = BBRuby.to_html(bbcode_markup)
|
39
|
+
|
40
|
+
Define your own translation, in order to be more flexible:
|
41
|
+
|
42
|
+
my_blockquote = {
|
43
|
+
'Quote' => [
|
44
|
+
/\[quote(:.*)?=(.*?)\](.*?)\[\/quote\1?\]/mi,
|
45
|
+
'<div class="quote"><p><cite>\2</cite></p><blockquote>\3</blockquote></div>',
|
46
|
+
'Quote with citation',
|
47
|
+
'[quote=mike]please quote me[/quote]',
|
48
|
+
:quote
|
49
|
+
],
|
50
|
+
}
|
51
|
+
|
52
|
+
text.bbcode_to_html(my_blockquote)
|
53
|
+
|
54
|
+
Define Proc as replacement:
|
55
|
+
|
56
|
+
module BBRuby
|
57
|
+
@@tags = @@tags.merge({
|
58
|
+
'File' => [
|
59
|
+
/\[file(:.*)?=(.*?)\](.*?)\[\/file\1?\]/mi,
|
60
|
+
lambda{ |e| "<div class="file"><p><cite>#{e[3]}</cite></p><blockquote>#{file_read_method(e[2])}</blockquote></div>"},
|
61
|
+
'File content with citation',
|
62
|
+
'[file=script.rb]Script Caption[/file]',
|
63
|
+
:file
|
64
|
+
],
|
65
|
+
})
|
66
|
+
end
|
67
|
+
|
68
|
+
You can also use the simple_format method of ActionPack by using the *_with_formatting methods:
|
69
|
+
|
70
|
+
output = text.bbcode_to_html_with_formatting
|
71
|
+
output = text.bbcode_to_html_with_formatting!
|
72
|
+
|
73
|
+
|
74
|
+
### TAGS PROCESSED:
|
75
|
+
|
76
|
+
The following is the list of BBCode tags processed by BBRuby and their associated symbol for enabling/disabling them
|
77
|
+
|
78
|
+
[b] :bold
|
79
|
+
[i] :italics
|
80
|
+
[u] :underline
|
81
|
+
[s] :strikeout
|
82
|
+
[del] :delete
|
83
|
+
[ins] :insert
|
84
|
+
[code] :code
|
85
|
+
[size] :size
|
86
|
+
[color] :color
|
87
|
+
[ol] :orderedlist
|
88
|
+
[ul] :unorderedlist
|
89
|
+
[li] :listitem
|
90
|
+
[*] :listitem
|
91
|
+
[list] :listitem
|
92
|
+
[list=1] :listitem
|
93
|
+
[list=a] :listitem
|
94
|
+
[dl] :definelist
|
95
|
+
[dt] :defineterm
|
96
|
+
[dd] :definition
|
97
|
+
[quote] :quote
|
98
|
+
[quote=source] :quote
|
99
|
+
[url=link] :link
|
100
|
+
[url] :link
|
101
|
+
[img size=] :image
|
102
|
+
[img=] :image
|
103
|
+
[img] :image
|
104
|
+
[youtube] :video
|
105
|
+
[gvideo] :video
|
106
|
+
[vimeo] :video
|
107
|
+
[email] :email
|
108
|
+
[align] :align
|
data/lib/bb-ruby.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require "bb-ruby/version"
|
2
|
-
|
3
1
|
module BBRuby
|
4
2
|
# allowable image formats
|
5
3
|
@@imageformats = 'png|bmp|jpg|gif|jpeg'
|
@@ -147,11 +145,17 @@ module BBRuby
|
|
147
145
|
"Maybe try looking on [url]http://google.com[/url]",
|
148
146
|
:link],
|
149
147
|
'Link (Automatic)' => [
|
150
|
-
/(\A|\s)(
|
148
|
+
/(\A|\s)(https?:\/\/[^\s<]+)/,
|
151
149
|
' <a href="\2">\2</a>',
|
152
150
|
'Hyperlink (automatic)',
|
153
151
|
'Maybe try looking on http://www.google.com',
|
154
152
|
:link],
|
153
|
+
'Link (Automatic without leading http(s))' => [
|
154
|
+
/(\A|\s)(www\.[^\s<]+)/,
|
155
|
+
' <a href="http://\2">\2</a>',
|
156
|
+
'Hyperlink (automatic without leading http(s))',
|
157
|
+
'Maybe try looking on www.google.com',
|
158
|
+
:link],
|
155
159
|
'Image (Resized)' => [
|
156
160
|
/\[img(:.+)? size=#{@@quote_matcher}(\d+)x(\d+)\2\](.*?)\[\/img\1?\]/im,
|
157
161
|
'<img src="\5" style="width: \3px; height: \4px;" />',
|
data/lib/bb-ruby/version.rb
CHANGED
data/test/bb-ruby_test.rb
CHANGED
@@ -168,6 +168,11 @@ class TestBBRuby < Test::Unit::TestCase
|
|
168
168
|
assert_equal %Q(Try using google <a href="http://google.com">http://google.com</a>), 'Try using google http://google.com'.bbcode_to_html
|
169
169
|
assert_equal %Q(Try using googlehttp://google.com), 'Try using googlehttp://google.com'.bbcode_to_html
|
170
170
|
assert_equal %Q( <a href="http://google.com">http://google.com</a>), 'http://google.com'.bbcode_to_html
|
171
|
+
# links without leading http(s)
|
172
|
+
assert_equal %Q(previous text <a href="http://www.google.com">www.google.com</a> post text), 'previous text www.google.com post text'.bbcode_to_html
|
173
|
+
assert_equal %Q(Try using google <a href="http://www.google.com">www.google.com</a>), 'Try using google www.google.com'.bbcode_to_html
|
174
|
+
assert_equal %Q(Try using googlewww.google.com), 'Try using googlewww.google.com'.bbcode_to_html
|
175
|
+
assert_equal %Q( <a href="http://www.google.com">www.google.com</a>), 'www.google.com'.bbcode_to_html
|
171
176
|
end
|
172
177
|
|
173
178
|
def test_html_escaping
|
@@ -212,7 +217,7 @@ class TestBBRuby < Test::Unit::TestCase
|
|
212
217
|
end
|
213
218
|
|
214
219
|
def test_self_tag_list
|
215
|
-
assert_equal
|
220
|
+
assert_equal 34, BBRuby.tag_list.size
|
216
221
|
end
|
217
222
|
|
218
223
|
def test_redefinition_of_tag_html
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bb-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Craig P. Jolicoeur
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-18 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: BBCode for Ruby
|
15
14
|
email:
|
@@ -20,11 +19,11 @@ extra_rdoc_files: []
|
|
20
19
|
files:
|
21
20
|
- .gitignore
|
22
21
|
- .travis.yml
|
22
|
+
- CHANGELOG
|
23
23
|
- Gemfile
|
24
24
|
- Gemfile.lock
|
25
|
-
-
|
26
|
-
-
|
27
|
-
- README.rdoc
|
25
|
+
- LICENSE
|
26
|
+
- README.md
|
28
27
|
- Rakefile
|
29
28
|
- bb-ruby.gemspec
|
30
29
|
- lib/bb-ruby.rb
|
@@ -34,27 +33,26 @@ files:
|
|
34
33
|
homepage: http://cpjolicoeur.github.io/bb-ruby/
|
35
34
|
licenses:
|
36
35
|
- MIT
|
36
|
+
metadata: {}
|
37
37
|
post_install_message:
|
38
38
|
rdoc_options: []
|
39
39
|
require_paths:
|
40
40
|
- lib
|
41
41
|
required_ruby_version: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
42
|
requirements:
|
44
43
|
- - ! '>='
|
45
44
|
- !ruby/object:Gem::Version
|
46
45
|
version: '0'
|
47
46
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
48
|
-
none: false
|
49
47
|
requirements:
|
50
48
|
- - ! '>='
|
51
49
|
- !ruby/object:Gem::Version
|
52
50
|
version: '0'
|
53
51
|
requirements: []
|
54
52
|
rubyforge_project:
|
55
|
-
rubygems_version: 1.
|
53
|
+
rubygems_version: 2.1.9
|
56
54
|
signing_key:
|
57
|
-
specification_version:
|
55
|
+
specification_version: 4
|
58
56
|
summary: BBRuby is a BBCode implementation for Ruby. It will convert strings with
|
59
57
|
BBCode markup to their HTML equivalent
|
60
58
|
test_files:
|
data/README.rdoc
DELETED
@@ -1,134 +0,0 @@
|
|
1
|
-
= BBRuby
|
2
|
-
|
3
|
-
* http://bb-ruby.rubyforge.org
|
4
|
-
|
5
|
-
== DESCRIPTION:
|
6
|
-
|
7
|
-
BBRuby is a BBCode (http://www.bbcode.org) implementation for Ruby. It will convert strings with BBCode markup to their HTML equivalent.
|
8
|
-
|
9
|
-
== INSTALL:
|
10
|
-
|
11
|
-
To install as a gem:
|
12
|
-
|
13
|
-
sudo gem install bb-ruby
|
14
|
-
|
15
|
-
To install as a plugin:
|
16
|
-
|
17
|
-
./script/plugin install git://github.com/cpjolicoeur/bb-ruby.git
|
18
|
-
|
19
|
-
== USAGE:
|
20
|
-
|
21
|
-
require 'bb-ruby' # (only needed if installed as a gem)
|
22
|
-
|
23
|
-
BBRuby has been included directly into the String class for use on any string object:
|
24
|
-
|
25
|
-
text = "[b]Here is some bold text[/b] followed by some [u]underlined text[/u]"
|
26
|
-
output = text.bbcode_to_html
|
27
|
-
text.bbcode_to_html!
|
28
|
-
|
29
|
-
BBRuby will auto-escape HTML tags. To prevent this just pass false as the second param:
|
30
|
-
|
31
|
-
output = text.bbcode_to_html({}, false)
|
32
|
-
|
33
|
-
Only allow certain tags:
|
34
|
-
|
35
|
-
output = text.bbcode_to_html({}, true, :enable, :image, :bold, :quote)
|
36
|
-
|
37
|
-
Disable certain tags:
|
38
|
-
|
39
|
-
output = text.bbcode_to_html({}, true, :disable, :image, :bold, :quote)
|
40
|
-
|
41
|
-
Alternative Direct usage:
|
42
|
-
|
43
|
-
output = BBRuby.to_html(bbcode_markup)
|
44
|
-
|
45
|
-
Define your own translation, in order to be more flexible:
|
46
|
-
|
47
|
-
my_blockquote = {
|
48
|
-
'Quote' => [
|
49
|
-
/\[quote(:.*)?=(.*?)\](.*?)\[\/quote\1?\]/mi,
|
50
|
-
'<div class="quote"><p><cite>\2</cite></p><blockquote>\3</blockquote></div>',
|
51
|
-
'Quote with citation',
|
52
|
-
'[quote=mike]please quote me[/quote]',
|
53
|
-
:quote
|
54
|
-
],
|
55
|
-
}
|
56
|
-
|
57
|
-
text.bbcode_to_html(my_blockquote)
|
58
|
-
|
59
|
-
Define Proc as replacement:
|
60
|
-
|
61
|
-
module BBRuby
|
62
|
-
@@tags = @@tags.merge({
|
63
|
-
'File' => [
|
64
|
-
/\[file(:.*)?=(.*?)\](.*?)\[\/file\1?\]/mi,
|
65
|
-
lambda{ |e| "<div class="file"><p><cite>#{e[3]}</cite></p><blockquote>#{file_read_method(e[2])}</blockquote></div>"},
|
66
|
-
'File content with citation',
|
67
|
-
'[file=script.rb]Script Caption[/file]',
|
68
|
-
:file
|
69
|
-
],
|
70
|
-
})
|
71
|
-
end
|
72
|
-
|
73
|
-
You can also use the simple_format method of ActionPack by using the *_with_formatting methods:
|
74
|
-
|
75
|
-
output = text.bbcode_to_html_with_formatting
|
76
|
-
output = text.bbcode_to_html_with_formatting!
|
77
|
-
|
78
|
-
|
79
|
-
== TAGS PROCESSED:
|
80
|
-
|
81
|
-
The following is the list of BBCode tags processed by BBRuby and their associated symbol for enabling/disabling them
|
82
|
-
|
83
|
-
* [b] :bold
|
84
|
-
* [i] :italics
|
85
|
-
* [u] :underline
|
86
|
-
* [s] :strikeout
|
87
|
-
* [del] :delete
|
88
|
-
* [ins] :insert
|
89
|
-
* [code] :code
|
90
|
-
* [size] :size
|
91
|
-
* [color] :color
|
92
|
-
* [ol] :orderedlist
|
93
|
-
* [ul] :unorderedlist
|
94
|
-
* [li] :listitem
|
95
|
-
* [*] :listitem
|
96
|
-
* [list] :listitem
|
97
|
-
* [list=1] :listitem
|
98
|
-
* [list=a] :listitem
|
99
|
-
* [dl] :definelist
|
100
|
-
* [dt] :defineterm
|
101
|
-
* [dd] :definition
|
102
|
-
* [quote] :quote
|
103
|
-
* [quote=source] :quote
|
104
|
-
* [url=link] :link
|
105
|
-
* [url] :link
|
106
|
-
* [img size=] :image
|
107
|
-
* [img=] :image
|
108
|
-
* [img] :image
|
109
|
-
* [youtube] :video
|
110
|
-
* [gvideo] :video
|
111
|
-
* [vimeo] :video
|
112
|
-
* [email] :email
|
113
|
-
|
114
|
-
== LICENSE:
|
115
|
-
|
116
|
-
Copyright (c) 2008 Craig P Jolicoeur, Fernando Blat
|
117
|
-
|
118
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
119
|
-
of this software and associated documentation files (the "Software"), to deal
|
120
|
-
in the Software without restriction, including without limitation the rights
|
121
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
122
|
-
copies of the Software, and to permit persons to whom the Software is
|
123
|
-
furnished to do so, subject to the following conditions:
|
124
|
-
|
125
|
-
The above copyright notice and this permission notice shall be included in
|
126
|
-
all copies or substantial portions of the Software.
|
127
|
-
|
128
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
129
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
130
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
131
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
132
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
133
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
134
|
-
THE SOFTWARE.
|