<commit_before>extends base
- load staticfiles
- load timedelta
- load tz

block meta
    meta(name='description', content="The DMOJ's contest list - past, present, and future.")

block media
    style.
        .contest-list td:nth-child(2) {
            min-width: 9.8em;
        }

        .contest-list td:nth-child(3) {
            min-width: 6em;
        }

        .contest-list tbody tr {
            height: 4em;
        }

        .time {
            color: #555;
        }

        .floating-time-left {
            position: absolute;
            left: 0;
        }

        .floating-time-right {
            position: absolute;
            right: 0;
        }

        .floating-time {
            position: absolute;
            right: 0;
            bottom: 0;
        }

        .external-notice {
            font-style:italic;
            position:absolute;
            bottom:0;
        }

        .external-notice a {
            color:#777;
        }

        .external-notice:hover {
            text-decoration: underline;
        }

block js_media
    script(type='text/javascript').
        $(document).ready(function () {
            $('.time-remaining').each(function () {
                count_down($(this));
            });
        });

block body
    if current_contests
        br
        h3 Ongoing Contests
        br
        table.contest-list.table.striped
            thead
                tr
                    th(style='width:90%') Name
                    th Time limit
                    th Rankings
                    if not IN_CONTEST
                        th(style='width:15%')
            tbody
                each contest in current_contests
                    tr
                        td
                            div(style='position:relative')
                                a(href='{% url "contest_view" contest.key %}')= contest.name
                                if contest.start_time
                                    br
                                    if contest.time_before_end
                                        span.time Ending in&nbsp;
                                        span.time.time-remaining #{contest.time_before_end|timedelta:"simple"}
                                    elif contest.free_start and contest.start_time
                                        span.time Started at #{contest.start_time|date:"N j, o, G:i"}
                                    .time.floating-time #{contest.end_time|date:"N j, o, G:i"}
                                    if contest.is_external
                                        .external-notice
                                            a(href='/about#external-contests') External contest
                        td
                            if contest.time_limit
                                | #{contest.time_limit}
                            else
                                | Full contest window
                        td
                            a(href='{% url "contest_ranking" contest.key %}') x#{contest.participation_count}
                        if not IN_CONTEST
                            td
                                a.unselectable.button.full(href='{% url "contest_join" contest.key %}', style='display:inline;padding-left:30%;padding-right:30%') Join
        br
        .dashed
        
    br
    h3 Upcoming Contests
    br
    if future_contests
        table.contest-list.table.striped
            thead
                tr
                    th(style='width:90%') Name
                    th Time limit
            tbody
                each contest in future_contests
                    tr
                        td
                            div(style='position:relative')
                                a(href='{% url "contest_view" contest.key %}')= contest.name
                                if contest.start_time
                                    br
                                    if contest.time_before_start
                                        span.time Starting in&nbsp;
                                        span.time.time-remaining #{contest.time_before_start|timedelta:"simple"}
                                    .time.floating-time #{contest.start_time|date:"N j, o, G:i"}
                                    if contest.is_external
                                        .external-notice
                                            a(href='/about#external-contests') External contest
                        td
                            if contest.time_limit
                                | #{contest.time_limit}
                            else
                                | Full contest window
    else
        i There are no scheduled contests at this time.



    br
    hr.dashed
    br
    h3 Past Contests
    br
    table.contest-list.table.striped
        thead
            tr
                th(style='width:85%') Name
                th(style='width:10%') Time
                th Rankings
        tbody
            each contest in past_contests
                tr
                    td
                        div(style='position:relative')
                            a(href='{% url "contest_view" contest.key %}')= contest.name
                            if contest.is_external
                                .external-notice
                                    a(href='/about#external-contests') External contest
                    td
                        | #{contest.start_time|date:"N/j/y"} - #{contest.end_time|date:"N/j/y"}
                        br
                        if contest.time_limit
                            | #{contest.time_limit} window
                        else
                            | Full contest window
                    td
                        a(href='{% url "contest_ranking" contest.key %}') x#{contest.participation_count}<commit_msg>M is much more standard than N; #205<commit_after>extends base
- load staticfiles
- load timedelta
- load tz

block meta
    meta(name='description', content="The DMOJ's contest list - past, present, and future.")

