Module: Koziolekweb::Deorphanter
- Defined in:
- lib/jekyll/koziolekweb/deorphanter.rb
Constant Summary collapse
- SINGLE_LETTER =
/\b([a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ\-–])\b(?:\s|$)/- REPLACE =
'\1 '- BLOCK_REGEX =
/```.*?```/m.freeze
Class Method Summary collapse
- .apply_hook_to(document) ⇒ Object
-
.replace_single_letter_spaces(content) ⇒ Object
Metoda zastępująca pojedyncze litery przekształcone w ‘ `.
Class Method Details
.apply_hook_to(document) ⇒ Object
33 34 35 |
# File 'lib/jekyll/koziolekweb/deorphanter.rb', line 33 def self.apply_hook_to(document) document.content = replace_single_letter_spaces(document.content) end |
.replace_single_letter_spaces(content) ⇒ Object
Metoda zastępująca pojedyncze litery przekształcone w ‘ `
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/jekyll/koziolekweb/deorphanter.rb', line 13 def self.replace_single_letter_spaces(content) return content unless content && content.is_a?(String) chunks = [] # Podział treści na części (wewnątrz bloków kodu i poza nimi) content.split(BLOCK_REGEX).each_with_index do |chunk, index| chunk = chunk.gsub(SINGLE_LETTER, REPLACE) chunks << chunk end # Wstawianie nieruszonych bloków kodu z powrotem na swoje miejsca content.scan(BLOCK_REGEX).each_with_index do |code_block, i| chunks.insert(2 * i + 1, code_block) end chunks.join end |