44 lines
945 B
Smalltalk
44 lines
945 B
Smalltalk
Class {
|
|
#name : #PubPubContent,
|
|
#superclass : #Object,
|
|
#instVars : [
|
|
'title',
|
|
'language',
|
|
'url',
|
|
'thumbnail'
|
|
],
|
|
#category : #'MiniDocs-Model'
|
|
}
|
|
|
|
{ #category : #accessing }
|
|
PubPubContent >> fromXML: aXMLElement [
|
|
| image anchor|
|
|
image := aXMLElement contentNodes first xpath: './a/div'.
|
|
image
|
|
ifNotEmpty: [|style rawUrl|
|
|
style := (image first attributeAt: 'style').
|
|
rawUrl := (style splitOn: 'url') second.
|
|
self
|
|
thumbnail:(rawUrl copyFrom: 3 to: rawUrl size - 2)
|
|
].
|
|
anchor := (aXMLElement contentNodes second contentNodes first xpath: './div[@class="title-wrapper"]/a') first.
|
|
self
|
|
title: (anchor attributeAt: 'title');
|
|
url: (anchor attributeAt: 'title').
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
PubPubContent >> thumbnail: anURL [
|
|
thumbnail := anURL
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
PubPubContent >> title: anObject [
|
|
title := anObject
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
PubPubContent >> url: anObject [
|
|
url := anObject
|
|
]
|