Class: Gilenson::RedClothExtra
- Inherits:
-
RedCloth
- Object
- RedCloth
- Gilenson::RedClothExtra
- Defined in:
- lib/extras/redcloth_extra.rb,
lib/extras/redcloth_extra.rb
Overview
RedCloth 3 - RuTils выполняет перегрузку Textile Glyphs в RedCloth, перенося форматирование спецсимволов на Gilenson. Применять как стандартный RedCloth
RuTils::Gilenson::RedClothExtra.new(some_text).to_html
Instance Method Summary collapse
-
#htmlesc(text, mode = 0) ⇒ Object
Этот метод в RedCloth при наличии Гиленсона становится заглушкой.
-
#pgl(text) ⇒ Object
А этот метод обрабатывает Textile Glyphs - ту самую типографицу.
- #to_html(*anything) ⇒ Object
Instance Method Details
#htmlesc(text, mode = 0) ⇒ Object
Этот метод в RedCloth при наличии Гиленсона становится заглушкой
27 28 29 |
# File 'lib/extras/redcloth_extra.rb', line 27 def htmlesc(text, mode=0) text end |
#pgl(text) ⇒ Object
А этот метод обрабатывает Textile Glyphs - ту самую типографицу. Вместо того чтобы влезать в чужие таблицы мы просто заменим Textile Glyphs на Gilenson - и все будут рады.
33 34 35 36 37 38 39 40 |
# File 'lib/extras/redcloth_extra.rb', line 33 def pgl(text) #:nodoc: # Подвешиваем пробелы в начале и в конце каждого блока. Тряпка требует чтобы эти пробелы приехали # назад нетронутыми. spaces = Array.new(2,'') text.gsub!(/\A([\s]+)/) { spaces[0] = $1; '' } text.gsub!(/(\s+)\Z/) { spaces[1] = $1; '' } text.replace(spaces[0].to_s + ::Gilenson.new(text).to_html + spaces[1].to_s) end |
#to_html(*anything) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/extras/redcloth_extra.rb', line 5 def to_html(*anything) suspended = super(*anything) # Return quotes to original state [187, 171, 8220, 8221].map do |e| suspended.gsub!(/&\##{e};/, '"') end # Return spaces to original state [160].map do |e| suspended.gsub!(/&\##{e};/, ' ') end suspended.gilensize end |