gilenson 1.1.1 → 1.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.
File without changes
@@ -1,3 +1,12 @@
1
+ === 1.2.0 / 2011-06-14
2
+
3
+ * Для копирайтов/трейдмарков теперь одна настройка
4
+ * Починен символ копирайта на 1.9
5
+
6
+ === 1.1.2 / 2010-09-16
7
+
8
+ * Починен require в тестах на 1.9.2. Курилы не отдадим.
9
+
1
10
  === 1.1.1 / 2010-09-16
2
11
 
3
12
  * Восстановлена совместимость с Ruby 1.9
@@ -1,7 +1,7 @@
1
1
  .autotest
2
2
  History.txt
3
3
  Manifest.txt
4
- README.txt
4
+ README.rdoc
5
5
  Rakefile
6
6
  bin/gilensize
7
7
  lib/extras/bluecloth_extra.rb
@@ -8,7 +8,7 @@
8
8
  Посвящается П.Г.Гиленсону[http://www.rudtp.ru/lib.php?book=172], благодаря которому русские правила тех.
9
9
  редактуры еще как минимум 20 лет останутся бессмысленно старомодными.
10
10
 
11
- Разработчики gilenson - {Julik}[http://julik.nl], {Mash}[http://imfo.ru], {Yaroslav Markin}[http://markin.net/]
11
+ Разработчики gilenson - Julik, Mash, Yaroslav Markin.
12
12
 
13
13
  == ФУНКЦИИ
14
14
 
@@ -65,26 +65,26 @@ Gilenson базируется на коде Typografica[http://pixel-apes.com/ty
65
65
 
66
66
  === Настройки форматтера
67
67
 
68
- * "inches" - преобразовывать дюймы в знак дюйма;
69
- * "laquo" - кавычки-ёлочки
70
- * "quotes" - кавычки-английские лапки
71
- * "dash" - проставлять короткое тире (150)
72
- * "emdash" - длинное тире двумя минусами (151)
73
- * "initials" - проставлять тонкие шпации в инициалах
74
- * "copypaste" - замена непечатных и "специальных" юникодных символов на entities
75
- * "(c)" - обрабатывать знак копирайта
76
- * "(r)", "(tm)", "(p)", "+-" - спецсимволы, какие - понятно
77
- * "acronyms" - сворачивание пояснений к аббревиатурам (пояснение - в скобках после аббревиатуры без пробела). Пояснение будет "приклеено" к аббревиатуре полукруглой шпацией.
78
- * "degrees" - знак градуса
79
- * "dashglue", "wordglue" - приклеивание предлогов и дефисов
80
- * "spacing" - запятые и пробелы, перестановка
81
- * "phones" - обработка телефонов
82
- * "html" - при false - запрет использования тагов html
83
- * "de_nobr" - при true все <nobr/> заменяются на <span class="nobr"/>
84
- * "raw_output" - (по умолчанию false) - при true вместо entities выводятся UTF-символы.
68
+ "inches" - преобразовывать дюймы в знак дюйма;
69
+ "laquo" - кавычки-ёлочки
70
+ "quotes" - кавычки-английские лапки
71
+ "dash" - проставлять короткое тире (150)
72
+ "emdash" - длинное тире двумя минусами (151)
73
+ "initials" - проставлять тонкие шпации в инициалах
74
+ "copypaste" - замена непечатных и "специальных" юникодных символов на entities
75
+ "(c)" - обрабатывать знак копирайта
76
+ "(r)", "(tm)", "(p)", "+-" - спецсимволы, какие - понятно
77
+ "acronyms" - сворачивание пояснений к аббревиатурам (пояснение - в скобках после аббревиатуры без пробела). Пояснение будет "приклеено" к аббревиатуре полукруглой шпацией.
78
+ "degrees" - знак градуса
79
+ "dashglue", "wordglue" - приклеивание предлогов и дефисов
80
+ "spacing" - запятые и пробелы, перестановка
81
+ "phones" - обработка телефонов
82
+ "html" - при false - запрет использования тагов html
83
+ "de_nobr" - при true все <nobr/> заменяются на <span class="nobr"/>
84
+ "raw_output" - (по умолчанию false) - при true вместо entities выводятся UTF-символы.
85
85
  Это нужно чтобы обработанный текст верстать на бумаге.
86
- * "skip_attr" - (по умолчанию false) - при true не отрабатывать типографику в атрибутах тегов (title, alt)
87
- * "skip_code" - (по умолчанию true) - при true не отрабатывать типографику внутри <code/>, <tt/>, CDATA
86
+ "skip_attr" - (по умолчанию false) - при true не отрабатывать типографику в атрибутах тегов (title, alt)
87
+ "skip_code" - (по умолчанию true) - при true не отрабатывать типографику внутри <code/>, <tt/>, CDATA
88
88
 
89
89
  == УСТАНОВКА:
90
90
 
@@ -105,13 +105,11 @@ Gilenson определяет следующие дополнительные ф
105
105
 
106
106
  == ЛИЦЕНЗИЯ:
107
107
 
108
- (The MIT License)
109
-
110
- Copyright (c) 2003-2004 Julik Tarkhanov, Danil Ivanov and contributors
108
+ Copyright (c) 2004-2010 Julik Tarkhanov, Danil Ivanov, Yaroslav Markin and contributors
111
109
 
112
110
  Permission is hereby granted, free of charge, to any person obtaining
113
111
  a copy of this software and associated documentation files (the
114
- 'Software'), to deal in the Software without restriction, including
112
+ "Software"), to deal in the Software without restriction, including
115
113
  without limitation the rights to use, copy, modify, merge, publish,
116
114
  distribute, sublicense, and/or sell copies of the Software, and to
117
115
  permit persons to whom the Software is furnished to do so, subject to
@@ -120,10 +118,16 @@ the following conditions:
120
118
  The above copyright notice and this permission notice shall be
121
119
  included in all copies or substantial portions of the Software.
122
120
 
123
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
121
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
124
122
  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
125
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
126
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
127
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
128
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
129
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
123
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
124
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
125
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
126
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
127
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
128
+
129
+ Данная лицензия разрешает, безвозмездно, лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми "Программное Обеспечение"), использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:
130
+
131
+ Вышеупомянутый копирайт и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.
132
+
133
+ ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ ЛЮБОГО ВИДА ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И НЕНАРУШЕНИЯ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
data/Rakefile CHANGED
@@ -1,15 +1,12 @@
1
1
  # -*- ruby -*-
2
2
 
3
- require 'rubygems'
4
3
  require 'hoe'
5
- require File.dirname(__FILE__) + "/lib/gilenson"
6
-
7
- DOCOPTS = %w(--charset utf-8 --promiscuous)
8
-
9
4
  r = Hoe.spec 'gilenson' do | p |
5
+ Hoe::RUBY_FLAGS.gsub!(/^\-w/, '') # No thanks
6
+
10
7
  p.developer('Julik Tarkhanov', 'me@julik.nl')
11
- p.version = Gilenson::VERSION
8
+ p.readme_file = 'README.rdoc'
9
+ p.extra_rdoc_files = FileList['*.rdoc'] + FileList['*.txt']
12
10
  end
13
- r.spec.rdoc_options += DOCOPTS
14
11
 
15
12
  # vim: syntax=ruby
@@ -1,6 +1,8 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ $KCODE = 'u' if RUBY_VERSION < '1.9.0'
3
+
2
4
  class Gilenson
3
- VERSION = '1.1.1'
5
+ VERSION = '1.2.0'
4
6
  autoload :BlueClothExtra, File.dirname(__FILE__) + '/extras/bluecloth_extra'
5
7
  autoload :RedClothExtra, File.dirname(__FILE__) + '/extras/redcloth_extra'
6
8
  autoload :RDiscountExtra, File.dirname(__FILE__) + '/extras/rdiscount_extra'
@@ -21,10 +23,7 @@ class Gilenson
21
23
  "emdash" => true, # длинное тире двумя минусами (151)
22
24
  "initials" => true, # тонкие шпации в инициалах
23
25
  "copypaste" => false, # замена непечатных и "специальных" юникодных символов на entities
24
- "(c)" => true, # обрабатывать знак копирайта
25
- "(r)" => true,
26
- "(tm)" => true,
27
- "(p)" => true,
26
+ "(c)" => true, # обрабатывать знаки копирайтов и трейдмарков
28
27
  "acronyms" => true, # Акронимы с пояснениями - ЖЗЛ(Жизнь Замечатльных Людей)
29
28
  "+-" => true, # спецсимволы, какие - понятно
30
29
  "degrees" => true, # знак градуса
@@ -38,8 +37,16 @@ class Gilenson
38
37
  "skip_code" => true, # при true не отрабатывать типографику внутри <code/>, <tt/>, CDATA
39
38
  "enforce_en_quotes" => false, # только латинские кавычки
40
39
  "enforce_ru_quotes" => false, # только русские кавычки (enforce_en_quotes при этом игнорируется)
40
+ "(r)" => true, # DEPRECATED
41
+ "(tm)" => true, # DEPRECATED
42
+ "(p)" => true, # DEPRECATED
41
43
  }.freeze
