diff --git a/src/BaselineOfMicrodownDev/BaselineOfMicrodownDev.class.st b/src/BaselineOfMicrodownDev/BaselineOfMicrodownDev.class.st deleted file mode 100644 index 09670081..00000000 --- a/src/BaselineOfMicrodownDev/BaselineOfMicrodownDev.class.st +++ /dev/null @@ -1,81 +0,0 @@ -Class { - #name : 'BaselineOfMicrodownDev', - #superclass : 'BaselineOf', - #category : 'BaselineOfMicrodownDev', - #package : 'BaselineOfMicrodownDev' -} - -{ #category : 'baselines' } -BaselineOfMicrodownDev >> baseline: spec [ - - - spec for: #common do: [ - spec - baseline: 'PillarDocumentModel' - with: [ spec repository: 'github://pillar-markup/pillar:dev-8/src' ]. - spec - package: #Microdown; - package: #'Microdown-Tests' - with: [ spec requires: #( #Microdown ) ]; - - package: #'Microdown-ResolvePath' - with: [ spec requires: #( #'Microdown' ) ]; - package: #'Microdown-ResolvePath-Tests' - with: [ spec requires: #( #'Microdown-ResolvePath' ) ]; - - package: #'Microdown-Pharo-Tools' - with: [ spec requires: #( #Microdown ) ]; - - package: #'Microdown-RichTextComposer' - with: [ spec requires: #( #Microdown ) ]; - package: #'Microdown-RichTextComposer-Tests' - with: [ spec requires: #( #'Microdown-RichTextComposer' ) ]; - - package: #'Microdown-Transformer' - with: [ spec requires: #( #Microdown ) ]; - package: #'Microdown-Transformer-Tests' - with: [ spec requires: #( #'Microdown-Transformer' ) ]; - - package: #'Microdown-Evaluator' - with: [ spec requires: #( #'Microdown-Transformer' ) ]; - package: #'Microdown-Evaluator-Tests' - with: [ spec requires: #( #'Microdown-Evaluator' ) ]; - - package: #'Microdown-PrettyPrinter' - with: [ spec requires: #( #Microdown ) ]; - - package: #'Microdown-PrettyPrinter-Tests' - with: [ spec requires: #( #'Microdown-PrettyPrinter' #'Microdown-Tests') ]; - - package: #'Microdown-Pillar' - with: [ spec requires: #( #Microdown #PillarDocumentModel ) ]; - package: #'Microdown-Pillar-Tests' - with: [ spec requires: #( #'Microdown-Pillar' #'Microdown-Tests' ) ]. - - "I do not want group without tests for now" - spec - group: 'Core' - with: #( - #'Microdown' - #'Microdown-Tests' - #'Microdown-ResolvePath' - #'Microdown-ResolvePath-Tests' - ); - group: 'Pillar' - with: #( - #'Microdown' - #'Microdown-Tests' - #'Microdown-Pillar' - #'Microdown-Pillar-Tests' ); - group: 'RichText' with: #('Core' #'Microdown-RichTextComposer' ); - group: 'Extensions' - with: #( - #'Microdown-Evaluator' - #'Microdown-Evaluator-Tests' - #'Microdown-PrettyPrinter' - #'Microdown-PrettyPrinter-Tests' - #'Microdown-Transformer' - #'Microdown-Transformer-Tests'); - group: 'All' - with: #('Core' 'Extensions' #'Microdown-Pharo-Tools' 'RichText') ] -] diff --git a/src/BaselineOfMicrodownH5P/BaselineOfMicrodownH5P.class.st b/src/BaselineOfMicrodownH5P/BaselineOfMicrodownH5P.class.st deleted file mode 100644 index cfe82c52..00000000 --- a/src/BaselineOfMicrodownH5P/BaselineOfMicrodownH5P.class.st +++ /dev/null @@ -1,44 +0,0 @@ -" -baseline: spec - - - spec for: #'common' do: [ - spec - baseline: 'Mustache' - with: [ spec - repository: 'github://noha/mustache:v1.0/repository'; - loads: #('Core' 'Tests') ]. - spec - package: #'Microdown-H5P' - with: [ spec requires: #('Mustache') ] - ] -" -Class { - #name : 'BaselineOfMicrodownH5P', - #superclass : 'BaselineOf', - #category : 'BaselineOfMicrodownH5P', - #package : 'BaselineOfMicrodownH5P' -} - -{ #category : 'baselines' } -BaselineOfMicrodownH5P >> baseline: spec [ - - - spec - for: #(unix osx) - do: [ spec - baseline: 'OSSubprocess' - with: [ spec repository: 'github://pharo-contributions/OSSubprocess:v1.4.0/repository' ] ]. - - spec for: #'common' do: [ - "probably not needed with the latest version e.g. jpeg production." - spec - baseline: 'Mustache' - with: [ spec - repository: 'github://noha/mustache:v1.0/repository'; - loads: #('Core' 'Tests') ]. - spec - package: #'Microdown-H5P' - with: [ spec requires: #('Mustache' 'OSSubprocess') ] - ] -] diff --git a/src/BaselineOfPillarSlideConverter/BaselineOfPillarSlideConverter.class.st b/src/BaselineOfPillarSlideConverter/BaselineOfPillarSlideConverter.class.st deleted file mode 100644 index 7c624e79..00000000 --- a/src/BaselineOfPillarSlideConverter/BaselineOfPillarSlideConverter.class.st +++ /dev/null @@ -1,27 +0,0 @@ -Class { - #name : 'BaselineOfPillarSlideConverter', - #superclass : 'BaselineOf', - #category : 'BaselineOfPillarSlideConverter', - #package : 'BaselineOfPillarSlideConverter' -} - -{ #category : 'baselines' } -BaselineOfPillarSlideConverter >> baseline: spec [ - - - spec - for: #common - do: [ spec blessing: #baseline. - spec - baseline: 'PetitParser2Core' with: [ spec - repository: 'github://kursjan/petitparser2' ]; - package: 'Pillar-Core'; - package: 'Pillar-Model'; - package: 'Pillar-PetitPillar' with: [ spec - requires: #( 'PetitParser2Core' 'Pillar-Model' ) ]; - package: 'Microdown-Slide-Utils' with: [ spec - requires: #( 'PetitParser2Core' 'Pillar-Model' "I do not put microdown here - because I do not want") ]] - - -] diff --git a/src/Microdown - HTML/MicHTMLBrush.class.st b/src/Microdown - HTML/MicHTMLBrush.class.st deleted file mode 100644 index 3d42b524..00000000 --- a/src/Microdown - HTML/MicHTMLBrush.class.st +++ /dev/null @@ -1,12 +0,0 @@ -" -I'm an abstract brush dedicated to HTML documents. As of today, the only subclass is the tag brush but we can imagine others (e.g., to write HTML comments). -" -Class { - #name : 'MicHTMLBrush', - #superclass : 'MicExportBrush', - #instVars : [ - 'name' - ], - #category : 'Microdown - HTML', - #package : 'Microdown - HTML' -} diff --git a/src/Microdown - HTML/MicHTMLCanvas.class.st b/src/Microdown - HTML/MicHTMLCanvas.class.st deleted file mode 100644 index e3ec237d..00000000 --- a/src/Microdown - HTML/MicHTMLCanvas.class.st +++ /dev/null @@ -1,34 +0,0 @@ -Class { - #name : 'MicHTMLCanvas', - #superclass : 'MicExportCanvas', - #instVars : [ - 'name' - ], - #classVars : [ - 'HTMLCharacters' - ], - #category : 'Microdown - HTML', - #package : 'Microdown - HTML' -} - -{ #category : 'initialization' } -MicHTMLCanvas class >> initialize [ - HTMLCharacters := Dictionary new. - HTMLCharacters - at: $" put: '"'; - at: $& put: '&'; - at: $< put: '<'; - at: $> put: '>' -] - -{ #category : 'accessing' } -MicHTMLCanvas >> nextPut: aCharacter [ - (HTMLCharacters at: aCharacter ifAbsent: nil) - ifNil: [ super nextPut: aCharacter ] - ifNotNil: [ :string | self raw: string ] -] - -{ #category : 'accessing' } -MicHTMLCanvas >> tag [ - ^ self brush: MicHTMLTag new -] diff --git a/src/Microdown - HTML/MicHTMLExporterTest.class.st b/src/Microdown - HTML/MicHTMLExporterTest.class.st deleted file mode 100644 index 9002c508..00000000 --- a/src/Microdown - HTML/MicHTMLExporterTest.class.st +++ /dev/null @@ -1,45 +0,0 @@ -Class { - #name : 'MicHTMLExporterTest', - #superclass : 'TestCase', - #instVars : [ - 'parser', - 'writer', - 'factory' - ], - #category : 'Microdown - HTML', - #package : 'Microdown - HTML' -} - -{ #category : 'utils' } -MicHTMLExporterTest >> parse: aString andCheckWeGet: aResultingString [ - - | mic | - mic := parser parse: aString. - self assert: (writer visit: mic) contents equals: aResultingString -] - -{ #category : 'running' } -MicHTMLExporterTest >> setUp [ - super setUp. - parser := MicroDownParser new. - writer := MicHTMLWriter new. - factory := MicMicrodownSnippetFactory new -] - -{ #category : 'tests' } -MicHTMLExporterTest >> testHeaderLevel1 [ - - self parse: factory headerLevel1Sample andCheckWeGet: writer usedNewLine , '

Foo

' - -] - -{ #category : 'tests' } -MicHTMLExporterTest >> testUnorderedList [ - | mic | - mic := parser parse: factory unorderedListWithTwoItemsSample. - self assert: (writer visit: mic) contents equals: ' -
    -
  • Foo
  • -
  • Bar
  • -
' -] diff --git a/src/Microdown - HTML/MicHTMLTag.class.st b/src/Microdown - HTML/MicHTMLTag.class.st deleted file mode 100644 index 093fa2db..00000000 --- a/src/Microdown - HTML/MicHTMLTag.class.st +++ /dev/null @@ -1,27 +0,0 @@ -Class { - #name : 'MicHTMLTag', - #superclass : 'MicHTMLBrush', - #category : 'Microdown - HTML', - #package : 'Microdown - HTML' -} - -{ #category : 'accessing' } -MicHTMLTag >> name: aString [ - name := aString. - stream nextPut: $<; << aString -] - -{ #category : 'accessing' } -MicHTMLTag >> parameterAt: aString put: anotherString [ - stream space. stream << aString << '="' << anotherString << '"' -] - -{ #category : 'accessing' } -MicHTMLTag >> with: aString [ - stream - nextPut: $>; - << aString; - << ' -] diff --git a/src/Microdown - HTML/MicHTMLWriter.class.st b/src/Microdown - HTML/MicHTMLWriter.class.st deleted file mode 100644 index 21ef8e69..00000000 --- a/src/Microdown - HTML/MicHTMLWriter.class.st +++ /dev/null @@ -1,65 +0,0 @@ -Class { - #name : 'MicHTMLWriter', - #superclass : 'MicrodownVisitor', - #instVars : [ - 'stream', - 'canvas' - ], - #category : 'Microdown - HTML', - #package : 'Microdown - HTML' -} - -{ #category : 'initialization' } -MicHTMLWriter >> canvasClass [ - - ^ MicHTMLCanvas -] - -{ #category : 'accessing' } -MicHTMLWriter >> contents [ - ^ stream contents -] - -{ #category : 'initialization' } -MicHTMLWriter >> initialize [ - super initialize. - stream := MicOutputStream new setStream: (WriteStream on: (String new: 1000)). - canvas := self canvasClass on: stream. - -] - -{ #category : 'initialization' } -MicHTMLWriter >> usedNewLine [ - "Return the encoded new line. Useful for tests." - - ^ stream usedNewLine -] - -{ #category : 'visiting' } -MicHTMLWriter >> visitHeader: aHeader [ - - canvas newLine. - canvas tag - name: 'h', aHeader level asString; - with: aHeader header - -] - -{ #category : 'visiting' } -MicHTMLWriter >> visitUnorderedList: anUnorderedList [ - - canvas newLine. - canvas tag - name: 'ul'; - with: [ canvas newLine. super visitUnorderedList: anUnorderedList ] -] - -{ #category : 'visiting' } -MicHTMLWriter >> visitUnorderedListItem: anUnorderedListItem [ - "will not work with we have text decorators such as bold, italic, monospace" - - canvas tag - name: 'li'; - with: anUnorderedListItem text. - canvas newLine -] diff --git a/src/Microdown-Agenda-Tests/MicAgendaBlockTest.class.st b/src/Microdown-Agenda-Tests/MicAgendaBlockTest.class.st deleted file mode 100644 index e1ce3153..00000000 --- a/src/Microdown-Agenda-Tests/MicAgendaBlockTest.class.st +++ /dev/null @@ -1,49 +0,0 @@ -Class { - #name : 'MicAgendaBlockTest', - #superclass : 'TestCase', - #instVars : [ - 'builder', - 'parser' - ], - #pools : [ - 'MicMicrodownSharedPool' - ], - #category : 'Microdown-Agenda-Tests', - #package : 'Microdown-Agenda-Tests' -} - -{ #category : 'running' } -MicAgendaBlockTest >> setUp [ - - super setUp. - builder := MicMicrodownTextualBuilder new. - parser := Microdown new. -] - -{ #category : 'tests' } -MicAgendaBlockTest >> testAgenda [ - "' -'" - | source root env| - source := EnvironmentOpeningBlockMarkup , 'agenda', String cr, - EnvironmentClosingBlockMarkup, String cr. - root := parser parse: source. - env := root children first. - self assert: (env isKindOf: MicAgendaBlock). - self assert: env environmentName equals: 'agenda' -] - -{ #category : 'tests' } -MicAgendaBlockTest >> testAgendaWithArgument [ - "' -'" - | source root env| - source := EnvironmentOpeningBlockMarkup , 'agenda|title=A cool agenda', String cr, EnvironmentClosingBlockMarkup, String cr. - root := parser parse: source. - env := root children first. - self assert: (env isKindOf: MicAgendaBlock). - self assert: env environmentName equals: 'agenda'. - self assert: env title equals: 'A cool agenda' -] diff --git a/src/Microdown-Agenda-Tests/MicAgendaGeneratorTest.class.st b/src/Microdown-Agenda-Tests/MicAgendaGeneratorTest.class.st deleted file mode 100644 index cdac03f6..00000000 --- a/src/Microdown-Agenda-Tests/MicAgendaGeneratorTest.class.st +++ /dev/null @@ -1,456 +0,0 @@ -" -This class contains tests but all the test are not correct beacaus we need to have a file in a repertory with the templates because if we don't have them we can't generate the calendar. -" -Class { - #name : 'MicAgendaGeneratorTest', - #superclass : 'ParametrizedTestCase', - #instVars : [ - 'builder', - 'parser', - 'writer', - 'fileSystem', - 'newLine' - ], - #pools : [ - 'MicMicrodownSharedPool' - ], - #category : 'Microdown-Agenda-Tests', - #package : 'Microdown-Agenda-Tests' -} - -{ #category : 'building suites' } -MicAgendaGeneratorTest class >> testParameters [ - - ^ ParametrizedTestMatrix new - forSelector: #writer addOptions: { MicAgendaGenerator }; - forSelector: #fileSystem addOptions: { FileSystem }; - forSelector: #newLine addOptions: { String crlf . String cr . String lf }; - yourself -] - -{ #category : 'exemple' } -MicAgendaGeneratorTest >> agendaExempleMultiplesTalks [ - - ^ ' - - - -!> - -!> - - - - - -!> - -!> - -!>' - -] - -{ #category : 'exemple' } -MicAgendaGeneratorTest >> agendaExempleOneTalk [ - - ^ ' -!> - -!> - -!>' - -] - -{ #category : 'exemple' } -MicAgendaGeneratorTest >> agendaExempleWithRealInfo [ - - ^ ' - - - - - - - - - - - - - - - - - - - - - -!> - -!> - -!>' - -] - -{ #category : 'accessing' } -MicAgendaGeneratorTest >> fileSystem: aFileSystem [ - fileSystem := aFileSystem memory. -] - -{ #category : 'accessing' } -MicAgendaGeneratorTest >> newLine: aNewLine [ - (aNewLine = String cr) ifTrue:[ writer crAsNewLine ]. - (aNewLine = String lf) ifTrue:[ writer lfAsNewLine ]. - (aNewLine = String crlf) ifTrue:[ writer crlfAsNewLine ]. - newLine := aNewLine -] - -{ #category : 'running' } -MicAgendaGeneratorTest >> setUp [ - - super setUp. - builder := MicMicrodownTextualBuilder new. - parser := Microdown new. -] - -{ #category : 'tests' } -MicAgendaGeneratorTest >> testAgendaAstIsCorrect [ - - | fs file ast agenda day segment| - - fs := FileSystem memory. - file := fs root / 'agenda.md'. - file writeStreamDo: [ :stream | - stream nextPutAll: self agendaExempleMultiplesTalks ]. - - ast := parser parse: file contents. - agenda := ast children first. - day := agenda children first. - segment := day children first. - self assert: agenda class equals: MicAgendaBlock. - self assert: day class equals: MicDayBlock. - self assert: segment class equals: MicSegmentBlock. - self assert: segment children size equals: 3. - -] - -{ #category : 'tests' } -MicAgendaGeneratorTest >> testConvertMicFileCorrectly [ - - "Look at the class comment for more information about this test" - - "| fs file ast| - fs := FileSystem memory. - file := fs root / 'agenda.md'. - file writeStreamDo: [ :stream | - stream nextPutAll: self agendaExempleMultiplesTalks ]. - - ast := parser parse: file contents. - - writer visit: ast. - - self assert: writer contents equals: -'3 mars 2023', newLine, -' ', newLine, -'
  • ', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' 10h30 - 11h00', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' Delporte Gaylord', newLine, -'
    ', newLine, -' ', newLine, -'
    First talk
    ', newLine, -' ', newLine, -'
    Building B
    ', newLine, -'
    ', newLine, -'
  • ', newLine, -' ', newLine, -'
  • ', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' 11h00 - 13h00', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -'
    Break
    ', newLine, -' ', newLine, -'
    Building A
    ', newLine, -'
    ', newLine, -'
  • ', newLine, -' ', newLine, -'
  • ', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' 13h00 - 14h00', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' Not me', newLine, -'
    ', newLine, -' ', newLine, -'
    Second talk
    ', newLine, -' ', newLine, -'
    Building C
    ', newLine, -'
    ', newLine, -'
  • ', newLine, newLine" - -] - -{ #category : 'tests' } -MicAgendaGeneratorTest >> testConvertMicFileCorrectlyWithMultiplesTalks [ - - "Look at the class comment for more information about this test" - - "| fs file ast| - - fs := FileSystem memory. - file := fs root / 'agenda.md'. - file writeStreamDo: [ :stream | - stream nextPutAll: self agendaExempleMultiplesTalks ]. - - ast := parser parse: file contents. - - writer visit: ast. - - self assert: writer contents equals: -'3 mars 2023', newLine, -' ', newLine, -'
  • ', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' 10h30 - 11h00', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' Delporte Gaylord', newLine, -'
    ', newLine, -' ', newLine, -'
    First talk
    ', newLine, -' ', newLine, -'
    Building B
    ', newLine, -'
    ', newLine, -'
  • ', newLine, -' ', newLine, -'
  • ', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' 11h00 - 13h00', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -'
    Break
    ', newLine, -' ', newLine, -'
    Building A
    ', newLine, -'
    ', newLine, -'
  • ', newLine, -' ', newLine, -'
  • ', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' 13h00 - 14h00', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' Not me', newLine, -'
    ', newLine, -' ', newLine, -'
    Second talk
    ', newLine, -' ', newLine, -'
    Building C
    ', newLine, -'
    ', newLine, -'
  • ', newLine, newLine" - -] - -{ #category : 'tests' } -MicAgendaGeneratorTest >> testConvertMicFileCorrectlyWithOneTalk [ - - "Look at the class comment for more information about this test" - - "| fs file ast| - - fs := FileSystem memory. - file := fs root / 'agenda.md'. - file writeStreamDo: [ :stream | - stream nextPutAll: self agendaExempleOneTalk ]. - - ast := parser parse: file contents. - - writer visit: ast. - - self assert: writer contents equals: -'3 mars 2023', newLine, -' ', newLine, -'
  • ', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' 10h30 - 11h00', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' Delporte Gaylord', newLine, -'
    ', newLine, -' ', newLine, -'
    First talk
    ', newLine, -' ', newLine, -'
    Building B
    ', newLine, -'
    ', newLine, -'
  • ', newLine, newLine" -] - -{ #category : 'tests' } -MicAgendaGeneratorTest >> testConvertMicFileCorrectlyWithRealInfo [ - - "Look at the class comment for more information about this test" - - "| fs file ast| - - fs := FileSystem memory. - file := fs root / 'agenda.md'. - file writeStreamDo: [ :stream | - stream nextPutAll: self agendaExempleWithRealInfo ]. - - ast := parser parse: file contents. - - writer visit: ast. - - self assert: writer contents equals: -'3 mars 2023', newLine, -' ', newLine, -'
  • ', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' 10h30 - 11h00', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' Delporte Gaylord', newLine, -'
    ', newLine, -' ', newLine, -'
    First talk
    ', newLine, -' ', newLine, -'
    Building B
    ', newLine, -'
    ', newLine, -'
  • ', newLine, -' ', newLine, -'
  • ', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' 11h00 - 13h00', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -'
    Break
    ', newLine, -' ', newLine, -'
    Building A
    ', newLine, -'
    ', newLine, -'
  • ', newLine, -' ', newLine, -'
  • ', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' 13h00 - 14h00', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' Not me', newLine, -'
    ', newLine, -' ', newLine, -'
    Second talk
    ', newLine, -' ', newLine, -'
    Building C
    ', newLine, -'
    ', newLine, -'
  • ', newLine, newLine" - -] - -{ #category : 'accessing' } -MicAgendaGeneratorTest >> writer: aWriter [ - writer := aWriter new -] diff --git a/src/Microdown-Agenda-Tests/MicDayBlockTest.class.st b/src/Microdown-Agenda-Tests/MicDayBlockTest.class.st deleted file mode 100644 index ffe3f6a4..00000000 --- a/src/Microdown-Agenda-Tests/MicDayBlockTest.class.st +++ /dev/null @@ -1,49 +0,0 @@ -Class { - #name : 'MicDayBlockTest', - #superclass : 'TestCase', - #instVars : [ - 'builder', - 'parser' - ], - #pools : [ - 'MicMicrodownSharedPool' - ], - #category : 'Microdown-Agenda-Tests', - #package : 'Microdown-Agenda-Tests' -} - -{ #category : 'running' } -MicDayBlockTest >> setUp [ - - super setUp. - builder := MicMicrodownTextualBuilder new. - parser := Microdown new. -] - -{ #category : 'tests' } -MicDayBlockTest >> testDay [ - "' -'" - | source root env| - source := EnvironmentOpeningBlockMarkup , 'day', String cr, - EnvironmentClosingBlockMarkup, String cr. - root := parser parse: source. - env := root children first. - self assert: (env isKindOf: MicDayBlock). - self assert: env environmentName equals: 'day' -] - -{ #category : 'tests' } -MicDayBlockTest >> testDayWithArgument [ - "' -'" - | source root env| - source := EnvironmentOpeningBlockMarkup , 'day|start=05/12/2022', String cr, EnvironmentClosingBlockMarkup, String cr. - root := parser parse: source. - env := root children first. - self assert: (env isKindOf: MicDayBlock). - self assert: env environmentName equals: 'day'. - self assert: env start equals: '05/12/2022' -] diff --git a/src/Microdown-Agenda-Tests/MicSegmentBlockTest.class.st b/src/Microdown-Agenda-Tests/MicSegmentBlockTest.class.st deleted file mode 100644 index 1c1ce648..00000000 --- a/src/Microdown-Agenda-Tests/MicSegmentBlockTest.class.st +++ /dev/null @@ -1,49 +0,0 @@ -Class { - #name : 'MicSegmentBlockTest', - #superclass : 'TestCase', - #instVars : [ - 'builder', - 'parser' - ], - #pools : [ - 'MicMicrodownSharedPool' - ], - #category : 'Microdown-Agenda-Tests', - #package : 'Microdown-Agenda-Tests' -} - -{ #category : 'running' } -MicSegmentBlockTest >> setUp [ - - super setUp. - builder := MicMicrodownTextualBuilder new. - parser := Microdown new. -] - -{ #category : 'tests' } -MicSegmentBlockTest >> testSegment [ - "' -'" - | source root env| - source := EnvironmentOpeningBlockMarkup , 'segment', - String cr, EnvironmentClosingBlockMarkup, String cr. - root := parser parse: source. - env := root children first. - self assert: (env isKindOf: MicSegmentBlock). - self assert: env environmentName equals: 'segment'. -] - -{ #category : 'tests' } -MicSegmentBlockTest >> testSegmentWithArgument [ - "' -'" - | source root env| - source := EnvironmentOpeningBlockMarkup , 'segment|start=10h', String cr, EnvironmentClosingBlockMarkup, String cr. - root := parser parse: source. - env := root children first. - self assert: (env isKindOf: MicSegmentBlock). - self assert: env environmentName equals: 'segment'. - self assert: env start equals: '10h' -] diff --git a/src/Microdown-Agenda/MicAbstractComponentBlock.class.st b/src/Microdown-Agenda/MicAbstractComponentBlock.class.st deleted file mode 100644 index e10d1fce..00000000 --- a/src/Microdown-Agenda/MicAbstractComponentBlock.class.st +++ /dev/null @@ -1,63 +0,0 @@ -" -I am an abstractComponent which represent the standard behaviour of each components of a Segment. -" -Class { - #name : 'MicAbstractComponentBlock', - #superclass : 'MicSegmentBlock', - #category : 'Microdown-Agenda', - #package : 'Microdown-Agenda' -} - -{ #category : 'testing' } -MicAbstractComponentBlock class >> isAbstract [ - - ^ self == MicAbstractComponentBlock -] - -{ #category : 'accessing' } -MicAbstractComponentBlock >> author [ - - ^ self arguments at: #author ifAbsent: [ 'Not Specified' ] -] - -{ #category : 'accessing' } -MicAbstractComponentBlock >> author: anAuthor [ - - arguments at: #author put: anAuthor -] - -{ #category : 'accessing' } -MicAbstractComponentBlock >> length [ - - ^ self arguments at: #length ifAbsent: [ 'There is no length' ] -] - -{ #category : 'accessing' } -MicAbstractComponentBlock >> length: aLength [ - - arguments at: #length put: aLength -] - -{ #category : 'accessing' } -MicAbstractComponentBlock >> room [ - - ^ self arguments at: #room ifAbsent: [ 'Not Specified' ] -] - -{ #category : 'accessing' } -MicAbstractComponentBlock >> room: aRoom [ - - arguments at: #room put: aRoom -] - -{ #category : 'accessing' } -MicAbstractComponentBlock >> subject [ - - ^ self arguments at: #subject ifAbsent: [ 'There is no subject' ] -] - -{ #category : 'accessing' } -MicAbstractComponentBlock >> subject: aSubject [ - - arguments at: #subject put: aSubject -] diff --git a/src/Microdown-Agenda/MicAgendaBlock.class.st b/src/Microdown-Agenda/MicAgendaBlock.class.st deleted file mode 100644 index d88399a2..00000000 --- a/src/Microdown-Agenda/MicAgendaBlock.class.st +++ /dev/null @@ -1,31 +0,0 @@ -" -I represent an Agenda which contain the differents days which are my children. -" -Class { - #name : 'MicAgendaBlock', - #superclass : 'MicEnvironmentBlock', - #category : 'Microdown-Agenda', - #package : 'Microdown-Agenda' -} - -{ #category : 'accessing' } -MicAgendaBlock class >> tag [ - ^ #agenda -] - -{ #category : 'visiting' } -MicAgendaBlock >> accept: aVisitor [ - ^ aVisitor visitAgenda: self -] - -{ #category : 'accessing' } -MicAgendaBlock >> title [ - - ^ self arguments at: #title ifAbsent: [ 'There is no title' ] -] - -{ #category : 'accessing' } -MicAgendaBlock >> title: aTitle [ - - arguments at: #title put: aTitle -] diff --git a/src/Microdown-Agenda/MicAgendaGenerator.class.st b/src/Microdown-Agenda/MicAgendaGenerator.class.st deleted file mode 100644 index 7fbc85a3..00000000 --- a/src/Microdown-Agenda/MicAgendaGenerator.class.st +++ /dev/null @@ -1,311 +0,0 @@ -" -I generate HTML specificly for a calendar in HTML from a template and a microdown AST. -" -Class { - #name : 'MicAgendaGenerator', - #superclass : 'MicHTMLVisitor', - #instVars : [ - 'parentFile', - 'time', - 'talkTemplate', - 'agendaTemplate', - 'daysHeadersBlock', - 'daysTalks', - 'dayTalksTemplate', - 'talks', - 'daysNumber', - 'dayHeaderBlockTemplate' - ], - #category : 'Microdown-Agenda', - #package : 'Microdown-Agenda' -} - -{ #category : 'template' } -MicAgendaGenerator class >> agendaTemplate: aNewLine [ - | newLine | - newLine := aNewLine asString. - ^ -'', newLine, -'', newLine, -'', newLine, newLine, - -' ', newLine, -' ', newLine, -' PharoDays 2022', newLine, - ' - - - - - - - - - - - - - - - - - - - - - - ', - - -'', newLine, newLine, - -'', newLine, newLine, - -'
    ', newLine, -'
    ', newLine, -'
    ', newLine, -'
    ', newLine, -'
    ', newLine, -'

    Pharo Days Schedule

    ', newLine, -'

    Pharo Days will held on 3 and 4 march 2022.

    ', newLine, -'

    We also organize a workshop before the conference for people who wish to discover', newLine, -' Pharo and how Pharo can help in your day to day life.

    ', newLine, -'


    ', newLine, -'

    Abstracts of talks and hands-on are available on the asbtracts page

    ', newLine, -'
    ', newLine, -'
    ', newLine, -'
    ', newLine, -'
    ', newLine, -'
    ', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -'
    ', newLine, -'
    ', newLine, - -' {{{DAYS}}}', newLine, - -'
    ', newLine, -'
    ', newLine, newLine, - -'
    ', newLine, -'
    ', newLine, -'
    ', newLine, -'
    ', newLine, newLine, - -'', newLine, newLine, - -'', newLine, newLine, - -'' -] - -{ #category : 'template' } -MicAgendaGenerator class >> dayHeaderBlockTemplate: aNewLine [ - - | newLine | - newLine := aNewLine asString. - ^ -' ', newLine -] - -{ #category : 'template' } -MicAgendaGenerator class >> dayTalksTemplate: aNewLine [ - - | newLine | - newLine := aNewLine asString. - ^ -'
    ', newLine, -'
    ', newLine, -'
    ', newLine, -' ', newLine, -'
      ', newLine, -'
    • ', newLine, -'
      Time
      ', newLine, -'
      Speaker
      ', newLine, -'
      Subject
      ', newLine, -'
      Venue
      ', newLine, -'
    • ', newLine, -' {{{SCHEDULES}}}', newLine, -'
    ', newLine, -'
    ', newLine -] - -{ #category : 'template' } -MicAgendaGenerator class >> talkTemplate: aNewLine [ - | newLine | - newLine := aNewLine asString. - ^ -' ', newLine, -'
  • ', newLine, -'
    ', newLine, -' ', newLine, -'
    ', newLine, -' ', newLine, -' {{TIME}}', newLine, -'
    ', newLine , -' ', newLine, -'
    ', newLine, -' ', newLine, -' {{SPEAKER}}', newLine, -'
    ', newLine, -' ', newLine, -'
    {{SUBJECT}}
    ', newLine, -' ', newLine, -'
    {{ROOM}}
    ', newLine, -'
    ', newLine, -'
  • ' -] - -{ #category : 'visiting' } -MicAgendaGenerator >> build: aScheduleFile [ - - | file fileReference| - parentFile := aScheduleFile parent. - file := Microdown parse: aScheduleFile contents. - fileReference := (parentFile / 'GeneratedHTML/Schedule.html') asFileReference. - fileReference ensureDelete. - self visit: file. - fileReference writeStreamDo: [ :stream | stream nextPutAll: self contents ] -] - -{ #category : 'initialization' } -MicAgendaGenerator >> initialize [ - - super initialize. - time := ''. - daysTalks := ''. - daysHeadersBlock := ''. - talks := ''. - daysNumber := 0. -] - -{ #category : 'visiting' } -MicAgendaGenerator >> templateInitialization [ - - agendaTemplate := parentFile / 'Template/agendaTemplate.mustache' . - dayHeaderBlockTemplate := parentFile / 'Template/dayHeaderBlockTemplate.mustache'. - dayTalksTemplate :=parentFile / 'Template/dayTalksTemplate.mustache'. - talkTemplate := parentFile / 'Template/talkTemplate.mustache'. -] - -{ #category : 'accessing' } -MicAgendaGenerator >> time [ - - ^ time -] - -{ #category : 'accessing' } -MicAgendaGenerator >> time: aTime [ - - time := aTime -] - -{ #category : 'visiting' } -MicAgendaGenerator >> timePlus: aLength [ - - | currentHours currentMins addedTime nbHours | - currentHours := ((self time substrings: 'h') at: 1) asNumber . - currentMins := ((self time substrings: 'h') at: 2) . - addedTime := aLength allButLast asNumber. - nbHours := addedTime // 60. - addedTime := addedTime - (nbHours * 60). - (currentMins asNumber + addedTime = 60 or: currentMins asNumber + addedTime = 0) - ifTrue: [ (currentMins asNumber + addedTime = 60) - ifTrue: [ ^ self time: ((currentHours + nbHours + 1) asString, 'h00') ] - ifFalse: [ ^ self time: ((currentHours + nbHours) asString, 'h00') ] ] - ifFalse: [ (currentMins asNumber + addedTime > 60) - ifTrue:[ ^ self time: ((currentHours + nbHours + 1) asString, 'h', (currentMins asNumber + addedTime - 60) asString)] - ifFalse:[ ^ self time: ((currentHours + nbHours) asString, 'h', (currentMins asNumber + addedTime) asString)]] - -] - -{ #category : 'visiting' } -MicAgendaGenerator >> visitAgenda: anAgenda [ - - | agenda | - self templateInitialization. - self visitChildrenOf: anAgenda. - agenda := (MustacheTemplate on: agendaTemplate) value: { - 'NUMBERDAY' -> daysNumber. - 'DAYSBLOCK' -> daysHeadersBlock. - 'DAYS' -> daysTalks } asDictionary. - canvas nextPutAll: agenda -] - -{ #category : 'visiting' } -MicAgendaGenerator >> visitBreak: aBreak [ - - | length talk | - length := self time, ' - '. - self timePlus: aBreak length. - length := length, self time. - - talk := (MustacheTemplate on: talkTemplate) value: { - 'TIME' -> length trim. - 'SPEAKER' -> aBreak author. - 'SUBJECT' -> aBreak subject. - 'ROOM' -> aBreak room } asDictionary. - talks := talks, talk. -] - -{ #category : 'visiting' } -MicAgendaGenerator >> visitDay: aDay [ - - | day dayBlock number numberDay active| - daysNumber := daysNumber + 1. - active := ''. - (daysNumber = 1) - ifTrue: [active := 'show active'] - ifFalse: [active := '']. - number := 'day', daysNumber asString. - numberDay := 'Day-0', daysNumber asString. - dayBlock := (MustacheTemplate on: dayHeaderBlockTemplate) value: { - 'NUMBER' -> number. - 'ACTIVE' -> active. - 'DAYNUMBER' -> numberDay. - 'DATE' -> aDay start } asDictionary. - daysHeadersBlock := daysHeadersBlock, dayBlock. - self visitChildrenOf: aDay. - day := (MustacheTemplate on: dayTalksTemplate) value: { - 'DAYNUMBER' -> number. - 'ACTIVE' -> active. - 'SCHEDULES' -> talks asString } asDictionary. - daysTalks := daysTalks, day. - talks := ''. -] - -{ #category : 'visiting' } -MicAgendaGenerator >> visitSegment: aSegment [ - - self time: aSegment start. - talkTemplate := parentFile / 'Template/talkTemplate.mustache' contents. - self visitChildrenOf: aSegment. -] - -{ #category : 'visiting' } -MicAgendaGenerator >> visitTalk: aTalk [ - - | length talk | - length := self time, ' - '. - self timePlus: aTalk length. - length := length, self time. - - talk := (MustacheTemplate on: talkTemplate) value: { - 'TIME' -> length trim. - 'SPEAKER' -> aTalk author. - 'SUBJECT' -> aTalk subject. - 'ROOM' -> aTalk room } asDictionary. - talks := talks, talk. -] diff --git a/src/Microdown-Agenda/MicBreakBlock.class.st b/src/Microdown-Agenda/MicBreakBlock.class.st deleted file mode 100644 index 8f5237d3..00000000 --- a/src/Microdown-Agenda/MicBreakBlock.class.st +++ /dev/null @@ -1,25 +0,0 @@ -" -I represent a Break in a Segment like a break for lunch or a coffee time for a certain amount of time at a certain place. -" -Class { - #name : 'MicBreakBlock', - #superclass : 'MicAbstractComponentBlock', - #category : 'Microdown-Agenda', - #package : 'Microdown-Agenda' -} - -{ #category : 'accessing' } -MicBreakBlock class >> tag [ - ^ #break -] - -{ #category : 'visiting' } -MicBreakBlock >> accept: aVisitor [ - ^ aVisitor visitBreak: self -] - -{ #category : 'accessing' } -MicBreakBlock >> author [ - - ^ self arguments at: #author ifAbsent: [ '' ] -] diff --git a/src/Microdown-Agenda/MicDayBlock.class.st b/src/Microdown-Agenda/MicDayBlock.class.st deleted file mode 100644 index d68481fc..00000000 --- a/src/Microdown-Agenda/MicDayBlock.class.st +++ /dev/null @@ -1,31 +0,0 @@ -" -I represent a Day in a Agenda with all my differents segment which are my children. -" -Class { - #name : 'MicDayBlock', - #superclass : 'MicEnvironmentBlock', - #category : 'Microdown-Agenda', - #package : 'Microdown-Agenda' -} - -{ #category : 'accessing' } -MicDayBlock class >> tag [ - ^ #day -] - -{ #category : 'visiting' } -MicDayBlock >> accept: aVisitor [ - ^ aVisitor visitDay: self -] - -{ #category : 'accessing' } -MicDayBlock >> start [ - - ^ self arguments at: #start ifAbsent: [ 'There is no start' ] -] - -{ #category : 'accessing' } -MicDayBlock >> start: aStart [ - - arguments at: #start put: aStart -] diff --git a/src/Microdown-Agenda/MicSegmentBlock.class.st b/src/Microdown-Agenda/MicSegmentBlock.class.st deleted file mode 100644 index 8fb8b436..00000000 --- a/src/Microdown-Agenda/MicSegmentBlock.class.st +++ /dev/null @@ -1,31 +0,0 @@ -" -I represent a Segment of a Day which i contains all the differents components which are my children. -" -Class { - #name : 'MicSegmentBlock', - #superclass : 'MicEnvironmentBlock', - #category : 'Microdown-Agenda', - #package : 'Microdown-Agenda' -} - -{ #category : 'accessing' } -MicSegmentBlock class >> tag [ - ^ #segment -] - -{ #category : 'visiting' } -MicSegmentBlock >> accept: aVisitor [ - ^ aVisitor visitSegment: self -] - -{ #category : 'accessing' } -MicSegmentBlock >> start [ - - ^ self arguments at: #start ifAbsent: [ 'There is no start' ] -] - -{ #category : 'accessing' } -MicSegmentBlock >> start: aStart [ - - arguments at: #start put: aStart -] diff --git a/src/Microdown-Agenda/MicTalkBlock.class.st b/src/Microdown-Agenda/MicTalkBlock.class.st deleted file mode 100644 index 58ce8172..00000000 --- a/src/Microdown-Agenda/MicTalkBlock.class.st +++ /dev/null @@ -1,19 +0,0 @@ -" -I represent a Talk in a Segment like a presentation of a new tool or projet by someone for a certains amount of time at a certain place. -" -Class { - #name : 'MicTalkBlock', - #superclass : 'MicAbstractComponentBlock', - #category : 'Microdown-Agenda', - #package : 'Microdown-Agenda' -} - -{ #category : 'accessing' } -MicTalkBlock class >> tag [ - ^ #talk -] - -{ #category : 'visiting' } -MicTalkBlock >> accept: aVisitor [ - ^ aVisitor visitTalk: self -] diff --git a/src/Microdown-Blog-Tests/MicBlogCreatorTest.class.st b/src/Microdown-Blog-Tests/MicBlogCreatorTest.class.st index e8d90817..704795c9 100644 --- a/src/Microdown-Blog-Tests/MicBlogCreatorTest.class.st +++ b/src/Microdown-Blog-Tests/MicBlogCreatorTest.class.st @@ -9,10 +9,10 @@ Class { #package : 'Microdown-Blog-Tests' } -{ #category : 'as yet unclassified' } +{ #category : 'initialization' } MicBlogCreatorTest >> fileContent1 [ -^ '{ + ^ '{ "date" : "8 January 2019" } # A Cool Story @@ -21,11 +21,10 @@ Pharo is cool but _this is_ a superlong _paragraph_ Simple powerful language: No Amazing debugging experience: The Pharo environment includes a debugger unlike anything you''ve seen before. It allows you to step through code, restart the execution of methods, create methods on the fly, and much more! -' - +' ] -{ #category : 'as yet unclassified' } +{ #category : 'initialization' } MicBlogCreatorTest >> fileContent2 [ ^ '{ @@ -41,7 +40,7 @@ Pharo is a pure _object-oriented programming language_ in the tradition of Small ] -{ #category : 'as yet unclassified' } +{ #category : 'initialization' } MicBlogCreatorTest >> fileContent3 [ ^ '{ @@ -59,7 +58,7 @@ When you participate to the mooc you get access to the quizz and the credit vali ' ] -{ #category : 'as yet unclassified' } +{ #category : 'initialization' } MicBlogCreatorTest >> generateArchitecture [ | ref1 ref2 ref3 ref4 | @@ -81,7 +80,7 @@ MicBlogCreatorTest >> generateArchitecture [ ref4 writeStreamDo: [ :stream | stream nextPutAll: 'Du java' ] ] -{ #category : 'as yet unclassified' } +{ #category : 'initialization' } MicBlogCreatorTest >> listOfFile [ ^ (fileSystem / 'source') allFiles @@ -144,7 +143,7 @@ MicBlogCreatorTest >> testCreateAllHtmlFile [ { #category : 'tests' } MicBlogCreatorTest >> testCreateFromTo [ - | allFile nbMonthFile | + | allFile nbMonthFile nbCSSFile| MicBlogCreator createFrom: fileSystem / 'source' to: fileSystem / 'html'. @@ -152,8 +151,9 @@ MicBlogCreatorTest >> testCreateFromTo [ allFile := (fileSystem / 'html') allFiles. nbMonthFile := (Date today year - 2014) * 12 + Date today month index. + nbCSSFile := 1. - self assert: allFile size equals: 5 + nbMonthFile + self assert: allFile size equals: 5 + nbMonthFile + nbCSSFile ] { #category : 'tests' } @@ -251,7 +251,7 @@ MicBlogCreatorTest >> testWriteToNamed [ root := Microdown parse: file contents. html := (MicHTMLVisitor new visit: root) at: 1. - MicBlogCreator new + blog write: html to: fileSystem / 'html' named: 'test.html'. diff --git a/src/Microdown-Blog/MicBlogCreator.class.st b/src/Microdown-Blog/MicBlogCreator.class.st index 977851b3..0bd2b85b 100644 --- a/src/Microdown-Blog/MicBlogCreator.class.st +++ b/src/Microdown-Blog/MicBlogCreator.class.st @@ -13,7 +13,8 @@ Class { #instVars : [ 'sourceDirectory', 'targetDirectory', - 'dateList' + 'dateList', + 'cssFrameworkName' ], #category : 'Microdown-Blog', #package : 'Microdown-Blog' @@ -57,6 +58,9 @@ MicBlogCreator >> createAllHtmlFile [ generateMicListBlockOfLinkDateTo: targetDirectory. "Copy the source directory in the target directory" self copySourceDirectoryInTarget. + + "Download the CSS" + self downloadCSS. "Collect and parse all Markdown file of targetDirectory" allFile := self collectAllMarkDownFile: targetDirectory. @@ -116,26 +120,27 @@ MicBlogCreator >> createHtmlFile: aMicRoot toReplace: aFileReference [ aFileReference delete. - self + self write: html - to: aFileReference parent - named: (aFileReference fullName substrings: '/') last + to: targetDirectory + named: + (aFileReference fullName withoutPrefix: + self targetDirectory fullName) ] { #category : 'rendering' } MicBlogCreator >> createHtmlGroupFile: aMicRoot at: aMonth [ - | a fileRef | + | a "fileRef" fileName | self rootAssembly: aMicRoot. a := (MicHTMLVisitor new visit: aMicRoot) at: 1. - fileRef := targetDirectory / '_monthBlog'. + "fileRef := targetDirectory / '_monthBlog'." - self - write: a - to: fileRef - named: aMonth name , '_' , aMonth year asString , '.html' + fileName := aMonth name , '_' , aMonth year asString , '.html'. + + self write: a to: targetDirectory named: '_monthBlog/' , fileName ] { #category : 'rendering' } @@ -149,12 +154,58 @@ MicBlogCreator >> createHtmlSummarize: aMicRoot [ self write: a to: targetDirectory named: 'index.html' ] +{ #category : 'accessing' } +MicBlogCreator >> cssFrameworkName [ + + ^ cssFrameworkName +] + +{ #category : 'accessing' } +MicBlogCreator >> cssFrameworkName: aCss [ + + cssFrameworkName := aCss +] + { #category : 'accessing' } MicBlogCreator >> dateList: aDateList [ dateList := aDateList. ] +{ #category : 'css' } +MicBlogCreator >> downloadCSS [ + + | a | + (targetDirectory / 'css') ensureCreateDirectory. + a := MicCSSProvider new. + a + findCssNamed: cssFrameworkName; + destinationPath: targetDirectory / 'css'. + a cssDownloader downloadCSSFramework: + (MicCSSProvider forCSSNamed: cssFrameworkName) +] + +{ #category : 'initialization' } +MicBlogCreator >> initialize [ + + super initialize. + self cssFrameworkName: 'Axist'. +] + +{ #category : 'as yet unclassified' } +MicBlogCreator >> levelPathDifferenceForCSS: aStringPath [ + + | result string | + string := aStringPath copyReplaceAll: '\' with: '/'. + + result := ''. + + 2 to: (string substrings: '/') size do: [ :each | + result := result , '../' ]. + + ^ result +] + { #category : 'rendering' } MicBlogCreator >> renameMarkdownIntoHtmlFile: aFileReference [ @@ -199,15 +250,23 @@ MicBlogCreator >> targetDirectory: arg1 [ { #category : 'rendering' } MicBlogCreator >> write: aMicHTMLVisitor to: aPath named: aName [ - | htmlDocument | + | htmlDocument fileName cssFramework | + fileName := aName withoutPrefix: '/'. + fileName := fileName withoutPrefix: '\'. + + cssFramework := MicCSSProvider forCSSNamed: cssFrameworkName. + cssFramework basePath: + (self levelPathDifferenceForCSS: fileName) , 'css/'. + htmlDocument := MicHTMLDocument new. htmlDocument configuration: aMicHTMLVisitor configuration. htmlDocument configuration document: htmlDocument. htmlDocument setCharSetUTF8; + addCSS: cssFramework; destinationPath: aPath. ^ htmlDocument - fileName: aName; + fileName: fileName; writeDocument: aMicHTMLVisitor contents; contents ] diff --git a/src/Microdown-Calypso/ManifestMicrodownCalypso.class.st b/src/Microdown-Calypso/ManifestMicrodownCalypso.class.st deleted file mode 100644 index 0d8e4bb0..00000000 --- a/src/Microdown-Calypso/ManifestMicrodownCalypso.class.st +++ /dev/null @@ -1,10 +0,0 @@ -" -I provide some extensions to the class browser Calypso. I allow rendering of package and class comments in MicroDown. -" -Class { - #name : 'ManifestMicrodownCalypso', - #superclass : 'PackageManifest', - #category : 'Microdown-Calypso-Manifest', - #package : 'Microdown-Calypso', - #tag : 'Manifest' -} diff --git a/src/Microdown-H5P/MicH5PCommandLine.class.st b/src/Microdown-H5P/MicH5PCommandLine.class.st deleted file mode 100644 index 15c75968..00000000 --- a/src/Microdown-H5P/MicH5PCommandLine.class.st +++ /dev/null @@ -1,40 +0,0 @@ -" -``` -../../vms/100-x64/Pharo.app/Contents/MacOS/Pharo ./H5P.image clap h5p AboutBasket.pdf -``` -" -Class { - #name : 'MicH5PCommandLine', - #superclass : 'ClapApplication', - #category : 'Microdown-H5P', - #package : 'Microdown-H5P' -} - -{ #category : 'command line' } -MicH5PCommandLine class >> h5p [ - - - ^ (ClapCommand id: #h5p) - description: 'To convert to h5p'; - add: ClapFlag forHelp; - add: ((ClapPositional id: #file) description: 'Files to be converted.'); - meaning: [ :args | - args at: #helpFlag ifPresent: [ :help | - help value; exitSuccess ]. - (self with: args) execute ] -] - -{ #category : 'accessing' } -MicH5PCommandLine >> argumentAt: identifier [ - ^ (arguments at: identifier) value: self -] - -{ #category : 'accessing' } -MicH5PCommandLine >> execute [ - - MicPictureBasedWriter new - sourcePDF: (FileSystem workingDirectory /(self argumentAt: #file)) fullName ; - treatSourcePDF; - go; - compressH5P. -] diff --git a/src/Microdown-H5P/MicH5PTemplateWriter.class.st b/src/Microdown-H5P/MicH5PTemplateWriter.class.st deleted file mode 100644 index 69996eb9..00000000 --- a/src/Microdown-H5P/MicH5PTemplateWriter.class.st +++ /dev/null @@ -1,5246 +0,0 @@ -" -An H5P writer... scary format. - - -first invoke the writer - -MicH5PTemplateWriter new - writeContentJSONOnDisk: (Microdown parse: MicH5PTemplateWriterTest new mainSlideInMicrodown, MicH5PTemplateWriterTest new oneSlideWithCodeInMicrodown ) - - -slideWithFigure - -then the following script on the repository of Advanced Design Mooc since it has the ValidatedJSON - -``` -#cp ValidatedJSON/content4.json pharo-Template-withVariableNames2/content/content.json -cd pharo-Template-withVariableNames2 -zip -r -D -X ../Generated.h5p * -cd ../ -``` - - -Now I always work on fullTemplateString without number -and when it is working I from time to time archive it by adding an increasing number to the methods. - -I do that because the format is super fragile and I do not to fight with git to recover in case of problems. - - -I'm a slide converter to a limited subset of H5P. - -### figure -the 4 first info is the size of the picture area. - -{ - ""x"": 22.875816993464053, - ""y"": 25.821222462742128, - ""width"": 61.08050108932463, - ""height"": 51.642444925484256, - ""action"": { - ""library"": ""H5P.Image 1.1"", - ""params"": { - ""contentName"": ""Image"", - ""file"": { - ""path"": ""images/image-dejfFHSf.png"", - ""mime"": ""image/png"", - ""copyright"": { - ""license"": ""U"" - }, - ""width"": 771, - ""height"": 330 - } - }, - ""subContentId"": ""9cdd1cde-7ffa-4306-b811-cf1287e7c0ba"", - ""metadata"": { - ""contentType"": ""Image"", - ""license"": ""U"", - ""title"": ""Untitled Image"", - ""authors"": [], - ""changes"": [] - } - }, - ""alwaysDisplayComments"": false, - ""backgroundOpacity"": 0, - ""displayAsButton"": false, - ""buttonSize"": ""big"", - ""goToSlideType"": ""specified"", - ""invisible"": false, - ""solution"": """" - } - - - -### code -params"""":{ - """"text"""":""""
    testSetLabel\n\n    | codeBlock |\n    codeBlock := self testedClass new.\n    codeBlock label: 'sec123'.\n    self assert: codeBlock hasLabel. \n    self assert: codeBlock label equals: 'sec123'\n
    \n"""" - }, -### Bullet - """"action"""":{ - """"library"""":""""H5P.AdvancedText 1.1"""", - """"params"""":{ - """"text"""":""""
      \n\t
    • Cool
    • \n\t
    • Nice
    • \n\t
    • Super
    • \n\t
    • Hyper language
    • \n
    \n"""" - }, -### Links -""""action"""":{ - """"library"""":""""H5P.Link 1.3"""", - """"params"""":{ - """"linkWidget"""":{ - """"protocol"""":""""http://"""", - """"url"""":""""www.pharo.org"""" - }, - """"title"""":""""What a great link"""" - }, - """"subContentId"""":""""4160c8f2-8a7c-4e83-ad3b-a6b5415a7b9e"""", - """"metadata"""":{ - """"contentType"""":""""Link"""", - """"license"""":""""U"""" - } -" -Class { - #name : 'MicH5PTemplateWriter', - #superclass : 'MicDocumentWriter', - #category : 'Microdown-H5P', - #package : 'Microdown-H5P' -} - -{ #category : 'as yet unclassified' } -MicH5PTemplateWriter class >> docString [ - "since we may lose class comment..." - ^ 'I''m a slide converter to a limited subset of H5P. -### code -params"":{ - ""text"":""
    testSetLabel\n\n    | codeBlock |\n    codeBlock := self testedClass new.\n    codeBlock label: ''sec123''.\n    self assert: codeBlock hasLabel. \n    self assert: codeBlock label equals: ''sec123''\n
    \n"" - }, -### Bullet - ""action"":{ - ""library"":""H5P.AdvancedText 1.1"", - ""params"":{ - ""text"":""
      \n\t
    • Cool
    • \n\t
    • Nice
    • \n\t
    • Super
    • \n\t
    • Hyper language
    • \n
    \n"" - }, -### Links -""action"":{ - ""library"":""H5P.Link 1.3"", - ""params"":{ - ""linkWidget"":{ - ""protocol"":""http://"", - ""url"":""www.pharo.org"" - }, - ""title"":""What a great link"" - }, - ""subContentId"":""4160c8f2-8a7c-4e83-ad3b-a6b5415a7b9e"", - ""metadata"":{ - ""contentType"":""Link"", - ""license"":""U"" - }' -] - -{ #category : 'initialization' } -MicH5PTemplateWriter >> canvasClass [ - ^ MicHTMLCanvas -] - -{ #category : 'static document parts' } -MicH5PTemplateWriter >> creditSlide [ - - ^ '{ - "elements":[ - { - "x":57.734204793028326, - "y":83.91897300391192, - "width":18.51851851851852, - "height":13.21319292326363, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-wFbeHf6p.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":227, - "height":82 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":26.143790849673202, - "y":81.76720446535008, - "width":10.893246187363834, - "height":13.448553366011526, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-9vO0XU26.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":160, - "height":100 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":42.48366013071895, - "y":81.76720446535008, - "width":9.803921568627452, - "height":13.39475915254748, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-oZNS16yO.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":133, - "height":92 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":80.61002178649238, - "y":83.91897300391192, - "width":17.429193899782135, - "height":13.646924907581543, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-TyojgW30.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":222, - "height":88 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":1.0893246187363834, - "y":81.76720446535008, - "width":19.607843137254903, - "height":13.949506599474109, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-MHF07lsl.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":472, - "height":170 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes": [ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":37.03703703703704, - "y":62.40128761829348, - "width":18.51851851851852, - "height":12.796309286602659, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-kyGO23Dp.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":19.607843137254903, - "y":30.124759539865817, - "width":55.55555555555556, - "height":39.999440540179975, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    S. Ducasse, L. Fabresse, G. Polito, P. Tesone

    \n\n

    Copyright 2022

    \n\n

     

    \n" - }, - "subContentId":"a5116483-6063-4cf8-8155-dd08bd8526b0", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ }, - "keywords":[ - { "main":"Credits/License" } - ] - }' -] - -{ #category : 'to debug generation' } -MicH5PTemplateWriter >> fillTemplateWithVariables [ - "self new fillTemplateWithVariables" - - ^ self fullTemplateStringParam asMustacheTemplate - value: ({ 'CREDITSLIDE' -> self creditSlide . - 'AUTHORVARIABLE' -> 'S. Ducasse, L. Fabresse, G. Polito, and P. Tesone' . - 'TITLEVARIABLE' -> '1- Object-oriented Design and Pharo: a Love Affair' . - 'SHORTTITLEVARIABLE' -> 'OOD&Pharo'. - 'SLIDETITLEVARIABLE' -> 'Getting started with Design' . - 'SHORTSLIDETITLEVARIABLE' -> 'Getting started' . - 'SLIDES' -> self fillUpOneSlide - }) asDictionary. -] - -{ #category : 'to debug generation' } -MicH5PTemplateWriter >> fillTemplateWithVariables2 [ - "self new fillTemplateWithVariables" - - ^ self fullTemplateStringParam asMustacheTemplate - value: ({ 'CREDITSLIDE' -> self creditSlide . - 'AUTHORVARIABLE' -> 'S. Ducasse, L. Fabresse, G. Polito, and P. Tesone' . - 'TITLEVARIABLE' -> '1- Object-oriented Design and Pharo: a Love Affair' . - 'SHORTTITLEVARIABLE' -> 'OOD&Pharo'. - 'SLIDETITLEVARIABLE' -> 'Getting started with Design' . - 'SHORTSLIDETITLEVARIABLE' -> 'Getting started' . - 'SLIDES' -> self fillUpOneSlide - }) asDictionary. -] - -{ #category : 'actions' } -MicH5PTemplateWriter >> fillTemplateWithVariables: aMicPresentation [ - "aMicPresentation is a collection with metadata and slides." - - | mainSlide otherSlides | - mainSlide := aMicPresentation first. - otherSlides := aMicPresentation allButFirst. - self fillUpSlides: otherSlides. - ^ self fullTemplateStringParam asMustacheTemplate - value: ({ 'CREDITSLIDE' -> self creditSlide . - 'AUTHORVARIABLE' -> 'S. Ducasse, L. Fabresse, G. Polito, and P. Tesone' . - 'TITLEVARIABLE' -> (mainSlide body at: #title). - 'SHORTTITLEVARIABLE' -> 'OOD&Pharo'. - 'SLIDETITLEVARIABLE' -> 'Getting started with Design' . - 'SHORTSLIDETITLEVARIABLE' -> 'Getting started' . - 'SLIDES' -> self contents. - }) asDictionary. -] - -{ #category : 'to debug generation' } -MicH5PTemplateWriter >> fillUpOneSlide [ - " works too" - "self new fillUpOneSlide" - - ^ self slideTemplate asMustacheTemplate - value: ({ - 'SLIDETITLEVARIABLE' -> 'Getting started with Design' . - 'SHORTSLIDETITLEVARIABLE' -> 'Getting started' . - 'SINGLESLIDEBODY' -> '
      \n\t
    • pilou
    • \n\t\n
    \n' - }) asDictionary. - - -] - -{ #category : 'to debug generation' } -MicH5PTemplateWriter >> fillUpOneSlide2 [ - "works" - "self new fillUpOneSlide" - - ^ self slideTemplate asMustacheTemplate - value: ({ - 'SLIDETITLEVARIABLE' -> 'Getting started with Design' . - 'SHORTSLIDETITLEVARIABLE' -> 'Getting started' . - 'SINGLESLIDEBODY' -> 'La peur est la petite mort qui conduit a l''oblitération totale. Je ne connaitrais pas la peur...' - }) asDictionary. - - -] - -{ #category : 'actions' } -MicH5PTemplateWriter >> fillUpOneSlide: aSlide [ - - | oneSlideWriter | - oneSlideWriter := self class new. - aSlide accept: oneSlideWriter. - ^ self slideTemplate asMustacheTemplate - value: ({ - 'SLIDETITLEVARIABLE' -> aSlide title . - 'SHORTSLIDETITLEVARIABLE' -> aSlide title . - 'SINGLESLIDEBODY' -> oneSlideWriter contents - }) asDictionary. - - -] - -{ #category : 'actions' } -MicH5PTemplateWriter >> fillUpSlides: aCollection [ - - aCollection - do: [ :each | canvas nextPutAll: (self fillUpOneSlide: each) ] - separatedBy: [ canvas nextPutAll: ','; newLine ]. - -] - -{ #category : 'old working templates' } -MicH5PTemplateWriter >> fullTemplateString [ - ^ '{ - "presentation":{ - "slides":[ - { - "elements":[ - { - "x":8.714596949891067, - "y":25.821222462742128, - "width":81.69934640522877, - "height":27.972991001303974, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{TITLEVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":86.35110294117648, - "y":71.00836177254085, - "width":13.648910675381265, - "height":26.954343775148796, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-b8lco9r6.png", - "mime":"image/png", - "copyright":{"license":"U"}, - "width":256, - "height":256 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":16.051364365971107, - "y":60.24268289202926, - "width":40.30501089324619, - "height":12.910611231371064, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{AUTHORVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":88.22251008103561, - "width":14.161220043572985, - "height":9.783833332616078, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-FLYhoyME.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":4.303537077123688, - "width":93.68191721132898, - "height":8.607074154247377, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Advanced object-oriented design explained with Pharo

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":70.80610021786492, - "y":92.5260471581593, - "width":19.607843137254903, - "height":6.455305615685532, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    http://www.pharo.org

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "keywords":[ - { - "main":"{{{SHORTTITLEVARIABLE}}}" - } - ], - "slideBackgroundSelector":{ } - }, - { - "elements":[ - { - "x":6.5359477124183005, - "y":19.365916847056596, - "width":37.037037037037, - "height":73.160071277275, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
      \n\t
    • Cool
    • \n\t
    • Nice
    • \n\t
    • Super
    • \n\t
    • Hyper language
    • \n
    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":17.214148308494753, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{SLIDETITLEVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ }, - "keywords":[ - { - "main":"{{{SHORTSLIDETITLEVARIABLE}}}" - } - ] - }, - { - "elements":[ - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":10.758842692809221, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Doing Manual Title....

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":4.3572984749455, - "y":19.365901220455, - "width":82.788671023965, - "height":51.642403254547, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
    testSetLabel\n\n    | codeBlock |\n    codeBlock := self testedClass new.\n    codeBlock label: ''sec123''.\n    self assert: codeBlock hasLabel. \n    self assert: codeBlock label equals: ''sec123''\n
    \n" - }, - "subContentId":"4f8b5f81-40ee-4bdd-9fa6-935c850f9da0", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"Code" - } - ] - }, - { - "elements":[ - { - "x":30.000680827887, - "y":30.000336213563, - "width":40, - "height":40, - "action":{ - "library":"H5P.Link 1.3", - "params":{ - "linkWidget":{ - "protocol":"http://", - "url":"www.pharo.org" - }, - "title":"What a great link" - }, - "metadata":{ - "contentType":"Link", - "license":"U" - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"Link" - } - ] - }, - { - "elements":[ - { - "x":57.734204793028326, - "y":83.91897300391192, - "width":18.51851851851852, - "height":13.21319292326363, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-wFbeHf6p.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":227, - "height":82 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":26.143790849673202, - "y":81.76720446535008, - "width":10.893246187363834, - "height":13.448553366011526, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-9vO0XU26.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":160, - "height":100 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":42.48366013071895, - "y":81.76720446535008, - "width":9.803921568627452, - "height":13.39475915254748, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-oZNS16yO.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":133, - "height":92 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":80.61002178649238, - "y":83.91897300391192, - "width":17.429193899782135, - "height":13.646924907581543, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-TyojgW30.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":222, - "height":88 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":1.0893246187363834, - "y":81.76720446535008, - "width":19.607843137254903, - "height":13.949506599474109, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-MHF07lsl.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":472, - "height":170 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes": [ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":37.03703703703704, - "y":62.40128761829348, - "width":18.51851851851852, - "height":12.796309286602659, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-kyGO23Dp.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":19.607843137254903, - "y":30.124759539865817, - "width":55.55555555555556, - "height":39.999440540179975, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    S. Ducasse, L. Fabresse, G. Polito, P. Tesone

    \n\n

    Copyright 2022

    \n\n

     

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ }, - "keywords":[ - { "main":"Credits/License" } - ] - } - ], - "keywordListEnabled":true, - "globalBackgroundSelector":{ - - }, - "keywordListAlwaysShow":false, - "keywordListAutoHide":false, - "keywordListOpacity":100 - }, - "override":{ - "activeSurface":false, - "hideSummarySlide":false, - "summarySlideSolutionButton":true, - "summarySlideRetryButton":true, - "enablePrintButton":false, - "social":{ - "showFacebookShare":false, - "facebookShare":{ - "url":"@currentpageurl", - "quote":"I scored @score out of @maxScore on a task at @currentpageurl." - }, - "showTwitterShare":false, - "twitterShare":{ - "statement":"I scored @score out of @maxScore on a task at @currentpageurl.", - "url":"@currentpageurl", - "hashtags":"h5p, course" - }, - "showGoogleShare":false, - "googleShareUrl":"@currentpageurl" - } - }, - "l10n":{ - "slide":"Slide", - "score":"Score", - "yourScore":"Your Score", - "maxScore":"Max Score", - "total":"Total", - "totalScore":"Total Score", - "showSolutions":"Show solutions", - "retry":"Retry", - "exportAnswers":"Export text", - "hideKeywords":"Hide sidebar navigation menu", - "showKeywords":"Show sidebar navigation menu", - "fullscreen":"Fullscreen", - "exitFullscreen":"Exit fullscreen", - "prevSlide":"Previous slide", - "nextSlide":"Next slide", - "currentSlide":"Current slide", - "lastSlide":"Last slide", - "solutionModeTitle":"Exit solution mode", - "solutionModeText":"Solution Mode", - "summaryMultipleTaskText":"Multiple tasks", - "scoreMessage":"You achieved:", - "shareFacebook":"Share on Facebook", - "shareTwitter":"Share on Twitter", - "shareGoogle":"Share on Google+", - "summary":"Summary", - "solutionsButtonTitle":"Show comments", - "printTitle":"Print", - "printIngress":"How would you like to print this presentation?", - "printAllSlides":"Print all slides", - "printCurrentSlide":"Print current slide", - "noTitle":"No title", - "accessibilitySlideNavigationExplanation":"Use left and right arrow to change slide in that direction whenever canvas is selected.", - "accessibilityCanvasLabel":"Presentation canvas. Use left and right arrow to move between slides.", - "containsNotCompleted":"@slideName contains not completed interaction", - "containsCompleted":"@slideName contains completed interaction", - "slideCount":"Slide @index of @total", - "containsOnlyCorrect":"@slideName only has correct answers", - "containsIncorrectAnswers":"@slideName has incorrect answers", - "shareResult":"Share Result", - "accessibilityTotalScore":"You got @score of @maxScore points in total", - "accessibilityEnteredFullscreen":"Entered fullscreen", - "accessibilityExitedFullscreen":"Exited fullscreen", - "confirmDialogHeader":"Submit your answers", - "confirmDialogText":"This will submit your results, do you want to continue?", - "confirmDialogConfirmText":"Submit and see results" - } -}' -] - -{ #category : 'old working templates' } -MicH5PTemplateWriter >> fullTemplateString2 [ - "Working too" - ^ '{ - "presentation":{ - "slides":[ - { - "elements":[ - { - "x":8.714596949891067, - "y":25.821222462742128, - "width":81.69934640522877, - "height":27.972991001303974, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{TITLEVARIABLE}}}

    \n" - }, - "subContentId":"98820042-f742-49f4-af01-56a9eecb226b", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" } - - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":86.35110294117648, - "y":71.00836177254085, - "width":13.648910675381265, - "height":26.954343775148796, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-b8lco9r6.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":256, - "height":256 - } - }, - "subContentId":"6f039cb5-677a-4314-ad87-e7ae20b3052d", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":16.051364365971107, - "y":60.24268289202926, - "width":40.30501089324619, - "height":12.910611231371064, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{AUTHORVARIABLE}}}

    \n" - }, - "subContentId":"9fbed056-1cde-4ec3-bc1f-516c724912b1", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":88.22251008103561, - "width":14.161220043572985, - "height":9.783833332616078, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-FLYhoyME.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "subContentId":"84fce47f-c9ce-4c1f-95f9-78985029999f", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":4.303537077123688, - "width":93.68191721132898, - "height":8.607074154247377, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Advanced object-oriented design explained with Pharo

    \n" - }, - "subContentId":"30b14f98-5f34-467a-b1b0-9f955f411350", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":70.80610021786492, - "y":92.5260471581593, - "width":19.607843137254903, - "height":6.455305615685532, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    http://www.pharo.org

    \n" - }, - "subContentId":"f15bd80f-b6fa-49c5-a26e-78fd09a1dcb6", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "keywords":[ - { - "main":"Cover Slide" - } - ], - "slideBackgroundSelector":{ - - } - }, - { - "elements":[ - { - "x":6.5359477124183005, - "y":19.365916847056596, - "width":37.037037037037, - "height":73.160071277275, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
      \n\t
    • Cool
    • \n\t
    • Nice
    • \n\t
    • Super
    • \n\t
    • Hyper language
    • \n
    \n" - }, - "subContentId":"a41dda9d-d25f-47e1-80a7-6dd88158508e", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":17.214148308494753, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    «& SLIDETITLEVARIABLE»

    \n" - }, - "subContentId":"0c4b6088-6d5f-428b-b53b-791a0ca89274", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"Bulleted" - } - ] - }, - { - "elements":[ - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":10.758842692809221, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Doing Manual Title....

    \n" - }, - "subContentId":"b725a0d4-311a-471b-87df-8b56f69b8b6f", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":4.3572984749455, - "y":19.365901220455, - "width":82.788671023965, - "height":51.642403254547, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
    testSetLabel\n\n    | codeBlock |\n    codeBlock := self testedClass new.\n    codeBlock label: ''sec123''.\n    self assert: codeBlock hasLabel. \n    self assert: codeBlock label equals: ''sec123''\n
    \n" - }, - "subContentId":"4f8b5f81-40ee-4bdd-9fa6-935c850f9da0", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"Code" - } - ] - }, - { - "elements":[ - { - "x":30.000680827887, - "y":30.000336213563, - "width":40, - "height":40, - "action":{ - "library":"H5P.Link 1.3", - "params":{ - "linkWidget":{ - "protocol":"http://", - "url":"www.pharo.org" - }, - "title":"What a great link" - }, - "subContentId":"4160c8f2-8a7c-4e83-ad3b-a6b5415a7b9e", - "metadata":{ - "contentType":"Link", - "license":"U" - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"Link" - } - ] - }, - { - "elements":[ - { - "x":57.734204793028326, - "y":83.91897300391192, - "width":18.51851851851852, - "height":13.21319292326363, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-wFbeHf6p.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":227, - "height":82 - } - }, - "subContentId":"ae82b3a6-1b91-4133-b9fc-dea9ca6d5b41", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":26.143790849673202, - "y":81.76720446535008, - "width":10.893246187363834, - "height":13.448553366011526, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-9vO0XU26.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":160, - "height":100 - } - }, - "subContentId":"560b2be2-b5d3-48b6-9d79-ad98b568b7ee", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":42.48366013071895, - "y":81.76720446535008, - "width":9.803921568627452, - "height":13.39475915254748, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-oZNS16yO.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":133, - "height":92 - } - }, - "subContentId":"b3fd2dcf-de97-49e6-8ba9-7b1e32869b3f", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":80.61002178649238, - "y":83.91897300391192, - "width":17.429193899782135, - "height":13.646924907581543, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-TyojgW30.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":222, - "height":88 - } - }, - "subContentId":"fee02c70-37b2-4615-a13a-84b397cf0e41", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":1.0893246187363834, - "y":81.76720446535008, - "width":19.607843137254903, - "height":13.949506599474109, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-MHF07lsl.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":472, - "height":170 - } - }, - "subContentId":"ff04b6d1-0612-4d3e-a164-63b211b0e5e8", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":37.03703703703704, - "y":62.40128761829348, - "width":18.51851851851852, - "height":12.796309286602659, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-kyGO23Dp.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "subContentId":"0df21089-995e-4eae-b37a-fa1c5f500dac", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":19.607843137254903, - "y":30.124759539865817, - "width":55.55555555555556, - "height":39.999440540179975, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    S. Ducasse, L. Fabresse, G. Polito, P. Tesone

    \n\n

    Copyright 2022

    \n\n

     

    \n" - }, - "subContentId":"a5116483-6063-4cf8-8155-dd08bd8526b0", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"End" - } - ] - } - ], - "keywordListEnabled":true, - "globalBackgroundSelector":{ - - }, - "keywordListAlwaysShow":false, - "keywordListAutoHide":false, - "keywordListOpacity":100 - }, - "override":{ - "activeSurface":false, - "hideSummarySlide":false, - "summarySlideSolutionButton":true, - "summarySlideRetryButton":true, - "enablePrintButton":false, - "social":{ - "showFacebookShare":false, - "facebookShare":{ - "url":"@currentpageurl", - "quote":"I scored @score out of @maxScore on a task at @currentpageurl." - }, - "showTwitterShare":false, - "twitterShare":{ - "statement":"I scored @score out of @maxScore on a task at @currentpageurl.", - "url":"@currentpageurl", - "hashtags":"h5p, course" - }, - "showGoogleShare":false, - "googleShareUrl":"@currentpageurl" - } - }, - "l10n":{ - "slide":"Slide", - "score":"Score", - "yourScore":"Your Score", - "maxScore":"Max Score", - "total":"Total", - "totalScore":"Total Score", - "showSolutions":"Show solutions", - "retry":"Retry", - "exportAnswers":"Export text", - "hideKeywords":"Hide sidebar navigation menu", - "showKeywords":"Show sidebar navigation menu", - "fullscreen":"Fullscreen", - "exitFullscreen":"Exit fullscreen", - "prevSlide":"Previous slide", - "nextSlide":"Next slide", - "currentSlide":"Current slide", - "lastSlide":"Last slide", - "solutionModeTitle":"Exit solution mode", - "solutionModeText":"Solution Mode", - "summaryMultipleTaskText":"Multiple tasks", - "scoreMessage":"You achieved:", - "shareFacebook":"Share on Facebook", - "shareTwitter":"Share on Twitter", - "shareGoogle":"Share on Google+", - "summary":"Summary", - "solutionsButtonTitle":"Show comments", - "printTitle":"Print", - "printIngress":"How would you like to print this presentation?", - "printAllSlides":"Print all slides", - "printCurrentSlide":"Print current slide", - "noTitle":"No title", - "accessibilitySlideNavigationExplanation":"Use left and right arrow to change slide in that direction whenever canvas is selected.", - "accessibilityCanvasLabel":"Presentation canvas. Use left and right arrow to move between slides.", - "containsNotCompleted":"@slideName contains not completed interaction", - "containsCompleted":"@slideName contains completed interaction", - "slideCount":"Slide @index of @total", - "containsOnlyCorrect":"@slideName only has correct answers", - "containsIncorrectAnswers":"@slideName has incorrect answers", - "shareResult":"Share Result", - "accessibilityTotalScore":"You got @score of @maxScore points in total", - "accessibilityEnteredFullscreen":"Entered fullscreen", - "accessibilityExitedFullscreen":"Exited fullscreen", - "confirmDialogHeader":"Submit your answers", - "confirmDialogText":"This will submit your results, do you want to continue?", - "confirmDialogConfirmText":"Submit and see results" - } -}' -] - -{ #category : 'old working templates' } -MicH5PTemplateWriter >> fullTemplateString3 [ - "working too" - ^ '{ - "presentation":{ - "slides":[ - { - "elements":[ - { - "x":8.714596949891067, - "y":25.821222462742128, - "width":81.69934640522877, - "height":27.972991001303974, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{TITLEVARIABLE}}}

    \n" - }, - "subContentId":"98820042-f742-49f4-af01-56a9eecb226b", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":86.35110294117648, - "y":71.00836177254085, - "width":13.648910675381265, - "height":26.954343775148796, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-b8lco9r6.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":256, - "height":256 - } - }, - "subContentId":"6f039cb5-677a-4314-ad87-e7ae20b3052d", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":16.051364365971107, - "y":60.24268289202926, - "width":40.30501089324619, - "height":12.910611231371064, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{AUTHORVARIABLE}}}

    \n" - }, - "subContentId":"9fbed056-1cde-4ec3-bc1f-516c724912b1", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":88.22251008103561, - "width":14.161220043572985, - "height":9.783833332616078, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-FLYhoyME.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "subContentId":"84fce47f-c9ce-4c1f-95f9-78985029999f", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":4.303537077123688, - "width":93.68191721132898, - "height":8.607074154247377, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Advanced object-oriented design explained with Pharo

    \n" - }, - "subContentId":"30b14f98-5f34-467a-b1b0-9f955f411350", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":70.80610021786492, - "y":92.5260471581593, - "width":19.607843137254903, - "height":6.455305615685532, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    http://www.pharo.org

    \n" - }, - "subContentId":"f15bd80f-b6fa-49c5-a26e-78fd09a1dcb6", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "keywords":[ - { - "main":"Cover Slide" - } - ], - "slideBackgroundSelector":{ } - }, - { - "elements":[ - { - "x":6.5359477124183005, - "y":19.365916847056596, - "width":37.037037037037, - "height":73.160071277275, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
      \n\t
    • Cool
    • \n\t
    • Nice
    • \n\t
    • Super
    • \n\t
    • Hyper language
    • \n
    \n" - }, - "subContentId":"a41dda9d-d25f-47e1-80a7-6dd88158508e", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":17.214148308494753, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    «& SLIDETITLEVARIABLE»

    \n" - }, - "subContentId":"0c4b6088-6d5f-428b-b53b-791a0ca89274", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"Bulleted" - } - ] - }, - { - "elements":[ - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":10.758842692809221, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Doing Manual Title....

    \n" - }, - "subContentId":"b725a0d4-311a-471b-87df-8b56f69b8b6f", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":4.3572984749455, - "y":19.365901220455, - "width":82.788671023965, - "height":51.642403254547, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
    testSetLabel\n\n    | codeBlock |\n    codeBlock := self testedClass new.\n    codeBlock label: ''sec123''.\n    self assert: codeBlock hasLabel. \n    self assert: codeBlock label equals: ''sec123''\n
    \n" - }, - "subContentId":"4f8b5f81-40ee-4bdd-9fa6-935c850f9da0", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"Code" - } - ] - }, - { - "elements":[ - { - "x":30.000680827887, - "y":30.000336213563, - "width":40, - "height":40, - "action":{ - "library":"H5P.Link 1.3", - "params":{ - "linkWidget":{ - "protocol":"http://", - "url":"www.pharo.org" - }, - "title":"What a great link" - }, - "subContentId":"4160c8f2-8a7c-4e83-ad3b-a6b5415a7b9e", - "metadata":{ - "contentType":"Link", - "license":"U" - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"Link" - } - ] - }, - { - "elements":[ - { - "x":57.734204793028326, - "y":83.91897300391192, - "width":18.51851851851852, - "height":13.21319292326363, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-wFbeHf6p.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":227, - "height":82 - } - }, - "subContentId":"ae82b3a6-1b91-4133-b9fc-dea9ca6d5b41", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":26.143790849673202, - "y":81.76720446535008, - "width":10.893246187363834, - "height":13.448553366011526, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-9vO0XU26.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":160, - "height":100 - } - }, - "subContentId":"560b2be2-b5d3-48b6-9d79-ad98b568b7ee", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":42.48366013071895, - "y":81.76720446535008, - "width":9.803921568627452, - "height":13.39475915254748, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-oZNS16yO.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":133, - "height":92 - } - }, - "subContentId":"b3fd2dcf-de97-49e6-8ba9-7b1e32869b3f", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":80.61002178649238, - "y":83.91897300391192, - "width":17.429193899782135, - "height":13.646924907581543, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-TyojgW30.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":222, - "height":88 - } - }, - "subContentId":"fee02c70-37b2-4615-a13a-84b397cf0e41", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":1.0893246187363834, - "y":81.76720446535008, - "width":19.607843137254903, - "height":13.949506599474109, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-MHF07lsl.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":472, - "height":170 - } - }, - "subContentId":"ff04b6d1-0612-4d3e-a164-63b211b0e5e8", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":37.03703703703704, - "y":62.40128761829348, - "width":18.51851851851852, - "height":12.796309286602659, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-kyGO23Dp.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "subContentId":"0df21089-995e-4eae-b37a-fa1c5f500dac", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":19.607843137254903, - "y":30.124759539865817, - "width":55.55555555555556, - "height":39.999440540179975, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    S. Ducasse, L. Fabresse, G. Polito, P. Tesone

    \n\n

    Copyright 2022

    \n\n

     

    \n" - }, - "subContentId":"a5116483-6063-4cf8-8155-dd08bd8526b0", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"End" - } - ] - } - ], - "keywordListEnabled":true, - "globalBackgroundSelector":{ - - }, - "keywordListAlwaysShow":false, - "keywordListAutoHide":false, - "keywordListOpacity":100 - }, - "override":{ - "activeSurface":false, - "hideSummarySlide":false, - "summarySlideSolutionButton":true, - "summarySlideRetryButton":true, - "enablePrintButton":false, - "social":{ - "showFacebookShare":false, - "facebookShare":{ - "url":"@currentpageurl", - "quote":"I scored @score out of @maxScore on a task at @currentpageurl." - }, - "showTwitterShare":false, - "twitterShare":{ - "statement":"I scored @score out of @maxScore on a task at @currentpageurl.", - "url":"@currentpageurl", - "hashtags":"h5p, course" - }, - "showGoogleShare":false, - "googleShareUrl":"@currentpageurl" - } - }, - "l10n":{ - "slide":"Slide", - "score":"Score", - "yourScore":"Your Score", - "maxScore":"Max Score", - "total":"Total", - "totalScore":"Total Score", - "showSolutions":"Show solutions", - "retry":"Retry", - "exportAnswers":"Export text", - "hideKeywords":"Hide sidebar navigation menu", - "showKeywords":"Show sidebar navigation menu", - "fullscreen":"Fullscreen", - "exitFullscreen":"Exit fullscreen", - "prevSlide":"Previous slide", - "nextSlide":"Next slide", - "currentSlide":"Current slide", - "lastSlide":"Last slide", - "solutionModeTitle":"Exit solution mode", - "solutionModeText":"Solution Mode", - "summaryMultipleTaskText":"Multiple tasks", - "scoreMessage":"You achieved:", - "shareFacebook":"Share on Facebook", - "shareTwitter":"Share on Twitter", - "shareGoogle":"Share on Google+", - "summary":"Summary", - "solutionsButtonTitle":"Show comments", - "printTitle":"Print", - "printIngress":"How would you like to print this presentation?", - "printAllSlides":"Print all slides", - "printCurrentSlide":"Print current slide", - "noTitle":"No title", - "accessibilitySlideNavigationExplanation":"Use left and right arrow to change slide in that direction whenever canvas is selected.", - "accessibilityCanvasLabel":"Presentation canvas. Use left and right arrow to move between slides.", - "containsNotCompleted":"@slideName contains not completed interaction", - "containsCompleted":"@slideName contains completed interaction", - "slideCount":"Slide @index of @total", - "containsOnlyCorrect":"@slideName only has correct answers", - "containsIncorrectAnswers":"@slideName has incorrect answers", - "shareResult":"Share Result", - "accessibilityTotalScore":"You got @score of @maxScore points in total", - "accessibilityEnteredFullscreen":"Entered fullscreen", - "accessibilityExitedFullscreen":"Exited fullscreen", - "confirmDialogHeader":"Submit your answers", - "confirmDialogText":"This will submit your results, do you want to continue?", - "confirmDialogConfirmText":"Submit and see results" - } -}' -] - -{ #category : 'old working templates' } -MicH5PTemplateWriter >> fullTemplateString4 [ - "no subcomponentid" - ^ '{ - "presentation":{ - "slides":[ - { - "elements":[ - { - "x":8.714596949891067, - "y":25.821222462742128, - "width":81.69934640522877, - "height":27.972991001303974, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{TITLEVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":86.35110294117648, - "y":71.00836177254085, - "width":13.648910675381265, - "height":26.954343775148796, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-b8lco9r6.png", - "mime":"image/png", - "copyright":{"license":"U"}, - "width":256, - "height":256 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":16.051364365971107, - "y":60.24268289202926, - "width":40.30501089324619, - "height":12.910611231371064, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{AUTHORVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":88.22251008103561, - "width":14.161220043572985, - "height":9.783833332616078, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-FLYhoyME.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":4.303537077123688, - "width":93.68191721132898, - "height":8.607074154247377, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Advanced object-oriented design explained with Pharo

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":70.80610021786492, - "y":92.5260471581593, - "width":19.607843137254903, - "height":6.455305615685532, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    http://www.pharo.org

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "keywords":[ - { - "main":"{{{TITLEVARIABLE}}}" - } - ], - "slideBackgroundSelector":{ } - }, - { - "elements":[ - { - "x":6.5359477124183005, - "y":19.365916847056596, - "width":37.037037037037, - "height":73.160071277275, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
      \n\t
    • Cool
    • \n\t
    • Nice
    • \n\t
    • Super
    • \n\t
    • Hyper language
    • \n
    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":17.214148308494753, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{SLIDETITLEVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ }, - "keywords":[ - { - "main":"{{{SHORTSLIDETITLE}}}" - } - ] - }, - { - "elements":[ - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":10.758842692809221, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Doing Manual Title....

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":4.3572984749455, - "y":19.365901220455, - "width":82.788671023965, - "height":51.642403254547, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
    testSetLabel\n\n    | codeBlock |\n    codeBlock := self testedClass new.\n    codeBlock label: ''sec123''.\n    self assert: codeBlock hasLabel. \n    self assert: codeBlock label equals: ''sec123''\n
    \n" - }, - "subContentId":"4f8b5f81-40ee-4bdd-9fa6-935c850f9da0", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - }, - "keywords":[ - { - "main":"Code" - } - ] - }, - { - "elements":[ - { - "x":30.000680827887, - "y":30.000336213563, - "width":40, - "height":40, - "action":{ - "library":"H5P.Link 1.3", - "params":{ - "linkWidget":{ - "protocol":"http://", - "url":"www.pharo.org" - }, - "title":"What a great link" - }, - "subContentId":"4160c8f2-8a7c-4e83-ad3b-a6b5415a7b9e", - "metadata":{ - "contentType":"Link", - "license":"U" - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"Link" - } - ] - }, - { - "elements":[ - { - "x":57.734204793028326, - "y":83.91897300391192, - "width":18.51851851851852, - "height":13.21319292326363, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-wFbeHf6p.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":227, - "height":82 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":26.143790849673202, - "y":81.76720446535008, - "width":10.893246187363834, - "height":13.448553366011526, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-9vO0XU26.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":160, - "height":100 - } - }, - "subContentId":"560b2be2-b5d3-48b6-9d79-ad98b568b7ee", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":42.48366013071895, - "y":81.76720446535008, - "width":9.803921568627452, - "height":13.39475915254748, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-oZNS16yO.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":133, - "height":92 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":80.61002178649238, - "y":83.91897300391192, - "width":17.429193899782135, - "height":13.646924907581543, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-TyojgW30.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":222, - "height":88 - } - }, - "subContentId":"fee02c70-37b2-4615-a13a-84b397cf0e41", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":1.0893246187363834, - "y":81.76720446535008, - "width":19.607843137254903, - "height":13.949506599474109, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-MHF07lsl.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":472, - "height":170 - } - }, - "subContentId":"ff04b6d1-0612-4d3e-a164-63b211b0e5e8", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":37.03703703703704, - "y":62.40128761829348, - "width":18.51851851851852, - "height":12.796309286602659, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-kyGO23Dp.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "subContentId":"0df21089-995e-4eae-b37a-fa1c5f500dac", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":19.607843137254903, - "y":30.124759539865817, - "width":55.55555555555556, - "height":39.999440540179975, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    S. Ducasse, L. Fabresse, G. Polito, P. Tesone

    \n\n

    Copyright 2022

    \n\n

     

    \n" - }, - "subContentId":"a5116483-6063-4cf8-8155-dd08bd8526b0", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ - - ], - "changes":[ - - ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"End" - } - ] - } - ], - "keywordListEnabled":true, - "globalBackgroundSelector":{ - - }, - "keywordListAlwaysShow":false, - "keywordListAutoHide":false, - "keywordListOpacity":100 - }, - "override":{ - "activeSurface":false, - "hideSummarySlide":false, - "summarySlideSolutionButton":true, - "summarySlideRetryButton":true, - "enablePrintButton":false, - "social":{ - "showFacebookShare":false, - "facebookShare":{ - "url":"@currentpageurl", - "quote":"I scored @score out of @maxScore on a task at @currentpageurl." - }, - "showTwitterShare":false, - "twitterShare":{ - "statement":"I scored @score out of @maxScore on a task at @currentpageurl.", - "url":"@currentpageurl", - "hashtags":"h5p, course" - }, - "showGoogleShare":false, - "googleShareUrl":"@currentpageurl" - } - }, - "l10n":{ - "slide":"Slide", - "score":"Score", - "yourScore":"Your Score", - "maxScore":"Max Score", - "total":"Total", - "totalScore":"Total Score", - "showSolutions":"Show solutions", - "retry":"Retry", - "exportAnswers":"Export text", - "hideKeywords":"Hide sidebar navigation menu", - "showKeywords":"Show sidebar navigation menu", - "fullscreen":"Fullscreen", - "exitFullscreen":"Exit fullscreen", - "prevSlide":"Previous slide", - "nextSlide":"Next slide", - "currentSlide":"Current slide", - "lastSlide":"Last slide", - "solutionModeTitle":"Exit solution mode", - "solutionModeText":"Solution Mode", - "summaryMultipleTaskText":"Multiple tasks", - "scoreMessage":"You achieved:", - "shareFacebook":"Share on Facebook", - "shareTwitter":"Share on Twitter", - "shareGoogle":"Share on Google+", - "summary":"Summary", - "solutionsButtonTitle":"Show comments", - "printTitle":"Print", - "printIngress":"How would you like to print this presentation?", - "printAllSlides":"Print all slides", - "printCurrentSlide":"Print current slide", - "noTitle":"No title", - "accessibilitySlideNavigationExplanation":"Use left and right arrow to change slide in that direction whenever canvas is selected.", - "accessibilityCanvasLabel":"Presentation canvas. Use left and right arrow to move between slides.", - "containsNotCompleted":"@slideName contains not completed interaction", - "containsCompleted":"@slideName contains completed interaction", - "slideCount":"Slide @index of @total", - "containsOnlyCorrect":"@slideName only has correct answers", - "containsIncorrectAnswers":"@slideName has incorrect answers", - "shareResult":"Share Result", - "accessibilityTotalScore":"You got @score of @maxScore points in total", - "accessibilityEnteredFullscreen":"Entered fullscreen", - "accessibilityExitedFullscreen":"Exited fullscreen", - "confirmDialogHeader":"Submit your answers", - "confirmDialogText":"This will submit your results, do you want to continue?", - "confirmDialogConfirmText":"Submit and see results" - } -}' -] - -{ #category : 'old working templates' } -MicH5PTemplateWriter >> fullTemplateString5 [ - "Cleaned subcomponents - removed some extra space" - ^ '{ - "presentation":{ - "slides":[ - { - "elements":[ - { - "x":8.714596949891067, - "y":25.821222462742128, - "width":81.69934640522877, - "height":27.972991001303974, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{TITLEVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":86.35110294117648, - "y":71.00836177254085, - "width":13.648910675381265, - "height":26.954343775148796, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-b8lco9r6.png", - "mime":"image/png", - "copyright":{"license":"U"}, - "width":256, - "height":256 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":16.051364365971107, - "y":60.24268289202926, - "width":40.30501089324619, - "height":12.910611231371064, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{AUTHORVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":88.22251008103561, - "width":14.161220043572985, - "height":9.783833332616078, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-FLYhoyME.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":4.303537077123688, - "width":93.68191721132898, - "height":8.607074154247377, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Advanced object-oriented design explained with Pharo

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":70.80610021786492, - "y":92.5260471581593, - "width":19.607843137254903, - "height":6.455305615685532, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    http://www.pharo.org

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "keywords":[ - { - "main":"{{{SHORTTITLEVARIABLE}}}" - } - ], - "slideBackgroundSelector":{ } - }, - { - "elements":[ - { - "x":6.5359477124183005, - "y":19.365916847056596, - "width":37.037037037037, - "height":73.160071277275, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
      \n\t
    • Cool
    • \n\t
    • Nice
    • \n\t
    • Super
    • \n\t
    • Hyper language
    • \n
    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":17.214148308494753, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{SLIDETITLEVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ }, - "keywords":[ - { - "main":"{{{SHORTSLIDETITLEVARIABLE}}}" - } - ] - }, - { - "elements":[ - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":10.758842692809221, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Doing Manual Title....

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":4.3572984749455, - "y":19.365901220455, - "width":82.788671023965, - "height":51.642403254547, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
    testSetLabel\n\n    | codeBlock |\n    codeBlock := self testedClass new.\n    codeBlock label: ''sec123''.\n    self assert: codeBlock hasLabel. \n    self assert: codeBlock label equals: ''sec123''\n
    \n" - }, - "subContentId":"4f8b5f81-40ee-4bdd-9fa6-935c850f9da0", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"Code" - } - ] - }, - { - "elements":[ - { - "x":30.000680827887, - "y":30.000336213563, - "width":40, - "height":40, - "action":{ - "library":"H5P.Link 1.3", - "params":{ - "linkWidget":{ - "protocol":"http://", - "url":"www.pharo.org" - }, - "title":"What a great link" - }, - "metadata":{ - "contentType":"Link", - "license":"U" - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"Link" - } - ] - }, - { - "elements":[ - { - "x":57.734204793028326, - "y":83.91897300391192, - "width":18.51851851851852, - "height":13.21319292326363, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-wFbeHf6p.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":227, - "height":82 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":26.143790849673202, - "y":81.76720446535008, - "width":10.893246187363834, - "height":13.448553366011526, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-9vO0XU26.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":160, - "height":100 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":42.48366013071895, - "y":81.76720446535008, - "width":9.803921568627452, - "height":13.39475915254748, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-oZNS16yO.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":133, - "height":92 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":80.61002178649238, - "y":83.91897300391192, - "width":17.429193899782135, - "height":13.646924907581543, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-TyojgW30.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":222, - "height":88 - } - }, - "subContentId":"fee02c70-37b2-4615-a13a-84b397cf0e41", - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":1.0893246187363834, - "y":81.76720446535008, - "width":19.607843137254903, - "height":13.949506599474109, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-MHF07lsl.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":472, - "height":170 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes": [ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":37.03703703703704, - "y":62.40128761829348, - "width":18.51851851851852, - "height":12.796309286602659, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-kyGO23Dp.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":19.607843137254903, - "y":30.124759539865817, - "width":55.55555555555556, - "height":39.999440540179975, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    S. Ducasse, L. Fabresse, G. Polito, P. Tesone

    \n\n

    Copyright 2022

    \n\n

     

    \n" - }, - "subContentId":"a5116483-6063-4cf8-8155-dd08bd8526b0", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ }, - "keywords":[ - { "main":"Credits/License" } - ] - } - ], - "keywordListEnabled":true, - "globalBackgroundSelector":{ - - }, - "keywordListAlwaysShow":false, - "keywordListAutoHide":false, - "keywordListOpacity":100 - }, - "override":{ - "activeSurface":false, - "hideSummarySlide":false, - "summarySlideSolutionButton":true, - "summarySlideRetryButton":true, - "enablePrintButton":false, - "social":{ - "showFacebookShare":false, - "facebookShare":{ - "url":"@currentpageurl", - "quote":"I scored @score out of @maxScore on a task at @currentpageurl." - }, - "showTwitterShare":false, - "twitterShare":{ - "statement":"I scored @score out of @maxScore on a task at @currentpageurl.", - "url":"@currentpageurl", - "hashtags":"h5p, course" - }, - "showGoogleShare":false, - "googleShareUrl":"@currentpageurl" - } - }, - "l10n":{ - "slide":"Slide", - "score":"Score", - "yourScore":"Your Score", - "maxScore":"Max Score", - "total":"Total", - "totalScore":"Total Score", - "showSolutions":"Show solutions", - "retry":"Retry", - "exportAnswers":"Export text", - "hideKeywords":"Hide sidebar navigation menu", - "showKeywords":"Show sidebar navigation menu", - "fullscreen":"Fullscreen", - "exitFullscreen":"Exit fullscreen", - "prevSlide":"Previous slide", - "nextSlide":"Next slide", - "currentSlide":"Current slide", - "lastSlide":"Last slide", - "solutionModeTitle":"Exit solution mode", - "solutionModeText":"Solution Mode", - "summaryMultipleTaskText":"Multiple tasks", - "scoreMessage":"You achieved:", - "shareFacebook":"Share on Facebook", - "shareTwitter":"Share on Twitter", - "shareGoogle":"Share on Google+", - "summary":"Summary", - "solutionsButtonTitle":"Show comments", - "printTitle":"Print", - "printIngress":"How would you like to print this presentation?", - "printAllSlides":"Print all slides", - "printCurrentSlide":"Print current slide", - "noTitle":"No title", - "accessibilitySlideNavigationExplanation":"Use left and right arrow to change slide in that direction whenever canvas is selected.", - "accessibilityCanvasLabel":"Presentation canvas. Use left and right arrow to move between slides.", - "containsNotCompleted":"@slideName contains not completed interaction", - "containsCompleted":"@slideName contains completed interaction", - "slideCount":"Slide @index of @total", - "containsOnlyCorrect":"@slideName only has correct answers", - "containsIncorrectAnswers":"@slideName has incorrect answers", - "shareResult":"Share Result", - "accessibilityTotalScore":"You got @score of @maxScore points in total", - "accessibilityEnteredFullscreen":"Entered fullscreen", - "accessibilityExitedFullscreen":"Exited fullscreen", - "confirmDialogHeader":"Submit your answers", - "confirmDialogText":"This will submit your results, do you want to continue?", - "confirmDialogConfirmText":"Submit and see results" - } -}' -] - -{ #category : 'working templates with parameters' } -MicH5PTemplateWriter >> fullTemplateStringParam [ - "with slides and credit variables." - ^ '{ - "presentation":{ - "slides":[ - { - "elements":[ - { - "x":8.714596949891067, - "y":25.821222462742128, - "width":81.69934640522877, - "height":27.972991001303974, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{TITLEVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":86.35110294117648, - "y":71.00836177254085, - "width":13.648910675381265, - "height":26.954343775148796, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-b8lco9r6.png", - "mime":"image/png", - "copyright":{"license":"U"}, - "width":256, - "height":256 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":16.051364365971107, - "y":60.24268289202926, - "width":40.30501089324619, - "height":12.910611231371064, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{AUTHORVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":88.22251008103561, - "width":14.161220043572985, - "height":9.783833332616078, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-FLYhoyME.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":4.303537077123688, - "width":93.68191721132898, - "height":8.607074154247377, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Advanced object-oriented design explained with Pharo

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":70.80610021786492, - "y":92.5260471581593, - "width":19.607843137254903, - "height":6.455305615685532, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    http://www.pharo.org

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "keywords":[ - { - "main":"{{{SHORTTITLEVARIABLE}}}" - } - ], - "slideBackgroundSelector":{ } - }, - {{{SLIDES}}} - , - {{{CREDITSLIDE}}} - ], - "keywordListEnabled":true, - "globalBackgroundSelector":{ - - }, - "keywordListAlwaysShow":false, - "keywordListAutoHide":false, - "keywordListOpacity":100 - }, - "override":{ - "activeSurface":false, - "hideSummarySlide":false, - "summarySlideSolutionButton":true, - "summarySlideRetryButton":true, - "enablePrintButton":false, - "social":{ - "showFacebookShare":false, - "facebookShare":{ - "url":"@currentpageurl", - "quote":"I scored @score out of @maxScore on a task at @currentpageurl." - }, - "showTwitterShare":false, - "twitterShare":{ - "statement":"I scored @score out of @maxScore on a task at @currentpageurl.", - "url":"@currentpageurl", - "hashtags":"h5p, course" - }, - "showGoogleShare":false, - "googleShareUrl":"@currentpageurl" - } - }, - "l10n":{ - "slide":"Slide", - "score":"Score", - "yourScore":"Your Score", - "maxScore":"Max Score", - "total":"Total", - "totalScore":"Total Score", - "showSolutions":"Show solutions", - "retry":"Retry", - "exportAnswers":"Export text", - "hideKeywords":"Hide sidebar navigation menu", - "showKeywords":"Show sidebar navigation menu", - "fullscreen":"Fullscreen", - "exitFullscreen":"Exit fullscreen", - "prevSlide":"Previous slide", - "nextSlide":"Next slide", - "currentSlide":"Current slide", - "lastSlide":"Last slide", - "solutionModeTitle":"Exit solution mode", - "solutionModeText":"Solution Mode", - "summaryMultipleTaskText":"Multiple tasks", - "scoreMessage":"You achieved:", - "shareFacebook":"Share on Facebook", - "shareTwitter":"Share on Twitter", - "shareGoogle":"Share on Google+", - "summary":"Summary", - "solutionsButtonTitle":"Show comments", - "printTitle":"Print", - "printIngress":"How would you like to print this presentation?", - "printAllSlides":"Print all slides", - "printCurrentSlide":"Print current slide", - "noTitle":"No title", - "accessibilitySlideNavigationExplanation":"Use left and right arrow to change slide in that direction whenever canvas is selected.", - "accessibilityCanvasLabel":"Presentation canvas. Use left and right arrow to move between slides.", - "containsNotCompleted":"@slideName contains not completed interaction", - "containsCompleted":"@slideName contains completed interaction", - "slideCount":"Slide @index of @total", - "containsOnlyCorrect":"@slideName only has correct answers", - "containsIncorrectAnswers":"@slideName has incorrect answers", - "shareResult":"Share Result", - "accessibilityTotalScore":"You got @score of @maxScore points in total", - "accessibilityEnteredFullscreen":"Entered fullscreen", - "accessibilityExitedFullscreen":"Exited fullscreen", - "confirmDialogHeader":"Submit your answers", - "confirmDialogText":"This will submit your results, do you want to continue?", - "confirmDialogConfirmText":"Submit and see results" - } -}' -] - -{ #category : 'working templates with parameters' } -MicH5PTemplateWriter >> fullTemplateStringParam2 [ - "This one is working" - ^ '{ - "presentation":{ - "slides":[ - { - "elements":[ - { - "x":8.714596949891067, - "y":25.821222462742128, - "width":81.69934640522877, - "height":27.972991001303974, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{TITLEVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":86.35110294117648, - "y":71.00836177254085, - "width":13.648910675381265, - "height":26.954343775148796, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-b8lco9r6.png", - "mime":"image/png", - "copyright":{"license":"U"}, - "width":256, - "height":256 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":16.051364365971107, - "y":60.24268289202926, - "width":40.30501089324619, - "height":12.910611231371064, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{AUTHORVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":88.22251008103561, - "width":14.161220043572985, - "height":9.783833332616078, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-FLYhoyME.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":4.303537077123688, - "width":93.68191721132898, - "height":8.607074154247377, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Advanced object-oriented design explained with Pharo

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":70.80610021786492, - "y":92.5260471581593, - "width":19.607843137254903, - "height":6.455305615685532, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    http://www.pharo.org

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "keywords":[ - { - "main":"{{{SHORTTITLEVARIABLE}}}" - } - ], - "slideBackgroundSelector":{ } - }, - { - "elements":[ - { - "x":6.5359477124183005, - "y":19.365916847056596, - "width":37.037037037037, - "height":73.160071277275, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
      \n\t
    • Cool
    • \n\t
    • Nice
    • \n\t
    • Super
    • \n\t
    • Hyper language
    • \n
    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":17.214148308494753, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{SLIDETITLEVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ }, - "keywords":[ - { - "main":"{{{SHORTSLIDETITLEVARIABLE}}}" - } - ] - }, - { - "elements":[ - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":10.758842692809221, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Doing Manual Title....

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":4.3572984749455, - "y":19.365901220455, - "width":82.788671023965, - "height":51.642403254547, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
    testSetLabel\n\n    | codeBlock |\n    codeBlock := self testedClass new.\n    codeBlock label: ''sec123''.\n    self assert: codeBlock hasLabel. \n    self assert: codeBlock label equals: ''sec123''\n
    \n" - }, - "subContentId":"4f8b5f81-40ee-4bdd-9fa6-935c850f9da0", - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"Code" - } - ] - }, - { - "elements":[ - { - "x":30.000680827887, - "y":30.000336213563, - "width":40, - "height":40, - "action":{ - "library":"H5P.Link 1.3", - "params":{ - "linkWidget":{ - "protocol":"http://", - "url":"www.pharo.org" - }, - "title":"What a great link" - }, - "metadata":{ - "contentType":"Link", - "license":"U" - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ - - }, - "keywords":[ - { - "main":"Link" - } - ] - }, - {{{CREDITSLIDE}}} - ], - "keywordListEnabled":true, - "globalBackgroundSelector":{ - - }, - "keywordListAlwaysShow":false, - "keywordListAutoHide":false, - "keywordListOpacity":100 - }, - "override":{ - "activeSurface":false, - "hideSummarySlide":false, - "summarySlideSolutionButton":true, - "summarySlideRetryButton":true, - "enablePrintButton":false, - "social":{ - "showFacebookShare":false, - "facebookShare":{ - "url":"@currentpageurl", - "quote":"I scored @score out of @maxScore on a task at @currentpageurl." - }, - "showTwitterShare":false, - "twitterShare":{ - "statement":"I scored @score out of @maxScore on a task at @currentpageurl.", - "url":"@currentpageurl", - "hashtags":"h5p, course" - }, - "showGoogleShare":false, - "googleShareUrl":"@currentpageurl" - } - }, - "l10n":{ - "slide":"Slide", - "score":"Score", - "yourScore":"Your Score", - "maxScore":"Max Score", - "total":"Total", - "totalScore":"Total Score", - "showSolutions":"Show solutions", - "retry":"Retry", - "exportAnswers":"Export text", - "hideKeywords":"Hide sidebar navigation menu", - "showKeywords":"Show sidebar navigation menu", - "fullscreen":"Fullscreen", - "exitFullscreen":"Exit fullscreen", - "prevSlide":"Previous slide", - "nextSlide":"Next slide", - "currentSlide":"Current slide", - "lastSlide":"Last slide", - "solutionModeTitle":"Exit solution mode", - "solutionModeText":"Solution Mode", - "summaryMultipleTaskText":"Multiple tasks", - "scoreMessage":"You achieved:", - "shareFacebook":"Share on Facebook", - "shareTwitter":"Share on Twitter", - "shareGoogle":"Share on Google+", - "summary":"Summary", - "solutionsButtonTitle":"Show comments", - "printTitle":"Print", - "printIngress":"How would you like to print this presentation?", - "printAllSlides":"Print all slides", - "printCurrentSlide":"Print current slide", - "noTitle":"No title", - "accessibilitySlideNavigationExplanation":"Use left and right arrow to change slide in that direction whenever canvas is selected.", - "accessibilityCanvasLabel":"Presentation canvas. Use left and right arrow to move between slides.", - "containsNotCompleted":"@slideName contains not completed interaction", - "containsCompleted":"@slideName contains completed interaction", - "slideCount":"Slide @index of @total", - "containsOnlyCorrect":"@slideName only has correct answers", - "containsIncorrectAnswers":"@slideName has incorrect answers", - "shareResult":"Share Result", - "accessibilityTotalScore":"You got @score of @maxScore points in total", - "accessibilityEnteredFullscreen":"Entered fullscreen", - "accessibilityExitedFullscreen":"Exited fullscreen", - "confirmDialogHeader":"Submit your answers", - "confirmDialogText":"This will submit your results, do you want to continue?", - "confirmDialogConfirmText":"Submit and see results" - } -}' -] - -{ #category : 'working templates with parameters' } -MicH5PTemplateWriter >> fullTemplateStringParam3 [ - "with slides and credit variables." - ^ '{ - "presentation":{ - "slides":[ - { - "elements":[ - { - "x":8.714596949891067, - "y":25.821222462742128, - "width":81.69934640522877, - "height":27.972991001303974, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{TITLEVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":86.35110294117648, - "y":71.00836177254085, - "width":13.648910675381265, - "height":26.954343775148796, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-b8lco9r6.png", - "mime":"image/png", - "copyright":{"license":"U"}, - "width":256, - "height":256 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":16.051364365971107, - "y":60.24268289202926, - "width":40.30501089324619, - "height":12.910611231371064, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{AUTHORVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":88.22251008103561, - "width":14.161220043572985, - "height":9.783833332616078, - "action":{ - "library":"H5P.Image 1.1", - "params":{ - "contentName":"Image", - "file":{ - "path":"images/image-FLYhoyME.png", - "mime":"image/png", - "copyright":{ - "license":"U" - }, - "width":403, - "height":141 - } - }, - "metadata":{ - "contentType":"Image", - "license":"U", - "title":"Untitled Image", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":4.303537077123688, - "width":93.68191721132898, - "height":8.607074154247377, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    Advanced object-oriented design explained with Pharo

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":70.80610021786492, - "y":92.5260471581593, - "width":19.607843137254903, - "height":6.455305615685532, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    http://www.pharo.org

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ { "name" : "S. Ducasse" }, { "organization" : "Pharo Consortium" } ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "keywords":[ - { - "main":"{{{SHORTTITLEVARIABLE}}}" - } - ], - "slideBackgroundSelector":{ } - }, - {{{SLIDES}}} - , - {{{CREDITSLIDE}}} - ], - "keywordListEnabled":true, - "globalBackgroundSelector":{ - - }, - "keywordListAlwaysShow":false, - "keywordListAutoHide":false, - "keywordListOpacity":100 - }, - "override":{ - "activeSurface":false, - "hideSummarySlide":false, - "summarySlideSolutionButton":true, - "summarySlideRetryButton":true, - "enablePrintButton":false, - "social":{ - "showFacebookShare":false, - "facebookShare":{ - "url":"@currentpageurl", - "quote":"I scored @score out of @maxScore on a task at @currentpageurl." - }, - "showTwitterShare":false, - "twitterShare":{ - "statement":"I scored @score out of @maxScore on a task at @currentpageurl.", - "url":"@currentpageurl", - "hashtags":"h5p, course" - }, - "showGoogleShare":false, - "googleShareUrl":"@currentpageurl" - } - }, - "l10n":{ - "slide":"Slide", - "score":"Score", - "yourScore":"Your Score", - "maxScore":"Max Score", - "total":"Total", - "totalScore":"Total Score", - "showSolutions":"Show solutions", - "retry":"Retry", - "exportAnswers":"Export text", - "hideKeywords":"Hide sidebar navigation menu", - "showKeywords":"Show sidebar navigation menu", - "fullscreen":"Fullscreen", - "exitFullscreen":"Exit fullscreen", - "prevSlide":"Previous slide", - "nextSlide":"Next slide", - "currentSlide":"Current slide", - "lastSlide":"Last slide", - "solutionModeTitle":"Exit solution mode", - "solutionModeText":"Solution Mode", - "summaryMultipleTaskText":"Multiple tasks", - "scoreMessage":"You achieved:", - "shareFacebook":"Share on Facebook", - "shareTwitter":"Share on Twitter", - "shareGoogle":"Share on Google+", - "summary":"Summary", - "solutionsButtonTitle":"Show comments", - "printTitle":"Print", - "printIngress":"How would you like to print this presentation?", - "printAllSlides":"Print all slides", - "printCurrentSlide":"Print current slide", - "noTitle":"No title", - "accessibilitySlideNavigationExplanation":"Use left and right arrow to change slide in that direction whenever canvas is selected.", - "accessibilityCanvasLabel":"Presentation canvas. Use left and right arrow to move between slides.", - "containsNotCompleted":"@slideName contains not completed interaction", - "containsCompleted":"@slideName contains completed interaction", - "slideCount":"Slide @index of @total", - "containsOnlyCorrect":"@slideName only has correct answers", - "containsIncorrectAnswers":"@slideName has incorrect answers", - "shareResult":"Share Result", - "accessibilityTotalScore":"You got @score of @maxScore points in total", - "accessibilityEnteredFullscreen":"Entered fullscreen", - "accessibilityExitedFullscreen":"Exited fullscreen", - "confirmDialogHeader":"Submit your answers", - "confirmDialogText":"This will submit your results, do you want to continue?", - "confirmDialogConfirmText":"Submit and see results" - } -}' -] - -{ #category : 'working templates with parameters' } -MicH5PTemplateWriter >> slideTemplate [ - - ^ '{ - "elements":[ - { - "x":6.5359477124183005, - "y":19.365916847056596, - "width":88.037037037037, - "height":73.160071277275, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"{{{SINGLESLIDEBODY}}}" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":17.214148308494753, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

    {{{SLIDETITLEVARIABLE}}}

    \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ }, - "keywords":[ - { - "main":"{{{SHORTSLIDETITLEVARIABLE}}}" - } - ] - }' -] - -{ #category : 'visiting' } -MicH5PTemplateWriter >> visitCode: aCodeBlock [ - canvas nextPutAll: '
    '.
    - 	aCodeBlock body do: [ :each | each = Character cr ifTrue: [ canvas nextPutAll: '\n' ]
    -											ifFalse: [ canvas nextPut: each  ] ].
    -	canvas nextPutAll: '\n
    \n'. -] - -{ #category : 'visiting' } -MicH5PTemplateWriter >> visitFigure: aFigureBlock [ - - - canvas nextPutAll: - '{ - "x": 22.875816993464053, - "y": 25.821222462742128, - "width": 61.08050108932463, - "height": 51.642444925484256, - "action": { - "library": "H5P.Image 1.1", - "params": { - "contentName": "Image", - "file": { - "path": "images/image-dejfFHSf.png", - "mime": "image/png", - "copyright": { - "license": "U" - }, - "width": 771, - "height": 330 - } - }, - "subContentId": "9cdd1cde-7ffa-4306-b811-cf1287e7c0ba", - "metadata": { - "contentType": "Image", - "license": "U", - "title": "Untitled Image", - "authors": [], - "changes": [] - } - }, - "alwaysDisplayComments": false, - "backgroundOpacity": 0, - "displayAsButton": false, - "buttonSize": "big", - "goToSlideType": "specified", - "invisible": false, - "solution": "" - }' -] - -{ #category : 'visiting' } -MicH5PTemplateWriter >> visitOrderedList: anOrderedList [ - - canvas nextPutAll: '
      \n\t'. - super visitOrderedList: anOrderedList. - canvas nextPutAll: '\n<\ol>\n'. -] - -{ #category : 'visiting' } -MicH5PTemplateWriter >> visitUnorderedList: anOrderedList [ - - canvas nextPutAll: '
        \n\t'. - super visitUnorderedList: anOrderedList. - canvas nextPutAll: '\n
      \n'. -] - -{ #category : 'visiting' } -MicH5PTemplateWriter >> visitUnorderedListItem: anUnorderedListItem [ - - canvas nextPutAll: '
    1. '. - canvas nextPutAll: anUnorderedListItem text. - canvas nextPutAll: '
    2. \n\t'. - -] - -{ #category : 'to debug generation' } -MicH5PTemplateWriter >> writeContentJSONOnDisk [ - "self new writeContentJSONOnDisk" - - - '/Users/ducasse/Workspace/FirstCircle/MyBooks/Bk-Writing/AdvancedOODesign/h5p/pharo-Template-withVariableNames2/content/content.json' asFileReference ensureDelete. - '/Users/ducasse/Workspace/FirstCircle/MyBooks/Bk-Writing/AdvancedOODesign/h5p/pharo-Template-withVariableNames2/content/content.json' asFileReference - writeStreamDo: [ :str | str nextPutAll: self fillTemplateWithVariables ] -] - -{ #category : 'actions' } -MicH5PTemplateWriter >> writeContentJSONOnDisk: aMicDocument [ - "self new writeContentJSONOnDisk: (Microdown parse: MicH5PTemplateWriterTest new mainSlideInMicrodown, MicH5PTemplateWriterTest new oneSlideWithCodeInMicrodown )" - '/Users/ducasse/Workspace/FirstCircle/MyBooks/Bk-Writing/AdvancedOODesign/h5p/pharo-Template-withVariableNames2/content/content.json' asFileReference ensureDelete. - '/Users/ducasse/Workspace/FirstCircle/MyBooks/Bk-Writing/AdvancedOODesign/h5p/pharo-Template-withVariableNames2/content/content.json' asFileReference - writeStreamDo: [ :str | str nextPutAll: (self fillTemplateWithVariables: aMicDocument children) ] -] diff --git a/src/Microdown-H5P/MicH5PTemplateWriterTest.class.st b/src/Microdown-H5P/MicH5PTemplateWriterTest.class.st deleted file mode 100644 index c5593583..00000000 --- a/src/Microdown-H5P/MicH5PTemplateWriterTest.class.st +++ /dev/null @@ -1,432 +0,0 @@ -Class { - #name : 'MicH5PTemplateWriterTest', - #superclass : 'TestCase', - #category : 'Microdown-H5P', - #package : 'Microdown-H5P' -} - -{ #category : 'sample' } -MicH5PTemplateWriterTest >> mainSlideInMicrodown [ - -^ ' -{ - "title":"About Validation", - "subtitle":"A pretext to talk about optional actions", - "author":"Tintin and Mickey" -} - -' -] - -{ #category : 'sample' } -MicH5PTemplateWriterTest >> oneSlideWithCodeInMicrodown [ - -^ ' - -> validateInto: aValidationReport - self validate. - aValidationReport addAll: validationErrors -``` - - -!>' -] - -{ #category : 'sample' } -MicH5PTemplateWriterTest >> presentationInMicrodown [ - -^ self mainSlideInMicrodown , self twoSlidesInMicrodown -] - -{ #category : 'sample' } -MicH5PTemplateWriterTest >> slideInMicrodown [ - -^ ' - - - - -' -] - -{ #category : 'sample' } -MicH5PTemplateWriterTest >> slideInMicrodownWithCode [ - -^ ' - - - - -' -] - -{ #category : 'sample' } -MicH5PTemplateWriterTest >> slideInMicrodownWithSimpleCode [ - -^ ' - - - - -' -] - -{ #category : 'sample' } -MicH5PTemplateWriterTest >> slideWithFigure [ - -^ ' - - -' -] - -{ #category : 'tests' } -MicH5PTemplateWriterTest >> testNSlide [ - - | doc h5p | - doc := Microdown parse: self twoSlidesInMicrodown. - h5p := MicH5PTemplateWriter new. - h5p fillUpSlides: doc children. - self assert: h5p contents equals: '{ - "elements":[ - { - "x":6.5359477124183005, - "y":19.365916847056596, - "width":88.037037037037, - "height":73.160071277275, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
        \n\t
      • slide 1 bullet 1
      • \n\t
      • slide 1 bullet 2
      • \n\t
      • slide 1 bullet 3
      • \n\t\n
      \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":17.214148308494753, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

      A nice title isn''t

      \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ }, - "keywords":[ - { - "main":"A nice title isn''t" - } - ] - }, -{ - "elements":[ - { - "x":6.5359477124183005, - "y":19.365916847056596, - "width":88.037037037037, - "height":73.160071277275, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
        \n\t
      • slide 2 bullet 1
      • \n\t
      • bullet 2
      • \n\t
      • bullet 2
      • \n\t\n
      \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":17.214148308494753, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

      Slide3 blah

      \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ }, - "keywords":[ - { - "main":"Slide3 blah" - } - ] - }' -] - -{ #category : 'tests' } -MicH5PTemplateWriterTest >> testOneSlide [ - - | doc h5p | - doc := Microdown parse: self slideInMicrodown. - h5p := MicH5PTemplateWriter new fillUpOneSlide: doc children first. - self assert: h5p equals: '{ - "elements":[ - { - "x":6.5359477124183005, - "y":19.365916847056596, - "width":88.037037037037, - "height":73.160071277275, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"
        \n\t
      • slide 1 bullet 1
      • \n\t
      • slide 1 bullet 2
      • \n\t
      • slide 1 bullet 3
      • \n\t\n
      \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":17.214148308494753, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

      A nice title isn''t

      \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ }, - "keywords":[ - { - "main":"A nice title isn''t" - } - ] - }' -] - -{ #category : 'low level visitor tests' } -MicH5PTemplateWriterTest >> testOneSlideBodyWithBullets [ - - | doc h5p | - doc := Microdown parse: self slideInMicrodown. - h5p := MicH5PTemplateWriter new. - h5p visit: doc children first. - self assert: h5p contents equals: '
        \n\t
      • slide 1 bullet 1
      • \n\t
      • slide 1 bullet 2
      • \n\t
      • slide 1 bullet 3
      • \n\t\n
      \n' -] - -{ #category : 'low level visitor tests' } -MicH5PTemplateWriterTest >> testOneSlideBodyWithCode [ - - | doc h5p | - doc := Microdown parse: self slideInMicrodownWithCode. - h5p := MicH5PTemplateWriter new. - h5p visit: doc children first. - self assert: h5p contents equals: '
      testMethod\n self assert: 4 foo equals: 55\n
      \n
      testFoo\n   self assertSpace.\n   self assertSpace2\n   ^ self\n
      \n' -] - -{ #category : 'low level visitor tests' } -MicH5PTemplateWriterTest >> testOneSlideBodyWithSimpleCode [ - - | doc h5p | - doc := Microdown parse: self slideInMicrodownWithSimpleCode. - h5p := MicH5PTemplateWriter new. - h5p visit: doc children first. - self assert: h5p contents equals: '
      testMethod\n self assert: 4 foo equals: 55\n
      \n' -] - -{ #category : 'tests' } -MicH5PTemplateWriterTest >> testOneSlideWithOneFigure [ - - | doc h5p | - doc := Microdown parse: self slideWithFigure. - h5p := MicH5PTemplateWriter new. - h5p visit: doc children first. - self assert: h5p contents equals: '{ - "x": 22.875816993464053, - "y": 25.821222462742128, - "width": 61.08050108932463, - "height": 51.642444925484256, - "action": { - "library": "H5P.Image 1.1", - "params": { - "contentName": "Image", - "file": { - "path": "images/image-dejfFHSf.png", - "mime": "image/png", - "copyright": { - "license": "U" - }, - "width": 771, - "height": 330 - } - }, - "subContentId": "9cdd1cde-7ffa-4306-b811-cf1287e7c0ba", - "metadata": { - "contentType": "Image", - "license": "U", - "title": "Untitled Image", - "authors": [], - "changes": [] - } - }, - "alwaysDisplayComments": false, - "backgroundOpacity": 0, - "displayAsButton": false, - "buttonSize": "big", - "goToSlideType": "specified", - "invisible": false, - "solution": "" - }' - - -] - -{ #category : 'tests' } -MicH5PTemplateWriterTest >> testSlides [ - - | doc | - doc := Microdown parse: - -' -{ - "title":"About Validation", - "subtitle":"A pretext to talk about optional actions", - "author":"" -} - -. - -' -] - -{ #category : 'sample' } -MicH5PTemplateWriterTest >> twoSlidesInMicrodown [ - -^ self slideInMicrodown, ' - -' -] diff --git a/src/Microdown-H5P/MicJPEGH5PTemplateWriter.class.st b/src/Microdown-H5P/MicJPEGH5PTemplateWriter.class.st deleted file mode 100644 index 48c3864e..00000000 --- a/src/Microdown-H5P/MicJPEGH5PTemplateWriter.class.st +++ /dev/null @@ -1,219 +0,0 @@ -" -MicJPEGH5PTemplateWriter new - writeContentJSONOnDisk: (Microdown parse: MicH5PTemplateWriterTest new mainSlideInMicrodown, MicH5PTemplateWriterTest new oneSlideWithCodeInMicrodown ) -" -Class { - #name : 'MicJPEGH5PTemplateWriter', - #superclass : 'MicH5PTemplateWriter', - #category : 'Microdown-H5P', - #package : 'Microdown-H5P' -} - -{ #category : 'as yet unclassified' } -MicJPEGH5PTemplateWriter >> presentationString [ - - ^ '{ - "presentation": { - "slides": [ - { - "elements": [ - { - "x": 0, - "y": 0, - "width": 100, - "height": 100, - "action": { - "library": "H5P.Image 1.1", - "params": { - "contentName": "Image", - "file": { - "path": "images/image-OE0PKFVx.png", - "mime": "image/png", - "copyright": { - "license": "U" - }, - "width": 310, - "height": 330 - } - }, - "subContentId": "5fb6da95-df20-4df0-9de2-aa006c01c08e", - "metadata": { - "contentType": "Image", - "license": "U", - "title": "Untitled Image", - "authors": [], - "changes": [] - } - }, - "alwaysDisplayComments": false, - "backgroundOpacity": 0, - "displayAsButton": false, - "buttonSize": "big", - "goToSlideType": "specified", - "invisible": false, - "solution": "" - } - ], - "slideBackgroundSelector": null, - "keywords": [ - { - "main": "Nice code eh!" - } - ] - } - ], - "keywordListEnabled": true, - "globalBackgroundSelector": null, - "keywordListAlwaysShow": false, - "keywordListAutoHide": false, - "keywordListOpacity": 100 - }, - "override": { - "activeSurface": false, - "hideSummarySlide": false, - "summarySlideSolutionButton": true, - "summarySlideRetryButton": true, - "enablePrintButton": false, - "social": { - "showFacebookShare": false, - "facebookShare": { - "url": "@currentpageurl", - "quote": "I scored @score out of @maxScore on a task at @currentpageurl." - }, - "showTwitterShare": false, - "twitterShare": { - "statement": "I scored @score out of @maxScore on a task at @currentpageurl.", - "url": "@currentpageurl", - "hashtags": "h5p, course" - }, - "showGoogleShare": false, - "googleShareUrl": "@currentpageurl" - } - }, - "l10n": { - "slide": "Slide", - "score": "Score", - "yourScore": "Your Score", - "maxScore": "Max Score", - "total": "Total", - "totalScore": "Total Score", - "showSolutions": "Show solutions", - "retry": "Retry", - "exportAnswers": "Export text", - "hideKeywords": "Hide sidebar navigation menu", - "showKeywords": "Show sidebar navigation menu", - "fullscreen": "Fullscreen", - "exitFullscreen": "Exit fullscreen", - "prevSlide": "Previous slide", - "nextSlide": "Next slide", - "currentSlide": "Current slide", - "lastSlide": "Last slide", - "solutionModeTitle": "Exit solution mode", - "solutionModeText": "Solution Mode", - "summaryMultipleTaskText": "Multiple tasks", - "scoreMessage": "You achieved:", - "shareFacebook": "Share on Facebook", - "shareTwitter": "Share on Twitter", - "shareGoogle": "Share on Google+", - "summary": "Summary", - "solutionsButtonTitle": "Show comments", - "printTitle": "Print", - "printIngress": "How would you like to print this presentation?", - "printAllSlides": "Print all slides", - "printCurrentSlide": "Print current slide", - "noTitle": "No title", - "accessibilitySlideNavigationExplanation": "Use left and right arrow to change slide in that direction whenever canvas is selected.", - "accessibilityCanvasLabel": "Presentation canvas. Use left and right arrow to move between slides.", - "containsNotCompleted": "@slideName contains not completed interaction", - "containsCompleted": "@slideName contains completed interaction", - "slideCount": "Slide @index of @total", - "containsOnlyCorrect": "@slideName only has correct answers", - "containsIncorrectAnswers": "@slideName has incorrect answers", - "shareResult": "Share Result", - "accessibilityTotalScore": "You got @score of @maxScore points in total", - "accessibilityEnteredFullscreen": "Entered fullscreen", - "accessibilityExitedFullscreen": "Exited fullscreen", - "confirmDialogHeader": "Submit your answers", - "confirmDialogText": "This will submit your results, do you want to continue?", - "confirmDialogConfirmText": "Submit and see results" - } -} -' -] - -{ #category : 'working templates with parameters' } -MicJPEGH5PTemplateWriter >> slideTemplate [ - "in this version we only embed jpeg" - - ^ '{ - "elements":[ - { - "x":1, - "y":1, - "width":99, - "height":99, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params": { - "contentName": "Image", - "file": { - "path": "images/image-dejfFHSf.png", - "mime": "image/png", - "copyright": { - "license": "U" - }, - "width": 771, - "height": 330 - } - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - }, - { - "x":2.178649237472767, - "y":2.151768538561844, - "width":95.86056644880175, - "height":17.214148308494753, - "action":{ - "library":"H5P.AdvancedText 1.1", - "params":{ - "text":"

      {{{SLIDETITLEVARIABLE}}}

      \n" - }, - "metadata":{ - "contentType":"Text", - "license":"U", - "title":"Untitled Text", - "authors":[ ], - "changes":[ ] - } - }, - "alwaysDisplayComments":false, - "backgroundOpacity":0, - "displayAsButton":false, - "buttonSize":"big", - "goToSlideType":"specified", - "invisible":false, - "solution":"" - } - ], - "slideBackgroundSelector":{ }, - "keywords":[ - { - "main":"{{{SHORTSLIDETITLEVARIABLE}}}" - } - ] - }' -] diff --git a/src/Microdown-H5P/MicPictureBasedWriter.class.st b/src/Microdown-H5P/MicPictureBasedWriter.class.st deleted file mode 100644 index 5bfb0623..00000000 --- a/src/Microdown-H5P/MicPictureBasedWriter.class.st +++ /dev/null @@ -1,348 +0,0 @@ -" -The idea of a picture based writer is that we take a pdf + the list of H5P templates and we -- generate a list of jpeg -- and an H5P file representing the corresponding slides. - -Right now the creation of the jpeg and the zip of the folder to create the H5P files are done by hand. - - -- placeOfTemplateFolder is the location of all the JS files. -- sourceSlideImagesFolder is the place where all the jpeg files are. - - - -The process is the following: - -Once we have generated from the PDF the JPEG using - -``` -pdftoppm -jpeg AboutBasket.pdf Tests-01 - -pdftoppm -jpeg AboutBasket.pdf -scale-to 1000 Basket -``` - -- the folder Target contains /content/images will contain all the JPEG -- then we invoke the method `go` as follow - -``` -self new - placeOfTemplateFolder: '/Users/ducasse/Workspace/FirstCircle/MyBooks/Bk-Writing/AdvancedOODesign/h5p/Source-Template/'; - sourceSlideImagesFolder: '/Users/ducasse/Workspace/FirstCircle/MyBooks/Bk-Writing/AdvancedOODesign/h5p/AboutBasket-images/'; - go - -``` -- and manually the script - -``` -cd Target -zip -r -D -X ../Generated.h5p * -cd ../ -``` - - -All the manual parts should be done automatically (this is the next step). - -``` -MicPictureBasedWriter new - sourcePDF: '/Users/ducasse/Workspace/FirstCircle/MyBooks/Bk-Writing/AdvancedOODesign/h5p/Essence-04-Self.pdf'; - treatSourcePDF; - go; - compressH5P. -``` - - - - - - -" -Class { - #name : 'MicPictureBasedWriter', - #superclass : 'Object', - #instVars : [ - 'placeOfTemplateFolder', - 'sourceSlideImagesFolder', - 'slideNames', - 'sourcePDF' - ], - #category : 'Microdown-H5P', - #package : 'Microdown-H5P' -} - -{ #category : 'examples' } -MicPictureBasedWriter class >> example [ -