|

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin consectetuer purus quis mi. Sed quis lacus. Aenean ligula dui, eleifend sit amet, viverra nec, imperdiet eu, purus. Vivamus a libero rhoncus ipsum consectetuer luctus. Mauris sit amet eros rutrum sem dapibus tincidunt. Nulla facilisi. Nulla ac massa eu arcu facilisis pellentesque. Duis non risus in mauris egestas ultricies. Suspendisse accumsan, mi sit amet nonummy posuere, metus sem cursus nisl, nonummy convallis sapien lectus quis ligula. Etiam pellentesque sodales justo. Sed justo urna, rhoncus in, tempus vel, varius et, arcu. Donec in sapien. Cras eget justo tincidunt magna placerat fringilla. Nulla tortor felis, semper a, adipiscing id, elementum sed, mi. Nullam laoreet ante vel magna. Donec faucibus convallis orci. Maecenas pretium pretium pede. Nulla a quam.
Ut venenatis, nunc vitae venenatis vestibulum, magna nunc vestibulum leo, eget fringilla turpis neque ut augue. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam eget sapien. Morbi tempor, nibh sed lobortis consectetuer, sapien ipsum dictum nulla, at sollicitudin nunc erat a elit. Cras non lectus vel diam placerat commodo. In nulla nibh, condimentum quis, ullamcorper eu, lacinia nec, erat. Duis eget arcu a nulla placerat mollis. Morbi et magna in quam ultrices faucibus. Vestibulum neque urna, tempus eu, facilisis ac, sagittis vel, magna. Cras venenatis leo quis augue. In pulvinar hendrerit eros. Quisque pharetra, orci nec eleifend pellentesque, dolor tellus venenatis nisl, nec eleifend magna nisl eget lorem. Aenean nonummy tempus magna. Nullam ligula ipsum, nonummy a, placerat dictum, vestibulum ac, lacus. Duis pede.
Nunc bibendum cursus tellus. Pellentesque ante. Nulla commodo condimentum nisl. Nulla mattis scelerisque velit. Nam commodo, mauris vestibulum molestie mollis, massa quam lobortis dolor, ut lobortis dolor massa eget nisl. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Pellentesque sed erat eget mi sollicitudin venenatis. Duis ornare auctor erat. In vitae massa at nunc vestibulum lobortis. Integer nec est.

---
Three months ago i wrote about testing atom API . It used Builder library for XML parsing to create the XML document in ruby. Back then all i can do is posting a string of "Hellooo". So last night i tried to enhance it a bit.
The Lorem above is a saved text file read by the code. The formatting in the text file is written in textile format and then processed by RedCloth so it will return the HTML presentation of the file. I added some new lines in the old atompost.rb :
require 'redcloth'
str = IO.read("lorem.txt")
r = RedCloth.new(str)
The code above reads lorem.txt and pass it to an str and read by RedCloth. In the content part of the XML document, r.to_html returns the HTML presentation of the textilized text :
entry.content(:type =>'application/xhtml+xml'){|content|
content.div(:xmlns=>'http://www.w3.org/1999/xhtml'){
content << r.to_html}
}
So here is the revisited code :

require 'net/https'
require 'builder'
require 'redcloth'
str = IO.read("lorem.txt")
r = RedCloth.new(str)

xml = ''
doc = Builder::XmlMarkup.new(:target => xml, :indent =>2)
doc.instruct!
doc.entry(:xmlns=>'http://purl.org/atom/ns#'){|entry|
entry.title("Test Atom API : Revisited", :mode
=>'escaped',:type=>'text/plain')
entry.issued("2006-12-01T01:07:20Z")
entry.generator("DendiPoster", :url =>'http://mociman.blogspot.com')
entry.content(:type =>'application/xhtml+xml'){|content|
content.div(:xmlns=>'http://www.w3.org/1999/xhtml'){content << r.to_html}
}
}
http = Net::HTTP.new('www.blogger.com', 443)
http.use_ssl = true
http.start do |http|
request = Net::HTTP::Post.new('/atom/7917465')
request.set_content_type 'application/xml'
request.basic_auth 'thausaname', 'thapasswad'
request.body=(xml)
response = http.request(request)
puts response.body
puts response.header
puts request.body
end

Of course, this atompost.rb is not final yet. I still have some problems constructing the datetime, and the entry status. Just wait the next iteration on this one, The Revolution!
Well, maybe it'll be more like The Evolution... hehe

Lorem.txt - The highlighted text is textile formatted. :

p<>. Lorem ipsum dolor sit amet, *consectetuer adipiscing elit*. Proin consectetuer purus quis mi. Sed quis lacus. Aenean ligula dui, eleifend sit amet, viverra nec, imperdiet eu, purus. Vivamus a libero rhoncus ipsum consectetuer luctus. Mauris sit amet eros rutrum sem dapibus tincidunt. Nulla facilisi. Nulla ac massa eu arcu facilisis pellentesque. Duis non risus in mauris egestas ultricies. Suspendisse accumsan, mi sit amet nonummy posuere, metus sem cursus nisl, nonummy convallis sapien lectus quis ligula. Etiam pellentesque sodales justo. Sed justo urna, rhoncus in, tempus vel, varius et, arcu. Donec in sapien. Cras eget justo tincidunt magna placerat fringilla. Nulla tortor felis, semper a, adipiscing id, elementum sed, mi. Nullam laoreet ante vel magna. Donec faucibus convallis orci. Maecenas pretium pretium pede. Nulla a quam.
Ut venenatis,
_nunc vitae venenatis vestibulum, magna nunc vestibulum leo, eget fringilla turpis neque ut augue. Lorem ipsum dolor sit amet, consectetuer adipiscing elit_. Etiam eget sapien. Morbi tempor, nibh sed lobortis consectetuer, sapien ipsum dictum nulla, at sollicitudin nunc erat a elit. Cras non lectus vel diam placerat commodo. In nulla nibh, condimentum quis, ullamcorper eu, lacinia nec, erat. Duis eget arcu ....
I used textile because it is easier to write *this is a strong text* than <strong>this is a strong text </strong>


Komentar Terbaru

Tinggalkan Pesan


Name
Email
URI
Msg

Tags

Gegambaran

Loenpia.net