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.
199 200 201 |
# File 'lib/vortex_client.rb', line 199 def initialize(={}) .each{|k,v|send("#{k}=",v)} end |
Instance Attribute Details
#author ⇒ Object
Returns the value of attribute author.
196 197 198 |
# File 'lib/vortex_client.rb', line 196 def @author end |
#body ⇒ Object
Returns the value of attribute body.
196 197 198 |
# File 'lib/vortex_client.rb', line 196 def body @body end |
#date ⇒ Object
Returns the value of attribute date.
196 197 198 |
# File 'lib/vortex_client.rb', line 196 def date @date end |
#filename ⇒ Object
Returns the value of attribute filename.
196 197 198 |
# File 'lib/vortex_client.rb', line 196 def filename @filename end |
#introduction ⇒ Object
Returns the value of attribute introduction.
196 197 198 |
# File 'lib/vortex_client.rb', line 196 def introduction @introduction end |
#modifiedDate ⇒ Object
Returns the value of attribute modifiedDate.
196 197 198 |
# File 'lib/vortex_client.rb', line 196 def modifiedDate @modifiedDate end |
#owner ⇒ Object
Returns the value of attribute owner.
196 197 198 |
# File 'lib/vortex_client.rb', line 196 def owner @owner end |
#picture ⇒ Object
Returns the value of attribute picture.
196 197 198 |
# File 'lib/vortex_client.rb', line 196 def picture @picture end |
#publishedDate ⇒ Object
Returns the value of attribute publishedDate.
196 197 198 |
# File 'lib/vortex_client.rb', line 196 def publishedDate @publishedDate end |
#tags ⇒ Object
Returns the value of attribute tags.
196 197 198 |
# File 'lib/vortex_client.rb', line 196 def @tags end |
#title ⇒ Object
Returns the value of attribute title.
196 197 198 |
# File 'lib/vortex_client.rb', line 196 def title @title end |
#url ⇒ Object
Returns the value of attribute url.
196 197 198 |
# File 'lib/vortex_client.rb', line 196 def url @url end |
Instance Method Details
#content ⇒ Object
296 297 298 299 300 301 302 303 304 305 306 |
# File 'lib/vortex_client.rb', line 296 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
222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 |
# File 'lib/vortex_client.rb', line 222 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
239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 |
# File 'lib/vortex_client.rb', line 239 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
203 204 205 |
# File 'lib/vortex_client.rb', line 203 def to_s "#<Vortex::HtmlArticle "+instance_variables.collect{|var|var+": "+instance_variable_get(var).to_s}.join(",")+">" end |