Improving lepiter page importer from markdeep and creating-improving a pharo and text snippet importer parser.
This commit is contained in:
parent
21ee43c9df
commit
739c7298f1
|
@ -2,7 +2,17 @@ Extension { #name : #LeDatabase }
|
|||
|
||||
{ #category : #'*MiniDocs' }
|
||||
LeDatabase >> addPageFromMarkdeep: markdeepDocTree [
|
||||
| remoteMetadata page |
|
||||
|
||||
| remoteMetadata divSnippets snippets page |
|
||||
divSnippets := (markdeepDocTree xpath: '//div[@st-class]')
|
||||
asOrderedCollection collect: [ :xmlElement | xmlElement postCopy ].
|
||||
snippets := divSnippets collect: [ :xmlElement |
|
||||
(xmlElement attributes at: 'st-class') = 'LeTextSnippet'
|
||||
ifTrue: [ LeTextSnippet new contentFrom: xmlElement ]
|
||||
ifFalse: [ (xmlElement attributes at: 'st-class') = 'LePharoSnippet'
|
||||
ifTrue: [ LePharoSnippet new contentFrom: xmlElement ]
|
||||
]
|
||||
].
|
||||
remoteMetadata := Markdeep new metadataFromXML: markdeepDocTree.
|
||||
page := LePage new
|
||||
title: (remoteMetadata at: 'title');
|
||||
|
@ -11,8 +21,8 @@ LeDatabase >> addPageFromMarkdeep: markdeepDocTree [
|
|||
editTime: ("ZTimestamp fromString:" (remoteMetadata at: 'modified'));
|
||||
createEmail: (remoteMetadata at: 'creator');
|
||||
editEmail: (remoteMetadata at: 'modifier').
|
||||
^ {markdeepDocTree . page }
|
||||
|
||||
snippets do: [ :snippet | page addSnippet: snippet ].
|
||||
^ page
|
||||
]
|
||||
|
||||
{ #category : #'*MiniDocs' }
|
||||
|
|
|
@ -8,6 +8,22 @@ LePharoSnippet >> contentAsStringCustomized [
|
|||
^ thisObject perform: self detectMessage trimmed asSymbol.
|
||||
]
|
||||
|
||||
{ #category : #'*MiniDocs' }
|
||||
LePharoSnippet >> contentFrom: markdeepDiv [
|
||||
|
||||
| sanitizedStringText metadata |
|
||||
metadata := STON fromString: (markdeepDiv attributes at: 'st-data').
|
||||
sanitizedStringText := markdeepDiv contentString lines reject: [ :line | line beginsWith: '~~~' ].
|
||||
sanitizedStringText := "(Character cr asString)" '' join: sanitizedStringText.
|
||||
self code: sanitizedStringText;
|
||||
uid: (metadata at: 'id');
|
||||
parent: (metadata at: 'parent');
|
||||
createTime: (metadata at: 'created');
|
||||
editTime: (metadata at: 'modified');
|
||||
editEmail: (metadata at: 'modifier');
|
||||
createEmail: (metadata at: 'creator').
|
||||
]
|
||||
|
||||
{ #category : #'*MiniDocs' }
|
||||
LePharoSnippet >> markdeepCustomCloser [
|
||||
^ String streamContents: [ :stream |
|
||||
|
|
|
@ -2,11 +2,19 @@ Extension { #name : #LeTextSnippet }
|
|||
|
||||
{ #category : #'*MiniDocs' }
|
||||
LeTextSnippet >> contentFrom: markdeepDiv [
|
||||
| sanitized |
|
||||
sanitized := markdeepDiv contentString.
|
||||
sanitized := sanitized allButFirst.
|
||||
sanitized := sanitized allButLast.
|
||||
self string: sanitized.
|
||||
|
||||
| sanitizedStringText metadata |
|
||||
metadata := STON fromString: (markdeepDiv attributes at: 'st-data').
|
||||
sanitizedStringText := markdeepDiv contentString.
|
||||
sanitizedStringText := sanitizedStringText allButFirst.
|
||||
sanitizedStringText := sanitizedStringText allButLast.
|
||||
self string: sanitizedStringText;
|
||||
uid: (metadata at: 'id');
|
||||
parent: (metadata at: 'parent');
|
||||
createTime: (metadata at: 'created');
|
||||
editTime: (metadata at: 'modified');
|
||||
editEmail: (metadata at: 'modifier');
|
||||
createEmail: (metadata at: 'creator')
|
||||
]
|
||||
|
||||
{ #category : #'*MiniDocs' }
|
||||
|
|
Loading…
Reference in New Issue