66 lines
1.4 KiB
Smalltalk
66 lines
1.4 KiB
Smalltalk
Class {
|
|
#name : #PubPubGrammar2,
|
|
#superclass : #PP2CompositeNode,
|
|
#instVars : [
|
|
'imageLabel',
|
|
'imageLink',
|
|
'imagesArray',
|
|
'imageLocation',
|
|
'document',
|
|
'footnote',
|
|
'footnoteLabel',
|
|
'footnoteContent'
|
|
],
|
|
#category : #MiniDocs
|
|
}
|
|
|
|
{ #category : #accessing }
|
|
PubPubGrammar2 >> document [
|
|
^ (imageLink / footnote) islandInSea star
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
PubPubGrammar2 >> footnote [
|
|
^ footnoteLabel, footnoteContent
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
PubPubGrammar2 >> footnoteContent [
|
|
^ '{#' asPParser, #any asPParser starLazy flatten, '}' asPParser ==> #second
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
PubPubGrammar2 >> footnoteLabel [
|
|
^ '[' asPParser, #any asPParser starLazy flatten, ']' asPParser ==> #second
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
PubPubGrammar2 >> imageLabel [
|
|
^ '![' asPParser, #any asPParser starLazy flatten, ']' asPParser ==> #second
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
PubPubGrammar2 >> imageLink [
|
|
^ imageLabel, imageLocation, imagesArray
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
PubPubGrammar2 >> imageLocation [
|
|
^ '(' asPParser, #any asPParser starLazy flatten, ')' asPParser ==> #second
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
PubPubGrammar2 >> imagesArray [
|
|
^ '{srcset=' asPParser, #any asPParser starLazy flatten, '}' asPParser ==> #second
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
PubPubGrammar2 >> imagesContent [
|
|
^ '{src=' asPParser, #any asPParser starLazy flatten, '}' asPParser ==> #second
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
PubPubGrammar2 >> start [
|
|
^ document
|
|
]
|