rutils 1.1.1 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +8 -0
- data/MIT_LICENSE.txt +26 -0
- data/Manifest.txt +1 -10
- data/README.txt +12 -35
- data/Rakefile.rb +1 -1
- data/init.rb +1 -1
- data/lib/gilenson/gilenson_stub.rb +35 -12
- data/lib/version.rb +1 -1
- metadata +10 -16
- data/lib/gilenson/bluecloth_extra.rb +0 -7
- data/lib/gilenson/helper.rb +0 -34
- data/lib/gilenson/maruku_extra.rb +0 -19
- data/lib/gilenson/rdiscount_extra.rb +0 -7
- data/lib/gilenson/redcloth_extra.rb +0 -42
- data/test/extras/integration_bluecloth.rb +0 -13
- data/test/extras/integration_maruku.rb +0 -15
- data/test/extras/integration_rdiscount.rb +0 -14
- data/test/extras/integration_redcloth3.rb +0 -18
- data/test/extras/integration_redcloth4.rb +0 -19
data/History.txt
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
=== 1.1.3 - 15.10.2010
|
2
|
+
|
3
|
+
* Добавлена лицензия
|
4
|
+
|
5
|
+
=== 1.1.2 - 15.10.2010
|
6
|
+
|
7
|
+
* Убраны остатки модуля Gilenson
|
8
|
+
|
1
9
|
=== 1.1.1 - 15.10.2010
|
2
10
|
|
3
11
|
* rutils довольно-таки старая штука. Для тех кто пользуется Gilenson мы теперь сервируем его отдельно и используем его из rutils. В связи с этим
|
data/MIT_LICENSE.txt
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
Copyright (c) 2004-2010 Julik Tarkhanov, Danil Ivanov, Yaroslav Markin and contributors
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
22
|
+
Данная лицензия разрешает, безвозмездно, лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми "Программное Обеспечение"), использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:
|
23
|
+
|
24
|
+
Вышеупомянутый копирайт и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.
|
25
|
+
|
26
|
+
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ ЛЮБОГО ВИДА ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И НЕНАРУШЕНИЯ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
|
data/Manifest.txt
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
History.txt
|
2
|
+
MIT_LICENSE.txt
|
2
3
|
Manifest.txt
|
3
4
|
README.txt
|
4
5
|
Rakefile.rb
|
@@ -7,12 +8,7 @@ bin/rutilize
|
|
7
8
|
init.rb
|
8
9
|
lib/countries/countries.rb
|
9
10
|
lib/datetime/datetime.rb
|
10
|
-
lib/gilenson/bluecloth_extra.rb
|
11
11
|
lib/gilenson/gilenson_stub.rb
|
12
|
-
lib/gilenson/helper.rb
|
13
|
-
lib/gilenson/maruku_extra.rb
|
14
|
-
lib/gilenson/rdiscount_extra.rb
|
15
|
-
lib/gilenson/redcloth_extra.rb
|
16
12
|
lib/integration/integration.rb
|
17
13
|
lib/integration/rails_date_helper_override.rb
|
18
14
|
lib/integration/rails_pre_filter.rb
|
@@ -22,14 +18,9 @@ lib/transliteration/bidi.rb
|
|
22
18
|
lib/transliteration/simple.rb
|
23
19
|
lib/transliteration/transliteration.rb
|
24
20
|
lib/version.rb
|
25
|
-
test/extras/integration_bluecloth.rb
|
26
|
-
test/extras/integration_maruku.rb
|
27
21
|
test/extras/integration_rails_filter.rb
|
28
22
|
test/extras/integration_rails_gilenson_helpers.rb
|
29
23
|
test/extras/integration_rails_helpers.rb
|
30
|
-
test/extras/integration_rdiscount.rb
|
31
|
-
test/extras/integration_redcloth3.rb
|
32
|
-
test/extras/integration_redcloth4.rb
|
33
24
|
test/run_tests.rb
|
34
25
|
test/test_datetime.rb
|
35
26
|
test/test_integration.rb
|
data/README.txt
CHANGED
@@ -10,9 +10,6 @@ RuTils - простой обработчик русского текста на
|
|
10
10
|
|
11
11
|
Разработчики RuTils - {Julik}[http://julik.nl], {Mash}[http://imfo.ru], {Yaroslav Markin}[http://markin.net/]
|
12
12
|
|
13
|
-
Большое спасибо Роману Иванову aka Kukutz и Николаю Яремко aka Kuso Mendokuzee за
|
14
|
-
реализацию большинства алгоритмов на PHP.
|
15
|
-
|
16
13
|
= Как воспользоваться
|
17
14
|
|
18
15
|
Просто включите rutils в свою программу как библиотеку
|
@@ -61,10 +58,7 @@ RuTils на данный момент реализует простейший т
|
|
61
58
|
|
62
59
|
== Обработка русской типографики в HTML
|
63
60
|
|
64
|
-
|
65
|
-
Тыпографица - механизм автоматической расстановки подстановок в тексте перед его
|
66
|
-
выводом в HTML, оформляющий неразрывные пробелы, типографские кавычки и тому
|
67
|
-
подобные "украшательства".
|
61
|
+
rutils автоматически использует Gilenson (http://github.com/julik/gilenson) - улучшайзер типографики в русском наборе.
|
68
62
|
|
69
63
|
Gilenson расставит в тексте "умные" правильные кавычки (русские - для кириллицы,
|
70
64
|
английские - для латиницы), заменит "хитрые" пунктуационные символы на entities и
|
@@ -73,14 +67,6 @@ Gilenson расставит в тексте "умные" правильные к
|
|
73
67
|
%q{"И это называется языком?", -- таков был его вопрос}.gilensize => "«И
|
74
68
|
это называется языком?», — таков был его вопрос"
|
75
69
|
|
76
|
-
Более подробная документация по Gilenson доступна в документах к
|
77
|
-
RuTils::Gilenson::Formatter
|
78
|
-
|
79
|
-
В комплекте также есть скрипт gilensize, которым можно поточно обрабатывать
|
80
|
-
Unicode-тексты в среде UNIX пользуясь стандартным выводом
|
81
|
-
|
82
|
-
$ cat myfile.txt | gilensize > myfile.html
|
83
|
-
|
84
70
|
== Даты
|
85
71
|
|
86
72
|
В класс Date введены следующие константы:
|
@@ -110,21 +96,9 @@ Unicode-тексты в среде UNIX пользуясь стандартны
|
|
110
96
|
== Интеграция с RedCloth и BlueCloth
|
111
97
|
|
112
98
|
RuTils в первую очередь задумывался как максимально "прозрачный" механизм
|
113
|
-
обработки русского текста в контексте Rails-приложения.
|
114
|
-
|
115
|
-
|
116
|
-
дополнительными модулями которые выводят отформатированный Гиленсоном результат работы форматтеров
|
117
|
-
|
118
|
-
Gilenson определяет следующие дополнительные форматтеры (они работают так же как и их базовые классы)
|
119
|
-
|
120
|
-
* RuTils::Gilenson::RedClothExtra
|
121
|
-
* RuTils::Gilenson::BlueClothExtra
|
122
|
-
* RuTils::Gilenson::RDiscountExtra
|
123
|
-
* RuTils::Gilenson::MarukuExtra
|
124
|
-
|
125
|
-
В этих классах Gilenson будет обрабатывать типографику во всех текстах, пропускаемых через
|
126
|
-
них. Эти классы при включенном флаге RuTils.overrides автоматически подключаются в хелперы
|
127
|
-
+markdown+ и +textilize+.
|
99
|
+
обработки русского текста в контексте Rails-приложения. Вывод стандартных рельсовых
|
100
|
+
хелперов +markdown+ и +textilize+ будет автоматически (при включенных overrides) пропускаться через
|
101
|
+
Гиленсон.
|
128
102
|
|
129
103
|
== Интеграция с Rails версии 2.2.2 и выше
|
130
104
|
|
@@ -194,16 +168,15 @@ RubyKanjiCode в своем httpd.conf.
|
|
194
168
|
|
195
169
|
== Если вы все сделали правильно но что-то не работает
|
196
170
|
|
197
|
-
Сообщите об ошибке на странице проекта на
|
171
|
+
Сообщите об ошибке на странице проекта на github[http://github.com/julik/rutils/issues]
|
198
172
|
Не забудьте указать версию, ее всегда можно узнать в константе
|
199
173
|
|
200
174
|
RuTils::VERSION
|
201
175
|
|
202
176
|
== Как ускорить реализацию новых функций
|
203
177
|
|
204
|
-
|
205
|
-
|
206
|
-
можете скопировать из собственных тестов RuTils.
|
178
|
+
Опишите нужный вам функционал и приложите тесты, которым этот функционал должен удовлетворять.
|
179
|
+
Схему организации тестов вы можете скопировать из собственных тестов RuTils.
|
207
180
|
|
208
181
|
Если вы пишете исходный код, который войдет в RuTils или в тестовые наборы,
|
209
182
|
пожалуйста следуйте следующим правилам оформления кода:
|
@@ -227,4 +200,8 @@ RubyKanjiCode в своем httpd.conf.
|
|
227
200
|
|
228
201
|
Если вы хотите участвовать в разработке RuTils - fork us on GitHub
|
229
202
|
|
230
|
-
git clone git://github.com/julik/rutils.git
|
203
|
+
git clone git://github.com/julik/rutils.git
|
204
|
+
|
205
|
+
== Лицензия
|
206
|
+
|
207
|
+
Поставляется под лицензией MIT (см. MIT_LICENSE.txt)
|
data/Rakefile.rb
CHANGED
@@ -26,7 +26,7 @@ begin
|
|
26
26
|
p.email = ['me@julik.nl', 'yaroslav@markin.net']
|
27
27
|
p.description = 'Simple processing of russian strings'
|
28
28
|
p.summary = 'Simple processing of russian strings'
|
29
|
-
p.extra_deps = {"gilenson" => ">=0"}
|
29
|
+
p.extra_deps = {"gilenson" => ">=1.1.0"}
|
30
30
|
p.remote_rdoc_dir = ''
|
31
31
|
p.need_zip = true # ненвижу
|
32
32
|
end
|
data/init.rb
CHANGED
@@ -1,21 +1,44 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
1
3
|
require "gilenson"
|
2
4
|
|
3
|
-
# -*- encoding: utf-8 -*-
|
4
5
|
module RuTils
|
5
|
-
module
|
6
|
+
module GilensonStub
|
7
|
+
|
6
8
|
# Позволяет возвращать класс форматтера при вызове
|
7
9
|
# RuTils::Gilenson.new
|
8
10
|
def self.new(*args) #:nodoc:
|
9
|
-
|
11
|
+
Gilenson.new(*args)
|
10
12
|
end
|
11
13
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
# Включается на правах хелпера в Rails-приложение
|
15
|
+
module Helper
|
16
|
+
|
17
|
+
# Возвращает текст обработанный Гиленсоном
|
18
|
+
def gilensize(text, options = {})
|
19
|
+
return "" if text.blank?
|
20
|
+
Gilenson.new.process(text, options)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Возвращает текст обработанный Текстилем и Гиленсоном
|
24
|
+
# <i>Метод доступен только при включенном RedCloth</i>
|
25
|
+
def textilize(text)
|
26
|
+
return "" if text.blank?
|
27
|
+
require 'redcloth'
|
28
|
+
if RuTils.overrides_enabled?
|
29
|
+
Gilenson::RedClothExtra.new(text, [ :hard_breaks ]).to_html
|
30
|
+
else
|
31
|
+
super(text)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# Возвращает текст с кодом Markdown превращенным в HTML, попутно обработанный Гиленсоном
|
36
|
+
# <i>Метод доступен только при наличии BlueCloth</i>.
|
37
|
+
def markdown(text)
|
38
|
+
return "" if text.blank?
|
39
|
+
require 'bluecloth'
|
40
|
+
RuTils.overrides_enabled? ? Gilenson.new(super(text)).to_html : super
|
41
|
+
end
|
42
|
+
end
|
17
43
|
end
|
18
|
-
end
|
19
|
-
|
20
|
-
# Этот класс теперь живет в геме gilenson.
|
21
|
-
RuTils::Gilenson::Formatter = ::Gilenson
|
44
|
+
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rutils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 1.1.
|
9
|
+
- 3
|
10
|
+
version: 1.1.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Julian 'Julik' Tarkhanov
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2010-
|
20
|
+
date: 2010-11-03 00:00:00 +01:00
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
@@ -28,10 +28,12 @@ dependencies:
|
|
28
28
|
requirements:
|
29
29
|
- - ">="
|
30
30
|
- !ruby/object:Gem::Version
|
31
|
-
hash:
|
31
|
+
hash: 19
|
32
32
|
segments:
|
33
|
+
- 1
|
34
|
+
- 1
|
33
35
|
- 0
|
34
|
-
version:
|
36
|
+
version: 1.1.0
|
35
37
|
type: :runtime
|
36
38
|
version_requirements: *id001
|
37
39
|
- !ruby/object:Gem::Dependency
|
@@ -76,11 +78,13 @@ extensions: []
|
|
76
78
|
|
77
79
|
extra_rdoc_files:
|
78
80
|
- History.txt
|
81
|
+
- MIT_LICENSE.txt
|
79
82
|
- Manifest.txt
|
80
83
|
- README.txt
|
81
84
|
- TODO.txt
|
82
85
|
files:
|
83
86
|
- History.txt
|
87
|
+
- MIT_LICENSE.txt
|
84
88
|
- Manifest.txt
|
85
89
|
- README.txt
|
86
90
|
- Rakefile.rb
|
@@ -89,12 +93,7 @@ files:
|
|
89
93
|
- init.rb
|
90
94
|
- lib/countries/countries.rb
|
91
95
|
- lib/datetime/datetime.rb
|
92
|
-
- lib/gilenson/bluecloth_extra.rb
|
93
96
|
- lib/gilenson/gilenson_stub.rb
|
94
|
-
- lib/gilenson/helper.rb
|
95
|
-
- lib/gilenson/maruku_extra.rb
|
96
|
-
- lib/gilenson/rdiscount_extra.rb
|
97
|
-
- lib/gilenson/redcloth_extra.rb
|
98
97
|
- lib/integration/integration.rb
|
99
98
|
- lib/integration/rails_date_helper_override.rb
|
100
99
|
- lib/integration/rails_pre_filter.rb
|
@@ -104,14 +103,9 @@ files:
|
|
104
103
|
- lib/transliteration/simple.rb
|
105
104
|
- lib/transliteration/transliteration.rb
|
106
105
|
- lib/version.rb
|
107
|
-
- test/extras/integration_bluecloth.rb
|
108
|
-
- test/extras/integration_maruku.rb
|
109
106
|
- test/extras/integration_rails_filter.rb
|
110
107
|
- test/extras/integration_rails_gilenson_helpers.rb
|
111
108
|
- test/extras/integration_rails_helpers.rb
|
112
|
-
- test/extras/integration_rdiscount.rb
|
113
|
-
- test/extras/integration_redcloth3.rb
|
114
|
-
- test/extras/integration_redcloth4.rb
|
115
109
|
- test/run_tests.rb
|
116
110
|
- test/test_datetime.rb
|
117
111
|
- test/test_integration.rb
|
data/lib/gilenson/helper.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
# Включается на правах хелпера в Rails-приложение
|
3
|
-
module RuTils::Gilenson::Helper
|
4
|
-
|
5
|
-
# Возвращает текст обработанный Гиленсоном
|
6
|
-
def gilensize(text, options = {})
|
7
|
-
return "" if text.blank?
|
8
|
-
f = RuTils::Gilenson::Formatter.new
|
9
|
-
f.configure!(options)
|
10
|
-
f.process(text)
|
11
|
-
end
|
12
|
-
|
13
|
-
# Возвращает текст обработанный Текстилем и Гиленсоном
|
14
|
-
# <i>Метод доступен только при включенном RedCloth</i>
|
15
|
-
def textilize(text)
|
16
|
-
return "" if text.blank?
|
17
|
-
if RuTils.overrides_enabled?
|
18
|
-
RuTils::Gilenson::RedClothExtra.new(text, [ :hard_breaks ]).to_html
|
19
|
-
else
|
20
|
-
super(text)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
# Возвращает текст с кодом Markdown превращенным в HTML, попутно обработанный Гиленсоном
|
25
|
-
# <i>Метод доступен только при наличии BlueCloth</i>.
|
26
|
-
def markdown(text)
|
27
|
-
return "" if text.blank?
|
28
|
-
if RuTils.overrides_enabled?
|
29
|
-
RuTils::Gilenson::BlueClothExtra.new(text).to_html
|
30
|
-
else
|
31
|
-
super(text)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
# Maruku с поддержкой Gilenson
|
3
|
-
class RuTils::Gilenson::MarukuExtra < Maruku
|
4
|
-
def to_html(*anything)
|
5
|
-
suspended = super
|
6
|
-
|
7
|
-
# Return quotes to original state
|
8
|
-
[187, 171, 8220, 8221].map do |e|
|
9
|
-
suspended.gsub! /&\##{e};/, '"'
|
10
|
-
end
|
11
|
-
|
12
|
-
# Return spaces to original state
|
13
|
-
[160].map do |e|
|
14
|
-
suspended.gsub! /&\##{e};/, ' '
|
15
|
-
end
|
16
|
-
|
17
|
-
suspended.gilensize
|
18
|
-
end
|
19
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
if RedCloth.class == Module
|
3
|
-
# RedCloth 4 - частичная поддержка
|
4
|
-
class RuTils::Gilenson::RedClothExtra < RedCloth::TextileDoc
|
5
|
-
def to_html(*anything)
|
6
|
-
suspended = super(*anything)
|
7
|
-
|
8
|
-
# Return quotes to original state
|
9
|
-
[187, 171, 8220, 8221].map do |e|
|
10
|
-
suspended.gsub! /&\##{e};/, '"'
|
11
|
-
end
|
12
|
-
|
13
|
-
# Return spaces to original state
|
14
|
-
[160].map do |e|
|
15
|
-
suspended.gsub! /&\##{e};/, ' '
|
16
|
-
end
|
17
|
-
|
18
|
-
suspended.gilensize
|
19
|
-
end
|
20
|
-
end
|
21
|
-
else
|
22
|
-
# RedCloth 3 - RuTils выполняет перегрузку Textile Glyphs в RedCloth, перенося форматирование спецсимволов на Gilenson.
|
23
|
-
# Применять как стандартный RedCloth
|
24
|
-
# RuTils::Gilenson::RedClothExtra.new(some_text).to_html
|
25
|
-
class RuTils::Gilenson::RedClothExtra < RedCloth
|
26
|
-
# Этот метод в RedCloth при наличии Гиленсона становится заглушкой
|
27
|
-
def htmlesc(text, mode=0)
|
28
|
-
text
|
29
|
-
end
|
30
|
-
|
31
|
-
# А этот метод обрабатывает Textile Glyphs - ту самую типографицу.
|
32
|
-
# Вместо того чтобы влезать в чужие таблицы мы просто заменим Textile Glyphs на Gilenson - и все будут рады.
|
33
|
-
def pgl(text) #:nodoc:
|
34
|
-
# Подвешиваем пробелы в начале и в конце каждого блока. Тряпка требует чтобы эти пробелы приехали
|
35
|
-
# назад нетронутыми.
|
36
|
-
spaces = Array.new(2,'')
|
37
|
-
text.gsub!(/\A([\s]+)/) { spaces[0] = $1; '' }
|
38
|
-
text.gsub!(/(\s+)\Z/) { spaces[1] = $1; '' }
|
39
|
-
text.replace(spaces[0].to_s + RuTils::Gilenson::Formatter.new(text).to_html + spaces[1].to_s)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
require 'bluecloth'
|
3
|
-
|
4
|
-
# Интеграция с BlueCloth - Markdown
|
5
|
-
# Сам Markdown никакой обработки типографики не производит (это делает RubyPants, но вряд ли его кто-то юзает на практике)
|
6
|
-
class BlueclothIntegrationTest < Test::Unit::TestCase
|
7
|
-
C = RuTils::Gilenson::BlueClothExtra
|
8
|
-
|
9
|
-
def test_integration_markdown
|
10
|
-
assert_equal "<p>И вот «они пошли туда», и шли шли шли</p>",
|
11
|
-
C.new('И вот "они пошли туда", и шли шли шли').to_html
|
12
|
-
end
|
13
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
require 'maruku'
|
3
|
-
|
4
|
-
# Интеграция с BlueCloth - Markdown
|
5
|
-
# Сам Markdown никакой обработки типографики не производит (это делает RubyPants, но вряд ли его кто-то юзает на практике)
|
6
|
-
class MarukuIntegrationTest < Test::Unit::TestCase
|
7
|
-
C = RuTils::Gilenson::MarukuExtra
|
8
|
-
|
9
|
-
def test_integration_maruku
|
10
|
-
|
11
|
-
assert_equal "<p>И вот «они пошли туда», и шли шли шли</p>",
|
12
|
-
C.new('И вот "они пошли туда", и шли шли шли').to_html
|
13
|
-
|
14
|
-
end
|
15
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
require 'rdiscount'
|
3
|
-
|
4
|
-
# Интеграция с BlueCloth - Markdown
|
5
|
-
# Сам Markdown никакой обработки типографики не производит (это делает RubyPants, но вряд ли его кто-то юзает на практике)
|
6
|
-
class RdiscountIntegrationTest < Test::Unit::TestCase
|
7
|
-
C = RuTils::Gilenson::RDiscountExtra
|
8
|
-
|
9
|
-
def test_integration_markdown
|
10
|
-
|
11
|
-
assert_equal "<p>И вот «они пошли туда», и шли шли шли</p>",
|
12
|
-
C.new('И вот "они пошли туда", и шли шли шли').to_html
|
13
|
-
end
|
14
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
require 'redcloth'
|
3
|
-
raise LoadError, "need RedCloth 3.x" unless RedCloth::VERSION.to_s =~ /^3/
|
4
|
-
|
5
|
-
# Интеграция с RedCloth - Textile.
|
6
|
-
# Нужно иметь в виду что Textile осуществляет свою обработку типографики, которую мы подменяем!
|
7
|
-
class Redcloth3IntegrationTest < Test::Unit::TestCase
|
8
|
-
C = RuTils::Gilenson::RedClothExtra
|
9
|
-
def test_integration_with_redcloth_3
|
10
|
-
|
11
|
-
assert_equal "<p>И вот «они пошли туда», и шли шли шли</p>",
|
12
|
-
C.new('И вот "они пошли туда", и шли шли шли').to_html
|
13
|
-
|
14
|
-
assert_equal '<p><strong>strong text</strong> and <em>emphasized text</em></p>',
|
15
|
-
C.new("*strong text* and _emphasized text_").to_html,
|
16
|
-
"Spaces should be preserved"
|
17
|
-
end
|
18
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
require 'redcloth'
|
3
|
-
raise LoadError, "need RedCloth 4.x" unless RedCloth::VERSION.to_s =~ /^4/
|
4
|
-
|
5
|
-
# Интеграция с RedCloth 4 - Textile.
|
6
|
-
class Redcloth4IntegrationTest < Test::Unit::TestCase
|
7
|
-
C = RuTils::Gilenson::RedClothExtra
|
8
|
-
|
9
|
-
def test_integration_with_redcloth_4
|
10
|
-
|
11
|
-
assert_equal "<p>И вот «они пошли туда», и шли шли шли</p>",
|
12
|
-
C.new('И вот "они пошли туда", и шли шли шли').to_html
|
13
|
-
|
14
|
-
assert_equal '<p><strong>strong text</strong> and <em>emphasized text</em></p>',
|
15
|
-
C.new("*strong text* and _emphasized text_").to_html,
|
16
|
-
"Spaces should be preserved"
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|