Navigation Menu

Skip to content

Commit

Permalink
fixes: pharo-project#6787 Add microdown v0.8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Ducasse committed Jul 7, 2020
1 parent cd14bd9 commit 30fe150
Show file tree
Hide file tree
Showing 208 changed files with 12,918 additions and 2 deletions.
3 changes: 3 additions & 0 deletions src/BaselineOfIDE/BaselineOfIDE.class.st
Expand Up @@ -193,6 +193,9 @@ BaselineOfIDE >> baseline: spec [
spec
repository: repository;
loads: #('Code' 'CodeTests') ].

spec package: 'BaselineOfMicrodown'.

spec package: 'Pharo-WelcomeHelp' ]
]

Expand Down
34 changes: 34 additions & 0 deletions src/BaselineOfMicrodown/BaselineOfMicrodown.class.st
@@ -0,0 +1,34 @@
"
Microdown is a minimal but extensible markup language. It is kind of compatible with githubmarkdown for a core set of feature.
Read comment of MicroDownParser.
"
Class {
#name : #BaselineOfMicrodown,
#superclass : #BaselineOf,
#category : #BaselineOfMicrodown
}

{ #category : #baselines }
BaselineOfMicrodown >> baseline: spec [
<baseline>

spec for: #'common' do: [
spec baseline: 'Pillar' with: [ spec
loads: #('rich text exporter');
repository: 'github://pillar-markup/pillar:dev-8/src' ].
spec
package: #'Microdown';
package: #'Microdown-Tests' with: [
spec requires: #( #'Microdown') ];

package: #'Microdown-Pillar' with: [
spec requires: #( #'Microdown' 'Pillar') ];
package: #'Microdown-Pillar-Tests' with: [
spec requires: #(#'Microdown-Pillar' #'Microdown-Tests') ];
package: #'Microdown-Calypso' with: [
spec requires: #(#'Microdown-Pillar' 'Microdown-RichTextComposer') ];
package: #'Microdown-RichTextComposer' with: [
spec requires: #('Microdown' #'Microdown-Pillar') ]
]

]
1 change: 1 addition & 0 deletions src/BaselineOfMicrodown/package.st
@@ -0,0 +1 @@
Package { #name : #BaselineOfMicrodown }
178 changes: 178 additions & 0 deletions src/BaselineOfPillar/BaselineOfPillar.class.st
@@ -0,0 +1,178 @@
Class {
#name : #BaselineOfPillar,
#superclass : #BaselineOf,
#category : #BaselineOfPillar
}

{ #category : #baselines }
BaselineOfPillar >> baseline: spec [
<baseline>
spec
for: #windows
do: [ spec configuration: 'ProcessWrapper'
with: [ spec
versionString: '1.2';
repository: 'http://smalltalkhub.com/mc/hernan/ProcessWrapper/main' ].
spec package: 'Pillar-Project' with: [ spec requires: 'ProcessWrapper' ] ].
spec
for: #(unix osx)
do: [ spec baseline: 'OSSubprocess' with: [ spec repository: 'github://pharo-contributions/OSSubprocess:v1.2.1/repository' ].
spec package: 'Pillar-Project' with: [ spec requires: 'OSSubprocess' ] ].


spec
for: #common
do: [ spec blessing: #baseline.
spec
baseline: 'ContainersPropertyEnvironment'
with: [ spec repository: 'github://Ducasse/Containers-PropertyEnvironment:v1.0.0' ].


spec
baseline: 'PetitParser2Core' with: [
spec
repository: 'github://kursjan/petitparser2' ];
baseline: 'Chrysal' with: [ spec repository: 'github://Ducasse/Chrysal:v1.0.0/src' ];
baseline: 'Clap' with: [ spec repository: 'github://cdlm/clap-st:pharo-pr5761' ];
baseline: 'Mustache'
with: [ spec
repository: 'github://noha/mustache:v1.0/repository';
loads: #('Core' 'Tests') ].
spec
package: 'Pillar-Chrysal-Generator' with: [ spec requires: #('Chrysal') ];
"Only needed to regenerate the pillar configuration: it depends on Chrysal and Chrysal-Runtime"
package: 'Pillar-Cli' with: [
spec requires: #( 'Clap' 'Pillar-ExporterCore' 'Pillar-Chrysal') ];
package: 'Pillar-Chrysal' with: [ spec requires: #('Pillar-ExporterCore') ];
"Pillar-Chrysal should only depend on Chrysal-Runtime but right now I do not know how to express that the
Chrysal (builder) is different from Chrysal-Runtime"
package: 'Pillar-ExporterAsciiDoc' with: [ spec requires: #('Pillar-ExporterCore') ];
package: 'Pillar-ExporterBeamer' with: [ spec requires: #('Pillar-ExporterLaTeX') ];
package: 'Pillar-ExporterCore' with: [ spec requires: #('Pillar-Model' 'ContainersPropertyEnvironment') ];
package: 'Pillar-ExporterDeckJS' with: [ spec requires: #('Pillar-ExporterHTML') ];
package: 'Pillar-ExporterEPub' with: [ spec requires: #('Pillar-ExporterCore' 'Pillar-ExporterHTML') ];
package: 'Pillar-ExporterHTML' with: [ spec requires: #('Pillar-ExporterCore') ];
package: 'Pillar-ExporterLaTeX' with: [ spec requires: #('Pillar-ExporterCore' 'Pillar-ExporterPillar') ];
package: 'Pillar-ExporterMarkdown' with: [ spec requires: #('Pillar-ExporterCore' 'Pillar-ExporterHTML') ];
package: 'Pillar-ExporterPillar' with: [ spec requires: #('Pillar-ExporterCore' 'Pillar-PetitPillar') ];
package: 'Pillar-ExporterText' with: [ spec requires: #('Pillar-ExporterCore') ];
package: 'Pillar-GitBook' with: [ spec requires: #('Pillar-Cli' 'markdown exporter' 'text exporter') ];

package: 'Pillar-Core';

package: 'Pillar-Model' with: [ spec requires: #('Pillar-Core')];
package: 'Pillar-CodeBlockEvaluator' with: [ spec requires: #('Pillar-Core')];
package: 'Pillar-PetitPillar' with: [ spec requires: #('PetitParser2Core' 'Pillar-Model') ];

"Going from Pillar model to richText"
package: 'Pillar-ExporterRichText'
with: [ spec requires: #('Pillar-Core' ) ];
"Going from Pillar text to richText"
package: 'Pillar-PillarTextRichTextExporter'
with: [ spec requires: #('Pillar-ExporterRichText' 'Pillar-PetitPillar') ];

package: 'Pillar-Pharo-Tools' with: [ spec requires: #('Pillar-Model' 'All exporters') ];
package: 'Pillar-Project' with: [ spec requires: #('Pillar-Model' 'All exporters') ];
package: 'Pillar-BookTester' with: [ spec requires: #('Pillar-Project') ];
package: 'Pillar-Tests-Cli' with: [ spec requires: #('Pillar-Cli') ];
package: 'Pillar-Tests-ExporterAsciiDoc' with: [ spec requires: #('Pillar-ExporterAsciiDoc' 'Pillar-Tests-ExporterCore') ];
package: 'Pillar-Tests-ExporterBeamer' with: [ spec requires: #('Pillar-ExporterBeamer' 'Pillar-Tests-ExporterLaTeX') ];
package: 'Pillar-Tests-ExporterCore' with: [ spec requires: #('Pillar-Tests-Model' 'Pillar-ExporterCore') ];
package: 'Pillar-Tests-ExporterDeckJS' with: [ spec requires: #('Pillar-ExporterDeckJS' 'Pillar-Tests-ExporterHTML') ];
package: 'Pillar-Tests-ExporterEPub' with: [ spec requires: #('Pillar-ExporterEPub' 'Pillar-Tests-ExporterCore') ];
package: 'Pillar-Tests-ExporterHTML' with: [ spec requires: #('Pillar-ExporterHTML' 'Pillar-Tests-ExporterCore') ];
package: 'Pillar-Tests-ExporterLaTeX' with: [ spec requires: #('Pillar-ExporterLaTeX' 'Pillar-Tests-ExporterCore') ];
package: 'Pillar-Tests-ExporterMarkdown' with: [ spec requires: #('Pillar-ExporterMarkdown' 'Pillar-Tests-ExporterCore' 'Pillar-Tests-ExporterHTML') ];
package: 'Pillar-Tests-ExporterPillar' with: [ spec requires: #('Pillar-ExporterPillar' 'Pillar-Tests-ExporterCore') ];
package: 'Pillar-Tests-ExporterText' with: [ spec requires: #('Pillar-ExporterText' 'Pillar-Tests-ExporterCore') ];
package: 'Pillar-Tests-Core' with: [ spec requires: #('Pillar-Core' 'Pillar-ExporterPillar' 'Pillar-ExporterText')];
package: 'Pillar-Tests-Model' with: [ spec requires: #('Pillar-Model' 'Pillar-ExporterPillar' 'Pillar-ExporterText' 'Pillar-Tests-Core') ];


"I hope that I will be able to make core test not depending on the exporter and the text exporter."

package: 'Pillar-Tests-PetitPillar' with: [ spec requires: #('PetitParser2Core' 'Pillar-PetitPillar') ];
package: 'Pillar-Tests-BookTester' with: [ spec requires: #('Pillar-BookTester') ];
package: 'Pillar-Tests-Project' with: [ spec requires: #('Pillar-Project') ];
package: 'Pillar-Tests-Integration' with: [ spec requires: #('Pillar-Project') ].



spec
group: 'ALL' with: #('All tests' 'All but tests');

group: 'All but tests'
with: #('All exporters' 'Pillar-Cli' 'Pillar-Pharo-Tools' 'Pillar-GitBook' 'parser' 'Pillar-Project' 'Pillar-BookTester' 'Pillar-CodeBlockEvaluator' 'Pillar-PillarTextRichTextExporter');

group: 'All exporter tests'
with:
#('html exporter tests' 'latex exporter tests' 'beamer exporter tests' 'deckjs exporter tests' 'markdown exporter tests' 'pillar exporter tests' 'text exporter tests' 'asciidoc exporter tests' 'ePub exporter tests');

group: 'All exporters'
with:
#('html exporter' 'rich text exporter' 'latex exporter' 'beamer exporter' 'deckjs exporter' 'markdown exporter' 'pillar exporter' 'text exporter' 'asciidoc exporter' 'ePub exporter');

group: 'All tests'
with:
#('All exporter tests' 'Pillar-Tests-Model' 'Pillar-Tests-ExporterCore' #'Pillar-Tests-Cli' 'parser tests' 'Pillar-Tests-Project' 'Pillar-Tests-Integration');

group: 'asciidoc exporter' with: #(#'Pillar-ExporterAsciiDoc');
group: 'asciidoc exporter tests' with: #(#'Pillar-Tests-ExporterAsciiDoc' 'ePub exporter');
group: 'beamer exporter' with: #('Pillar-ExporterBeamer');
group: 'beamer exporter tests' with: #('Pillar-Tests-ExporterBeamer');

group: 'deckjs exporter' with: #('Pillar-ExporterDeckJS');
group: 'deckjs exporter tests' with: #('Pillar-Tests-ExporterDeckJS');

group: 'ePub exporter' with: #(#'Pillar-ExporterEPub');
group: 'ePub exporter tests' with: #(#'Pillar-Tests-ExporterEPub');

"from pillar model to richtext"
group: 'rich text exporter' with: #('Pillar-ExporterRichText');

group: 'html exporter' with: #('Pillar-ExporterHTML');
group: 'html exporter tests' with: #('Pillar-Tests-ExporterHTML');

group: 'booktester' with: #('Pillar-BookTester');
group: 'booktester tests' with: #('Pillar-Tests-BookTester');

group: 'latex exporter' with: #('Pillar-ExporterLaTeX');
group: 'latex exporter tests' with: #('Pillar-Tests-ExporterLaTeX');

group: 'markdown exporter' with: #('Pillar-ExporterMarkdown' 'parser');
group: 'markdown exporter tests' with: #('Pillar-Tests-ExporterMarkdown');

group: 'parser' with: #('Pillar-PetitPillar');
group: 'parser tests' with: #('Pillar-Tests-PetitPillar');

group: 'pillar exporter' with: #('Pillar-ExporterPillar');
group: 'pillar exporter tests' with: #('Pillar-Tests-ExporterPillar');

group: 'text exporter' with: #('Pillar-ExporterText');
group: 'text exporter tests' with: #('Pillar-Tests-ExporterText').


"Petit Parse One packages"
spec
baseline: 'PetitParser'
with: [ spec repository: 'github://moosetechnology/PetitParser:v2.2.0/src'.
spec loads: #('Tests') ] ];
package: 'Pillar-PetitPillarOld' with: [ spec requires: #('PetitParser' 'Pillar-Model') ];
package: 'Pillar-Tests-PetitPillarOld' with: [ spec requires: #('PetitParser' 'Pillar-PetitPillarOld') ];
group: 'old' with: #( 'Pillar-PetitPillarOld' 'Pillar-Tests-PetitPillarOld' ).


]

{ #category : #baselines }
BaselineOfPillar >> customProjectAttributes [
"Edit to return a collection of any custom attributes e.g. for conditional loading: Array with: #'Condition1' with: #'Condition2.
For more information see: http://code.google.com/p/metacello/wiki/CustomProjectAttrributes "

| attributes |
attributes := OrderedCollection new.
OSPlatform current isWindows ifTrue: [ attributes add: #windows ].
OSPlatform current isUnix ifTrue: [ attributes add: #unix ].
OSPlatform current isMacOS ifTrue: [ attributes add: #osx ].
^ attributes asArray
]
1 change: 1 addition & 0 deletions src/BaselineOfPillar/package.st
@@ -0,0 +1 @@
Package { #name : #BaselineOfPillar }
4 changes: 3 additions & 1 deletion src/Clap-Core/ClapContext.class.st
Expand Up @@ -55,7 +55,9 @@ ClapContext class >> pragmaCommands [
theClass := pragma method methodClass.
theSelector := pragma method selector.
self assert: [ theSelector isUnary ].
theClass instanceSide perform: theSelector ]

theClass instanceSide
perform: theSelector ]
]

{ #category : #'instance creation' }
Expand Down
3 changes: 2 additions & 1 deletion src/Clap-Core/ClapDocumenter.class.st
Expand Up @@ -100,7 +100,8 @@ ClapDocumenter >> section: titleString listing: parameters [
newLine;
text: titleString;
newLine;
tabularize: (parameters collect: [ :each | each synopsis -> each description ])
tabularize: (parameters collect:
[ :each | each synopsis -> each description ])
]

{ #category : #documenting }
Expand Down
@@ -0,0 +1,7 @@
Extension { #name : #ClyClassCommentEditorToolMorph }

{ #category : #'*Microdown-Calypso' }
ClyClassCommentEditorToolMorph class >> new [
"A hack to swap in the RichText versions of the tools. "
^ ClyRichTextClassCommentEditorToolMorph basicNew initialize
]
42 changes: 42 additions & 0 deletions src/Microdown-Calypso/ClyEditCommentSwitchMorph.class.st
@@ -0,0 +1,42 @@
"
I'm a simple morph to be added in in a comment editor. I let the user toggle edit / view view of the comment pane.
"
Class {
#name : #ClyEditCommentSwitchMorph,
#superclass : #ClyStatusBarItemMorph,
#instVars : [
'checkbox'
],
#category : #'Microdown-Calypso'
}

{ #category : #building }
ClyEditCommentSwitchMorph >> build [

checkbox := CheckboxMorph
on: self selected: #status changeSelected: #toggle.
checkbox
getLabelSelector: #definitionTypeLabel;
labelClickable: true;
vResizing: #shrinkWrap;
hResizing: #shrinkWrap;
setBalloonText: 'Click me to edit comment'.
self addMorph: checkbox
]

{ #category : #accessing }
ClyEditCommentSwitchMorph >> definitionTypeLabel [
^ 'Toggle Edit / View comment'
]

{ #category : #building }
ClyEditCommentSwitchMorph >> status [

^ ownerTool isRendering
]

{ #category : #operations }
ClyEditCommentSwitchMorph >> toggle [
ownerTool toggleMode.
ownerTool update
]
@@ -0,0 +1,7 @@
Extension { #name : #ClyPackageCommentEditorToolMorph }

{ #category : #'*Microdown-Calypso' }
ClyPackageCommentEditorToolMorph class >> new [
"A hack to swap in the RichText versions of the tools. "
^ ClyPackageRichTextCommentEditorToolMorph basicNew initialize
]

0 comments on commit 30fe150

Please sign in to comment.