typography 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -4,22 +4,25 @@ Simple plugin to make text more readable by applying some typographic rules to s
4
4
 
5
5
  ==Example
6
6
 
7
- This plugin adds .typography method for string:
8
-
9
- '"Читаешь -- "Прокопьев любил солянку" -- и долго не можешь понять, почему солянка написана с маленькой буквы, ведь "Солянка" -- известный московский клуб."'.typography
10
- # => '«Читаешь — „Прокопьев любил солянку“ — и долго не можешь понять, почему солянка написана с маленькой буквы, ведь „Солянка“ — известный московский клуб.»'
11
-
12
- It is better to use ty helper in your views:
7
+ You can use <tt>ty</tt> helper in your views:
13
8
 
14
9
  ty 'This is a page title'
15
10
  # => 'This is&nbsp;a&nbsp;page title'
16
11
 
12
+ And you can use <tt>ty_simple = simple_format ty </tt> helper :)
13
+
14
+
15
+
17
16
  Plugin also replaces h and simple_format helpers to apply typography to their results.
18
17
 
19
18
 
20
19
  ==Installation
21
20
 
22
- script/plugin install git://github.com/varezhka/typography.git
21
+ In your <tt>Gemfile</tt> add
22
+
23
+ gem 'typography'
23
24
 
25
+ and run <tt>bundle install</tt>.
24
26
 
25
27
  Copyright (c) 2008 Igor Gladkoborodov, released under the MIT license
28
+ Modified by Antony Versal
@@ -1,4 +1,4 @@
1
- module Typography
1
+ module TypographyHelper
2
2
  class Core
3
3
 
4
4
  def initialize(str, options = {})
@@ -1,6 +1,6 @@
1
1
  module ActionView::Helpers::TextHelper
2
2
  def ty(text, options = {})
3
- Typography::Core.new(text.html_safe, options).typography
3
+ TypographyHelper::Core.new(text.html_safe, options).typography
4
4
  end
5
5
  def ty_simple(text, html_options={})
6
6
  simple_format ty(text), html_options
@@ -1,4 +1,4 @@
1
1
  module TypographyHelper
2
2
  GEM_NAME = "typography"
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
data/lib/typography.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require "typography/helper"
2
2
  require "typography/core"
3
3
 
4
- module Typography
4
+ module TypographyHelper
5
5
  end
6
6
 
data/spec/spec_helper.rb CHANGED
@@ -0,0 +1,6 @@
1
+ $KCODE = 'u'
2
+ require 'rubygems'
3
+ require 'action_pack'
4
+ require 'action_view'
5
+ require File.join File.dirname(__FILE__), '../lib/typography'
6
+
@@ -1,7 +1,6 @@
1
- require File.dirname(__FILE__) + '/spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe TypographyHelper, 'with typography' do
4
- include TypographyHelper
5
4
  include ActionView::Helpers::TextHelper
6
5
  include ActionView::Helpers::TagHelper
7
6
 
@@ -14,158 +13,145 @@ describe TypographyHelper, 'with typography' do
14
13
  end
15
14
 
16
15
  it "should typography output of simple_format helper" do
17
- simple_format("I'm first\n\nAnd I&nbsp;am&nbsp;second").should == "<p>I&#146;m first</p>\n\n<p>And I&nbsp;am&nbsp;second</p>"
16
+ ty_simple("I'm first\n\nAnd I&nbsp;am&nbsp;second").should == "<p>I&#146;m first</p>\n\n<p>And I&nbsp;am&nbsp;second</p>"
18
17
  end
19
18
 
20
19
  it "should return '<p></p>' (simple_format of empty string) on simple_format(nil)" do
21
20
  simple_format(nil).should == "<p></p>"
22
21
  end
23
- end
24
-
25
- describe String, 'with typography' do
26
22
 
27
23
  it "should make russian quotes for quotes with first russian letter" do
28
- '"текст"'.typography.should == '&#171;текст&#187;'
29
- 'Text "текст" text'.typography.should == 'Text &#171;текст&#187; text'
30
- 'Text "текст" text "Другой текст" '.typography.should == 'Text &#171;текст&#187; text &#171;Другой текст&#187; '
24
+ ty('"текст"').should == '&#171;текст&#187;'
25
+ ty('Text "текст" text').should == 'Text &#171;текст&#187; text'
26
+ ty('Text "текст" text "Другой текст" ').should == 'Text &#171;текст&#187; text &#171;Другой текст&#187; '
31
27
  end
