<commit_before>module ControllersUtils

  def self.remove_blank_lines(content)
    ## O CKEditor está realizando a limpeza de linhas em branco
    # config.autoParagraph = false; # no config.sj do editor

    return nil if content.nil?
    newContent = content
    ## tira linhas em branco
    # U+00A0	/	194 160	/ NO-BREAK SPACE
    space2 = 194.chr("UTF-8")+160.chr("UTF-8")
    newContent.gsub!(/#{space2}/) {" "}
    space1 = 160.chr("UTF-8")
    newContent.gsub!(/#{space1}/) {" "}

    lines = newContent.split("\r\n\r\n")
    newLines = lines.map { | x |
      # se não encontrar parágrafo com "tag" e texto com espaços
      if /^<p(.*)>(.*)<(.*)\/(.*)>(\s*)<\/p>$/.match(x).blank?
        # se não encontrar parágrafo e texto com espaços
        if (/^<p(.*)>(\s*)<\/p>$/.match(x).blank? )
          # então adiciona o texto em newLines
          x unless x.empty?
          # senão, se encontrar parágrafo e texto com espaços
          # então abandona o texto e não adiciona em newLines
        end
      else
        # se encontrar parágrafo com "imagem" e texto com espaços
        # então adiciona o texto em newLines
        x unless x. empty?
      end
    }.compact.join("\r\n\r\n")
    newLines.chomp!
    newContent = newLines

    nokogiri_html = Nokogiri::HTML.fragment(newContent)

    # Teste
    nokogiri_html.search('p').each do | paragraph |
      paragraph.replace  paragraph.to_s.gsub(/<p\s[^>]*>/, '<p>')
    end

    nokogiri_html.search('font').each do | paragraph |
      paragraph.replace  paragraph.to_s.gsub(/<font\s[^>]*>/, '').gsub('</font>', '')
    end

    newContent = nokogiri_html.to_html
    newContent
  end

end<commit_msg>removidas marcações htmls que prejudicavam o versionamento<commit_after>module ControllersUtils

  def self.remove_blank_lines(content)
    ## O CKEditor está realizando a limpeza de linhas em branco
    # config.autoParagraph = false; # no config.sj do editor

    return nil if content.nil?
    newContent = content
    ## tira linhas em branco
    # U+00A0	/	194 160	/ NO-BREAK SPACE
    space2 = 194.chr("UTF-8")+160.chr("UTF-8")
    newContent.gsub!(/#{space2}/) {" "}
    space1 = 160.chr("UTF-8")
    newContent.gsub!(/#{space1}/) {" "}

    lines = newContent.split("\r\n\r\n")
    newLines = lines.map { | x |
      # se não encontrar parágrafo com "tag" e texto com espaços
      if /^<p(.*)>(.*)<(.*)\/(.*)>(\s*)<\/p>$/.match(x).blank?
        # se não encontrar parágrafo e texto com espaços
        if (/^<p(.*)>(\s*)<\/p>$/.match(x).blank? )
          # então adiciona o texto em newLines
          x unless x.empty?
          # senão, se encontrar parágrafo e texto com espaços
          # então abandona o texto e não adiciona em newLines
        end
      else
        # se encontrar parágrafo com "imagem" e texto com espaços
        # então adiciona o texto em newLines
        x unless x. empty?
      end
    }.compact.join("\r\n\r\n")
    newLines.chomp!
    newContent = newLines

    nokogiri_html = Nokogiri::HTML.fragment(newContent)

    # Teste
    nokogiri_html.search('p').each do | paragraph |
      paragraph.replace  paragraph.to_s.gsub(/<p\s[^>]*>/, '<p>')
    end

    nokogiri_html.search('font').each do | paragraph |
      paragraph.replace  paragraph.to_s.gsub(/<font\s[^>]*>/, '').gsub('</font>', '')
    end

    nokogiri_html.search('li').each do | paragraph |
      paragraph.replace  paragraph.to_s.gsub(/<li\s[^>]*>/, '<li>')
    end

    nokogiri_html.search('div').each do | paragraph |
      paragraph.replace  paragraph.to_s.gsub(/<div\s[^>]*>/, '').gsub('</div>', '')
    end

    nokogiri_html.search('span').each do | paragraph |
      paragraph.replace  paragraph.to_s.gsub(/<span\s[^>]*>/, '').gsub('</span>', '')
    end


    newContent = nokogiri_html.to_html
    newContent
  end

end
{'fraction_non_alphanumeric': 0.16006297559695618, 'fraction_numerical': 0.013119916032537392, 'mean_word_length': 2.5329008341056536, 'pattern_counts': {'":': 0, '<': 27, '<?xml version=': 0, '>': 34, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5427824', 'n_tokens_mistral': 1453, 'n_tokens_neox': 1392, 'n_words': 310}