<commit_before>extends ../layout
block content
    .panel.panel-info
        .panel-heading.text-center
            h1 Challenge Map
        .panel-body
            if (Math.random() > 0.999)
                img.img-responsive.img-center.border-radius-5(src='https://s3.amazonaws.com/freecodecamp/wide-social-banner-dino.png')
                audio(autoplay src='https://s3.amazonaws.com/freecodecamp/t-rex-roar.mp3')
            else
                img.img-responsive.img-center.border-radius-5(src='https://s3.amazonaws.com/freecodecamp/wide-social-banner.png')
            .col-xs-12.col-md-8.col-md-offset-2
                h2
                    table.population-table.img-center
                        tr
                            td Established:&thinsp;
                            td
                                span.text-primary #{daysRunning}&thinsp;
                                | days ago
                        tr
                            td Population:&thinsp;&thinsp;&thinsp;
                            td
                                span.text-primary #{camperCount}&thinsp;
                                | campers
                        tr
                            td Completed:&thinsp;&thinsp;&thinsp;
                            td
                                span.text-primary #{globalCompletedCount}&thinsp;
                                | challenges



                .spacer
                if (user && user.progressTimestamps.length > 100)
                    #map-notice.col-xs-12.col-md-8.col-md-offset-2.hidden
                        h2.text-center Reddit or not, here we come
                        img.thumbnail.img-center.img-responsive(src="http://i.imgur.com/lyd0bfM.jpg")
                        h4.text-center Come ask questions and share your thoughts with our entire open source community on our subreddit.
                        a.button.btn.btn-block.btn-primary(href="https://reddit.com/r/freecodecamp" target="_blank") Check it out
                        .button-spacer
                        .text-center
                            a#hide-map-notice-button(href='#') Hide this forever
                        .spacer

                ul
                  for superBlock in superBlocks
                    h1= superBlock.name
                    - var i = 0
                    for challengeBlock in superBlock.blocks
                        - i++
                        .row
                            if (user)
                                if (challengeBlock.completed === 100)
                                    .hidden-xs.col-sm-3.col-md-2.text-primary.ion-checkmark-circled.padded-ionic-icon.text-center.map-p.negative-10
                                    .col-xs-1.col-sm-1.col-md-1.map-row-numbers
                                      span.map-p.negative-10 #{i}.
                                    .col-xs-11.col-sm-8.col-md-9
                                        li.map-p.faded.negative-10
                                            a(href='#' + challengeBlock.dashedName)= challengeBlock.name
                                            if challengeBlock.markNew
                                                span.text-info.small &thinsp; &thinsp;
                                                    strong
                                                        em NEW
                                            if challengeBlock.isComingSoon
                                                span.text-info.small &thinsp; &thinsp;
                                                    strong
                                                        em Coming Soon
                                else
                                    .hidden-xs.col-sm-3.col-md-2
                                        .progress.progress-bar-padding.text-center.thin-progress-bar
                                            .progress-bar(role='progressbar', aria-valuenow=(challengeBlock.completed), aria-valuemin='0', aria-valuemax='100', style='width: ' + challengeBlock.completed + '%;')
                                    .col-xs-1.col-sm-1.col-md-1.map-row-numbers
                                      span.map-p.negative-10 #{i}.
                                    .col-xs-11.col-sm-8.col-md-9
                                        li.map-p.negative-10
                                            a(href='#' + challengeBlock.dashedName)= challengeBlock.name
                                            if challengeBlock.markNew
                                                span.text-info.small &thinsp; &thinsp;
                                                    strong
                                                        em NEW
                                            if challengeBlock.isComingSoon
                                                span.text-info.small &thinsp; &thinsp;
                                                    strong
                                                        em Coming Soon
                            else
                                .hidden-xs.col-sm-3.col-md-2
                                .col-xs-1.col-sm-1.col-md-1.map-row-numbers
                                    span.map-p.negative-10  #{i}.
                                .col-xs-10.col-sm-8.col-md-9
                                    span.map-p.negative-10
                                        a(href='#' + challengeBlock.dashedName)= challengeBlock.name
                                        if challengeBlock.markNew
                                            span.text-info.small &thinsp; &thinsp;
                                                strong
                                                    em NEW
                                        if challengeBlock.isComingSoon
                                            span.text-info.small &thinsp; &thinsp;
                                                strong
                                                    em Coming Soon
                  h1 Full Stack Development Certification
                  .row                                        
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Greefield Nonprofit Project 1
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Greefield Nonprofit Project 2
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Legacy Nonprofit Project 1
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Legacy Nonprofit Project 2
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Claim your Full Stack Development Certification

                  h1 Coding Interview Preparation
                  .row                                        
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Whiteboard Coding Interview Training
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Critical Thinking Interview Training
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Mock Interview 1
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Mock Interview 2
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Mock Interview 3

                hr

                for superBlock, index in superBlocks
                  for challengeBlock in superBlock.blocks
                      .row
                          a(href='#' name=challengeBlock.dashedName)
                          .spacer.negative-55

                      .row
                          .hidden-xs.col-sm-3.col-md-2
                              h3.text-primary.text-right.nowrap
                                  i.fa.fa-clock-o
                                  = challengeBlock.time
                          .col-xs-12.col-sm-9.col-md-10
                              h3 #{challengeBlock.name} &thinsp;

                        .row
                            .hidden-xs.col-sm-3.col-md-2
                                h3.text-primary.text-right.nowrap
                                    i.fa.fa-clock-o
                                    = challengeBlock.time
                            .col-xs-12.col-sm-9.col-md-10
                                h3 #{challengeBlock.name} &thinsp;
                        - var i = 0
                        for challenge in challengeBlock.challenges
                            - i++
                            .row
                                if challenge.completed
                                    .hidden-xs.col-sm-3.col-md-2.text-primary.ion-checkmark-circled.padded-ionic-icon.text-center.map-p.negative-10
                                    .col-xs-1.col-sm-1.col-md-1.map-row-numbers
                                        span.map-p.negative-10  #{i}.
                                    .col-xs-10.col-sm-8.col-md-9
                                        span.faded.map-p.negative-10
                                            a(href="/challenges/#{challenge.dashedName}")
                                                span.capitalize= challenge.type + ': '
                                                span= challenge.title
                                                    span.sr-only= " Complete"

                                else
                                    .hidden-xs.col-sm-3.col-md-2
                                        span.negative-10
                                    .col-xs-1.col-sm-1.col-md-1.map-row-numbers
                                        span.map-p.negative-10  #{i}.
                                    .col-xs-10.col-sm-8.col-md-9
                                        span.map-p.negative-10
                                            a(href="/challenges/#{challenge.dashedName}" class=challenge.isComingSoon ? 'disabled' : '')
                                                span.capitalize= challenge.type + ': '
                                                span= challenge.title
                                                    span.sr-only= " Incomplete"
                                            if challenge.markNew
                                                span.text-danger.small &thinsp; &thinsp;
                                                    strong
                                                        em NEW
                                            if challengeBlock.isComingSoon
                                                span.text-danger.small &thinsp; &thinsp;
                                                    strong
                                                        em Coming Soon

                        if (challengeBlock.completed === 100)
                            .button-spacer<commit_msg>minor fixes to challenge map<commit_after>extends ../layout