32
28
 
33
29
  it "should do the same with single quotes" do
34
- '\'текст\''.typography.should == '&#171;текст&#187;'
35
- 'Text \'текст\' text'.typography.should == 'Text &#171;текст&#187; text'
36
- 'Text \'текст\' text \'Другой текст\' '.typography.should == 'Text &#171;текст&#187; text &#171;Другой текст&#187; '
30
+ ty('\'текст\'').should == '&#171;текст&#187;'
31
+ ty('Text \'текст\' text').should == 'Text &#171;текст&#187; text'
32
+ ty('Text \'текст\' text \'Другой текст\' ').should == 'Text &#171;текст&#187; text &#171;Другой текст&#187; '
37
33
  end
38
34
 
39
35
 
40
36
  it "should create second-level russian quotes" do
41
- 'Текст "в кавычках "второго уровня""'.typography.should == 'Текст &#171;в&nbsp;кавычках &#132;второго уровня&#147;&#187;'
37
+ ty('Текст "в кавычках "второго уровня""').should == 'Текст &#171;в&nbsp;кавычках &#132;второго уровня&#147;&#187;'
42
38
  end
43
39
 
44
40
 
45
41
  it "should make english quotes for quotes with first non-russian letter" do
46
- '"text"'.typography.should == '&#147;text&#148;'
47
- 'Text "text" text'.typography.should == 'Text &#147;text&#148; text'
48
- 'Text "text" text "Another text" '.typography.should == 'Text &#147;text&#148; text &#147;Another text&#148; '
42
+ ty('"text"').should == '&#147;text&#148;'
43
+ ty('Text "text" text').should == 'Text &#147;text&#148; text'
44
+ ty('Text "text" text "Another text" ').should == 'Text &#147;text&#148; text &#147;Another text&#148; '
49
45
  end
50
46
 
51
47
  it "should do the same with single quotes" do
52
- '\'text\''.typography.should == '&#147;text&#148;'
53
- 'Text \'text\' text'.typography.should == 'Text &#147;text&#148; text'
54
- 'Text \'text\' text \'Another text\' '.typography.should == 'Text &#147;text&#148; text &#147;Another text&#148; '
48
+ ty('\'text\'').should == '&#147;text&#148;'
49
+ ty('Text \'text\' text').should == 'Text &#147;text&#148; text'
50
+ ty('Text \'text\' text \'Another text\' ').should == 'Text &#147;text&#148; text &#147;Another text&#148; '
55
51
  end
56
52
 
57
53
  it "should create second-level english quotes" do
58
- 'Text "in quotes "second level""'.typography.should == 'Text &#147;in&nbsp;quotes &#145;second level&#146;&#148;'
54
+ ty('Text "in quotes "second level""').should == 'Text &#147;in&nbsp;quotes &#145;second level&#146;&#148;'
59
55
  end
60
56
 
61
57
 
62
58
  it "should not replace quotes inside html tags" do
63
- '<a href="ссылка">ссылка</a>'.typography.should == '<a href="ссылка">ссылка</a>'
64
- '<a href=\'ссылка\'>"ссылка"</a>'.typography.should == '<a href=\'ссылка\'>&#171;ссылка&#187;</a>'
59
+ ty('<a href="ссылка">ссылка</a>').should == '<a href="ссылка">ссылка</a>'
60
+ ty('<a href=\'ссылка\'>"ссылка"</a>').should == '<a href=\'ссылка\'>&#171;ссылка&#187;</a>'
65
61
 
66
- '<a href=\'link\'>link</a>'.typography.should == '<a href=\'link\'>link</a>'
67
- '<a href="link">"link"</a>'.typography.should == '<a href="link">&#147;link&#148;</a>'
62
+ ty('<a href=\'link\'>link</a>').should == '<a href=\'link\'>link</a>'
63
+ ty('<a href="link">"link"</a>').should == '<a href="link">&#147;link&#148;</a>'
68
64
 
69
- ' one">One</a> <a href="two"></a> <a href="three" '.typography.should == ' one">One</a> <a href="two"></a> <a href="three" '
65
+ ty(' one">One</a> <a href="two"></a> <a href="three" ').should == ' one">One</a> <a href="two"></a> <a href="three" '
70
66
  end
