@liascript/exporter 2.0.0--preview → 2.0.0--0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +8 -0
  2. package/dist/assets/{web/icon.f3eefe1e.eot → scorm1.2/icon.1a0c9db0.eot} +0 -0
  3. package/dist/assets/{scorm2004/icon.618c9e50.woff → scorm1.2/icon.589b6ad7.woff} +0 -0
  4. package/dist/assets/scorm1.2/icon.85f94224.woff2 +0 -0
  5. package/dist/assets/{scorm2004/icon.74e441c4.ttf → scorm1.2/icon.f3d23f63.ttf} +0 -0
  6. package/dist/assets/scorm1.2/index.0d8a8c42.js +1 -0
  7. package/dist/assets/scorm1.2/index.cc0e12ef.js +1 -0
  8. package/dist/assets/scorm1.2/{index.41f76f74.css → index.db57a2e0.css} +2 -2
  9. package/dist/assets/scorm1.2/index.html +1 -1
  10. package/dist/assets/scorm2004/{icon.f3eefe1e.eot → icon.1a0c9db0.eot} +0 -0
  11. package/dist/assets/{scorm1.2/icon.618c9e50.woff → scorm2004/icon.589b6ad7.woff} +0 -0
  12. package/dist/assets/scorm2004/icon.85f94224.woff2 +0 -0
  13. package/dist/assets/{web/icon.74e441c4.ttf → scorm2004/icon.f3d23f63.ttf} +0 -0
  14. package/dist/assets/scorm2004/index.0d8a8c42.js +1 -0
  15. package/dist/assets/scorm2004/index.a4d2ab01.js +1 -0
  16. package/dist/assets/scorm2004/{index.41f76f74.css → index.db57a2e0.css} +2 -2
  17. package/dist/assets/scorm2004/index.html +1 -1
  18. package/dist/assets/{scorm1.2/icon.f3eefe1e.eot → web/icon.1a0c9db0.eot} +0 -0
  19. package/dist/assets/web/{icon.618c9e50.woff → icon.589b6ad7.woff} +0 -0
  20. package/dist/assets/web/icon.85f94224.woff2 +0 -0
  21. package/dist/assets/{scorm1.2/icon.74e441c4.ttf → web/icon.f3d23f63.ttf} +0 -0
  22. package/dist/assets/web/index.0d8a8c42.js +1 -0
  23. package/dist/assets/web/index.1fe33aa0.js +1 -0
  24. package/dist/assets/web/{index.41f76f74.css → index.db57a2e0.css} +2 -2
  25. package/dist/assets/web/index.html +1 -1
  26. package/dist/index.js +207 -45
  27. package/package.json +1 -1
  28. package/src/export/pdf.ts +1 -1
  29. package/src/export/scorm12.ts +35 -2
  30. package/src/export/scorm2004.ts +8 -2
  31. package/src/index.ts +9 -2
  32. package/dist/assets/scorm1.2/icon.0052da31.woff2 +0 -0
  33. package/dist/assets/scorm1.2/index.1366d6b2.js +0 -1
  34. package/dist/assets/scorm1.2/index.3dbd9631.js +0 -1
  35. package/dist/assets/scorm2004/icon.0052da31.woff2 +0 -0
  36. package/dist/assets/scorm2004/index.3dbd9631.js +0 -1
  37. package/dist/assets/scorm2004/index.a5a066fc.js +0 -1
  38. package/dist/assets/web/icon.0052da31.woff2 +0 -0
  39. package/dist/assets/web/index.3dbd9631.js +0 -1
  40. package/dist/assets/web/index.c8a87793.js +0 -1
  41. package/docker/ilias/README.md +0 -11
  42. package/docker/ilias/docker-compose.yml +0 -23
  43. package/docker/moodle/README.md +0 -33
  44. package/docker/moodle/docker-compose.yml +0 -37
package/dist/index.js CHANGED
@@ -7512,7 +7512,7 @@ type alias Process =
7512
7512
  customTheme: $elm$core$Maybe$Nothing,
7513
7513
  editor: 'dreamweaver',
7514
7514
  font_size: 100,
7515
- hasShareApi: hasShareApi,
7515
+ hasShareApi: $elm$core$Maybe$Just(hasShareApi),
7516
7516
  initialized: false,
7517
7517
  lang: 'default',
7518
7518
  light: true,
@@ -7520,56 +7520,126 @@ type alias Process =
7520
7520
  sound: true,
7521
7521
  speaking: false,
7522
7522
  support_menu: false,
7523
- sync: false,
7523
+ sync: $elm$core$Maybe$Just(false),
7524
7524
  table_of_contents: true,
