Site fonctionnel

pull/1/head
Optimal Sup-Spé 3 years ago
parent 45ba591029
commit dde582de8a
  1. 121
      src/GenerateurH5P.elm

@ -2196,7 +2196,7 @@ contentParser =
preambleParser = preambleParser =
-- Plus compliqué que nécessaire, en vue d'améliorations futures -- Plus compliqué que nécessaire, en vue d'améliorations futures
succeed identity succeed identity
|. blocContentParser |. genericBlocContentParser
type H5pSubContext type H5pSubContext
@ -2249,8 +2249,8 @@ branchingScenarioParser depth =
|> REx.sequence |> REx.sequence
|> buildBranchingScenario title |> buildBranchingScenario title
) )
|= headlineParser |= genericHeadlineParser
|. blocContentParser |. genericBlocContentParser
|= branchingScenarioContentParser (depth + 1) { content = [], lastIdUsed = -1 } |= branchingScenarioContentParser (depth + 1) { content = [], lastIdUsed = -1 }
@ -2372,8 +2372,8 @@ branchingQuestionParser :
-> Parser Context Problem BranchingScenarioState -> Parser Context Problem BranchingScenarioState
branchingQuestionParser depth state = branchingQuestionParser depth state =
succeed identity succeed identity
|= headlineParser |= genericHeadlineParser
|. blocContentParser |. genericBlocContentParser
|> andThen |> andThen
(\question -> (\question ->
succeed succeed
@ -2411,8 +2411,8 @@ branchingQuestionAlternativeParser depth state =
[ withStars depth <| [ withStars depth <|
inContext BranchingQuestionAlternativeContext <| inContext BranchingQuestionAlternativeContext <|
(succeed identity (succeed identity
|= headlineParser |= genericHeadlineParser
|. blocContentParser |. genericBlocContentParser
|> andThen |> andThen
(\alternative -> (\alternative ->
branchingScenarioContentParser (depth + 1) branchingScenarioContentParser (depth + 1)
@ -2464,15 +2464,15 @@ branchingQuestionAlternativeParser depth state =
coursePresentationParser depth = coursePresentationParser depth =
succeed buildCoursePresentation succeed buildCoursePresentation
|. headlineParser |. genericHeadlineParser
|. blocContentParser |. genericBlocContentParser
|= many coursePresentationSlideParser (depth + 1) |= many coursePresentationSlideParser (depth + 1)
coursePresentationSlideParser depth = coursePresentationSlideParser depth =
succeed buildSlide succeed buildSlide
|. headlineParser |. genericHeadlineParser
|. blocContentParser |. genericBlocContentParser
|= many coursePresentationSlideElementParser (depth + 1) |= many coursePresentationSlideElementParser (depth + 1)
@ -2507,15 +2507,77 @@ coursePresentationSlideElementParser depth =
trueFalseParser = trueFalseParser =
succeed (\proposition -> buildTrueFalse proposition True Nothing Nothing) succeed
|= headlineParser (\truthValue proposition feedback ->
|. blocContentParser buildTrueFalse proposition truthValue feedback.onCorrect feedback.onWrong
)
|= signParser
|= genericHeadlineParser
|= trueFalseBlocContentParser { onCorrect = [], onWrong = [] }
signParser =
oneOf
[ succeed True
|. token (Token "+" (Missing "+"))
, succeed False
|. token (Token "-" (Missing "-"))
]
trueFalseBlocContentParser feedback =
oneOf
[ succeed identity
|. spacesOrTabs
|= oneOf
[ succeed
(\truthValue line ->
case truthValue of
True ->
{ feedback | onCorrect = line :: feedback.onCorrect }
False ->
{ feedback | onWrong = line :: feedback.onWrong }
)
|. spacesOrTabs
|= signParser
|. atLeastOneSpace
|= getChompedString (chompWhile ((/=) '\n'))
|. oneOf
[ token (Token "\n" GenericProblem)
, succeed ()
]
|> andThen trueFalseBlocContentParser
, succeed
(\line ->
{ feedback
| onCorrect = line :: feedback.onCorrect
, onWrong = line :: feedback.onWrong
}
)
|= getChompedString
(succeed ()
|. chompIf ((/=) '*') EndOfFile
|. chompWhile ((/=) '\n')
|. chompWhile ((/=) '\n')
)
|. oneOf
[ token (Token "\n" GenericProblem)
, succeed ()
]
|> andThen trueFalseBlocContentParser
]
, succeed
{ onCorrect = Just <| S.join "\n" <| L.reverse feedback.onCorrect
, onWrong = Just <| S.join "\n" <| L.reverse feedback.onWrong
}
]
interactiveVideoParser depth = interactiveVideoParser depth =
succeed buildInteractiveVideo succeed buildInteractiveVideo
|= headlineParser |= genericHeadlineParser
|= blocContentParser |= genericBlocContentParser
@ -2551,19 +2613,16 @@ withStars depth parser =
atLeastOneSpace = atLeastOneSpace =
succeed () succeed ()
|. token (Token " " MissingSpace) |. space
|. mySpace |. spacesOrTabs
mySpace = space =
chompWhile (\x -> x == ' ' || x == '\t') token (Token " " MissingSpace)
recorder context headline blocContent = spacesOrTabs =
{ context = context chompWhile (\x -> x == ' ' || x == '\t')
, headline = headline
, blocContent = blocContent
}
subContextParser subContexts = subContextParser subContexts =
@ -2577,12 +2636,12 @@ subContextParser subContexts =
Nothing -> Nothing ->
succeed () succeed ()
) )
|. mySpace |. spacesOrTabs
in in
oneOf (L.map subContextParserHelp subContexts) oneOf (L.map subContextParserHelp subContexts)
headlineParser = genericHeadlineParser =
succeed identity succeed identity
|= (getChompedString <| chompWhile ((/=) '\n')) |= (getChompedString <| chompWhile ((/=) '\n'))
|. oneOf |. oneOf
@ -2591,7 +2650,7 @@ headlineParser =
] ]
blocContentParser = genericBlocContentParser =
getChompedString getChompedString
(succeed identity (succeed identity
|. chompWhile ((/=) '*') |. chompWhile ((/=) '*')
@ -2603,7 +2662,7 @@ blocContentParser =
[ end EndOfFile [ end EndOfFile
, succeed () , succeed ()
|. token (Token "*" EndOfFile) |. token (Token "*" EndOfFile)
|. blocContentParser |. genericBlocContentParser
] ]
else else
@ -2799,7 +2858,9 @@ buildCoursePresentationHelp slides =
, summarySlideSolutionButton = True , summarySlideSolutionButton = True
} }
, presentation = , presentation =
{ globalBackgroundSelector = { fillGlobalBackground = "" } { globalBackgroundSelector =
{ fillGlobalBackground = ""
}
, keywordListAlwaysShow = False , keywordListAlwaysShow = False
, keywordListAutoHide = False , keywordListAutoHide = False
, keywordListEnabled = True , keywordListEnabled = True

Loading…
Cancel
Save