71
67
 
72
68
  it "should make english and russian quotes in the same string" do
73
- '"Кавычки" and "Quotes"'.typography.should == '&#171;Кавычки&#187; and &#147;Quotes&#148;'
74
- '"Quotes" и "Кавычки"'.typography.should == '&#147;Quotes&#148; и&nbsp;&#171;Кавычки&#187;'
69
+ ty('"Кавычки" and "Quotes"').should == '&#171;Кавычки&#187; and &#147;Quotes&#148;'
70
+ ty('"Quotes" и "Кавычки"').should == '&#147;Quotes&#148; и&nbsp;&#171;Кавычки&#187;'
75
71
 
76
- '"Кавычки "второго уровня"" and "Quotes "second level""'.typography.should == '&#171;Кавычки &#132;второго уровня&#147;&#187; and &#147;Quotes &#145;second level&#146;&#148;'
77
- '"Quotes "second level"" и "Кавычки "второго уровня""'.typography.should == '&#147;Quotes &#145;second level&#146;&#148; и&nbsp;&#171;Кавычки &#132;второго уровня&#147;&#187;'
72
+ ty('"Кавычки "второго уровня"" and "Quotes "second level""').should == '&#171;Кавычки &#132;второго уровня&#147;&#187; and &#147;Quotes &#145;second level&#146;&#148;'
73
+ ty('"Quotes "second level"" и "Кавычки "второго уровня""').should == '&#147;Quotes &#145;second level&#146;&#148; и&nbsp;&#171;Кавычки &#132;второго уровня&#147;&#187;'
78
74
  end
79
75
 
80
76
  it "should replace -- to &mdash;" do
81
- 'Replace -- to mdash please'.typography.should == 'Replace&nbsp;&mdash; to&nbsp;mdash please'
77
+ ty('Replace -- to mdash please').should == 'Replace&nbsp;&mdash; to&nbsp;mdash please'
82
78
  end
83
79
 
84
80
  it "should replace \"word - word\" to \"word&nbsp;&mdash; word\"" do
85
- 'word - word'.typography.should == 'word&nbsp;&mdash; word'
81
+ ty('word - word').should == 'word&nbsp;&mdash; word'
86
82
  end
87
83
 
88
84
  it "should insert &nbsp; before each &mdash; if it has empty space before" do
89
- 'Before &mdash; after'.typography.should == 'Before&nbsp;&mdash; after'
90
- 'Before &mdash; after'.typography.should == 'Before&nbsp;&mdash; after'
91
- 'Before&mdash;after'.typography.should == 'Before&mdash;after'
85
+ ty('Before &mdash; after').should == 'Before&nbsp;&mdash; after'
86
+ ty('Before &mdash; after').should == 'Before&nbsp;&mdash; after'
87
+ ty('Before&mdash;after').should == 'Before&mdash;after'
92
88
  end
93
89
 
94
90
 
95
91
  it "should insert &nbsp; after small words" do
96
- 'an apple'.typography.should == 'an&nbsp;apple'
92
+ ty('an apple').should == 'an&nbsp;apple'
97
93
  end
98
94
 
99
95
  it "should insert &nbsp; after small words" do
100
- 'I want to be a scientist'.typography.should == 'I&nbsp;want to&nbsp;be&nbsp;a&nbsp;scientist'
96
+ ty('I want to be a scientist').should == 'I&nbsp;want to&nbsp;be&nbsp;a&nbsp;scientist'
101
97
  end
102
98
 
103
99
  it "should insert &nbsp; after small words with ( or dash before it" do
104
- 'Apple (an orange)'.typography.should == 'Apple (an&nbsp;orange)'
100
+ ty('Apple (an orange)').should == 'Apple (an&nbsp;orange)'
105
101
  end
106
102
 
107
103
  it "should not insert &nbsp; after small words if it has not space after" do
108
- 'Хорошо бы.'.typography.should == 'Хорошо бы.'
109
- 'Хорошо бы'.typography.should == 'Хорошо бы'
110
- 'Хорошо бы. Иногда'.typography.should == 'Хорошо бы. Иногда'
104
+ ty('Хорошо бы.').should == 'Хорошо бы.'
105
+ ty('Хорошо бы').should == 'Хорошо бы'
106
+ ty('Хорошо бы. Иногда').should == 'Хорошо бы. Иногда'
111
107
  end
