diff --git a/src/coffee/controllers/tutorial_page_controller.coffee b/src/coffee/controllers/tutorial_page_controller.coffee index 45a9f03ff..f56c5202e 100644 --- a/src/coffee/controllers/tutorial_page_controller.coffee +++ b/src/coffee/controllers/tutorial_page_controller.coffee @@ -8,6 +8,8 @@ All rights reserved. AdsenseController = require './adsense_controller' BaseController = require './base_controller' MarkdownSectionController = require './markdown_section_controller' +VideoController = require './video_controller' +{Duration} = require '../constants' {Event} = require '../constants' {Url} = require '../constants' @@ -37,13 +39,16 @@ module.exports = class TutorialPageController extends BaseController onDidRender: -> @adsenseController = @addChild AdsenseController, '.view__adsense', model:'sidebar_skyscraper' - @$byline = @$('.byline') - @$bylineLink = @$('.byline a') - @$name = @$('.name') - @$officialLink = @$('a.officialPage') - @$sectionsContainer = @$('.sections') - @$title = @$('h1.name') - @$titleImage = @$('.titleImage img') + @$byline = @$('.byline') + @$bylineLink = @$('.byline a') + @$name = @$('.name') + @$officialLink = @$('a.officialPage') + @$sectionsContainer = @$('.sections') + @$title = @$('h1.name') + @$titleImage = @$('.titleImage img') + @$videosSection = @$('.videos') + @$videosSectionTitle = @$('.videos h2') + @$videosSectionPanel = @$('.videos .panel') super refresh: -> @@ -56,6 +61,7 @@ module.exports = class TutorialPageController extends BaseController @_refreshOfficialUrl() @_refreshSections() @_refreshTitle() + @_refreshVideos() super # Private Methods ############################################################################## @@ -106,6 +112,32 @@ module.exports = class TutorialPageController extends BaseController controller = @_sectionController.pop() controller.$el.fadeOut duration:Duration.normal, complete:-> @remove() + _refreshVideos: -> + @_videoControllers ?= [] + index = 0 + + videos = @model?.videos or [] + if videos? and videos.length > 0 + @$videosSection.slideDown duration:Duration.normal + @$videosSectionTitle.html if videos.length is 1 then 'Video' else 'Videos' + + for video in videos + controller = @_videoControllers[index] + if not controller? + controller = new VideoController model:video + @_videoControllers.push controller + controller.render() + @$videosSectionPanel.append controller.$el + else + controller.model = video + index++ + else + @$videosSection.slideUp duration:Duration.normal + + while @_videoControllers.length > index + controller = @_videoControllers.pop() + controller.$el.slideUp duration:Duration.normal, complete:-> controller.$el.remove() + _resolveTutorial: -> return if @model? diff --git a/src/coffee/underscore_mixins.coffee b/src/coffee/underscore_mixins.coffee index a4d9e0c9b..ac789d648 100644 --- a/src/coffee/underscore_mixins.coffee +++ b/src/coffee/underscore_mixins.coffee @@ -15,7 +15,7 @@ _.mixin result = text.toLowerCase() result = result.replace /[^a-zA-Z0-9_]/g, '_' - result = result.replace /__+/, '_' + result = result.replace /__+/g, '_' result = result.replace /^_/, '' result = result.replace /_$/, '' return result diff --git a/src/jade/templates/tutorial_page.jade b/src/jade/templates/tutorial_page.jade index 4029c040d..d3076229c 100644 --- a/src/jade/templates/tutorial_page.jade +++ b/src/jade/templates/tutorial_page.jade @@ -17,3 +17,7 @@ .byline: p from .sections + + .videos.section + h2 + .panel diff --git a/src/scss/classes.scss b/src/scss/classes.scss index 7879fb392..c797e935b 100644 --- a/src/scss/classes.scss +++ b/src/scss/classes.scss @@ -102,3 +102,11 @@ All rights reserved. padding: 1em; } } + +.videos { + display: none; + + .panel { + text-align: center; + } +} \ No newline at end of file diff --git a/src/scss/markdown.scss b/src/scss/markdown.scss index 62e7763d9..1e89387a7 100644 --- a/src/scss/markdown.scss +++ b/src/scss/markdown.scss @@ -39,6 +39,19 @@ All rights reserved. } } + ol { + margin: 2em 2em 0 2em; + + li { + font-family: $font-family-normal; + font-size: $font-size-normal; + line-height: $font-size-normal + 0.15em; + list-style: decimal; + margin: 0.66em 0 0 2em; + } + } + + ul { margin: 2em 2em 0 2em; diff --git a/src/scss/templates/item_page.scss b/src/scss/templates/item_page.scss index 137385cf1..2780a09d7 100644 --- a/src/scss/templates/item_page.scss +++ b/src/scss/templates/item_page.scss @@ -45,14 +45,6 @@ All rights reserved. .usedToMake { display: none; } - - .videos { - display: none; - - .panel { - text-align: center; - } - } } .view__item {