diff --git a/assets/stylesheets/course/index.css b/assets/stylesheets/course/index.css index 7e8c2c3..ad98f88 100644 --- a/assets/stylesheets/course/index.css +++ b/assets/stylesheets/course/index.css @@ -1,10 +1,6 @@ @import './card'; @block course { - display: flex; - flex-direction: column; - justify-content: space-between; - @element title { margin-bottom: calc(var(--grid-gutter)); } diff --git a/assets/stylesheets/global/sidebar-menu.css b/assets/stylesheets/global/sidebar-menu.css index 0b470e1..bda62c7 100644 --- a/assets/stylesheets/global/sidebar-menu.css +++ b/assets/stylesheets/global/sidebar-menu.css @@ -16,9 +16,13 @@ display: block; color: var(--color-text-grey); + &:hover, + &.active { + color: var(--color-text-default); + } + &.active { font-family: var(--font-medium); - color: var(--color-text-default); } } } diff --git a/assets/stylesheets/global/table-of-contents.css b/assets/stylesheets/global/table-of-contents.css index c0ec1df..effc65c 100644 --- a/assets/stylesheets/global/table-of-contents.css +++ b/assets/stylesheets/global/table-of-contents.css @@ -22,12 +22,12 @@ &:hover, &.active { - font-family: var(--font-medium); color: var(--color-text-default); } &.active { position: relative; + font-family: var(--font-medium); &:before, &:after { diff --git a/assets/stylesheets/layout/layout-sidebar.css b/assets/stylesheets/layout/layout-sidebar.css index 50acf82..d00d788 100644 --- a/assets/stylesheets/layout/layout-sidebar.css +++ b/assets/stylesheets/layout/layout-sidebar.css @@ -48,6 +48,7 @@ & > * { max-width: var(--layout-sidebar-content-width); + width: 100%; } } } diff --git a/assets/stylesheets/lesson/index.css b/assets/stylesheets/lesson/index.css index 814f79d..c7701e6 100644 --- a/assets/stylesheets/lesson/index.css +++ b/assets/stylesheets/lesson/index.css @@ -8,10 +8,6 @@ } @block lesson { - display: flex; - flex-direction: column; - justify-content: space-between; - @element title { margin-bottom: calc(var(--grid-gutter)); } diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index 13a2275..848a80b 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -922,6 +922,7 @@ input[type="reset"]:focus, .layout-sidebar__content > * { max-width: 732px; + width: 100%; } .grid-list { @@ -1345,12 +1346,12 @@ display: flex; .table-of-contents__link:hover, .table-of-contents__link.active { - font-family: 'robotomedium', Helvetica, sans-serif; color: #536171; } .table-of-contents__link.active { position: relative; + font-family: 'robotomedium', Helvetica, sans-serif; } .table-of-contents__link.active:before, @@ -1410,9 +1411,13 @@ display: flex; color: #8091a5; } +.sidebar-menu__link:hover, + .sidebar-menu__link.active { + color: #536171; +} + .sidebar-menu__link.active { font-family: 'robotomedium', Helvetica, sans-serif; - color: #536171; } .main-navigation ul { @@ -1745,18 +1750,7 @@ github.com style (c) Vasily Polovnyov border-bottom-color: #3c80cf; } -.course { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; -} +.course {} .course__title { margin-bottom: 22px; @@ -2025,18 +2019,7 @@ github.com style (c) Vasily Polovnyov height: auto; } -.lesson { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; -} +.lesson {} .lesson__title { margin-bottom: 22px; diff --git a/routes/settings.js b/routes/settings.js index 97bcd29..e3cdfe6 100644 --- a/routes/settings.js +++ b/routes/settings.js @@ -6,7 +6,11 @@ const router = express.Router() /* GET settings page. */ router.get('/', catchErrors(async function (req, res, next) { const cookie = req.cookies.theExampleAppSettings - const settings = cookie || { cpa: '', cda: '', space: '' } + const settings = cookie || { + space: process.env.CF_SPACE, + cda: process.env.CF_ACCESS_TOKEN, + cpa: process.env.CF_PREVIEW_ACCESS_TOKEN + } res.render('settings', { title: 'Settings', settings, diff --git a/views/course.pug b/views/course.pug index edf9684..d8c7eac 100644 --- a/views/course.pug +++ b/views/course.pug @@ -21,20 +21,17 @@ block content +lesson(lesson, course, nextLesson) else .course - .course__content - h1.course__title= course.fields.title - .course__overview - h3.course__overview-title Overview - if course.fields.duration - .course__overview-item - img.course__overview-icon(src='/images/icon-duration.svg') - .course__overview-value Duration: #{course.fields.duration} min - if course.fields.skillLevel - .course__overview-item - img.course__overview-icon(src='/images/icon-skill-level.svg') - .course__overview-value Skill level: #{course.fields.skillLevel} - .course__overview-cta-wrapper - a.course__overview-cta.cta(href=`/courses/${course.fields.slug}/lessons/${course.fields.lessons[0].fields.slug}${queryString}`) Start course - .course__description !{helpers.markdown(course.fields.description)} - .course__footer - a.course__cta.cta(href=`/courses/${course.fields.slug}/lessons/${course.fields.lessons[0].fields.slug}${queryString}`) Start course + h1.course__title= course.fields.title + .course__overview + h3.course__overview-title Overview + if course.fields.duration + .course__overview-item + img.course__overview-icon(src='/images/icon-duration.svg') + .course__overview-value Duration: #{course.fields.duration} min + if course.fields.skillLevel + .course__overview-item + img.course__overview-icon(src='/images/icon-skill-level.svg') + .course__overview-value Skill level: #{course.fields.skillLevel} + .course__overview-cta-wrapper + a.course__overview-cta.cta(href=`/courses/${course.fields.slug}/lessons/${course.fields.lessons[0].fields.slug}${queryString}`) Start course + .course__description !{helpers.markdown(course.fields.description)} diff --git a/views/courses.pug b/views/courses.pug index 2db918e..c19a519 100644 --- a/views/courses.pug +++ b/views/courses.pug @@ -11,10 +11,10 @@ block content .sidebar-menu ul.sidebar-menu__list li.sidebar-menu__item - a.sidebar-menu__link.active(href=`/courses${queryString}`) All courses + a.sidebar-menu__link(href=`/courses${queryString}` class=(currentPath.endsWith('/courses') ? 'active' : '')) All courses each category in categories li.sidebar-menu__item - a.sidebar-menu__link(href=`/courses/categories/${category.fields.slug}${queryString}`) #{category.fields.title} + a.sidebar-menu__link(href=`/courses/categories/${category.fields.slug}${queryString}` class=(currentPath.endsWith(category.fields.slug) ? 'active' : '')) #{category.fields.title} section.layout-sidebar__content .courses h1= title diff --git a/views/layout.pug b/views/layout.pug index b13f1a5..f6cfd08 100644 --- a/views/layout.pug +++ b/views/layout.pug @@ -24,10 +24,10 @@ html .header__controls form(action="" method="get") .group - label(for='api') API type: + label(for='api') API: select(name='api' onChange='this.form.submit()') - option(value='cda' selected=query.api === 'cda') Delivery API - option(value='cpa' selected=query.api === 'cpa') Preview API + option(value='cda' selected=query.api === 'cda') Content Delivery API + option(value='cpa' selected=query.api === 'cpa') Content Preview API .group label(for='locale') Locale: select(name='locale' onChange='this.form.submit()') diff --git a/views/mixins/_lesson.pug b/views/mixins/_lesson.pug index 2db5e88..409e14a 100644 --- a/views/mixins/_lesson.pug +++ b/views/mixins/_lesson.pug @@ -4,26 +4,24 @@ include _lessonModuleImage mixin lesson(lesson, course, nextLesson) .lesson - .lesson_content - h1.lesson__title #{lesson.fields.title} - div.lesson__short-description !{helpers.markdown(lesson.fields.description)} - if lesson.fields.image - img.lesson__image(src=`${lesson.fields.image.fields.file.url}` alt=`${lesson.fields.image.fields.title}`) - each module in lesson.fields.modules - if module.sys.contentType - case module.sys.contentType.sys.id - when 'lessonModuleCodeSnippets' - +lessonModuleCodeSnippet(module) - when 'lessonModuleCopy' - +lessonModuleCopy(module) - when 'lessonModuleImage' - +lessonModuleImage(module) - else - h2 ️️⚠️ Invalid lesson module - p - span Could not determine type of - strong #{module.sys.id} - .lesson_footer - if nextLesson - a.lesson__cta.cta(href=`/courses/${course.fields.slug}/lessons/${nextLesson.fields.slug}${queryString}`) View next lesson + h1.lesson__title #{lesson.fields.title} + div.lesson__short-description !{helpers.markdown(lesson.fields.description)} + if lesson.fields.image + img.lesson__image(src=`${lesson.fields.image.fields.file.url}` alt=`${lesson.fields.image.fields.title}`) + each module in lesson.fields.modules + if module.sys.contentType + case module.sys.contentType.sys.id + when 'lessonModuleCodeSnippets' + +lessonModuleCodeSnippet(module) + when 'lessonModuleCopy' + +lessonModuleCopy(module) + when 'lessonModuleImage' + +lessonModuleImage(module) + else + h2 ️️⚠️ Invalid lesson module + p + span Could not determine type of + strong #{module.sys.id} + if nextLesson + a.lesson__cta.cta(href=`/courses/${course.fields.slug}/lessons/${nextLesson.fields.slug}${queryString}`) View next lesson diff --git a/views/mixins/_moduleHighlightedCourse.pug b/views/mixins/_moduleHighlightedCourse.pug index b7e3112..0a6acf1 100644 --- a/views/mixins/_moduleHighlightedCourse.pug +++ b/views/mixins/_moduleHighlightedCourse.pug @@ -12,7 +12,8 @@ mixin moduleHighlightedCourse(module, course) .module-higlighted-course__categories each category in course.fields.categories a.module-higlighted-course__category(href=`/courses/categories/${category.fields.slug}${queryString}`) #{category.fields.title} - h2.module-higlighted-course__title= course.fields.title + h2.module-higlighted-course__title + a(href=`/courses/${course.fields.slug}${queryString}`)= course.fields.title .module-higlighted-course__description-wrapper p !{helpers.markdown(course.fields.shortDescription)} .module-higlighted-course__link-wrapper diff --git a/views/settings.pug b/views/settings.pug index 84b158d..1f99782 100644 --- a/views/settings.pug +++ b/views/settings.pug @@ -28,23 +28,23 @@ block content .form-item__help-text The Space ID is a unique identifier for your space. .form-item - label(for="cda") Delivery API key + label(for="cda") Content Delivery API - access token input(type="text" name="cda" value=settings.cda) if 'cda' in errors each message in errors.cda .form-item__error-message= message .form-item__help-text - | This key is used to connect to our  - a(href='https://www.contentful.com/developers/docs/references/content-delivery-api/' target='_blank' rel='noopener') Delivery API. + | View published content using this API.  + a(href='https://www.contentful.com/developers/docs/references/content-delivery-api/' target='_blank' rel='noopener') Content Delivery API. .form-item - label(for="cpa") Preview API key + label(for="cpa") Content Preview API - access token input(type="text" name="cpa" value=settings.cpa) if 'cpa' in errors each message in errors.cpa .form-item__error-message= message .form-item__help-text - | This key is used to connect to our  - a(href='https://www.contentful.com/developers/docs/references/content-preview-api/' target='_blank' rel='noopener') Preview API. + | Preview unpublished content using this API (i.e. content with “Draft” status).  + a(href='https://www.contentful.com/developers/docs/references/content-preview-api/' target='_blank' rel='noopener') Content Preview API. .form-item input.cta(type="submit" value="Load settings")