mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-12-13 17:21:19 -05:00
Merge branch 'master' into production
This commit is contained in:
commit
0dc4c79107
4 changed files with 76 additions and 128 deletions
|
@ -545,11 +545,19 @@
|
||||||
editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||||
|
|
||||||
about:
|
about:
|
||||||
|
main_title:"If you want to learn to program, you need to write (a lot of) code."
|
||||||
|
main_description: "At CodeCombat, our job is to make sure you're doing that with a smile on your face."
|
||||||
|
mission_link: "Mission"
|
||||||
|
team_link: "Team"
|
||||||
|
community_link: "Community"
|
||||||
|
story_link: "Story"
|
||||||
|
careers_link: "Careers"
|
||||||
|
press_link: "Press"
|
||||||
mission_title: "Our mission: make programming accessible to every student on Earth."
|
mission_title: "Our mission: make programming accessible to every student on Earth."
|
||||||
mission_description_1: "Programming is magic. It's the ability to create things from pure imagination. We started CodeCombat to give learners the feeling of wizardly power at their fingertips by using typed code."
|
mission_description_1: "Programming is magic. It's the ability to create things from pure imagination. We started CodeCombat to give learners the feeling of wizardly power at their fingertips by using typed code."
|
||||||
mission_description_2: "As it turns out, that enables them to learn faster too. WAY faster. It's like having a conversation instead of reading a manual. We want to bring that conversation to every school and to every student, because everyone should have the chance to learn the magic of programming."
|
mission_description_2: "As it turns out, that enables them to learn faster too. WAY faster. It's like having a conversation instead of reading a manual. We want to bring that conversation to every school and to every student, because everyone should have the chance to learn the magic of programming."
|
||||||
team_title: "Meet the CodeCombat team"
|
team_title: "Meet the CodeCombat team"
|
||||||
team_values: "We value open and respectful dialog, where the best idea wins. Our decisions are grounded in customer research and our process is focused on delivering tangible results for them. Everyone is hands-on, from our CEO to our Github contributors, because we value growth and learning in our team."
|
team_values: "We value open and respectful dialog, where the best idea wins. Our decisions are grounded in customer research and our process is focused on delivering tangible results for them. Everyone is hands-on, from our CEO to our Github contributors, because we value growth and learning in our team."
|
||||||
nick_title: "Cofounder, CEO"
|
nick_title: "Cofounder, CEO"
|
||||||
nick_blurb: "Motivation Guru"
|
nick_blurb: "Motivation Guru"
|
||||||
matt_title: "Cofounder, CTO"
|
matt_title: "Cofounder, CTO"
|
||||||
|
@ -576,13 +584,15 @@
|
||||||
carlos_blurb: "Celery Man"
|
carlos_blurb: "Celery Man"
|
||||||
community_title: "...and our open-source community"
|
community_title: "...and our open-source community"
|
||||||
community_subtitle: "Over 450 contributors have helped build CodeCombat, with more joining every week!"
|
community_subtitle: "Over 450 contributors have helped build CodeCombat, with more joining every week!"
|
||||||
community_description_1: "CodeCombat is a community project, with hundreds of players volunteering to create levels, contribute to our code to add features, fix bugs, playtest, and even translate the game into 50 languages so far. Employees, contributors and the site gain by sharing ideas and pooling effort, as does the open source community in general. The site is built on numerous open source projects, and we are open sourced to give back to the community and provide code-curious players a familiar project to explore and experiment with. Anyone can join the CodeCombat community! Check out our "
|
community_description_1: "CodeCombat is a community project, with hundreds of players volunteering to create levels, contribute to our code to add features, fix bugs, playtest, and even translate the game into 50 languages so far. Employees, contributors and the site gain by sharing ideas and pooling effort, as does the open source community in general. The site is built on numerous open source projects, and we are open sourced to give back to the community and provide code-curious players a familiar project to explore and experiment with. Anyone can join the CodeCombat community! Check out our"
|
||||||
community_description_link: "contribute page "
|
community_description_link: "contribute page"
|
||||||
community_description_2: "for more info."
|
community_description_2: "for more info."
|
||||||
|
number_contributors: "Over 450 contributors have lent their support and time to this project."
|
||||||
story_title: "Our story so far"
|
story_title: "Our story so far"
|
||||||
story_subtitle: "Since 2013, CodeCombat has grown from a mere set of sketches to a living, thriving game."
|
story_subtitle: "Since 2013, CodeCombat has grown from a mere set of sketches to a living, thriving game."
|
||||||
story_statistic_1a: "5,000,000+"
|
story_statistic_1a: "5,000,000+"
|
||||||
story_statistic_1b: "total players"
|
story_statistic_1b: "total players"
|
||||||
|
story_statistic_1c: "have started their programming journey through CodeCombat"
|
||||||
story_statistic_2a: "We’ve been translated into over 50 languages — our players hail from"
|
story_statistic_2a: "We’ve been translated into over 50 languages — our players hail from"
|
||||||
story_statistic_2b: "200+ countries"
|
story_statistic_2b: "200+ countries"
|
||||||
story_statistic_3a: "Together, they have written"
|
story_statistic_3a: "Together, they have written"
|
||||||
|
@ -600,12 +610,13 @@
|
||||||
jobs_benefit_4: "Unlimited sick/personal days"
|
jobs_benefit_4: "Unlimited sick/personal days"
|
||||||
jobs_benefit_5: "Professional development and continuing education support"
|
jobs_benefit_5: "Professional development and continuing education support"
|
||||||
jobs_benefit_6: "Medical/dental/vision insurance"
|
jobs_benefit_6: "Medical/dental/vision insurance"
|
||||||
|
learn_more: "Learn More"
|
||||||
jobs_custom_title: "Create Your Own"
|
jobs_custom_title: "Create Your Own"
|
||||||
jobs_custom_description: "Are you passionate about CodeCombat but don't see a job listed that matches your qualifications? Write us and show how you think you can contribute to our team. We'd love to hear from you!"
|
jobs_custom_description: "Are you passionate about CodeCombat but don't see a job listed that matches your qualifications? Write us and show how you think you can contribute to our team. We'd love to hear from you!"
|
||||||
jobs_custom_contact_1: "Send us a note at "
|
jobs_custom_contact_1: "Send us a note at"
|
||||||
jobs_custom_contact_2: "introducing yourself and we might get in touch in the future!"
|
jobs_custom_contact_2: "introducing yourself and we might get in touch in the future!"
|
||||||
contact_title: "Press & Contact"
|
contact_title: "Press & Contact"
|
||||||
contact_subtitle: "Need more information? Get in touch with us at "
|
contact_subtitle: "Need more information? Get in touch with us at"
|
||||||
screenshots_title: "Game Screenshots"
|
screenshots_title: "Game Screenshots"
|
||||||
screenshots_hint: "(click to view full size)"
|
screenshots_hint: "(click to view full size)"
|
||||||
downloads_title: "Download Assets & Information"
|
downloads_title: "Download Assets & Information"
|
||||||
|
@ -614,9 +625,9 @@
|
||||||
screenshots: "Screenshots"
|
screenshots: "Screenshots"
|
||||||
character_art: "Character Art"
|
character_art: "Character Art"
|
||||||
download_all: "Download All"
|
download_all: "Download All"
|
||||||
|
previous: "Previous"
|
||||||
|
next: "Next"
|
||||||
location_title: "We're located in downtown SF:"
|
location_title: "We're located in downtown SF:"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
teachers:
|
teachers:
|
||||||
who_for_title: "Who is CodeCombat for?"
|
who_for_title: "Who is CodeCombat for?"
|
||||||
|
@ -626,7 +637,7 @@
|
||||||
more_info_1: "Our"
|
more_info_1: "Our"
|
||||||
more_info_2: "teachers forum"
|
more_info_2: "teachers forum"
|
||||||
more_info_3: "is a good place to connect with fellow educators who are using CodeCombat."
|
more_info_3: "is a good place to connect with fellow educators who are using CodeCombat."
|
||||||
|
|
||||||
teachers_quote:
|
teachers_quote:
|
||||||
name: "Quote Form"
|
name: "Quote Form"
|
||||||
title: "Request a Quote"
|
title: "Request a Quote"
|
||||||
|
|
|
@ -7,60 +7,49 @@ block content
|
||||||
.row
|
.row
|
||||||
//TODO: Size these correctly
|
//TODO: Size these correctly
|
||||||
.col-xs-10
|
.col-xs-10
|
||||||
h1 If you want to learn to program, you need to write (a lot of) code.
|
h1(data-i18n="about.main_title")
|
||||||
.row
|
.row
|
||||||
.col-xs-8
|
.col-xs-8
|
||||||
h2 At CodeCombat, our job is to make sure you're doing that with a smile on your face.
|
h2(data-i18n="about.main_description")
|
||||||
|
|
||||||
#nav-container
|
#nav-container
|
||||||
nav#fixed-nav.nav.navbar
|
nav#fixed-nav.nav.navbar
|
||||||
.container-fluid.text-center
|
.container-fluid.text-center
|
||||||
ul.center-block
|
ul.center-block
|
||||||
li.active
|
li.active
|
||||||
a(href="#mission")#mission-link
|
a(href="#mission")#mission-link
|
||||||
small.label(data-i18n="about.mission_link")
|
small.label(data-i18n="about.mission_link")
|
||||||
| Mission
|
|
||||||
li
|
li
|
||||||
a(href="#team")#team-link
|
a(href="#team")#team-link
|
||||||
small.label(data-i18n="about.team_link")
|
small.label(data-i18n="about.team_link")
|
||||||
| Team
|
|
||||||
li
|
li
|
||||||
a(href="#community")#community-link
|
a(href="#community")#community-link
|
||||||
small.label(data-i18n="about.community_link")
|
small.label(data-i18n="about.community_link")
|
||||||
| Community
|
|
||||||
li
|
li
|
||||||
a(href="#story")#story-link
|
a(href="#story")#story-link
|
||||||
small.label(data-i18n="about.story_link")
|
small.label(data-i18n="about.story_link")
|
||||||
| Story
|
|
||||||
li
|
li
|
||||||
a(href="#jobs")#jobs-link
|
a(href="#jobs")#jobs-link
|
||||||
small.label(data-i18n="about.jobs_link")
|
small.label(data-i18n="about.careers_link")
|
||||||
| Careers
|
|
||||||
li
|
li
|
||||||
a(href="#contact")#contact-link
|
a(href="#contact")#contact-link
|
||||||
small.label(data-i18n="about.contact_link")
|
small.label(data-i18n="about.press_link")
|
||||||
| Press
|
|
||||||
|
|
||||||
#about-container.container
|
#about-container.container
|
||||||
#mission.anchor.row
|
#mission.anchor.row
|
||||||
.col-sm-6#mission-graphic.responsive-side-margins
|
.col-sm-6#mission-graphic.responsive-side-margins
|
||||||
img(src="/images/pages/about/globe_white.png")
|
img(src="/images/pages/about/globe_white.png")
|
||||||
h2(data-i18n="about.mission_title")
|
h2(data-i18n="about.mission_title")
|
||||||
| Our mission: make programming accessible to every student on Earth.
|
|
||||||
#mission-graphic-filler
|
#mission-graphic-filler
|
||||||
.col-sm-5.col-sm-offset-1
|
.col-sm-5.col-sm-offset-1
|
||||||
#mission-text.responsive-side-margins
|
#mission-text.responsive-side-margins
|
||||||
p(data-i18n="about.mission_description_1")
|
p(data-i18n="about.mission_description_1")
|
||||||
| Programming is magic. It's the ability to create things from pure imagination. We started CodeCombat to give learners the feeling of wizardly power at their fingertips by using typed code.
|
|
||||||
p(data-i18n="about.mission_description_2")
|
p(data-i18n="about.mission_description_2")
|
||||||
| As it turns out, that enables them to learn faster too. WAY faster. It's like having a conversation instead of reading a manual. We want to bring that conversation to every school and to every student, because everyone should have the chance to learn the magic of programming.
|
|
||||||
|
|
||||||
#team.anchor
|
#team.anchor
|
||||||
.text-center
|
.text-center
|
||||||
h3(data-i18n="about.team_title")
|
h3(data-i18n="about.team_title")
|
||||||
| Meet the CodeCombat team
|
|
||||||
h4.responsive-side-margins(data-i18n="about.team_values")
|
h4.responsive-side-margins(data-i18n="about.team_values")
|
||||||
| We value open and respectful dialog, where the best idea wins. Our decisions are grounded in customer research and our process is focused on delivering tangible results for them. Everyone is hands-on, from our CEO to our Github contributors, because we value growth and learning in our team.
|
|
||||||
ul
|
ul
|
||||||
// Full time
|
// Full time
|
||||||
li
|
li
|
||||||
|
@ -104,9 +93,7 @@ block content
|
||||||
small(data-i18n="about.maka_title")
|
small(data-i18n="about.maka_title")
|
||||||
small(data-i18n="about.maka_blurb")
|
small(data-i18n="about.maka_blurb")
|
||||||
|
|
||||||
a(href="http://basicer.com/" rel="external")
|
li
|
||||||
|
|
||||||
li
|
|
||||||
a(href="http://basicer.com/" rel="external")
|
a(href="http://basicer.com/" rel="external")
|
||||||
img(src="/images/pages/about/rob_small.png").img-thumbnail
|
img(src="/images/pages/about/rob_small.png").img-thumbnail
|
||||||
.team-bio
|
.team-bio
|
||||||
|
@ -122,8 +109,6 @@ block content
|
||||||
small(data-i18n="about.josh_c_title")
|
small(data-i18n="about.josh_c_title")
|
||||||
small(data-i18n="about.josh_c_blurb")
|
small(data-i18n="about.josh_c_blurb")
|
||||||
|
|
||||||
a(href="http://robinyang.com/" rel="external")
|
|
||||||
|
|
||||||
li
|
li
|
||||||
a(href="http://robinyang.com/" rel="external")
|
a(href="http://robinyang.com/" rel="external")
|
||||||
img(src="/images/pages/about/robin_small.png").img-thumbnail
|
img(src="/images/pages/about/robin_small.png").img-thumbnail
|
||||||
|
@ -135,7 +120,6 @@ block content
|
||||||
|
|
||||||
|
|
||||||
// Part time / contract
|
// Part time / contract
|
||||||
|
|
||||||
li
|
li
|
||||||
a(href="http://floor.is/lava/" rel="external")
|
a(href="http://floor.is/lava/" rel="external")
|
||||||
img(src="/images/pages/about/josh_small.png").img-thumbnail
|
img(src="/images/pages/about/josh_small.png").img-thumbnail
|
||||||
|
@ -178,120 +162,94 @@ block content
|
||||||
h6.label.team-name Carlos Maia
|
h6.label.team-name Carlos Maia
|
||||||
small(data-i18n="about.carlos_title")
|
small(data-i18n="about.carlos_title")
|
||||||
small(data-i18n="about.carlos_blurb")
|
small(data-i18n="about.carlos_blurb")
|
||||||
|
|
||||||
#community.anchor
|
#community.anchor
|
||||||
#community-row-1.row.text-center
|
#community-row-1.row.text-center
|
||||||
.col-sm-12
|
.col-sm-12
|
||||||
.text-center
|
.text-center
|
||||||
h3(data-i18n="about.community_title")
|
h3(data-i18n="about.community_title")
|
||||||
| ...and our open-source community
|
|
||||||
h4(data-i18n="about.community_subtitle")
|
h4(data-i18n="about.community_subtitle")
|
||||||
| Over 450 contributors have helped build CodeCombat, with more joining every week!
|
|
||||||
img(src="/images/pages/about/github_avatars.png")#community-avatars
|
img(src="/images/pages/about/github_avatars.png")#community-avatars
|
||||||
|
|
||||||
#community-row-2.row
|
#community-row-2.row
|
||||||
.col-sm-5
|
.col-sm-5
|
||||||
p.responsive-side-margins
|
p.responsive-side-margins
|
||||||
span(data-i18n="about.community_description_1")
|
span.spr(data-i18n="about.community_description_1")
|
||||||
| CodeCombat is a community project, with hundreds of players volunteering to create levels, contribute to our code to add features, fix bugs, playtest, and even translate the game into 50 languages so far. Employees, contributors and the site gain by sharing ideas and pooling effort, as does the open source community in general. The site is built on numerous open source projects, and we are open sourced to give back to the community and provide code-curious players a familiar project to explore and experiment with. Anyone can join the CodeCombat community! Check out our
|
a(href="/contribute")
|
||||||
a(href="/contribute")
|
|
||||||
span(data-i18n="about.community_description_link")
|
span(data-i18n="about.community_description_link")
|
||||||
| contribute page
|
span.spl(data-i18n="about.community_description_2")
|
||||||
span(data-i18n="about.community_description_2")
|
|
||||||
| for more info.
|
|
||||||
.col-sm-6.col-sm-offset-1#community-graphic.responsive-side-margins
|
.col-sm-6.col-sm-offset-1#community-graphic.responsive-side-margins
|
||||||
h2 Over 450 contributors have lent their support and time to this project.
|
h2(data-i18n="about.number_contributors")
|
||||||
img(src="/images/pages/about/github.png")
|
img(src="/images/pages/about/github.png")
|
||||||
#community-graphic-filler
|
#community-graphic-filler
|
||||||
|
|
||||||
#story.anchor
|
#story.anchor
|
||||||
.text-center
|
.text-center
|
||||||
h3(data-i18n="about.story_title")
|
h3(data-i18n="about.story_title")
|
||||||
| Our story so far
|
|
||||||
h4.responsive-side-margins(data-i18n="about.story_subtitle")
|
h4.responsive-side-margins(data-i18n="about.story_subtitle")
|
||||||
| Since 2013, CodeCombat has grown from a mere set of sketches to a living, thriving game.
|
|
||||||
.row
|
.row
|
||||||
#story-graphic-1.col-lg-6
|
#story-graphic-1.col-lg-6
|
||||||
.media
|
.media
|
||||||
.pull-left
|
.pull-left
|
||||||
img.media-object#story-image-1(src="/images/pages/about/Character_Silouhette.png")
|
img.media-object#story-image-1(src="/images/pages/about/character_silouhette.png")
|
||||||
.media-body
|
.media-body
|
||||||
.media-heading.text-h1
|
.media-heading.text-h1
|
||||||
span(data-i18n="about.story_statistic_1a")
|
span(data-i18n="about.story_statistic_1a")
|
||||||
| 5,000,000+
|
|
||||||
br
|
br
|
||||||
span(data-i18n="about.story_statistic_1b")
|
span(data-i18n="about.story_statistic_1b")
|
||||||
| total players
|
p.text-h5(data-i18n="about.story_statistic_1c")
|
||||||
p.text-h5 have started their programming journey through CodeCombat
|
|
||||||
|
|
||||||
.col-lg-5.col-lg-offset-1
|
.col-lg-5.col-lg-offset-1
|
||||||
#story-graphic-2
|
#story-graphic-2
|
||||||
.media
|
.media
|
||||||
p.text-h5(data-i18n="about.story_statistic_2a")
|
p.text-h5(data-i18n="about.story_statistic_2a")
|
||||||
| We’ve been translated into over 50 languages — our players hail from
|
|
||||||
.pull-right
|
.pull-right
|
||||||
img(src="/images/pages/about/globe_green.png")
|
img(src="/images/pages/about/globe_green.png")
|
||||||
.media-body
|
.media-body
|
||||||
.media-heading.text-h1(data-i18n="about.story_statistic_2b")
|
.media-heading.text-h1(data-i18n="about.story_statistic_2b")
|
||||||
| 200+ countries
|
|
||||||
|
|
||||||
#story-graphic-3.text-center
|
#story-graphic-3.text-center
|
||||||
p
|
p
|
||||||
div.text-h5(data-i18n="about.story_statistic_3a")
|
div.text-h5(data-i18n="about.story_statistic_3a")
|
||||||
| Together, they have written
|
|
||||||
#story-bracketed-text
|
#story-bracketed-text
|
||||||
div#left-bracket
|
div#left-bracket
|
||||||
img(src="/images/pages/about/bracket_left.png")
|
img(src="/images/pages/about/bracket_left.png")
|
||||||
div.text-h1(data-i18n="about.story_statistic_3b")
|
div.text-h1(data-i18n="about.story_statistic_3b")
|
||||||
| 1 billion lines of code and counting
|
|
||||||
div#right-bracket
|
div#right-bracket
|
||||||
img(src="/images/pages/about/bracket_right.png")
|
img(src="/images/pages/about/bracket_right.png")
|
||||||
#story-languages
|
#story-languages
|
||||||
.text-center
|
.text-center
|
||||||
.text-h5(data-i18n="about.story_statistic_3c")
|
.text-h5(data-i18n="about.story_statistic_3c")
|
||||||
| across six different programming languages
|
|
||||||
#language-icons.text-center
|
#language-icons.text-center
|
||||||
img.hidden-xs(src="/images/pages/about/Languages.png")
|
img.hidden-xs(src="/images/pages/about/languages.png")
|
||||||
img.hidden-sm.hidden-md.hidden-lg(src="/images/pages/about/Languages_group1.png")
|
img.hidden-sm.hidden-md.hidden-lg(src="/images/pages/about/languages_group1.png")
|
||||||
img.hidden-sm.hidden-md.hidden-lg(src="/images/pages/about/Languages_group2.png")
|
img.hidden-sm.hidden-md.hidden-lg(src="/images/pages/about/languages_group2.png")
|
||||||
|
|
||||||
#story-graphic-4.text-center
|
#story-graphic-4.text-center
|
||||||
p
|
p
|
||||||
div.text-h5(data-i18n="about.story_long_way_1")
|
div.text-h5(data-i18n="about.story_long_way_1")
|
||||||
| Though we've come a long way...
|
|
||||||
figure
|
figure
|
||||||
img(src="/images/pages/about/sketch.png")
|
img(src="/images/pages/about/sketch.png")
|
||||||
figcaption
|
figcaption
|
||||||
small(data-i18n="about.story_sketch_caption")
|
small(data-i18n="about.story_sketch_caption")
|
||||||
| Nick's very first sketch depicting a programming game in action.
|
|
||||||
p
|
p
|
||||||
.text-h5(data-i18n="about.story_long_way_2")
|
.text-h5(data-i18n="about.story_long_way_2")
|
||||||
| we still have much to do before we complete our quest, so...
|
|
||||||
|
|
||||||
#jobs.anchor
|
#jobs.anchor
|
||||||
.text-center
|
.text-center
|
||||||
h3(data-i18n="about.jobs_title")
|
h3(data-i18n="about.jobs_title")
|
||||||
| Come work with us and help write CodeCombat history!
|
|
||||||
h4(data-i18n="about.jobs_subtitle")
|
h4(data-i18n="about.jobs_subtitle")
|
||||||
| Don't see a good fit but interested in keeping in touch? See our "Create Your Own" listing.
|
|
||||||
#jobs-row.row
|
#jobs-row.row
|
||||||
.col-sm-6.col-md-5.col-md-offset-1.col-lg-4.col-lg-offset-0
|
.col-sm-6.col-md-5.col-md-offset-1.col-lg-4.col-lg-offset-0
|
||||||
#benefits
|
#benefits
|
||||||
h5(data-i18n="about.jobs_benefits")
|
h5(data-i18n="about.jobs_benefits")
|
||||||
| Employee Benefits
|
|
||||||
ul
|
ul
|
||||||
li.small(data-i18n="about.jobs_benefit_1")
|
li.small(data-i18n="about.jobs_benefit_1")
|
||||||
| Competitive salary and options
|
|
||||||
li.small(data-i18n="about.jobs_benefit_2")
|
li.small(data-i18n="about.jobs_benefit_2")
|
||||||
| 15 day minimum vacation policy, excluding company holidays
|
|
||||||
li.small(data-i18n="about.jobs_benefit_3")
|
li.small(data-i18n="about.jobs_benefit_3")
|
||||||
| Work from home flexibility
|
|
||||||
li.small(data-i18n="about.jobs_benefit_4")
|
li.small(data-i18n="about.jobs_benefit_4")
|
||||||
| Unlimited sick/personal days
|
|
||||||
li.small(data-i18n="about.jobs_benefit_5")
|
li.small(data-i18n="about.jobs_benefit_5")
|
||||||
| Professional development and continuing education support
|
|
||||||
li.small(data-i18n="about.jobs_benefit_6")
|
li.small(data-i18n="about.jobs_benefit_6")
|
||||||
| Medical/dental/vision insurance
|
|
||||||
.col-sm-6.col-md-5.col-lg-4
|
.col-sm-6.col-md-5.col-lg-4
|
||||||
.job-listing
|
.job-listing
|
||||||
h5 Software Engineer, iOS
|
h5 Software Engineer, iOS
|
||||||
|
@ -300,56 +258,48 @@ block content
|
||||||
| San Francisco • Fulltime
|
| San Francisco • Fulltime
|
||||||
p.small Want to write the first iPad app for CodeCombat? We’re looking for a product-focused engineer to translate our core gameplay and educational tools into an experience that feels like it was born on the iPad.
|
p.small Want to write the first iPad app for CodeCombat? We’re looking for a product-focused engineer to translate our core gameplay and educational tools into an experience that feels like it was born on the iPad.
|
||||||
a.job-link.btn.btn-lg.btn-navy(href="https://jobs.lever.co/codecombat/eb190007-7195-49ee-a322-893b0d1cdcb4" rel="external")
|
a.job-link.btn.btn-lg.btn-navy(href="https://jobs.lever.co/codecombat/eb190007-7195-49ee-a322-893b0d1cdcb4" rel="external")
|
||||||
| Learn More
|
span(data-i18n="about.learn_more")
|
||||||
.col-sm-6.col-md-5.col-md-offset-1.col-lg-4.col-lg-offset-0
|
.col-sm-6.col-md-5.col-md-offset-1.col-lg-4.col-lg-offset-0
|
||||||
.job-listing
|
.job-listing
|
||||||
h5 Head of Sales
|
h5 Head of Sales
|
||||||
.text-center
|
.text-center
|
||||||
small.label
|
small.label
|
||||||
| San Francisco • Fulltime
|
| San Francisco • Fulltime
|
||||||
p.small School districts are scrambling to offer computer science classes to all their students as a core subject. They have had no solution, because they can't afford to hire enough programming teachers – until now.
|
p.small School districts are scrambling to offer computer science classes to all their students as a core subject. They have had no solution, because they can't afford to hire enough programming teachers – until now.
|
||||||
a.job-link.btn.btn-lg.btn-navy(href="https://jobs.lever.co/codecombat/2d0194ed-7c69-4aab-b1f9-363ca4b9f04b" rel="external")
|
a.job-link.btn.btn-lg.btn-navy(href="https://jobs.lever.co/codecombat/2d0194ed-7c69-4aab-b1f9-363ca4b9f04b" rel="external")
|
||||||
| Learn More
|
span(data-i18n="about.learn_more")
|
||||||
.col-sm-6.col-md-5.col-lg-4
|
.col-sm-6.col-md-5.col-lg-4
|
||||||
.job-listing
|
.job-listing
|
||||||
h5 Sales Representative
|
h5 Sales Representative
|
||||||
.text-center
|
.text-center
|
||||||
small.label
|
small.label
|
||||||
| San Francisco • Fulltime
|
| San Francisco • Fulltime
|
||||||
p.small School districts are scrambling to offer computer science classes to all their students as a core subject. They have had no solution, because they can't afford to hire enough programming teachers – until now.
|
p.small School districts are scrambling to offer computer science classes to all their students as a core subject. They have had no solution, because they can't afford to hire enough programming teachers – until now.
|
||||||
a.job-link.btn.btn-lg.btn-navy(href="https://jobs.lever.co/codecombat/3f6ff123-16ce-4ecb-aba3-dcf4e8927c47" rel="external")
|
a.job-link.btn.btn-lg.btn-navy(href="https://jobs.lever.co/codecombat/3f6ff123-16ce-4ecb-aba3-dcf4e8927c47" rel="external")
|
||||||
| Learn More
|
span(data-i18n="about.learn_more")
|
||||||
.col-sm-6.col-md-5.col-md-offset-1.col-lg-4.col-lg-offset-0
|
.col-sm-6.col-md-5.col-md-offset-1.col-lg-4.col-lg-offset-0
|
||||||
.job-listing
|
.job-listing
|
||||||
h5(data-i18n="about.jobs_custom_title")
|
h5(data-i18n="about.jobs_custom_title")
|
||||||
| Create Your Own
|
|
||||||
p.small(data-i18n="about.jobs_custom_description")
|
p.small(data-i18n="about.jobs_custom_description")
|
||||||
| Are you passionate about CodeCombat but don't see a job listed that matches your qualifications? Write us and show how you think you can contribute to our team. We'd love to hear from you!
|
|
||||||
p.small
|
p.small
|
||||||
span(data-i18n="about.jobs_custom_contact_1")
|
span.spr(data-i18n="about.jobs_custom_contact_1")
|
||||||
| Send us a note at
|
|
||||||
a(href="mailto:team@codecombat.com")
|
a(href="mailto:team@codecombat.com")
|
||||||
| team@codecombat.com
|
| team@codecombat.com
|
||||||
span(data-i18n="about.jobs_custom_contact_2")
|
span.spl(data-i18n="about.jobs_custom_contact_2")
|
||||||
| introducing yourself and we might get in touch in the future!
|
|
||||||
|
|
||||||
#contact.anchor
|
#contact.anchor
|
||||||
.text-center
|
.text-center
|
||||||
h3(data-i18n="about.contact_title")
|
h3(data-i18n="about.contact_title")
|
||||||
| Press & Contact
|
|
||||||
h4(data-i18n="about.contact_subtitle")
|
h4(data-i18n="about.contact_subtitle")
|
||||||
| Need more information? Get in touch with us at
|
a(href="mailto:team@codecombat.com") team@codecombat.com
|
||||||
a(href="mailto:team@codecombat.com") team@codecombat.com
|
|
||||||
|
|
||||||
#files
|
#files
|
||||||
.row
|
.row
|
||||||
.col-md-6.col-lg-8
|
.col-md-6.col-lg-8
|
||||||
#screenshots
|
#screenshots
|
||||||
span.label(data-i18n="about.screenshots_title")
|
span.label(data-i18n="about.screenshots_title")
|
||||||
| Game Screenshots
|
|
||||||
.hidden-sm.hidden-md.hidden-lg
|
.hidden-sm.hidden-md.hidden-lg
|
||||||
small(data-i18n="about.screenshots_hint")
|
small(data-i18n="about.screenshots_hint")
|
||||||
| (click to view full size)
|
|
||||||
#screenshot-grid
|
#screenshot-grid
|
||||||
a.screen-thumbnail(data-toggle="modal", data-target="#screenshot-lightbox", data-index='0')
|
a.screen-thumbnail(data-toggle="modal", data-target="#screenshot-lightbox", data-index='0')
|
||||||
img(src="/images/pages/about/screenshot_desert.png")
|
img(src="/images/pages/about/screenshot_desert.png")
|
||||||
|
@ -361,44 +311,36 @@ block content
|
||||||
img(src="/images/pages/about/screenshot_glacier.png")
|
img(src="/images/pages/about/screenshot_glacier.png")
|
||||||
.clearfix.hidden-xs
|
.clearfix.hidden-xs
|
||||||
small(data-i18n="about.screenshots_hint")
|
small(data-i18n="about.screenshots_hint")
|
||||||
| (click to view full size)
|
|
||||||
.col-md-6.col-lg-4
|
.col-md-6.col-lg-4
|
||||||
#downloads-container
|
#downloads-container
|
||||||
#downloads
|
#downloads
|
||||||
.label(data-i18n="about.downloads_title")
|
.label(data-i18n="about.downloads_title")
|
||||||
| Download Assets & Information
|
|
||||||
ul
|
ul
|
||||||
li
|
li
|
||||||
a.small(href="http://files.codecombat.com/presspack/AboutCodeCombat.pdf")
|
a.small(href="http://files.codecombat.com/presspack/AboutCodeCombat.pdf")
|
||||||
span(data-i18n="about.about_codecombat")
|
span(data-i18n="about.about_codecombat")
|
||||||
| About CodeCombat
|
|
||||||
| (.pdf)
|
| (.pdf)
|
||||||
li
|
li
|
||||||
a.small(href="http://files.codecombat.com/presspack/CodeCombat-Logo.ai")
|
a.small(href="http://files.codecombat.com/presspack/CodeCombat-Logo.ai")
|
||||||
span(data-i18n="about.logo")
|
span(data-i18n="about.logo")
|
||||||
| Logo
|
|
||||||
| (.ai)
|
| (.ai)
|
||||||
li
|
li
|
||||||
a.small(href="http://files.codecombat.com/presspack/CodeCombat-Logo.png")
|
a.small(href="http://files.codecombat.com/presspack/CodeCombat-Logo.png")
|
||||||
span(data-i18n="about.logo")
|
span(data-i18n="about.logo")
|
||||||
| Logo
|
|
||||||
| (.png)
|
| (.png)
|
||||||
li
|
li
|
||||||
a.small(href="http://files.codecombat.com/presspack/GameImages.zip")
|
a.small(href="http://files.codecombat.com/presspack/GameImages.zip")
|
||||||
span(data-i18n="about.screenshots")
|
span(data-i18n="about.screenshots")
|
||||||
| Screenshots
|
|
||||||
| (.zip)
|
| (.zip)
|
||||||
li
|
li
|
||||||
a.small(href="http://files.codecombat.com/presspack/gameimages/CodeCombat_Splash.png")
|
a.small(href="http://files.codecombat.com/presspack/gameimages/CodeCombat_Splash.png")
|
||||||
span(data-i18n="about.character_art")
|
span(data-i18n="about.character_art")
|
||||||
| Character Art
|
|
||||||
| (.png)
|
| (.png)
|
||||||
.text-center
|
.text-center
|
||||||
a.btn.btn-lg.btn-primary-alt#download-button(href="http://files.codecombat.com/presspack/CodeCombat_PressPack.zip")
|
a.btn.btn-lg.btn-primary-alt#download-button(href="http://files.codecombat.com/presspack/CodeCombat_PressPack.zip")
|
||||||
span.glyphicon.glyphicon-download-alt
|
span.glyphicon.glyphicon-download-alt
|
||||||
span(data-i18n="about.download_all")
|
span(data-i18n="about.download_all")
|
||||||
| Download All
|
|
||||||
|
|
||||||
#screenshot-lightbox.modal.fade(data-show="false")
|
#screenshot-lightbox.modal.fade(data-show="false")
|
||||||
.modal-dialog
|
.modal-dialog
|
||||||
.modal-content
|
.modal-content
|
||||||
|
@ -408,23 +350,23 @@ block content
|
||||||
li(data-target=".screenshot-display", data-slide-to="1")
|
li(data-target=".screenshot-display", data-slide-to="1")
|
||||||
li(data-target=".screenshot-display", data-slide-to="2")
|
li(data-target=".screenshot-display", data-slide-to="2")
|
||||||
li(data-target=".screenshot-display", data-slide-to="3")
|
li(data-target=".screenshot-display", data-slide-to="3")
|
||||||
|
|
||||||
.carousel-inner
|
.carousel-inner
|
||||||
.item.active
|
.item.active
|
||||||
img#screenshot-desert(src="/images/pages/about/Desert.png")
|
img#screenshot-desert(src="/images/pages/about/desert.png")
|
||||||
.item
|
.item
|
||||||
img#screenshot-forest(src="/images/pages/about/Forest.png")
|
img#screenshot-forest(src="/images/pages/about/forest.png")
|
||||||
.item
|
.item
|
||||||
img#screenshot-dungeon(src="/images/pages/about/Dungeon.png")
|
img#screenshot-dungeon(src="/images/pages/about/dungeon.png")
|
||||||
.item
|
.item
|
||||||
img#screenshot-glacier(src="/images/pages/about/Glacier.png")
|
img#screenshot-glacier(src="/images/pages/about/glacier.png")
|
||||||
a#carousel-left.left.carousel-control(href="#screenshot-carousel", role="button")
|
a#carousel-left.left.carousel-control(href="#screenshot-carousel", role="button")
|
||||||
span.glyphicon.glyphicons-chevron-left.glyphicon-chevron-left(aria-hidden="true")
|
span.glyphicon.glyphicons-chevron-left.glyphicon-chevron-left(aria-hidden="true")
|
||||||
span.sr-only Previous
|
span.sr-only(data-i18n="about.previous")
|
||||||
a#carousel-right.right.carousel-control(href="#screenshot-carousel", role="button")
|
a#carousel-right.right.carousel-control(href="#screenshot-carousel", role="button")
|
||||||
span.glyphicon.glyphicons-chevron-right.glyphicon-chevron-right(aria-hidden="true")
|
span.glyphicon.glyphicons-chevron-right.glyphicon-chevron-right(aria-hidden="true")
|
||||||
span.sr-only Next
|
span.sr-only(data-i18n="about.next")
|
||||||
|
|
||||||
#location
|
#location
|
||||||
.row
|
.row
|
||||||
.col-sm-4.col-sm-offset-2
|
.col-sm-4.col-sm-offset-2
|
||||||
|
@ -437,5 +379,4 @@ block content
|
||||||
.col-sm-4
|
.col-sm-4
|
||||||
p
|
p
|
||||||
b(data-i18n="about.location_title")
|
b(data-i18n="about.location_title")
|
||||||
| We're located in downtown SF:
|
|
||||||
iframe(width="370", height="280", frameBorder="2", src="https://www.google.com/maps/embed/v1/place?key=AIzaSyAIGQz3OMbv5YWivScUM86-zESjEgJR2Xo&q=360+3rd+St+Suite+700,+San+Francisco,+CA+94107")
|
iframe(width="370", height="280", frameBorder="2", src="https://www.google.com/maps/embed/v1/place?key=AIzaSyAIGQz3OMbv5YWivScUM86-zESjEgJR2Xo&q=360+3rd+St+Suite+700,+San+Francisco,+CA+94107")
|
||||||
|
|
|
@ -6,7 +6,7 @@ module.exports = class AboutView extends RootView
|
||||||
template: template
|
template: template
|
||||||
|
|
||||||
logoutRedirectURL: false
|
logoutRedirectURL: false
|
||||||
|
|
||||||
events:
|
events:
|
||||||
'click #mission-link': 'onClickMissionLink'
|
'click #mission-link': 'onClickMissionLink'
|
||||||
'click #team-link': 'onClickTeamLink'
|
'click #team-link': 'onClickTeamLink'
|
||||||
|
@ -17,12 +17,12 @@ module.exports = class AboutView extends RootView
|
||||||
'click .screen-thumbnail': 'onClickScreenThumbnail'
|
'click .screen-thumbnail': 'onClickScreenThumbnail'
|
||||||
'click #carousel-left': 'onLeftPressed'
|
'click #carousel-left': 'onLeftPressed'
|
||||||
'click #carousel-right': 'onRightPressed'
|
'click #carousel-right': 'onRightPressed'
|
||||||
|
|
||||||
shortcuts:
|
shortcuts:
|
||||||
'right': 'onRightPressed'
|
'right': 'onRightPressed'
|
||||||
'left': 'onLeftPressed'
|
'left': 'onLeftPressed'
|
||||||
'esc': 'onEscapePressed'
|
'esc': 'onEscapePressed'
|
||||||
|
|
||||||
afterRender: ->
|
afterRender: ->
|
||||||
super(arguments...)
|
super(arguments...)
|
||||||
@$('#fixed-nav').affix({
|
@$('#fixed-nav').affix({
|
||||||
|
@ -36,36 +36,36 @@ module.exports = class AboutView extends RootView
|
||||||
offset: 150
|
offset: 150
|
||||||
)
|
)
|
||||||
@$('#screenshot-lightbox').modal()
|
@$('#screenshot-lightbox').modal()
|
||||||
|
|
||||||
@$('#screenshot-carousel').carousel({
|
@$('#screenshot-carousel').carousel({
|
||||||
interval: 0
|
interval: 0
|
||||||
keyboard: false
|
keyboard: false
|
||||||
})
|
})
|
||||||
|
|
||||||
onClickMissionLink: (event) ->
|
onClickMissionLink: (event) ->
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
@scrollToLink('#mission')
|
@scrollToLink('#mission')
|
||||||
|
|
||||||
onClickTeamLink: (event) ->
|
onClickTeamLink: (event) ->
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
@scrollToLink('#team')
|
@scrollToLink('#team')
|
||||||
|
|
||||||
onClickCommunityLink: (event) ->
|
onClickCommunityLink: (event) ->
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
@scrollToLink('#community')
|
@scrollToLink('#community')
|
||||||
|
|
||||||
onClickStoryLink: (event) ->
|
onClickStoryLink: (event) ->
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
@scrollToLink('#story')
|
@scrollToLink('#story')
|
||||||
|
|
||||||
onClickJobsLink: (event) ->
|
onClickJobsLink: (event) ->
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
@scrollToLink('#jobs')
|
@scrollToLink('#jobs')
|
||||||
|
|
||||||
onClickContactLink: (event) ->
|
onClickContactLink: (event) ->
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
@scrollToLink('#contact')
|
@scrollToLink('#contact')
|
||||||
|
|
||||||
onRightPressed: (event) ->
|
onRightPressed: (event) ->
|
||||||
# Special handling, otherwise after you click the control, keyboard presses move the slide twice
|
# Special handling, otherwise after you click the control, keyboard presses move the slide twice
|
||||||
return if event.type is 'keydown' and $(document.activeElement).is('.carousel-control')
|
return if event.type is 'keydown' and $(document.activeElement).is('.carousel-control')
|
||||||
|
@ -78,7 +78,7 @@ module.exports = class AboutView extends RootView
|
||||||
if $('#screenshot-lightbox').data('bs.modal')?.isShown
|
if $('#screenshot-lightbox').data('bs.modal')?.isShown
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
$('#screenshot-carousel').carousel('prev')
|
$('#screenshot-carousel').carousel('prev')
|
||||||
|
|
||||||
onEscapePressed: (event) ->
|
onEscapePressed: (event) ->
|
||||||
if $('#screenshot-lightbox').data('bs.modal')?.isShown
|
if $('#screenshot-lightbox').data('bs.modal')?.isShown
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
|
@ -89,5 +89,3 @@ module.exports = class AboutView extends RootView
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
# Modal opening happens automatically from bootstrap
|
# Modal opening happens automatically from bootstrap
|
||||||
$('#screenshot-carousel').carousel($(event.currentTarget).data("index"))
|
$('#screenshot-carousel').carousel($(event.currentTarget).data("index"))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,9 +18,7 @@ module.exports = class AnalyticsSubscriptionsView extends RootView
|
||||||
super options
|
super options
|
||||||
@showMoreCancellations = false
|
@showMoreCancellations = false
|
||||||
@resetSubscriptionsData()
|
@resetSubscriptionsData()
|
||||||
if me.isAdmin()
|
@refreshData() if me.isAdmin()
|
||||||
@refreshData()
|
|
||||||
_.delay (=> @refreshData()), 30 * 60 * 1000
|
|
||||||
|
|
||||||
getRenderData: ->
|
getRenderData: ->
|
||||||
context = super()
|
context = super()
|
||||||
|
|
Loading…
Reference in a new issue