42
-
44
+
45
+ #:stopdoc:
46
+ # Старые настройки которые больше не нужны - уйдут в следующей большой версии
47
+ # Нужны потому иначе будет брошена ошибка
48
+ #:startdoc:
49
+
43
50
  # Глифы, использующиеся в подстановках по-умолчанию
44
51
  GLYPHS = {
45
52
  :quot => "&#34;", # quotation mark
@@ -231,7 +238,10 @@ class Gilenson
231
238
 
232
239
  # 3a. тире длинное
233
240
  process_emdash(text) if @settings["emdash"]
234
-
241
+
242
+ # 4. копимарки и трейдрайты
243
+ process_copymarks(text) if @settings["(c)"]
244
+
235
245
  # 5. +/-
236
246
  process_plusmin(text) if @settings["+-"]
237
247
 
@@ -439,7 +449,7 @@ class Gilenson
439
449
  text.gsub!(/</, @lt)
440
450
  text.gsub!(/>/, @gt)
441
451
  end
442
-
452
+
443
453
  def process_span_instead_of_nobr(text)
444
454
  text.gsub!(/<nobr>/, '<span class="nobr">')
445
455
  text.gsub!(/<\/nobr>/, '</span>')
@@ -451,15 +461,23 @@ class Gilenson
451
461
 
452
462
  def process_emdash(text)
453
463
  text.gsub!( /(\s|;)\-\-(\s)/ui, '\1'+@mdash+'\2')
464
+ end
465
+
466
+ def process_copymarks(text)
454
467
  # 4. (с)
455
- text.gsub!(/\([сСcC]\)((?=\w)|(?=\s[0-9]+))/u, @copy) if @settings["(c)"]
468
+ # Можно конечно может быть и так
469
+ # https://github.com/daekrist/gilenson/commit/c3a96151239281dcef6140616133deb56a099d0f#L1R466
470
+ # но без тестов это позорище.
471
+ text.gsub!(/\([сСcC]\)[^\.,;:]/u) { |m| [@copy, m[-1..-1]].join }
472
+
456
473
  # 4a. (r)
457
- text.gsub!( /\(r\)/ui, '<sup>'+@reg+'</sup>') if @settings["(r)"]
458
-
474
+ text.gsub!( /\(r\)/ui, '<sup>'+@reg+'</sup>')
475
+
459
476
  # 4b. (tm)
460
- text.gsub!( /\(tm\)|\(тм\)/ui, @trade) if @settings["(tm)"]
461
- # 4c. (p)
462
- text.gsub!( /\(p\)/ui, @sect) if @settings["(p)"]
477
+ text.gsub!( /\(tm\)|\(тм\)/ui, @trade)
478
+
479
+ # 4c. (p)
480
+ text.gsub!( /\(p\)/ui, @sect)
463
481
  end
464
482
 
465
483
  def process_ellipsises(text)
@@ -1,7 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
- $KCODE = 'u'
2
+ $KCODE = 'u' if RUBY_VERSION < '1.9.0'
3
3
  require 'test/unit'
4
- require File.dirname(__FILE__) + '/../lib/gilenson'
4
+
5
+ # Prepend a slash to workaround a debilifuckitation (domo arigato Ruby core!)
6
+ require File.expand_path(File.dirname(__FILE__)) + '/../lib/gilenson'
5
7
 
6
8
 
7
9
  # Cюда идут наши тесты типографа. Мы содержим их отдельно поскольку набор тестов Типографицы нами не контролируется.
@@ -82,6 +84,7 @@ class GilensonOwnTest < Test::Unit::TestCase
82
84
  end
83
85
 
84
86
  def test_specials
87
+ assert_equal '&#169;Кукуц', '(c)Кукуц'.gilensize
85
88
  assert_equal '&#169; 2002, &#169; 2003, &#169; 2004, &#169; 2005 &#8212; тоже без&#160;пробелов: &#169;2002, &#169;Кукуц. однако: варианты (а) и&#160;(с)', '(с) 2002, (С) 2003, (c) 2004, (C) 2005 -- тоже без пробелов: (с)2002, (c)Кукуц. однако: варианты (а) и (с)'.gilensize
86
89
  assert_equal '+5&#176;С, +7&#176;C, &#8211;5&#176;F', '+5^С, +17^C, -275^F'.gilensize
87
90
  assert_equal 'об&#160;этом подробнее &#8212; читай &#167;25', 'об этом подробнее -- читай (p)25'.gilensize
@@ -299,7 +302,7 @@ class GilensonOwnTest < Test::Unit::TestCase
299
302
  private
300
303
  # Проверить равны ли строки, и если нет то обьяснить какой кодпойнт отличается.
301
304
  # Совершенно необходимо для работы с различными пробелами.
302
- def assert_equal_cp(reference, actual, msg = nil)
305
+ def assert_equal_cp(reference, actual, msg = "Should be the same codepoint")
303
306
  (assert(true, msg); return) if (reference == actual)
304
307
 
305
308
  reference_cp, actual_cp = [reference, actual].map{|t| t.unpack("U*") }
metadata CHANGED
@@ -1,13 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gilenson
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
5
- prerelease: false
6
- segments:
7
- - 1
8
- - 1
9
- - 1
10
- version: 1.1.1
4
+ prerelease:
5
+ version: 1.2.0
11
6
  platform: ruby
12
7
  authors:
13
8
  - Julik Tarkhanov
@@ -15,45 +10,23 @@ autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
12
 
18
- date: 2010-09-16 00:00:00 +02:00
19
- default_executable:
13
+ date: 2011-06-14 00:00:00 Z
20
14
  dependencies:
21
15
  - !ruby/object:Gem::Dependency
22
- name: rubyforge
16
+ name: hoe
23
17
  prerelease: false
24
18
  requirement: &id001 !ruby/object:Gem::Requirement
25
19
  none: false
26
20
  requirements:
27
21
  - - ">="
28
22
  - !ruby/object:Gem::Version
29
- hash: 7
30
- segments:
31
- - 2
32
- - 0
33
- - 4
34
- version: 2.0.4
23
+ version: 2.9.4
35
24
  type: :development
36
25
  version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: hoe
39
- prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 21
46
- segments:
47
- - 2
48
- - 6
49
- - 1
50
- version: 2.6.1
51
- type: :development
52
- version_requirements: *id002
53
26
  description: "\xD0\x9E\xD0\xB1\xD1\x80\xD0\xB0\xD0\xB1\xD0\xBE\xD1\x82\xD1\x87\xD0\xB8\xD0\xBA \xD1\x82\xD0\xB8\xD0\xBF\xD0\xBE\xD0\xB3\xD1\x80\xD0\xB0\xD1\x84\xD1\x81\xD0\xBA\xD0\xB8\xD1\x85 \xD1\x81\xD0\xB8\xD0\xBC\xD0\xB2\xD0\xBE\xD0\xBB\xD0\xBE\xD0\xB2 \xD0\xB2 HTML \xD1\x81\xD0\xBE\xD0\xB3\xD0\xBB\xD0\xB0\xD1\x81\xD0\xBD\xD0\xBE \xD0\xBE\xD0\xB1\xD1\x89\xD0\xB5\xD0\xBF\xD1\x80\xD0\xB8\xD0\xBD\xD1\x8F\xD1\x82\xD1\x8B\xD0\xBC \xD0\xBF\xD1\x80\xD0\xB0\xD0\xB2\xD0\xB8\xD0\xBB\xD0\xB0\xD0\xBC.\n\
54
27
  \xD0\x9F\xD0\xBE\xD1\x81\xD0\xB2\xD1\x8F\xD1\x89\xD0\xB0\xD0\xB5\xD1\x82\xD1\x81\xD1\x8F \xD0\x9F.\xD0\x93.\xD0\x93\xD0\xB8\xD0\xBB\xD0\xB5\xD0\xBD\xD1\x81\xD0\xBE\xD0\xBD\xD1\x83[http://www.rudtp.ru/lib.php?book=172], \xD0\xB1\xD0\xBB\xD0\xB0\xD0\xB3\xD0\xBE\xD0\xB4\xD0\xB0\xD1\x80\xD1\x8F \xD0\xBA\xD0\xBE\xD1\x82\xD0\xBE\xD1\x80\xD0\xBE\xD0\xBC\xD1\x83 \xD1\x80\xD1\x83\xD1\x81\xD1\x81\xD0\xBA\xD0\xB8\xD0\xB5 \xD0\xBF\xD1\x80\xD0\xB0\xD0\xB2\xD0\xB8\xD0\xBB\xD0\xB0 \xD1\x82\xD0\xB5\xD1\x85.\n\
55
28
  \xD1\x80\xD0\xB5\xD0\xB4\xD0\xB0\xD0\xBA\xD1\x82\xD1\x83\xD1\x80\xD1\x8B \xD0\xB5\xD1\x89\xD0\xB5 \xD0\xBA\xD0\xB0\xD0\xBA \xD0\xBC\xD0\xB8\xD0\xBD\xD0\xB8\xD0\xBC\xD1\x83\xD0\xBC 20 \xD0\xBB\xD0\xB5\xD1\x82 \xD0\xBE\xD1\x81\xD1\x82\xD0\xB0\xD0\xBD\xD1\x83\xD1\x82\xD1\x81\xD1\x8F \xD0\xB1\xD0\xB5\xD1\x81\xD1\x81\xD0\xBC\xD1\x8B\xD1\x81\xD0\xBB\xD0\xB5\xD0\xBD\xD0\xBD\xD0\xBE \xD1\x81\xD1\x82\xD0\xB0\xD1\x80\xD0\xBE\xD0\xBC\xD0\xBE\xD0\xB4\xD0\xBD\xD1\x8B\xD0\xBC\xD0\xB8.\n\n\
56
- \xD0\xA0\xD0\xB0\xD0\xB7\xD1\x80\xD0\xB0\xD0\xB1\xD0\xBE\xD1\x82\xD1\x87\xD0\xB8\xD0\xBA\xD0\xB8 gilenson - {Julik}[http://julik.nl], {Mash}[http://imfo.ru], {Yaroslav Markin}[http://markin.net/]"
29
+ \xD0\xA0\xD0\xB0\xD0\xB7\xD1\x80\xD0\xB0\xD0\xB1\xD0\xBE\xD1\x82\xD1\x87\xD0\xB8\xD0\xBA\xD0\xB8 gilenson - Julik, Mash, Yaroslav Markin."
57
30
  email:
58
31
  - me@julik.nl
59
32
  executables:
@@ -63,12 +36,12 @@ extensions: []
63
36
  extra_rdoc_files:
64
37
  - History.txt
65
38
  - Manifest.txt
66
- - README.txt
39
+ - README.rdoc
67
40
  files:
68
41
  - .autotest
69
42
  - History.txt
70
43
  - Manifest.txt
71
- - README.txt
44
+ - README.rdoc
72
45
  - Rakefile
73
46
  - bin/gilensize
74
47
  - lib/extras/bluecloth_extra.rb
@@ -82,17 +55,14 @@ files:
82
55
  - test/test_integration_rdiscount.rb
83
56
  - test/test_integration_redcloth3.rb
84
57
  - test/test_integration_redcloth4.rb
85
- has_rdoc: true
58
+ - .gemtest
86
59
  homepage: http://github.com/julik/gilenson
87
60
  licenses: []
88
61
 
89
62
  post_install_message:
90
63
  rdoc_options:
91
64
  - --main
92
- - README.txt
93
- - --charset
94
- - utf-8
95
- - --promiscuous
65
+ - README.rdoc
96
66
  require_paths:
97
67
  - lib
98
68
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -100,23 +70,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
100
70
  requirements:
101
71
  - - ">="
102
72
  - !ruby/object:Gem::Version
103
- hash: 3
104
- segments:
105
- - 0
106
73
  version: "0"
107
74
  required_rubygems_version: !ruby/object:Gem::Requirement
108
75
  none: false
109
76
  requirements:
110
77
  - - ">="
111
78
  - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
79
  version: "0"
116
80
  requirements: []
117
81
 
118
82
  rubyforge_project: gilenson
119
- rubygems_version: 1.3.7
83
+ rubygems_version: 1.8.5
120
84
  signing_key:
121
85
  specification_version: 3
122
86
  summary: "\xD0\x9E\xD0\xB1\xD1\x80\xD0\xB0\xD0\xB1\xD0\xBE\xD1\x82\xD1\x87\xD0\xB8\xD0\xBA \xD1\x82\xD0\xB8\xD0\xBF\xD0\xBE\xD0\xB3\xD1\x80\xD0\xB0\xD1\x84\xD1\x81\xD0\xBA\xD0\xB8\xD1\x85 \xD1\x81\xD0\xB8\xD0\xBC\xD0\xB2\xD0\xBE\xD0\xBB\xD0\xBE\xD0\xB2 \xD0\xB2 HTML \xD1\x81\xD0\xBE\xD0\xB3\xD0\xBB\xD0\xB0\xD1\x81\xD0\xBD\xD0\xBE \xD0\xBE\xD0\xB1\xD1\x89\xD0\xB5\xD0\xBF\xD1\x80\xD0\xB8\xD0\xBD\xD1\x8F\xD1\x82\xD1\x8B\xD0\xBC \xD0\xBF\xD1\x80\xD0\xB0\xD0\xB2\xD0\xB8\xD0\xBB\xD0\xB0\xD0\xBC"