diff --git a/app/core/Router.coffee b/app/core/Router.coffee index f083ae0c4..c083e408d 100644 --- a/app/core/Router.coffee +++ b/app/core/Router.coffee @@ -158,6 +158,8 @@ module.exports = class CocoRouter extends Backbone.Router 'teachers/licenses': go('courses/EnrollmentsView', { teachersOnly: true }) 'teachers/freetrial': go('teachers/RequestQuoteView') 'teachers/quote': redirect('/teachers/demo') + 'teachers/resources': go('teachers/ResourceHubView') + 'teachers/resources/:name': go('teachers/MarkdownResourceView') 'teachers/signup': -> return @routeDirectly('teachers/CreateTeacherAccountView', []) if me.isAnonymous() @navigate('/teachers/update-account', {trigger: true, replace: true}) diff --git a/app/locale/en.coffee b/app/locale/en.coffee index edb3c4344..f05c6568e 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -888,6 +888,7 @@ more_info_3: "is a good place to connect with fellow educators who are using CodeCombat." licenses_needed: "Licenses needed" + teachers_quote: name: "Demo Form" title: "Request a Demo" @@ -1508,6 +1509,18 @@ project: "Project" view_student_project: "View Student Project" view_arena_ladder: "View Arena Ladder" + resource_hub: "Resource Hub" + getting_started: "Getting Started" + teacher_getting_started: "Teacher Getting Started Guide" + teacher_getting_started_desc: "New to CodeCombat? Download this Teacher Getting Started Guide to set up your account, create your first class, and invite students to the first course." + student_getting_started: "Student Quick Start Guide" + student_getting_started_desc: "You can distribute this guide to your students before starting CodeCombat so that they can familiarize themselves with the code editor. This guide can be used for both Python and JavaScript classrooms." + cs1: "Introduction to Computer Science" + cs1_syntax_python: "Course 1 Python Syntax Guide" + cs1_syntax_python_desc: "Cheatsheet with references to common Python syntax that students will learn in Introduction to Computer Science." + cs1_syntax_javascript: "Course 1 JavaScript Syntax Guide" + cs1_syntax_javascript_desc: "Cheatsheet with references to common JavaScript syntax that students will learn in Introduction to Computer Science." + coming_soon: "Additional guides coming soon!" sharing: game: "Game" diff --git a/app/styles/courses/teacher-class-view.sass b/app/styles/courses/teacher-class-view.sass index efd6757e9..7a3a0ce5b 100644 --- a/app/styles/courses/teacher-class-view.sass +++ b/app/styles/courses/teacher-class-view.sass @@ -260,7 +260,6 @@ min-width: 34px height: 34px border-radius: 16px - padding: 0 10px // margin-top: 23px // margin-bottom: 23px background: $gray-light diff --git a/app/styles/teachers/ResourceHubView.sass b/app/styles/teachers/ResourceHubView.sass new file mode 100644 index 000000000..dae0d105d --- /dev/null +++ b/app/styles/teachers/ResourceHubView.sass @@ -0,0 +1,20 @@ +#resource-hub-view, #markdown-resource-view + + .content + margin: 0 auto 0 auto + // padding: 50px + + .content + + h4 + margin: 20px 0 0 0 + + ul + margin: 0 0 50px 0 + + h4 + .comingsoon + text-align: center + margin: 0 auto 0 auto + color: #666 + margin: 30px 0 0 0 diff --git a/app/templates/courses/teacher-dashboard-nav.jade b/app/templates/courses/teacher-dashboard-nav.jade index 6ee1bb32b..ebc898532 100644 --- a/app/templates/courses/teacher-dashboard-nav.jade +++ b/app/templates/courses/teacher-dashboard-nav.jade @@ -21,6 +21,9 @@ li(class= path.indexOf('/teachers/licenses') === 0 ? 'active' : '') a(href='/teachers/licenses') small.label(data-i18n='teacher.enrollments') + li(class= path.indexOf('/teachers/resources') === 0 ? 'active' : '') + a(href='/teachers/resources') + small.label(data-i18n='teacher.resource_hub') //- li(class= path.indexOf('TODO') === 0 ? 'active' : '') //- a(href='TODO') //- small.label(data-i18n='teacher.resources') diff --git a/app/templates/teachers/markdown-resource-view.jade b/app/templates/teachers/markdown-resource-view.jade new file mode 100644 index 000000000..ab06644ed --- /dev/null +++ b/app/templates/teachers/markdown-resource-view.jade @@ -0,0 +1,8 @@ +extends /templates/base-flat + +block page_nav + include ../courses/teacher-dashboard-nav.jade + +block content + + .container!=view.content diff --git a/app/templates/teachers/resource-hub-view.jade b/app/templates/teachers/resource-hub-view.jade new file mode 100644 index 000000000..ad5c599fa --- /dev/null +++ b/app/templates/teachers/resource-hub-view.jade @@ -0,0 +1,43 @@ +extends /templates/base-flat + +block page_nav + include ../courses/teacher-dashboard-nav.jade + +block content + + .container + + .content + h1(data-i18n="teacher.resource_hub") + + + h4(data-i18n="teacher.getting_started") + ul + li + a(href="http://files.codecombat.com/docs/resources/TeacherGettingStartedGuide.pdf" target="blank") + span(data-i18n="teacher.teacher_getting_started") + span.spl [PDF] + p(data-i18n="teacher.teacher_getting_started_desc") + li + a(href="http://files.codecombat.com/docs/resources/StudentQuickStartGuide.pdf" target="blank") + span(data-i18n="teacher.student_getting_started") + span.spl [PDF] + p(data-i18n="teacher.student_getting_started_desc") + + h4(data-i18n="teacher.cs1") + ul + + li + a(href="http://files.codecombat.com/docs/resources/Course1PythonSyntaxGuide.pdf" target="blank") + span(data-i18n="teacher.cs1_syntax_python") + span.spl [PDF] + p(data-i18n="teacher.cs1_syntax_python_desc") + li + a(href="http://files.codecombat.com/docs/resources/Course1JavaScriptSyntaxGuide.pdf" target="blank") + span(data-i18n="teacher.cs1_syntax_javascript") + span.spl [PDF] + p(data-i18n="teacher.cs1_syntax_javascript_desc") + + h4 + .comingsoon + i(data-i18n="teacher.coming_soon") diff --git a/app/views/teachers/MarkdownResourceView.coffee b/app/views/teachers/MarkdownResourceView.coffee new file mode 100644 index 000000000..21f12b974 --- /dev/null +++ b/app/views/teachers/MarkdownResourceView.coffee @@ -0,0 +1,15 @@ +RootView = require 'views/core/RootView' + +module.exports = class MarkdownResourceView extends RootView + id: 'markdown-resource-view' + template: require 'templates/teachers/markdown-resource-view' + initialize: (options, @name) -> + super(options) + @content = '' + $.get '/markdown/' + @name + '.md', (data) => + if data.indexOf('') is -1 + @content = marked(data, sanitize: false) + else + @content = "

Not Found

" + + @render() diff --git a/app/views/teachers/ResourceHubView.coffee b/app/views/teachers/ResourceHubView.coffee new file mode 100644 index 000000000..25c3153be --- /dev/null +++ b/app/views/teachers/ResourceHubView.coffee @@ -0,0 +1,5 @@ +RootView = require 'views/core/RootView' + +module.exports = class ResourceHubView extends RootView + id: 'resource-hub-view' + template: require 'templates/teachers/resource-hub-view' diff --git a/scripts/mongodb/updateCourses.js b/scripts/mongodb/updateCourses.js index 0d10d9cd7..bc87db27f 100644 --- a/scripts/mongodb/updateCourses.js +++ b/scripts/mongodb/updateCourses.js @@ -64,7 +64,7 @@ var courses = description: "Learn more advanced game development.", duration: NumberInt(2), free: false, - releasePhase: 'beta' + releasePhase: 'released' }, { name: "Web Development 2", @@ -73,7 +73,7 @@ var courses = description: "Learn more advanced web development, including scripting to make interactive webpages.", duration: NumberInt(2), free: false, - releasePhase: 'beta' + releasePhase: 'released' }, { name: "Computer Science 4",