<commit_before>atom_feed do |feed|
  feed.title("#{SETTINGS.organization}: Presentation Proposals")
  feed.updated((@proposals.blank? ? Time.at(0) : @proposals.first.submitted_at))

  @proposals.each do |proposal|
    feed.entry(proposal, :url => proposal_url(proposal)) do |entry|
      entry.title(h proposal.title)

      xm = ::Builder::XmlMarkup.new
      xm.div {
        unless multiple_presenters?
          xm.dl {
            xm.dt { xm.b "Speaker:" }
            xm.dd proposal.presenter
          }
          xm.dl {
            xm.dt { xm.b "Biography:" }
            xm.dd << simple_format(escape_once proposal.biography)
          }
        end

        unless proposal.excerpt.blank?
          xm.dl {
            xm.dt { xm.b "Excerpt:" }
            xm.dd proposal.excerpt
          }
        end

        xm.dl {
          xm.dt { xm.b "Description:" }
          xm.dd << simple_format(escape_once proposal.description)
        }

        profiles = user_profiles? ? proposal.users : [proposal]

        if multiple_presenters?
          xm.div {
            xm.p { xm.b profiles.size == 1 ? "Speaker:" : "Speakers:" }
            xm.ul {
              profiles.each do |profile|
                xm.li {
                  xm.p {
                    xm.b profile.presenter
                  }
                  xm << simple_format(escape_once profile.biography)
                }
              end
            }
          }
        end
      }

      entry.content(xm.to_s, :type => 'html')

      entry.author do |author|
        author.name(proposal.presenter)
      end
    end
  end
end<commit_msg>Fixed proposals atom feed, made it use textile rather than simple_format.<commit_after>atom_feed do |feed|
  feed.title("#{SETTINGS.organization}: Presentation Proposals")
  feed.updated((@proposals.blank? ? Time.at(0) : @proposals.first.submitted_at))

  @proposals.each do |proposal|
    feed.entry(proposal, :url => proposal_url(proposal)) do |entry|
      entry.title(h proposal.title)

      xm = ::Builder::XmlMarkup.new
      xm.div {
        unless multiple_presenters?
          xm.dl {
            xm.dt { xm.b "Speaker:" }
            xm.dd proposal.presenter
          }
          xm.dl {
            xm.dt { xm.b "Biography:" }
            xm.dd << display_textile_for(proposal.biography)
          }
        end

        unless proposal.excerpt.blank?
          xm.dl {
            xm.dt { xm.b "Excerpt:" }
            xm.dd proposal.excerpt
          }
        end

        xm.dl {
          xm.dt { xm.b "Description:" }
          xm.dd << display_textile_for(proposal.description)
        }

        profiles = user_profiles? ? proposal.users : [proposal]

        if multiple_presenters?
          xm.div {
            xm.p { xm.b profiles.size == 1 ? "Speaker:" : "Speakers:" }
            xm.ul {
              profiles.each do |profile|
                xm.li {
                  xm.p {
                    xm.b profile.presenter
                  }
                  xm.div << display_textile_for(profile.biography)
                }
              end
            }
          }
        end
      }

      entry.content(xm.to_s, :type => 'html')

      entry.author do |author|
        author.name(proposal.presenter)
      end
    end
  end
end
{'fraction_non_alphanumeric': 0.11107729762629337, 'fraction_numerical': 0.0012172854534388314, 'mean_word_length': 1.4276218611521418, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 7, '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': '3209049', 'n_tokens_mistral': 1069, 'n_tokens_neox': 1033, 'n_words': 188}