block content
    .panel.panel-info
        .panel-heading.text-center
            h1 Challenge Map
        .panel-body
            if (Math.random() > 0.999)
                img.img-responsive.img-center.border-radius-5(src='https://s3.amazonaws.com/freecodecamp/wide-social-banner-dino.png')
                audio(autoplay src='https://s3.amazonaws.com/freecodecamp/t-rex-roar.mp3')
            else
                img.img-responsive.img-center.border-radius-5(src='https://s3.amazonaws.com/freecodecamp/wide-social-banner.png')
            .col-xs-12.col-md-8.col-md-offset-2
                h2
                    table.population-table.img-center
                        tr
                            td Established:&thinsp;
                            td
                                span.text-primary #{daysRunning}&thinsp;
                                | days ago
                        tr
                            td Population:&thinsp;&thinsp;&thinsp;
                            td
                                span.text-primary #{camperCount}&thinsp;
                                | campers
                        tr
                            td Completed:&thinsp;&thinsp;&thinsp;
                            td
                                span.text-primary #{globalCompletedCount}&thinsp;
                                | challenges



                .spacer
                if (user && user.progressTimestamps.length > 100)
                    #map-notice.col-xs-12.col-md-8.col-md-offset-2.hidden
                        h2.text-center Reddit or not, here we come
                        img.thumbnail.img-center.img-responsive(src="http://i.imgur.com/lyd0bfM.jpg")
                        h4.text-center Come ask questions and share your thoughts with our entire open source community on our subreddit.
                        a.button.btn.btn-block.btn-primary(href="https://reddit.com/r/freecodecamp" target="_blank") Check it out
                        .button-spacer
                        .text-center
                            a#hide-map-notice-button(href='#') Hide this forever
                        .spacer

                ul
                  for superBlock in superBlocks
                    h1= superBlock.name
                    - var i = 0
                    for challengeBlock in superBlock.blocks
                        - i++
                        .row
                            if (user)
                                if (challengeBlock.completed === 100)
                                    .hidden-xs.col-sm-3.col-md-2.text-primary.ion-checkmark-circled.padded-ionic-icon.text-center.map-p.negative-10
                                    .col-xs-1.col-sm-1.col-md-1.map-row-numbers
                                      span.map-p.negative-10 #{i}.
                                    .col-xs-11.col-sm-8.col-md-9
                                        li.map-p.faded.negative-10
                                            a(href='#' + challengeBlock.dashedName)= challengeBlock.name
                                            if challengeBlock.markNew
                                                span.text-info.small &thinsp; &thinsp;
                                                    strong
                                                        em NEW
                                            if challengeBlock.isComingSoon
                                                span.text-info.small &thinsp; &thinsp;
                                                    strong
                                                        em Coming Soon
                                else
                                    .hidden-xs.col-sm-3.col-md-2
                                        .progress.progress-bar-padding.text-center.thin-progress-bar
                                            .progress-bar(role='progressbar', aria-valuenow=(challengeBlock.completed), aria-valuemin='0', aria-valuemax='100', style='width: ' + challengeBlock.completed + '%;')
                                    .col-xs-1.col-sm-1.col-md-1.map-row-numbers
                                      span.map-p.negative-10 #{i}.
                                    .col-xs-11.col-sm-8.col-md-9
                                        li.map-p.negative-10
                                            a(href='#' + challengeBlock.dashedName)= challengeBlock.name
                                            if challengeBlock.markNew
                                                span.text-info.small &thinsp; &thinsp;
                                                    strong
                                                        em NEW
                                            if challengeBlock.isComingSoon
                                                span.text-info.small &thinsp; &thinsp;
                                                    strong
                                                        em Coming Soon
                            else
                                .hidden-xs.col-sm-3.col-md-2
                                .col-xs-1.col-sm-1.col-md-1.map-row-numbers
                                    span.map-p.negative-10  #{i}.
                                .col-xs-10.col-sm-8.col-md-9
                                    span.map-p.negative-10
                                        a(href='#' + challengeBlock.dashedName)= challengeBlock.name
                                        if challengeBlock.markNew
                                            span.text-info.small &thinsp; &thinsp;
                                                strong
                                                    em NEW
                                        if challengeBlock.isComingSoon
                                            span.text-info.small &thinsp; &thinsp;
                                                strong
                                                    em Coming Soon
                  h1 Full Stack Development Certification
                  .row                                        
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Greefield Nonprofit Project 1
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Greefield Nonprofit Project 2
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Legacy Nonprofit Project 1
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Legacy Nonprofit Project 2
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Claim your Full Stack Development Certification

                  h1 Coding Interview Preparation
                  .row                                        
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Whiteboard Coding Interview Training
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Critical Thinking Interview Training
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Mock Interview 1
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Mock Interview 2
                    .hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
                    .col-xs-12.col-sm-9.col-md-10
                        li.map-p.negative-10 Mock Interview 3

                hr

                for superBlock, index in superBlocks
                  for challengeBlock in superBlock.blocks
                      .row
                          a(href='#' name=challengeBlock.dashedName)
                          .spacer.negative-55

                      .row
                          .hidden-xs.col-sm-3.col-md-2
                              h3.text-primary.text-right.nowrap
                                  i.fa.fa-clock-o
                                  = challengeBlock.time
                          .col-xs-12.col-sm-9.col-md-10
                              h3 #{challengeBlock.name} &thinsp;

                        - var i = 0
                        for challenge in challengeBlock.challenges
                            - i++
                            .row
                                if challenge.completed
                                    .hidden-xs.col-sm-3.col-md-2.text-primary.ion-checkmark-circled.padded-ionic-icon.text-center.map-p.negative-10
                                    .col-xs-1.col-sm-1.col-md-1.map-row-numbers
                                        span.map-p.negative-10  #{i}.
                                    .col-xs-10.col-sm-8.col-md-9
                                        span.faded.map-p.negative-10
                                            a(href="/challenges/#{challenge.dashedName}")
                                                span.capitalize= challenge.type + ': '
                                                span= challenge.title
                                                    span.sr-only= " Complete"

                                else
                                    .hidden-xs.col-sm-3.col-md-2
                                        span.negative-10
                                    .col-xs-1.col-sm-1.col-md-1.map-row-numbers
                                        span.map-p.negative-10  #{i}.
                                    .col-xs-10.col-sm-8.col-md-9
                                        span.map-p.negative-10
                                            a(href="/challenges/#{challenge.dashedName}" class=challenge.isComingSoon ? 'disabled' : '')
                                                span.capitalize= challenge.type + ': '
                                                span= challenge.title
                                                    span.sr-only= " Incomplete"
                                            if challenge.markNew
                                                span.text-info.small &thinsp; &thinsp;
                                                    strong
                                                        em NEW
                                            if challengeBlock.isComingSoon
                                                span.text-info.small &thinsp; &thinsp;
                                                    strong
                                                        em Coming Soon

                        if (challengeBlock.completed === 100)
                            .button-spacer
{'fraction_non_alphanumeric': 0.08991264908449521, 'fraction_numerical': 0.020535864270115906, 'mean_word_length': 0.7313508797440744, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 255, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3293402', 'n_tokens_mistral': 5966, 'n_tokens_neox': 5374, 'n_words': 730}