112
108
 
113
109
  it "should insert <span class=\"nobr\"></span> around small words separated by dash" do
114
- 'Мне фигово что-то'.typography.should == 'Мне фигово <span class="nobr">что-то</span>'
115
- 'Как-то мне плохо'.typography.should == '<span class="nobr">Как-то</span> мне плохо'
116
- 'хуе-мое'.typography.should == '<span class="nobr">хуе-мое</span>'
110
+ ty('Мне фигово что-то').should == 'Мне фигово <span class="nobr">что-то</span>'
111
+ ty('Как-то мне плохо').should == '<span class="nobr">Как-то</span> мне плохо'
112
+ ty('хуе-мое').should == '<span class="nobr">хуе-мое</span>'
117
113
  end
118
114
 
119
115
  it "should not insert <span class=\"nobr\"></span> around words separated by dash if both of them are bigger than 3 letters" do
120
- 'мальчик-девочка'.typography.should == 'мальчик-девочка'
121
- end
122
-
123
-
124
- it "should escape html if :escape_html => true is passed" do
125
- '< & >'.typography(:escape_html => true).should == '&lt; &amp; &gt;'
116
+ ty('мальчик-девочка').should == 'мальчик-девочка'
126
117
  end
127
118
 
128
119
  it "should replace single quote between letters to apostrophe" do
129
- 'I\'m here'.typography.should == 'I&#146;m here'
120
+ ty('I\'m here').should == 'I&#146;m here'
130
121
  end
131
122
 
132
123
 
133
124
  it "should typography real world examples" do
134
- '"Читаешь -- "Прокопьев любил солянку" -- и долго не можешь понять, почему солянка написана с маленькой буквы, ведь "Солянка" -- известный московский клуб."'.typography.should == '&#171;Читаешь&nbsp;&mdash; &#132;Прокопьев любил солянку&#147;&nbsp;&mdash; и&nbsp;долго не&nbsp;можешь понять, почему солянка написана с&nbsp;маленькой буквы, ведь &#132;Солянка&#147;&nbsp;&mdash; известный московский клуб.&#187;'
125
+ ty('"Читаешь -- "Прокопьев любил солянку" -- и долго не можешь понять, почему солянка написана с маленькой буквы, ведь "Солянка" -- известный московский клуб."').should == '&#171;Читаешь&nbsp;&mdash; &#132;Прокопьев любил солянку&#147;&nbsp;&mdash; и&nbsp;долго не&nbsp;можешь понять, почему солянка написана с&nbsp;маленькой буквы, ведь &#132;Солянка&#147;&nbsp;&mdash; известный московский клуб.&#187;'
135
126
  end
136
127
 
137
128
  it "should typography real world examples" do
138
- '"Заебалоооооо" противостояние образует сет, в частности, "тюремные психозы", индуцируемые при различных психопатологических типологиях.'.typography(:escape_html => true).should == '&#171;Заебалоооооо&#187; противостояние образует сет, в&nbsp;частности, &#171;тюремные психозы&#187;, индуцируемые при различных психопатологических типологиях.'
129
+ ty('"Заебалоооооо" противостояние образует сет, в частности, "тюремные психозы", индуцируемые при различных психопатологических типологиях.', :escape_html => true).should == '&#171;Заебалоооооо&#187; противостояние образует сет, в&nbsp;частности, &#171;тюремные психозы&#187;, индуцируемые при различных психопатологических типологиях.'
139
130
  end
140
131
 
141
132
  it "should typography real world examples" do
142
- '"They are the most likely habitat that we\'re going to get to in the foreseeable future," said NASA Ames Research Center\'s Aaron Zent, the lead scientist for the probe being used to look for unfrozen water.'.typography.should == '&#147;They are the most likely habitat that we&#146;re going to&nbsp;get to&nbsp;in&nbsp;the foreseeable future,&#148; said NASA Ames Research Center&#146;s Aaron Zent, the lead scientist for the probe being used to&nbsp;look for unfrozen water.'
133
+ ty('"They are the most likely habitat that we\'re going to get to in the foreseeable future," said NASA Ames Research Center\'s Aaron Zent, the lead scientist for the probe being used to look for unfrozen water.').should == '&#147;They are the most likely habitat that we&#146;re going to&nbsp;get to&nbsp;in&nbsp;the foreseeable future,&#148; said NASA Ames Research Center&#146;s Aaron Zent, the lead scientist for the probe being used to&nbsp;look for unfrozen water.'
143
134
  end
