trainbbcode 0.1.1 → 0.2.0
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.
- data/README.rdoc +30 -2
- data/Rakefile +1 -1
- data/lib/trainbbcode.rb +32 -6
- data/trainbbcode.gemspec +3 -3
- metadata +3 -3
data/README.rdoc
CHANGED
@@ -18,8 +18,36 @@ to config/enviroments.rb
|
|
18
18
|
|
19
19
|
This adds a method to string of .tbbc which lets you parse the code like this:
|
20
20
|
|
21
|
-
"[b]bold text[/b] and [i]italic[/i]".tbbc
|
21
|
+
"[b]bold text[/b] and [i]italic[/i]".tbbc
|
22
22
|
|
23
23
|
that would output:
|
24
24
|
|
25
|
-
"<strong>bold text</strong> and <i>italic</i>"
|
25
|
+
"<strong>bold text</strong> and <i>italic</i>"
|
26
|
+
|
27
|
+
Or you can configure it by creating a TBBC object and running "conf"
|
28
|
+
|
29
|
+
tbbc=TBBC.new
|
30
|
+
tbbc.config(:strong_enabled => false)
|
31
|
+
tbbc.parse("[b]bold text[/b] and [i]italic[/i]")
|
32
|
+
|
33
|
+
This would output:
|
34
|
+
|
35
|
+
"[b]bold text[/b] and <i>italic</i>"
|
36
|
+
|
37
|
+
== Options
|
38
|
+
|
39
|
+
:url_target can be set to anything valid for a link target.
|
40
|
+
:image_alt the default value for the alt attribute in images
|
41
|
+
|
42
|
+
:TAG_enabled set for each tag in use e.g. :italic_enabled, it can be set to false to disable the tag
|
43
|
+
|
44
|
+
== Adding Custom Tags
|
45
|
+
|
46
|
+
:custom_tags is used to define custom tags. you pass an array of tag arrays, the bold tag would be added like this:
|
47
|
+
|
48
|
+
:custom_tags => [[/\[b\](.*?)\[\/b\]/,'<strong>\1</strong>',true]]
|
49
|
+
|
50
|
+
The tag array is formatted like this:
|
51
|
+
|
52
|
+
[REGEX_PATTERN,HTML,ENABLED]
|
53
|
+
|
data/Rakefile
CHANGED
data/lib/trainbbcode.rb
CHANGED
@@ -1,18 +1,44 @@
|
|
1
1
|
class TBBC
|
2
|
+
def initialize
|
3
|
+
self.conf(:configed_by => "system")
|
4
|
+
end
|
5
|
+
def conf(config)
|
6
|
+
config[:configed_by] ||= "user"
|
7
|
+
config[:image_alt] ||= "Posted Image"
|
8
|
+
config[:url_target] ||= "_BLANK"
|
9
|
+
|
10
|
+
@config=config
|
11
|
+
end
|
2
12
|
def parse(s)
|
3
13
|
#First off remove the < and > which will disable all HTML
|
4
14
|
s=s.gsub("<","<").gsub(">",">")
|
5
15
|
#Convert new lines to <br />'s
|
6
16
|
s=s.gsub(/\n/,'<br />')
|
7
|
-
#Tags
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
17
|
+
#Loading Custom Tags
|
18
|
+
if @config[:custom_tags] then
|
19
|
+
@config[:custom_tags].each do |tag|
|
20
|
+
s=s.gsub(tag[0],tag[1]) unless tag[2] == false
|
21
|
+
end
|
22
|
+
end
|
23
|
+
#Loading Default Tags and applying them
|
24
|
+
tags=load_default_tags
|
25
|
+
tags.each do |tag|
|
26
|
+
s=s.gsub(tag[0],tag[1]) unless tag[2] == false
|
27
|
+
end
|
13
28
|
|
14
29
|
return s
|
15
30
|
end
|
31
|
+
def load_default_tags
|
32
|
+
tags=[
|
33
|
+
[/\[b\](.*?)\[\/b\]/,'<strong>\1</strong>',@config[:strong_enabled]],
|
34
|
+
[/\[i\](.*?)\[\/i\]/,'<i>\1</i>',@config[:italic_enabled]],
|
35
|
+
[/\[u\](.*?)\[\/u\]/,'<u>\1</u>',@config[:underline_enabled]],
|
36
|
+
[/\[url\](.*?)\[\/url\]/,'<a href="\1" target="' + @config[:url_target] +'">\1</a>',@config[:url_enabled]],
|
37
|
+
[/\[url=(.*?)\](.*?)\[\/url\]/,'<a href="\1" target="' + @config[:url_target] + '">\2</a>',@config[:url_enabled]],
|
38
|
+
[/\[img\](.*?)\[\/img\]/,'<img src="\1" alt="'+ @config[:image_alt] + '" />',@config[:image_enabled]],
|
39
|
+
[/\[img alt=(.*?)\](.*?)\[\/img\]/,'<img src="\2" alt="\1" />',@config[:image_enabled]]
|
40
|
+
]
|
41
|
+
end
|
16
42
|
end
|
17
43
|
|
18
44
|
class String
|
data/trainbbcode.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{trainbbcode}
|
5
|
-
s.version = "0.
|
5
|
+
s.version = "0.2.0"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Adam \"Arcath\" Laycock"]
|
9
|
-
s.date = %q{2009-12-
|
9
|
+
s.date = %q{2009-12-07}
|
10
10
|
s.description = %q{Provides BBCode for Ruby.}
|
11
11
|
s.email = %q{adam@arcath.net}
|
12
12
|
s.extra_rdoc_files = ["README.rdoc", "lib/trainbbcode.rb"]
|
13
|
-
s.files = ["README.rdoc", "Rakefile", "lib/trainbbcode.rb", "
|
13
|
+
s.files = ["Manifest", "README.rdoc", "Rakefile", "lib/trainbbcode.rb", "trainbbcode.gemspec"]
|
14
14
|
s.homepage = %q{http://www.arcath.net}
|
15
15
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Trainbbcode", "--main", "README.rdoc"]
|
16
16
|
s.require_paths = ["lib"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trainbbcode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam "Arcath" Laycock
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-12-
|
12
|
+
date: 2009-12-07 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -23,10 +23,10 @@ extra_rdoc_files:
|
|
23
23
|
- README.rdoc
|
24
24
|
- lib/trainbbcode.rb
|
25
25
|
files:
|
26
|
+
- Manifest
|
26
27
|
- README.rdoc
|
27
28
|
- Rakefile
|
28
29
|
- lib/trainbbcode.rb
|
29
|
-
- Manifest
|
30
30
|
- trainbbcode.gemspec
|
31
31
|
has_rdoc: true
|
32
32
|
homepage: http://www.arcath.net
|