<commit_before>---
layout: false
index: false
---

- if data[:events]

  :ruby
    conferences = []

    confs_match(data.site.events_filter, data.events).each do |year_label, year|

      if year_label[/\d{4}/]

        conferences += year.map do |conf_label, conf|

          time_pool = [
            Chronic::parse(conf.start),
            Chronic::parse(conf.end)
          ]

          if conf.talks
            conf.talks.each do |talk|
              time_pool.push Chronic::parse(talk.start)
              time_pool.push Chronic::parse(talk.end)
            end
          end

          time_pool.compact!

          current = time_pool.max.to_time > Time.now

          page = "/events/#{year_label}/"

          if conf.type && conf.type == 'series'
            if conf.talks
              conf.talks.each do |talk|
                fragment = "##{conf_label.parameterize}--#{talk.title.parameterize}"

                begin
                  item = {
                    title: talk.title,
                    start: Chronic::parse(talk.start),#.strftime("%Y-%m-%d"),
                    speaker: talk.speaker,
                    end: Chronic::parse(talk.end),#.strftime("%Y-%m-%d"),
                    url: current ? fragment : page + fragment,
                    className: current ? "current" : "old",
                    location: talk.location,
                    tags: talk.tags || conf.tags,
                    allDay: false
                  }

                  conferences.push item
                rescue
                end
              end
            end

            nil # Conference-level data shouldn't be returned
          else
            fragment = "##{conf_label.parameterize}"

            className = current ? 'current ' : 'old '
            className += conf[:allDay].nil? ? 'fc-x-conf' : 'fc-x-talk'
            {
              title: conf.name,
              speaker: conf.speaker,
              start: conf.start || time_pool.min.to_date,
              end: conf.end || conf.start || time_pool.max.to_date,
              url: current ? fragment : page + fragment,
              className: className,
              location: conf.location,
              tags: conf.tags,
              allDay: conf[:allDay].nil?,
            }
          end
        end

      end

    end


  = conferences.compact.to_json.gsub(/},/, "},\r")<commit_msg>similar to vCalendar, FullCalendar uses exclusive end dates<commit_after>---
layout: false
index: false
---

- if data[:events]

  :ruby
    conferences = []

    confs_match(data.site.events_filter, data.events).each do |year_label, year|

      if year_label[/\d{4}/]

        conferences += year.map do |conf_label, conf|

          time_pool = [
            Chronic::parse(conf.start),
            Chronic::parse(conf.end)
          ]

          if conf.talks
            conf.talks.each do |talk|
              time_pool.push Chronic::parse(talk.start)
              time_pool.push Chronic::parse(talk.end)
            end
          end

          time_pool.compact!

          current = time_pool.max.to_time > Time.now

          page = "/events/#{year_label}/"

          if conf.type && conf.type == 'series'
            if conf.talks
              conf.talks.each do |talk|
                fragment = "##{conf_label.parameterize}--#{talk.title.parameterize}"

                begin
                  item = {
                    title: talk.title,
                    start: Chronic::parse(talk.start),#.strftime("%Y-%m-%d"),
                    speaker: talk.speaker,
                    end: Chronic::parse(talk.end),#.strftime("%Y-%m-%d"),
                    url: current ? fragment : page + fragment,
                    className: current ? "current" : "old",
                    location: talk.location,
                    tags: talk.tags || conf.tags,
                    allDay: false
                  }

                  conferences.push item
                rescue
                end
              end
            end

            nil # Conference-level data shouldn't be returned
          else
            fragment = "##{conf_label.parameterize}"

            className = current ? 'current ' : 'old '
            className += conf[:allDay].nil? ? 'fc-x-conf' : 'fc-x-talk'
            {
              title: conf.name,
              speaker: conf.speaker,
              start: conf.start || time_pool.min.to_date,
              end: (conf.end || conf.start || time_pool.max).to_date + 1,
              url: current ? fragment : page + fragment,
              className: className,
              location: conf.location,
              tags: conf.tags,
              allDay: true
            }
          end
        end

      end

    end


  = conferences.compact.to_json.gsub(/},/, "},\r")
{'fraction_non_alphanumeric': 0.11794123775786622, 'fraction_numerical': 0.000625130235465722, 'mean_word_length': 1.2999520843315764, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, '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': '2954434', 'n_tokens_mistral': 1358, 'n_tokens_neox': 1269, 'n_words': 269}