{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
module Study.Courses.English.Grammar.Introduction.Course (course) where
import Core
import Study.Courses.English.Grammar.Introduction.Lessons
import Language.Lojban.Dictionaries (englishDictionary)
import Study.Framework.DocumentBuilders (buildDocumentFromMarkdownCode)
import qualified Text.Pandoc as P
import Data.FileEmbed (embedStringFile)
longDescription :: P.Pandoc
Right Pandoc
longDescription = Text -> Either PandocError Pandoc
buildDocumentFromMarkdownCode $(embedStringFile "resources/courses/english/grammar/introduction/description.md")
credits :: P.Pandoc
Right Pandoc
credits = Text -> Either PandocError Pandoc
buildDocumentFromMarkdownCode $(embedStringFile "resources/courses/english/grammar/introduction/credits.md")
style :: CourseStyle
style :: CourseStyle
style = Maybe String -> Maybe String -> CourseStyle
CourseStyle Maybe String
color1 Maybe String
iconUrl where
color1 :: Maybe String
color1 = String -> Maybe String
forall a. a -> Maybe a
Just
String
"hsl(0, 0%, 30%)"
iconUrl :: Maybe String
iconUrl = String -> Maybe String
forall a. a -> Maybe a
Just
String
"https://image.flaticon.com/icons/svg/993/993723.svg"
course :: Course
course :: Course
course = Text
-> Text
-> Text
-> Maybe Pandoc
-> Maybe Pandoc
-> CourseStyle
-> Dictionary
-> [Lesson]
-> Course
Course Text
"grammar-intro_eng" Text
title Text
shortDescription (Pandoc -> Maybe Pandoc
forall a. a -> Maybe a
Just Pandoc
longDescription) (Pandoc -> Maybe Pandoc
forall a. a -> Maybe a
Just Pandoc
credits) CourseStyle
style Dictionary
englishDictionary [Lesson]
lessons where
title :: Text
title = Text
"Getting started with Lojban (alpha)"
shortDescription :: Text
shortDescription = Text
"Get started with Lojban, and assimilate beginner to intermediate concepts of the language."
lessons :: [Lesson]
lessons = [Lesson
lesson1, Lesson
lesson2, Lesson
lesson3, Lesson
lesson4, Lesson
lesson5, Lesson
lesson6, Lesson
lesson7, Lesson
checkpoint1to7, Lesson
lesson9, Lesson
lesson10, Lesson
lesson11, Lesson
lesson12, Lesson
checkpoint9to12, Lesson
lesson14, Lesson
lesson15, Lesson
lesson16, Lesson
lesson17, Lesson
lesson18, Lesson
checkpoint14to18, Lesson
lesson20, Lesson
lesson21, Lesson
lesson22, Lesson
lesson23, Lesson
lesson24, Lesson
checkpoint20to24, Lesson
lesson26, Lesson
lesson27]