7525
7525
  theme: 'default',
7526
7526
  tooltips: false,
7527
- translateWithGoogle: false
7527
+ translateWithGoogle: $elm$core$Maybe$Just(false)
7528
7528
  };
7529
7529
  });
7530
+ var $author$project$Lia$Sync$Via$Beaker = {
7531
+ $: 'Beaker'
7532
+ };
7530
7533
  var $author$project$Lia$Sync$Types$Disconnected = {
7531
7534
  $: 'Disconnected'
7532
7535
  };
7533
- var $elm$core$Set$Set_elm_builtin = function(a) {
7536
+ var $author$project$Lia$Sync$Via$GUN = function(a) {
7534
7537
  return {
7535
- $: 'Set_elm_builtin',
7538
+ $: 'GUN',
7536
7539
  a: a
7537
7540
  };
7538
7541
  };
7539
- var $elm$core$Set$empty = $elm$core$Set$Set_elm_builtin($elm$core$Dict$empty);
7540
- var $author$project$Lia$Sync$Via$Beaker = {
7541
- $: 'Beaker'
7542
- };
7543
- var $author$project$Lia$Sync$Via$GUN = {
7544
- $: 'GUN'
7545
- };
7546
7542
  var $author$project$Lia$Sync$Via$Jitsi = {
7547
7543
  $: 'Jitsi'
7548
7544
  };
7549
7545
  var $author$project$Lia$Sync$Via$Matrix = {
7550
7546
  $: 'Matrix'
7551
7547
  };
7552
- var $author$project$Lia$Sync$Via$PubNub = {
7553
- $: 'PubNub'
7548
+ var $author$project$Lia$Sync$Via$PubNub = F2(function(a, b) {
7549
+ return {
7550
+ $: 'PubNub',
7551
+ a: a,
7552
+ b: b
7553
+ };
7554
+ });
7555
+ var $elm$core$Set$Set_elm_builtin = function(a) {
7556
+ return {
7557
+ $: 'Set_elm_builtin',
7558
+ a: a
7559
+ };
7554
7560
  };
7561
+ var $elm$core$Set$empty = $elm$core$Set$Set_elm_builtin($elm$core$Dict$empty);
7562
+ var $author$project$Lia$Sync$Via$mapHead = F2(function(fn, list) {
7563
+ if (list.b) {
7564
+ var x = list.a;
7565
+ var xs = list.b;
7566
+ return A2($elm$core$List$cons, fn(x), xs);
7567
+ } else return list;
7568
+ });
7555
7569
  var $author$project$Lia$Sync$Via$fromString = function(via) {
7556
- var _v0 = $elm$core$String$toLower(via);
7557
- switch(_v0){
7558
- case 'beaker':
7559
- return $elm$core$Maybe$Just($author$project$Lia$Sync$Via$Beaker);
7560
- case 'gun':
7561
- return $elm$core$Maybe$Just($author$project$Lia$Sync$Via$GUN);
7562
- case 'jitsi':
7563
- return $elm$core$Maybe$Just($author$project$Lia$Sync$Via$Jitsi);
7564
- case 'matrix':
7565
- return $elm$core$Maybe$Just($author$project$Lia$Sync$Via$Matrix);
7566
- case 'pubnub':
7567
- return $elm$core$Maybe$Just($author$project$Lia$Sync$Via$PubNub);
7568
- default:
7569
- return $elm$core$Maybe$Nothing;
7570
+ var _v0 = A2($author$project$Lia$Sync$Via$mapHead, $elm$core$String$toLower, A2($elm$core$String$split, '|', via));
7571
+ _v0$7: while(true){
7572
+ if (_v0.b) {
7573
+ if (!_v0.b.b) switch(_v0.a){
7574
+ case 'beaker':
7575
+ return $elm$core$Maybe$Just($author$project$Lia$Sync$Via$Beaker);
7576
+ case 'gun':
7577
+ return $elm$core$Maybe$Just($author$project$Lia$Sync$Via$GUN(''));
7578
+ case 'jitsi':
7579
+ return $elm$core$Maybe$Just($author$project$Lia$Sync$Via$Jitsi);
7580
+ case 'matrix':
7581
+ return $elm$core$Maybe$Just($author$project$Lia$Sync$Via$Matrix);
7582
+ case 'pubnub':
7583
+ return $elm$core$Maybe$Just(A2($author$project$Lia$Sync$Via$PubNub, '', ''));
7584
+ default:
7585
+ break _v0$7;
7586
+ }
7587
+ else if (!_v0.b.b.b) {
7588
+ if (_v0.a === 'gun') {
7589
+ var _v1 = _v0.b;
7590
+ var urls = _v1.a;
7591
+ return $elm$core$Maybe$Just($author$project$Lia$Sync$Via$GUN(urls));
7592
+ } else break _v0$7;
7593
+ } else {
7594
+ if (_v0.a === 'pubnub' && !_v0.b.b.b.b) {
7595
+ var _v2 = _v0.b;
7596
+ var pub = _v2.a;
7597
+ var _v3 = _v2.b;
7598
+ var sub = _v3.a;
7599
+ return $elm$core$Maybe$Just(A2($author$project$Lia$Sync$Via$PubNub, pub, sub));
7600
+ } else break _v0$7;
7601
+ }
7602
+ } else break _v0$7;
7603
+ }
7604
+ return $elm$core$Maybe$Nothing;
7605
+ };
7606
+ var $author$project$Const$gunDB_ServerURL = 'https://lia-gun.herokuapp.com/gun';
7607
+ var $author$project$Lia$Sync$Types$isMember = F2(function(list, element) {
7608
+ isMember: while(true){
7609
+ var _v0 = _Utils_Tuple2(list, element);
7610
+ _v0$3: while(true){
7611
+ if (!_v0.a.b) return _Utils_Tuple2(false, element);
7612
+ else switch(_v0.a.a.$){
7613
+ case 'GUN':
7614
+ if (_v0.b.$ === 'GUN') {
7615
+ var _v1 = _v0.a;
7616
+ return _Utils_Tuple2(true, element);
7617
+ } else break _v0$3;
7618
+ case 'PubNub':
7619
+ if (_v0.b.$ === 'PubNub') {
7620
+ var _v2 = _v0.a;
7621
+ var _v3 = _v2.a;
7622
+ var _v4 = _v0.b;
7623
+ return _Utils_Tuple2(true, element);
7624
+ } else break _v0$3;
7625
+ default:
7626
+ break _v0$3;
7627
+ }
7628
+ }
7629
+ var _v5 = _v0.a;
7630
+ var e = _v5.a;
7631
+ var es = _v5.b;
7632
+ if (_Utils_eq(e, element)) return _Utils_Tuple2(true, element);
7633
+ else {
7634
+ var $temp$list = es, $temp$element = element;
7635
+ list = $temp$list;
7636
+ element = $temp$element;
7637
+ continue isMember;
7638
+ }
7570
7639
  }
7571
- };
7640
+ });
7572
7641
  var $author$project$Lia$Sync$Types$init = function(supportedBackends) {
7642
+ var supported = A2($elm$core$List$filterMap, $author$project$Lia$Sync$Via$fromString, supportedBackends);
7573
7643
  return {
7574
7644
  error: $elm$core$Maybe$Nothing,
7575
7645
  password: '',
@@ -7579,10 +7649,20 @@ type alias Process =
7579
7649
  sync: {
7580
7650
  open: false,
7581
7651
  select: $elm$core$Maybe$Nothing,
7582
- support: A2($elm$core$List$filterMap, $author$project$Lia$Sync$Via$fromString, supportedBackends)
7652
+ support: A2($elm$core$List$map, $author$project$Lia$Sync$Types$isMember(supported), _List_fromArray([
7653
+ $author$project$Lia$Sync$Via$Beaker,
7654
+ $author$project$Lia$Sync$Via$GUN($author$project$Const$gunDB_ServerURL),
7655
+ $author$project$Lia$Sync$Via$Jitsi,
7656
+ $author$project$Lia$Sync$Via$Matrix,
7657
+ A2($author$project$Lia$Sync$Via$PubNub, '', '')
7658
+ ]))
7583
7659
  }
7584
7660
  };
7585
7661
  };
7662
+ var $elm$core$List$isEmpty = function(xs) {
7663
+ if (!xs.b) return true;
7664
+ else return false;
7665
+ };
7586
7666
  var $author$project$Const$urlProxy = 'https://api.allorigins.win/raw?url=';
7587
7667
  var $author$project$Lia$Parser$PatReplace$urlProxy = A3($elm$core$String$replace, '?', '\\?', A3($elm$core$String$replace, '.', '\\.', $author$project$Const$urlProxy));
7588
7668
  var $author$project$Lia$Parser$PatReplace$repo = A2($elm$core$Basics$composeR, $author$project$Lia$Parser$PatReplace$replace(_List_fromArray([
@@ -7727,6 +7807,7 @@ type alias Process =
7727
7807
  sections: $elm$core$Array$empty,
7728
7808
  settings: (function(set) {
7729
7809
  return _Utils_update(set, {
7810
+ sync: $elm$core$List$isEmpty(allowedBackends) ? $elm$core$Maybe$Nothing : set.sync,
7730
7811
  table_of_contents: openTOC
7731
7812
  });
7732
7813
  })(A2($elm$core$Result$withDefault, _default, A2($author$project$Lia$Settings$Json$toModel, _default, settings))),
@@ -7849,6 +7930,48 @@ type alias Process =
7849
7930
  var $author$project$Worker$error = function(title) {
7850
7931
  return A2($elm$core$Basics$composeR, $elm$core$Basics$append('Error (' + (title + ') -> ')), A2($elm$core$Basics$composeR, $elm$core$Tuple$pair(false), $author$project$Worker$output));
7851
7932
  };
7933
+ var $author$project$Lia$Script$checkFalse = function(string) {
7934
+ var _v0 = $elm$core$String$toList($elm$core$String$toLower($elm$core$String$trim(string)));
7935
+ _v0$4: while(true){
7936
+ if (_v0.b) {
7937
+ if (!_v0.b.b) {
7938
+ if ('0' === _v0.a.valueOf()) return false;
7939
+ else break _v0$4;
7940
+ } else {
7941
+ if (_v0.b.b.b) switch(_v0.a.valueOf()){
7942
+ case 'f':
7943
+ if ('a' === _v0.b.a.valueOf() && 'l' === _v0.b.b.a.valueOf() && _v0.b.b.b.b && 's' === _v0.b.b.b.a.valueOf() && _v0.b.b.b.b.b && 'e' === _v0.b.b.b.b.a.valueOf()) {
7944
+ var _v1 = _v0.b;
7945
+ var _v2 = _v1.b;
7946
+ var _v3 = _v2.b;
7947
+ var _v4 = _v3.b;
7948
+ return false;
7949
+ } else break _v0$4;
7950
+ case 'o':
7951
+ if ('f' === _v0.b.a.valueOf() && 'f' === _v0.b.b.a.valueOf()) {
7952
+ var _v5 = _v0.b;
7953
+ var _v6 = _v5.b;
7954
+ return false;
7955
+ } else break _v0$4;
7956
+ case 'd':
7957
+ if ('i' === _v0.b.a.valueOf() && 's' === _v0.b.b.a.valueOf() && _v0.b.b.b.b && 'a' === _v0.b.b.b.a.valueOf() && _v0.b.b.b.b.b && 'b' === _v0.b.b.b.b.a.valueOf() && _v0.b.b.b.b.b.b && 'l' === _v0.b.b.b.b.b.a.valueOf() && _v0.b.b.b.b.b.b.b && 'e' === _v0.b.b.b.b.b.b.a.valueOf()) {
7958
+ var _v7 = _v0.b;
7959
+ var _v8 = _v7.b;
7960
+ var _v9 = _v8.b;
7961
+ var _v10 = _v9.b;
7962
+ var _v11 = _v10.b;
7963
+ var _v12 = _v11.b;
7964
+ return false;
7965
+ } else break _v0$4;
7966
+ default:
7967
+ break _v0$4;
7968
+ }
7969
+ else break _v0$4;
7970
+ }
7971
+ } else break _v0$4;
7972
+ }
7973
+ return true;
7974
+ };
7852
7975
  var $author$project$Translations$Ar = {
7853
7976
  $: 'Ar'
7854
7977
  };
@@ -7933,8 +8056,23 @@ type alias Process =
7933
8056
  langCodeOriginal: definition.language,
7934
8057
  settings: _Utils_update(settings, {
7935
8058
  customTheme: A2($elm$core$Dict$get, 'custom', definition.macro),
8059
+ hasShareApi: function() {
8060
+ var _v2 = A2($elm$core$Maybe$map, $author$project$Lia$Script$checkFalse, A2($elm$core$Dict$get, 'sharing', definition.macro));
8061
+ if (_v2.$ === 'Just' && !_v2.a) return $elm$core$Maybe$Nothing;
8062
+ else return settings.hasShareApi;
8063
+ }(),
7936
8064
  light: A2($elm$core$Maybe$withDefault, settings.light, definition.lightMode),
7937
- mode: A2($elm$core$Maybe$withDefault, settings.mode, definition.mode)
8065
+ mode: A2($elm$core$Maybe$withDefault, settings.mode, definition.mode),
8066
+ sync: function() {
8067
+ var _v3 = A2($elm$core$Maybe$map, $author$project$Lia$Script$checkFalse, A2($elm$core$Dict$get, 'classroom', definition.macro));
8068
+ if (_v3.$ === 'Just' && !_v3.a) return $elm$core$Maybe$Nothing;
8069
+ else return settings.sync;
8070
+ }(),
8071
+ translateWithGoogle: function() {
8072
+ var _v4 = A2($elm$core$Maybe$map, $author$project$Lia$Script$checkFalse, A2($elm$core$Dict$get, 'translateWithGoogle', definition.macro));
8073
+ if (_v4.$ === 'Just' && !_v4.a) return $elm$core$Maybe$Nothing;
8074
+ else return settings.translateWithGoogle;
8075
+ }()
7938
8076
  }),
7939
8077
  translation: A2($elm$core$Maybe$withDefault, $author$project$Translations$En, $author$project$Translations$getLnFromCode(definition.language))
7940
8078
  })), $elm$core$Maybe$Just(code), definition.imports);
@@ -11516,13 +11654,10 @@ type alias Process =
11516
11654
  var $author$project$Lia$Markdown$Survey$Types$Categorical = {
11517
11655
  $: 'Categorical'
11518
11656
  };
11519
- var $author$project$Lia$Markdown$Survey$Types$Quantitative = {
11520
- $: 'Quantitative'
11521
- };
11522
11657
  var $author$project$Lia$Markdown$Survey$Types$isNumber = A2($elm$core$Basics$composeR, $elm$core$String$split(' '), A2($elm$core$Basics$composeR, $elm$core$List$head, A2($elm$core$Basics$composeR, $elm$core$Maybe$andThen($elm$core$String$toInt), $elm$core$Basics$neq($elm$core$Maybe$Nothing))));
11523
11658
  var $author$project$Lia$Markdown$Survey$Types$allNumbers = A2($elm$core$Basics$composeR, $elm$core$List$map($author$project$Lia$Markdown$Survey$Types$isNumber), $elm$core$List$all($elm$core$Basics$identity));
11524
11659
  var $author$project$Lia$Markdown$Survey$Types$analyseType = function(ids) {
11525
- return $author$project$Lia$Markdown$Survey$Types$allNumbers(ids) ? $author$project$Lia$Markdown$Survey$Types$Quantitative : $author$project$Lia$Markdown$Survey$Types$Categorical;
11660
+ return $author$project$Lia$Markdown$Survey$Types$allNumbers(ids) ? $author$project$Lia$Markdown$Survey$Types$Categorical : $author$project$Lia$Markdown$Survey$Types$Categorical;
11526
11661
  };
11527
11662
  var $author$project$Lia$Markdown$Survey$Parser$toVector = F2(function(bool, definition) {
11528
11663
  return A3($author$project$Lia$Markdown$Survey$Types$Vector, bool, definition, $author$project$Lia$Markdown$Survey$Types$analyseType(A2($elm$core$List$map, $elm$core$Tuple$first, definition)));
@@ -12166,6 +12301,30 @@ async function $1e521125b288b3fc$export$372e2d09604f52f0(argument, json) {
12166
12301
 
12167
12302
 
12168
12303
 
12304
+ async function $699da5868da0be18$export$8cde213409fd6377(tmpPath, readme) {
12305
+ await $320134ce32dd9048$export$552bfb764b5cd2b4($9Afec$path.join(tmpPath, 'start.html'), `<!DOCTYPE html>
12306
+ <html style="height:100%; overflow: hidden">
12307
+ <head>
12308
+
12309
+ </head>
12310
+ <body style="height:100%">
12311
+
12312
+ <iframe id="lia-container" src="" style="border: 0px; width: 100%; height: 100%"></iframe>
12313
+
12314
+ <script>
12315
+ let path = window.location.pathname.replace("start.html", "")
12316
+ let iframe = document.getElementById("lia-container")
12317
+
12318
+ if (iframe) {
12319
+ const src = path + "index.html?" + path + "${readme.replace('./', '')}"
12320
+ iframe.src = src
12321
+ }
12322
+ </script>
12323
+
12324
+ </body>
12325
+ </html>
12326
+ `);
12327
+ }
12169
12328
  async function $699da5868da0be18$export$372e2d09604f52f0(argument, json) {
12170
12329
  // make temp folder
12171
12330
  let tmp = await $320134ce32dd9048$export$6b76988456c0292f();
@@ -12181,6 +12340,7 @@ async function $699da5868da0be18$export$372e2d09604f52f0(argument, json) {
12181
12340
  quiz: json.quiz,
12182
12341
  survey: json.survey
12183
12342
  }) + ';');
12343
+ if (argument['scorm-iframe']) await $699da5868da0be18$export$8cde213409fd6377(tmpPath, argument.readme);
12184
12344
  try {
12185
12345
  await $320134ce32dd9048$export$552bfb764b5cd2b4($9Afec$path.join(tmpPath, 'index.html'), index);
12186
12346
  } catch (e) {
@@ -12197,8 +12357,8 @@ async function $699da5868da0be18$export$372e2d09604f52f0(argument, json) {
12197
12357
  title: json.lia.str_title,
12198
12358
  language: json.lia.definition.language,
12199
12359
  masteryScore: argument['scorm-masteryScore'] || 0,
12200
- startingPage: 'index.html',
12201
- startingParameters: './' + argument.readme,
12360
+ startingPage: argument['scorm-iframe'] ? 'start.html' : 'index.html',
12361
+ startingParameters: argument['scorm-iframe'] ? undefined : argument.readme,
12202
12362
  source: $9Afec$path.join(tmp, 'pro'),
12203
12363
  package: {
12204
12364
  version: json.lia.definition.version,
@@ -12232,6 +12392,7 @@ async function $699da5868da0be18$export$372e2d09604f52f0(argument, json) {
12232
12392
 
12233
12393
 
12234
12394
 
12395
+
12235
12396
  async function $c4fe6e5c8950c8b3$export$372e2d09604f52f0(argument, json) {
12236
12397
  // make temp folder
12237
12398
  let tmp = await $320134ce32dd9048$export$6b76988456c0292f();
@@ -12247,6 +12408,7 @@ async function $c4fe6e5c8950c8b3$export$372e2d09604f52f0(argument, json) {
12247
12408
  quiz: json.quiz,
12248
12409
  survey: json.survey
12249
12410
  }) + ';');
12411
+ if (argument['scorm-iframe']) await $699da5868da0be18$export$8cde213409fd6377(tmpPath, argument.readme);
12250
12412
  try {
12251
12413
  await $320134ce32dd9048$export$552bfb764b5cd2b4($9Afec$path.join(tmpPath, 'index.html'), index);
12252
12414
  } catch (e) {
@@ -12263,8 +12425,8 @@ async function $c4fe6e5c8950c8b3$export$372e2d09604f52f0(argument, json) {
12263
12425
  title: json.lia.str_title,
12264
12426
  language: json.lia.definition.language,
12265
12427
  masteryScore: argument['scorm-masteryScore'] || 0,
12266
- startingPage: 'index.html',
12267
- startingParameters: './' + argument.readme,
12428
+ startingPage: argument['scorm-iframe'] ? 'start.html' : 'index.html',
12429
+ startingParameters: argument['scorm-iframe'] ? undefined : argument.readme,
12268
12430
  source: $9Afec$path.join(tmp, 'pro'),
12269
12431
  package: {
12270
12432
  version: json.lia.definition.version,
@@ -12301,7 +12463,7 @@ async function $c4fe6e5c8950c8b3$export$372e2d09604f52f0(argument, json) {
12301
12463
  async function $fe4c9e5866fc6c52$export$372e2d09604f52f0(argument, json) {
12302
12464
  let url = `file://${__dirname}/assets/pdf/index.html?`;
12303
12465
  if ($320134ce32dd9048$export$bab98af026af71ac(argument.input)) url += argument.input;
12304
- else url += 'file:///' + $9Afec$path.resolve(__dirname + '/../', argument.input);
12466
+ else url += 'file://' + $9Afec$path.resolve(argument.input);
12305
12467
  const browser = await $9Afec$puppeteer.launch({
12306
12468
  args: [
12307
12469
  '--disable-web-security',
@@ -12408,7 +12570,7 @@ $parcel$global.XMLHttpRequest = $9Afec$xhr2;
12408
12570
 
12409
12571
  const $ccdb061a5468de1f$var$argv = $9Afec$minimist(process.argv.slice(2));
12410
12572
  // -------------------------------Main Execution-------------------------------
12411
- if ($ccdb061a5468de1f$var$argv.v || $ccdb061a5468de1f$var$argv.version) console.log('version: 1.0.51--0.9.51');
12573
+ if ($ccdb061a5468de1f$var$argv.v || $ccdb061a5468de1f$var$argv.version) console.log('version: 2.0.0--0.10.0');
12412
12574
  else if ($ccdb061a5468de1f$var$argv.h || $ccdb061a5468de1f$var$argv.help) $ccdb061a5468de1f$var$help();
12413
12575
  else if ($ccdb061a5468de1f$var$argv.i || $ccdb061a5468de1f$var$argv.input) $ccdb061a5468de1f$var$run($ccdb061a5468de1f$var$parseArguments());
12414
12576
  else {
@@ -12484,6 +12646,7 @@ function $ccdb061a5468de1f$var$help() {
12484
12646
  console.log('--scorm-organization', ' set the organization title');
12485
12647
  console.log('--scorm-masteryScore', ' set the scorm masteryScore (a value between 0 -- 100), default is 0');
12486
12648
  console.log('--scorm-typicalDuration', ' set the scorm duration, default is PT0H5M0S');
12649
+ console.log('--scorm-iframe', ' use an iframe, when a SCORM starting parameter is not working');
12487
12650
  console.log('\nPDF settings:\n');
12488
12651
  console.log('--pdf-stylesheet Inject an local CSS for changing the appearance.');
12489
12652
  console.log('--pdf-theme LiaScript themes: default, turquoise, blue, red, yellow');
@@ -12519,6 +12682,7 @@ function $ccdb061a5468de1f$var$parseArguments() {
12519
12682
  'scorm-organization': $ccdb061a5468de1f$var$argv['scorm-organization'],
12520
12683
  'scorm-masteryScore': $ccdb061a5468de1f$var$argv['scorm-masteryScore'],
12521
12684
  'scorm-typicalDuration': $ccdb061a5468de1f$var$argv['scorm-typicalDuration'],
12685
+ 'scorm-iframe': $ccdb061a5468de1f$var$argv['scorm-iframe'],
12522
12686
  // pdf cases
12523
12687
  'pdf-preview': $ccdb061a5468de1f$var$argv['pdf-preview'],
12524
12688
  'pdf-scale': $ccdb061a5468de1f$var$argv['pdf-scale'],
@@ -12541,10 +12705,8 @@ function $ccdb061a5468de1f$var$parseArguments() {
12541
12705
  'pdf-theme': $ccdb061a5468de1f$var$argv['pdf-theme']
12542
12706
  };
12543
12707
  argument.format = argument.format.toLowerCase();
12544
- if (!argument.path && !$320134ce32dd9048$export$bab98af026af71ac(argument.input)) {
12545
- argument.path = $9Afec$path.dirname(argument.input);
12546
- argument.readme = $9Afec$path.basename(argument.input);
12547
- }
12708
+ if (!argument.path && !$320134ce32dd9048$export$bab98af026af71ac(argument.input)) argument.path = $9Afec$path.dirname(argument.input);
12709
+ argument.readme = argument.input.replace(argument.path, '.');
12548
12710
  return argument;
12549
12711
  }
12550
12712
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liascript/exporter",
3
- "version": "2.0.0--preview",
3
+ "version": "2.0.0--0.10.0",
4
4
  "description": "A generic exporter for LiaScript",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
package/src/export/pdf.ts CHANGED
@@ -41,7 +41,7 @@ export async function exporter(
41
41
  if (helper.isURL(argument.input)) {
42
42
  url += argument.input
43
43
  } else {
44
- url += 'file:///' + path.resolve(__dirname + '/../', argument.input)
44
+ url += 'file://' + path.resolve(argument.input)
45
45
  }
46
46
 
47
47
  const browser = await puppeteer.launch({
@@ -4,6 +4,34 @@ const scormPackager = require('@liascript/simple-scorm-packager')
4
4
  const path = require('path')
5
5
  const fs = require('fs-extra')
6
6
 
7
+ export async function iframe(tmpPath, readme: string) {
8
+ await helper.writeFile(
9
+ path.join(tmpPath, 'start.html'),
10
+ `<!DOCTYPE html>
11
+ <html style="height:100%; overflow: hidden">
12
+ <head>
13
+
14
+ </head>
15
+ <body style="height:100%">
16
+
17
+ <iframe id="lia-container" src="" style="border: 0px; width: 100%; height: 100%"></iframe>
18
+
19
+ <script>
20
+ let path = window.location.pathname.replace("start.html", "")
21
+ let iframe = document.getElementById("lia-container")
22
+
23
+ if (iframe) {
24
+ const src = path + "index.html?" + path + "${readme.replace('./', '')}"
25
+ iframe.src = src
26
+ }
27
+ </script>
28
+
29
+ </body>
30
+ </html>
31
+ `
32
+ )
33
+ }
34
+
7
35
  export async function exporter(
8
36
  argument: {
9
37
  input: string
@@ -17,6 +45,7 @@ export async function exporter(
17
45
  'scorm-organization'?: string
18
46
  'scorm-masteryScore'?: string
19
47
  'scorm-typicalDuration'?: string
48
+ 'scorm-iframe'?: boolean
20
49
  },
21
50
  json
22
51
  ) {
@@ -47,6 +76,10 @@ export async function exporter(
47
76
  ';'
48
77
  )
49
78
 
79
+ if (argument['scorm-iframe']) {
80
+ await iframe(tmpPath, argument.readme)
81
+ }
82
+
50
83
  try {
51
84
  await helper.writeFile(path.join(tmpPath, 'index.html'), index)
52
85
  } catch (e) {
@@ -63,8 +96,8 @@ export async function exporter(
63
96
  title: json.lia.str_title,
64
97
  language: json.lia.definition.language,
65
98
  masteryScore: argument['scorm-masteryScore'] || 0,
66
- startingPage: 'index.html',
67
- startingParameters: './' + argument.readme,
99
+ startingPage: argument['scorm-iframe'] ? 'start.html' : 'index.html',
100
+ startingParameters: argument['scorm-iframe'] ? undefined : argument.readme,
68
101
  source: path.join(tmp, 'pro'),
69
102
  package: {
70
103
  version: json.lia.definition.version,
@@ -1,4 +1,5 @@
1
1
  import * as helper from './helper'
2
+ import * as SCORM from './scorm12'
2
3
 
3
4
  const scormPackager = require('@liascript/simple-scorm-packager')
4
5
  const path = require('path')
@@ -17,6 +18,7 @@ export async function exporter(
17
18
  'scorm-organization'?: string
18
19
  'scorm-masteryScore'?: string
19
20
  'scorm-typicalDuration'?: string
21
+ 'scorm-iframe'?: boolean
20
22
  },
21
23
  json
22
24
  ) {
@@ -47,6 +49,10 @@ export async function exporter(
47
49
  ';'
48
50
  )
49
51
 
52
+ if (argument['scorm-iframe']) {
53
+ await SCORM.iframe(tmpPath, argument.readme)
54
+ }
55
+
50
56
  try {
51
57
  await helper.writeFile(path.join(tmpPath, 'index.html'), index)
52
58
  } catch (e) {
@@ -63,8 +69,8 @@ export async function exporter(
63
69
  title: json.lia.str_title,
64
70
  language: json.lia.definition.language,
65
71
  masteryScore: argument['scorm-masteryScore'] || 0,
66
- startingPage: 'index.html',
67
- startingParameters: './' + argument.readme,
72
+ startingPage: argument['scorm-iframe'] ? 'start.html' : 'index.html',
73
+ startingParameters: argument['scorm-iframe'] ? undefined : argument.readme,
68
74
  source: path.join(tmp, 'pro'),
69
75
  package: {
70
76
  version: json.lia.definition.version,
package/src/index.ts CHANGED
@@ -15,7 +15,7 @@ const argv = require('minimist')(process.argv.slice(2))
15
15
 
16
16
  // -------------------------------Main Execution-------------------------------
17
17
  if (argv.v || argv.version) {
18
- console.log('version: 1.0.51--0.9.51')
18
+ console.log('version: 2.0.0--0.10.0')
19
19
  } else if (argv.h || argv.help) {
20
20
  help()
21
21
  } else if (argv.i || argv.input) {
@@ -127,6 +127,11 @@ function help() {
127
127
  ' set the scorm duration, default is PT0H5M0S'
128
128
  )
129
129
 
130
+ console.log(
131
+ '--scorm-iframe',
132
+ ' use an iframe, when a SCORM starting parameter is not working'
133
+ )
134
+
130
135
  console.log('\nPDF settings:\n')
131
136
  console.log(
132
137
  '--pdf-stylesheet Inject an local CSS for changing the appearance.'
@@ -207,6 +212,7 @@ function parseArguments() {
207
212
  'scorm-organization': argv['scorm-organization'],
208
213
  'scorm-masteryScore': argv['scorm-masteryScore'],
209
214
  'scorm-typicalDuration': argv['scorm-typicalDuration'],
215
+ 'scorm-iframe': argv['scorm-iframe'],
210
216
 
211
217
  // pdf cases
212
218
  'pdf-preview': argv['pdf-preview'],
@@ -235,8 +241,9 @@ function parseArguments() {
235
241
 
236
242
  if (!argument.path && !helper.isURL(argument.input)) {
237
243
  argument.path = path.dirname(argument.input)
238
- argument.readme = path.basename(argument.input)
239
244
  }
240
245
 
246
+ argument.readme = argument.input.replace(argument.path, '.')
247
+
241
248
  return argument
242
249
  }