block media
    style.
        .contest-list td:nth-child(2) {
            min-width: 9.8em;
        }

        .contest-list td:nth-child(3) {
            min-width: 6em;
        }

        .contest-list tbody tr {
            height: 4em;
        }

        .time {
            color: #555;
        }

        .floating-time-left {
            position: absolute;
            left: 0;
        }

        .floating-time-right {
            position: absolute;
            right: 0;
        }

        .floating-time {
            position: absolute;
            right: 0;
            bottom: 0;
        }

        .external-notice {
            font-style:italic;
            position:absolute;
            bottom:0;
        }

        .external-notice a {
            color:#777;
        }

        .external-notice:hover {
            text-decoration: underline;
        }

block js_media
    script(type='text/javascript').
        $(document).ready(function () {
            $('.time-remaining').each(function () {
                count_down($(this));
            });
        });

block body
    if current_contests
        br
        h3 Ongoing Contests
        br
        table.contest-list.table.striped
            thead
                tr
                    th(style='width:90%') Name
                    th Time limit
                    th Rankings
                    if not IN_CONTEST
                        th(style='width:15%')
            tbody
                each contest in current_contests
                    tr
                        td
                            div(style='position:relative')
                                a(href='{% url "contest_view" contest.key %}')= contest.name
                                if contest.start_time
                                    br
                                    if contest.time_before_end
                                        span.time Ending in&nbsp;
                                        span.time.time-remaining #{contest.time_before_end|timedelta:"simple"}
                                    elif contest.free_start and contest.start_time
                                        span.time Started at #{contest.start_time|date:"N j, o, G:i"}
                                    .time.floating-time #{contest.end_time|date:"N j, o, G:i"}
                                    if contest.is_external
                                        .external-notice
                                            a(href='/about#external-contests') External contest
                        td
                            if contest.time_limit
                                | #{contest.time_limit}
                            else
                                | Full contest window
                        td
                            a(href='{% url "contest_ranking" contest.key %}') x#{contest.participation_count}
                        if not IN_CONTEST
                            td
                                a.unselectable.button.full(href='{% url "contest_join" contest.key %}', style='display:inline;padding-left:30%;padding-right:30%') Join
        br
        .dashed
        
    br
    h3 Upcoming Contests
    br
    if future_contests
        table.contest-list.table.striped
            thead
                tr
                    th(style='width:90%') Name
                    th Time limit
            tbody
                each contest in future_contests
                    tr
                        td
                            div(style='position:relative')
                                a(href='{% url "contest_view" contest.key %}')= contest.name
                                if contest.start_time
                                    br
                                    if contest.time_before_start
                                        span.time Starting in&nbsp;
                                        span.time.time-remaining #{contest.time_before_start|timedelta:"simple"}
                                    .time.floating-time #{contest.start_time|date:"M j, Y, G:i"}
                                    if contest.is_external
                                        .external-notice
                                            a(href='/about#external-contests') External contest
                        td
                            if contest.time_limit
                                | #{contest.time_limit}
                            else
                                | Full contest window
    else
        i There are no scheduled contests at this time.



    br
    hr.dashed
    br
    h3 Past Contests
    br
    table.contest-list.table.striped
        thead
            tr
                th(style='width:75%') Name
                th(style='width:20%') Time
                th Rankings
        tbody
            each contest in past_contests
                tr
                    td
                        div(style='position:relative')
                            a(href='{% url "contest_view" contest.key %}')= contest.name
                            if contest.is_external
                                .external-notice
                                    a(href='/about#external-contests') External contest
                    td
                        | #{contest.start_time|date:"M j, Y, G:i"} - #{contest.end_time|date:"M j, Y, G:i"}
                        br
                        if contest.time_limit
                            | #{contest.time_limit} window
                        else
                            | Full contest window
                    td
                        a(href='{% url "contest_ranking" contest.key %}') x#{contest.participation_count}
{'fraction_non_alphanumeric': 0.07939317319848294, 'fraction_numerical': 0.005983986514959966, 'mean_word_length': 0.8852875754687003, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 56, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6511172', 'n_tokens_mistral': 2920, 'n_tokens_neox': 2680, 'n_words': 582}