gilenson 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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"