144
135
 
145
136
  it "should typography real wordl examples" do
146
- 'Фирменный стиль: от полиграфии к интернет-решениям (в рамках выставки «Дизайн и Реклама 2009»)'.typography.should == 'Фирменный стиль: от&nbsp;полиграфии к&nbsp;интернет-решениям (в&nbsp;рамках выставки «Дизайн и&nbsp;Реклама 2009»)'
137
+ ty('Фирменный стиль: от полиграфии к интернет-решениям (в рамках выставки «Дизайн и Реклама 2009»)').should == 'Фирменный стиль: от&nbsp;полиграфии к&nbsp;интернет-решениям (в&nbsp;рамках выставки «Дизайн и&nbsp;Реклама 2009»)'
147
138
  end
148
139
 
149
140
  it "should typography real world examples" do
150
- 'решениям (в рамках выставки'.typography.should == 'решениям (в&nbsp;рамках выставки'
141
+ ty('решениям (в рамках выставки').should == 'решениям (в&nbsp;рамках выставки'
151
142
  end
152
143
 
153
144
  it "should typography real world examples" do
154
- 'Реанимация живописи: «новые дикие» и «трансавангард» в ситуации арт-рынка 1980-х'.typography.should == 'Реанимация живописи: «новые дикие» и&nbsp;«трансавангард» в&nbsp;ситуации арт-рынка <span class="nobr">1980-х</span>'
145
+ ty('Реанимация живописи: «новые дикие» и «трансавангард» в ситуации арт-рынка 1980-х').should == 'Реанимация живописи: «новые дикие» и&nbsp;«трансавангард» в&nbsp;ситуации арт-рынка <span class="nobr">1980-х</span>'
155
146
  end
156
147
 
157
148
  it "should typography real world examples" do
158
- '«Искусство после философии&#187; – концептуальные стратегии Джозефа Кошута и Харальда Зеемана'.typography.should == '«Искусство после философии&#187;&nbsp;&mdash; концептуальные стратегии Джозефа Кошута и&nbsp;Харальда Зеемана'
149
+ ty('«Искусство после философии&#187; – концептуальные стратегии Джозефа Кошута и Харальда Зеемана').should == '«Искусство после философии&#187;&nbsp;&mdash; концептуальные стратегии Джозефа Кошута и&nbsp;Харальда Зеемана'
159
150
  end
160
151
 
161
152
  it "should typography real world examples" do
162
- 'Испанцы говорят, что целовать мужчину без усов, - всё равно что есть яйцо без соли'.typography.should == 'Испанцы говорят, что целовать мужчину без усов,&nbsp;&mdash; всё равно что есть яйцо без соли'
153
+ ty('Испанцы говорят, что целовать мужчину без усов, - всё равно что есть яйцо без соли').should == 'Испанцы говорят, что целовать мужчину без усов,&nbsp;&mdash; всё равно что есть яйцо без соли'
163
154
  end
164
155
 
165
-
166
-
167
- # it "should fail" do
168
- # 1.should == 2
169
- # end
170
-
171
156
  end
157
+
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: typography
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 1
8
+ - 2
9
9
  - 0
10
- version: 0.1.0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Dmitry Shaposhnik
@@ -65,8 +65,8 @@ extra_rdoc_files:
65
65
  files:
66
66
  - lib/typography.rb
67
67
  - lib/typography/version.rb
68
- - lib/typography/core.rb
69
68
  - lib/typography/helper.rb
69
+ - lib/typography/core.rb
70
70
  - spec/spec_helper.rb
71
71
  - spec/debug.log
72
72
  - spec/typography_spec.rb
@@ -109,7 +109,7 @@ rubyforge_project: ""
109
109
  rubygems_version: 1.3.7
110
110
  signing_key:
111
111
  specification_version: 3
112
- summary: typography-0.1.0
112
+ summary: typography-0.2.0
113
113
  test_files:
114
114
  - spec/spec_helper.rb
115
115
  - spec/debug.log