Class: Vortex::HtmlArticle
- Defined in:
- lib/vortex_client.rb
Overview
HtmlArticle: Plain HTML files with title, introduction and keywords set as WebDAV properties.
Examples:
article = HtmlArticle.new(:title => "Sample Title",
:introduction => "Introduction",
:body => "<p>Hello world</p>")
vortex.publish(article)
Direct Known Subclasses
Instance Attribute Summary collapse
-
#author ⇒ Object
Returns the value of attribute author.
-
#body ⇒ Object
Returns the value of attribute body.
-
#date ⇒ Object
Returns the value of attribute date.
-
#filename ⇒ Object
Returns the value of attribute filename.
-
#introduction ⇒ Object
Returns the value of attribute introduction.
-
#modifiedDate ⇒ Object
Returns the value of attribute modifiedDate.
-
#owner ⇒ Object
Returns the value of attribute owner.
-
#picture ⇒ Object
Returns the value of attribute picture.
-
#publishedDate ⇒ Object
Returns the value of attribute publishedDate.
-
#tags ⇒ Object
Returns the value of attribute tags.
-
#title ⇒ Object
Returns the value of attribute title.
-
#url ⇒ Object
Returns the value of attribute url.
Instance Method Summary collapse
- #content ⇒ Object
- #escape_html(str) ⇒ Object
-
#initialize(options = {}) ⇒ HtmlArticle
constructor
Create a new article of type html-article: plain html file with introduction stored as a webdav property.
- #properties ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ HtmlArticle
Create a new article of type html-article: plain html file with introduction stored as a webdav property.
240 241 242 |
# File 'lib/vortex_client.rb', line 240 def initialize(={}) .each{|k,v|send("#{k}=",v)} end |
Instance Attribute Details
#author ⇒ Object
Returns the value of attribute author.
237 238 239 |
# File 'lib/vortex_client.rb', line 237 def @author end |
#body ⇒ Object
Returns the value of attribute body.
237 238 239 |
# File 'lib/vortex_client.rb', line 237 def body @body end |
#date ⇒ Object
Returns the value of attribute date.
237 238 239 |
# File 'lib/vortex_client.rb', line 237 def date @date end |
#filename ⇒ Object
Returns the value of attribute filename.
237 238 239 |
# File 'lib/vortex_client.rb', line 237 def filename @filename end |
#introduction ⇒ Object
Returns the value of attribute introduction.
237 238 239 |
# File 'lib/vortex_client.rb', line 237 def introduction @introduction end |
#modifiedDate ⇒ Object
Returns the value of attribute modifiedDate.
237 238 239 |
# File 'lib/vortex_client.rb', line 237 def modifiedDate @modifiedDate end |
#owner ⇒ Object
Returns the value of attribute owner.
237 238 239 |
# File 'lib/vortex_client.rb', line 237 def owner @owner end |
#picture ⇒ Object
Returns the value of attribute picture.
237 238 239 |
# File 'lib/vortex_client.rb', line 237 def picture @picture end |
#publishedDate ⇒ Object
Returns the value of attribute publishedDate.
237 238 239 |
# File 'lib/vortex_client.rb', line 237 def publishedDate @publishedDate end |
#tags ⇒ Object
Returns the value of attribute tags.
237 238 239 |
# File 'lib/vortex_client.rb', line 237 def @tags end |
#title ⇒ Object
Returns the value of attribute title.
237 238 239 |
# File 'lib/vortex_client.rb', line 237 def title @title end |
#url ⇒ Object
Returns the value of attribute url.
237 238 239 |
# File 'lib/vortex_client.rb', line 237 def url @url end |
Instance Method Details
#content ⇒ Object
337 338 339 340 341 342 343 344 345 346 347 |
# File 'lib/vortex_client.rb', line 337 def content content = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ' + '"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' + '<html xmlns="http://www.w3.org/1999/xhtml"><head><title>' + title + '</title>' + ' <link href="http://www.uio.no/profil/kupu/kupucontentstyles.css" type="text/css" rel="stylesheet"/>' + '</head><body>' if(body) content += body end content += '</body></html>' end |
#escape_html(str) ⇒ Object
263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 |
# File 'lib/vortex_client.rb', line 263 def escape_html(str) new_str = str.gsub("
","") #remove line break new_str = new_str.gsub("\"",""") #swaps " to html-encoding new_str = new_str.gsub("'","'") #swaps ' to html-encoding new_str = new_str.gsub("<","<") new_str = new_str.gsub(">",">") new_str = new_str.gsub(/'/, "\"") # Fnutter gir "not valid xml error" new_str = new_str.gsub(" ", " ") # gir også "not valid xml error" new_str = new_str.gsub("", "-") # Tankestrek til minustegn new_str = new_str.gsub("","'") # Fnutt new_str = new_str.gsub("","'") # Fnutt new_str = new_str.gsub("","'") # Fnutt new_str = new_str.gsub("","'") # Fnutt new_str = new_str.gsub("”","'") # Norske gåseøyne til fnutt return new_str end |
#properties ⇒ Object
280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 |
# File 'lib/vortex_client.rb', line 280 def properties props = '<v:resourceType xmlns:v="vrtx">article</v:resourceType>' + '<v:xhtml10-type xmlns:v="vrtx">article</v:xhtml10-type>' + '<v:userSpecifiedCharacterEncoding xmlns:v="vrtx">utf-8</v:userSpecifiedCharacterEncoding>' if(@publishedDate and @publishedDate != "") if(@publishedDate.kind_of? Time) @publishedDate = @publishedDate.httpdate.to_s end props += '<v:published-date xmlns:v="vrtx">' + @publishedDate + '</v:published-date>' end if(date and date != "") if(date.kind_of? Time) date = @date.httpdate.to_s end if(@publishedDate == nil or @publishedDate != "") props += '<v:published-date xmlns:v="vrtx">' + date + '</v:published-date>' end props += '<d:getlastmodified>' + date + '</d:getlastmodified>' + '<v:contentLastModified xmlns:v="vrtx">' + date + '</v:contentLastModified>' + '<v:propertiesLastModified xmlns:v="vrtx">' + date + '</v:propertiesLastModified>' + '<v:creationTime xmlns:v="vrtx">' + date + '</v:creationTime>' end if(picture) props += '<v:picture xmlns:v="vrtx">' + picture + '</v:picture>' end if(title) props += '<v:userTitle xmlns:v="vrtx">' + title + '</v:userTitle>' end if(owner) props += '<owner xmlns="vrtx">' + owner + '</owner>' end if(introduction and introduction != "") props += '<introduction xmlns="vrtx">' + escape_html(introduction) + '</introduction>' end if( and != "") props += '<v:authors xmlns:v="vrtx">' + '<vrtx:values xmlns:vrtx="http://vortikal.org/xml-value-list">' + '<vrtx:value>' + + '</vrtx:value>' + '</vrtx:values>' + '</v:authors>' end if( and .kind_of?(Array) and .size > 0) props += '<v:tags xmlns:v="vrtx">' + '<vrtx:values xmlns:vrtx="http://vortikal.org/xml-value-list">' .each do |tag| props += "<vrtx:value>#{tag}</vrtx:value>" end props += '</vrtx:values></v:tags>' end return props end |
#to_s ⇒ Object
244 245 246 |
# File 'lib/vortex_client.rb', line 244 def to_s "#<Vortex::HtmlArticle "+instance_variables.collect{|var|var+": "+instance_variable_get(var).to_s}.join(",")+">" end |