Created
July 20, 2010 04:58
-
-
Save briandoll/482550 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ENV: | |
ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-darwin10.3.1] | |
pismo (0.6.2) | |
nokogiri (1.4.2) | |
... | |
>> require 'pismo' | |
=> true | |
# First method works: | |
>> Pismo["http://github.com/peterc/pismo"].keywords | |
=> [["pismo", 10], ["description", 10], ["ruby", 6], ["script", 5], ["body", 5], ["web", 5], ["io", 5], ["license", 5], ["extraction", 4], ["methods", 3], ["command", 3], ["cramp", 3], ["titles", 3], ["page", 3], ["html", 3], ["data", 3], ["return", 3], ["metadata", 3], ["reader", 3], ["urls", 3]] | |
# Second method works: | |
>> Pismo::Document.new("http://github.com/peterc/pismo").keywords | |
=> [["pismo", 10], ["description", 10], ["ruby", 6], ["script", 5], ["body", 5], ["web", 5], ["io", 5], ["license", 5], ["extraction", 4], ["methods", 3], ["command", 3], ["cramp", 3], ["titles", 3], ["page", 3], ["html", 3], ["data", 3], ["return", 3], ["metadata", 3], ["reader", 3], ["urls", 3]] | |
# Third method, boom goes the dynamite (repeatedly, with lots of different URL's) | |
>> pismo = Pismo::Document.new("http://github.com/peterc/pismo") | |
=> #<Pismo::Document:0x1017d3b68 @doc=#<Nokogiri::HTML::Document:0x80be03f4 name="document" children=[#<Nokogiri::XML::DTD:0x80bdfecc name="html">, #<Nokogiri::XML::Element:0x80bdfd8c name="html" attributes=[#<Nokogiri::XML::Attr:0x80bdeff4 name="xmlns" value="http://www.w3.org/1999/xhtml">, #<Nokogiri::XML::Attr:0x80bdefb8 name="xml:lang" value="en">, #<Nokogiri::XML::Attr:0x80bdefa4 name="lang" value="en">] children=[#<Nokogiri::XML::Element:0x80bde07c name="head" children=[#<Nokogiri::XML::Element:0x80bddaf0 name="meta" attributes=[#<Nokogiri::XML::Attr:0x80bdd974 name="http-equiv" value="content-type">, #<Nokogiri::XML::Attr:0x80bdd960 name="content" value="text/html;charset=UTF-8">]>, #<Nokogiri::XML::Element:0x80bdda50 name="meta" attributes=[#<Nokogiri::XML::Attr:0x80bdcd58 name="http-equiv" value="X-UA-Compatible">, #<Nokogiri::XML::Attr:0x80bdcd44 name="content" value="chrome=1">]>, #<Nokogiri::XML::Element:0x80bdcdf8 name="title" children=[#<Nokogiri::XML::Text:0x80bdbc14 "peterc's pismo at master - GitHub">]>, #<Nokogiri::XML::Element:0x80bdb82c name="link" attributes=[#<Nokogiri::XML::Attr:0x80bdb4a8 name="rel" value="search">, #<Nokogiri::XML::Attr:0x80bdb494 name="type" value="application/opensearchdescription+xml">, #<Nokogiri::XML::Attr:0x80bdb480 name="href" value="/opensearch.xml">, #<Nokogiri::XML::Attr:0x80bdb46c name="title" value="GitHub">]>, #<Nokogiri::XML::Element:0x80bdb638 name="link" attributes=[#<Nokogiri::XML::Attr:0x80bda2c4 name="rel" value="fluid-icon">, #<Nokogiri::XML::Attr:0x80bda2b0 name="href" value="http://github.com/fluidicon.png">, #<Nokogiri::XML::Attr:0x80bda29c name="title" value="GitHub">]>, #<Nokogiri::XML::Element:0x80bda378 name="link" attributes=[#<Nokogiri::XML::Attr:0x80bd9478 name="href" value="http://assets0.github.com/stylesheets/bundle_common.css?4145dfae543db1df6d2a0c8c31d5916c23ba6779">, #<Nokogiri::XML::Attr:0x80bd9464 name="media" value="screen">, #<Nokogiri::XML::Attr:0x80bd9414 name="rel" value="stylesheet">, #<Nokogiri::XML::Attr:0x80bd9400 name="type" value="text/css">]>, #<Nokogiri::XML::Element:0x80bd9504 name="link" attributes=[#<Nokogiri::XML::Attr:0x80bd7c7c name="href" value="http://assets3.github.com/stylesheets/bundle_github.css?4145dfae543db1df6d2a0c8c31d5916c23ba6779">, #<Nokogiri::XML::Attr:0x80bd7c2c name="media" value="screen">, #<Nokogiri::XML::Attr:0x80bd7b64 name="rel" value="stylesheet">, #<Nokogiri::XML::Attr:0x80bd7b50 name="type" value="text/css">]>, #<Nokogiri::XML::Element:0x80bd7d30 name="script" attributes=[#<Nokogiri::XML::Attr:0x80bd6610 name="type" value="text/javascript">, #<Nokogiri::XML::Attr:0x80bd65fc name="charset" value="utf-8">] children=[#<Nokogiri::XML::CDATA:0x80bd5b70 "\n var GitHub = {}\n var github_user = null\n \n ">]>, #<Nokogiri::XML::Element:0x80bd59f4 name="script" attributes=[#<Nokogiri::XML::Attr:0x80bd5800 name="src" value="http://assets2.github.com/javascripts/jquery/jquery-1.4.2.min.js?4145dfae543db1df6d2a0c8c31d5916c23ba6779">, #<Nokogiri::XML::Attr:0x80bd57ec name="type" value="text/javascript">]>, #<Nokogiri::XML::Element:0x80bd59a4 name="script" attributes=[#<Nokogiri::XML::Attr:0x80bd44a0 name="src" value="http://assets2.github.com/javascripts/bundle_common.js?4145dfae543db1df6d2a0c8c31d5916c23ba6779">, #<Nokogiri::XML::Attr:0x80bd448c name="type" value="text/javascript">]>, #<Nokogiri::XML::Element:0x80bd4608 name="script" attributes=[#<Nokogiri::XML::Attr:0x80bd399c name="src" value="http://assets3.github.com/javascripts/bundle_github.js?4145dfae543db1df6d2a0c8c31d5916c23ba6779">, #<Nokogiri::XML::Attr:0x80bd3988 name="type" value="text/javascript">]>, #<Nokogiri::XML::Element:0x80bd3a50 name="script" attributes=[#<Nokogiri::XML::Attr:0x80bd2e5c name="type" value="text/javascript">, #<Nokogiri::XML::Attr:0x80bd2e48 name="charset" value="utf-8">] children=[#<Nokogiri::XML::CDATA:0x80bd24e8 "\n GitHub.spy({\n repo: \"peterc/pismo\"\n })\n ">]>, #<Nokogiri::XML::Element:0x80bd21dc name="link" attributes=[#<Nokogiri::XML::Attr:0x80bd20ec name="href" value="http://github.com/peterc/pismo/commits/master.atom">, #<Nokogiri::XML::Attr:0x80bd20d8 name="rel" value="alternate">, #<Nokogiri::XML::Attr:0x80bd20c4 name="title" value="Recent Commits to pismo:master">, #<Nokogiri::XML::Attr:0x80bd20b0 name="type" value="application/atom+xml">]>, #<Nokogiri::XML::Element:0x80bd218c name="meta" attributes=[#<Nokogiri::XML::Attr:0x80bd11d8 name="name" value="description">, #<Nokogiri::XML::Attr:0x80bd10d4 name="content" value="Extracts machine-readable metadata and content from Web pages">]>, #<Nokogiri::XML::Element:0x80bd12a0 name="script" attributes=[#<Nokogiri::XML::Attr:0x80bd07ec name="type" value="text/javascript">] children=[#<Nokogiri::XML::CDATA:0x80bd00f8 "\n GitHub.nameWithOwner = GitHub.nameWithOwner || \"peterc/pismo\";\n GitHub.currentRef = \"master\";\n ">]>, #<Nokogiri::XML::Element:0x80bcfe64 name="script" attributes=[#<Nokogiri::XML::Attr:0x80bcfd74 name="type" value="text/javascript">] children=[#<Nokogiri::XML::CDATA:0x80bcf66c "\n var _gaq = _gaq || [];\n _gaq.push(['_setAccount', 'UA-3769691-2']);\n _gaq.push(['_trackPageview']);\n (function() {\n var ga = document.createElement('script');\n ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n ga.setAttribute('async', 'true');\n document.documentElement.firstChild.appendChild(ga);\n })();\n ">]>]>, #<Nokogiri::XML::Element:0x80bcf338 name="body" children=[#<Nokogiri::XML::Text:0x80bcee4c "\n \n\n \n ">, #<Nokogiri::XML::Element:0x80bcedfc name="script" attributes=[#<Nokogiri::XML::Attr:0x80bcec80 name="type" value="text/javascript">] children=[#<Nokogiri::XML::CDATA:0x80bce5a0 "\n var _kmq = _kmq || [];\n function _kms(u){\n var s = document.createElement('script'); var f = document.getElementsByTagName('script')[0]; s.type = 'text/javascript'; s.async = true;\n s.src = u; f.parentNode.insertBefore(s, f);\n }\n _kms('//i.kissmetrics.com/i.js');_kms('//doug1izaerwt3.cloudfront.net/406e8bf3a2b8846ead55afb3cfaf6664523e3a54.1.js');\n ">]>, #<Nokogiri::XML::Element:0x80bce2f8 name="div" attributes=[#<Nokogiri::XML::Attr:0x80bce1e0 name="class" value="subnavd">, #<Nokogiri::XML::Attr:0x80bce1cc name="id" value="main">] children=[#<Nokogiri::XML::Text:0x80bcd790 "\n ">, #<Nokogiri::XML::Element:0x80bcd718 name="div" attributes=[#<Nokogiri::XML::Attr:0x80bcd4c0 name="id" value="header">, #<Nokogiri::XML::Attr:0x80bcd4ac name="class" value="pageheaded">] children=[#<Nokogiri::XML::Text:0x80bccb10 "\n ">, #<Nokogiri::XML::Element:0x80bccaac name="div" attributes=[#<Nokogiri::XML::Attr:0x80bcc804 name="class" value="site">] children=[#<Nokogiri::XML::Text:0x80bcc138 "\n ">, #<Nokogiri::XML::Element:0x80bcc0e8 name="div" attributes=[#<Nokogiri::XML::Attr:0x80bcbf80 name="class" value="logo">] children=[#<Nokogiri::XML::Text:0x80bcb850 "\n ">, #<Nokogiri::XML::Element:0x80bcb7d8 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bcb594 name="href" value="http://github.com">] children=[#<Nokogiri::XML::Element:0x80bcaec8 name="img" attributes=[#<Nokogiri::XML::Attr:0x80bcad88 name="src" value="/images/modules/header/logov3.png">, #<Nokogiri::XML::Attr:0x80bcad74 name="alt" value="github">]>]>, #<Nokogiri::XML::Text:0x80bca400 "\n ">]>, #<Nokogiri::XML::Text:0x80bca180 "\n \n ">, #<Nokogiri::XML::Element:0x80bca11c name="div" attributes=[#<Nokogiri::XML::Attr:0x80bc9e9c name="class" value="topsearch">] children=[#<Nokogiri::XML::Text:0x80bc97e4 "\n \n ">, #<Nokogiri::XML::Element:0x80bc9780 name="form" attributes=[#<Nokogiri::XML::Attr:0x80bc9618 name="action" value="/search">, #<Nokogiri::XML::Attr:0x80bc95f0 name="id" value="top_search_form">, #<Nokogiri::XML::Attr:0x80bc95dc name="method" value="get">] children=[#<Nokogiri::XML::Text:0x80bc8844 "\n ">, #<Nokogiri::XML::Element:0x80bc87f4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bc8678 name="href" value="/search">, #<Nokogiri::XML::Attr:0x80bc8664 name="class" value="advanced-search tooltipped downwards">, #<Nokogiri::XML::Attr:0x80bc8650 name="title" value="Advanced Search">] children=[#<Nokogiri::XML::Text:0x80bc7250 "Advanced Search">]>, #<Nokogiri::XML::Text:0x80bc70c0 "\n ">, #<Nokogiri::XML::Element:0x80bc7048 name="input" attributes=[#<Nokogiri::XML::Attr:0x80bc6df0 name="type" value="search">, #<Nokogiri::XML::Attr:0x80bc6dc8 name="class" value="search my_repos_autocompleter">, #<Nokogiri::XML::Attr:0x80bc6db4 name="name" value="q">, #<Nokogiri::XML::Attr:0x80bc6da0 name="results" value="5">, #<Nokogiri::XML::Attr:0x80bc6d8c name="placeholder" value="Search\342\200\246">]>, #<Nokogiri::XML::Element:0x80bc6eb8 name="input" attributes=[#<Nokogiri::XML::Attr:0x80bc5784 name="type" value="submit">, #<Nokogiri::XML::Attr:0x80bc5770 name="value" value="Search">, #<Nokogiri::XML::Attr:0x80bc575c name="class" value="button">]>, #<Nokogiri::XML::Element:0x80bc5810 name="input" attributes=[#<Nokogiri::XML::Attr:0x80bc4988 name="type" value="hidden">, #<Nokogiri::XML::Attr:0x80bc4960 name="name" value="type">, #<Nokogiri::XML::Attr:0x80bc494c name="value" value="Everything">]>, #<Nokogiri::XML::Element:0x80bc4a28 name="input" attributes=[#<Nokogiri::XML::Attr:0x80bc3ad8 name="type" value="hidden">, #<Nokogiri::XML::Attr:0x80bc3ab0 name="name" value="repo">, #<Nokogiri::XML::Attr:0x80bc3a9c name="value">]>, #<Nokogiri::XML::Element:0x80bc3b64 name="input" attributes=[#<Nokogiri::XML::Attr:0x80bc2d68 name="type" value="hidden">, #<Nokogiri::XML::Attr:0x80bc2c78 name="name" value="langOverride">, #<Nokogiri::XML::Attr:0x80bc2c64 name="value">]>, #<Nokogiri::XML::Element:0x80bc2e30 name="input" attributes=[#<Nokogiri::XML::Attr:0x80bc1fa8 name="type" value="hidden">, #<Nokogiri::XML::Attr:0x80bc1f94 name="name" value="start_value">, #<Nokogiri::XML::Attr:0x80bc1f6c name="value" value="1">]>]>, #<Nokogiri::XML::Text:0x80bc11e8 "\n \n \n ">, #<Nokogiri::XML::Element:0x80bc10a8 name="ul" attributes=[#<Nokogiri::XML::Attr:0x80bc0f2c name="class" value="nav logged_out">] children=[#<Nokogiri::XML::Element:0x80bc08c4 name="li" children=[#<Nokogiri::XML::Element:0x80bc0400 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bc0310 name="href" value="http://github.com">] children=[#<Nokogiri::XML::Text:0x80bbfc58 "Home">]>]>, #<Nokogiri::XML::Text:0x80bbf94c "\n ">, #<Nokogiri::XML::Element:0x80bbf8e8 name="li" attributes=[#<Nokogiri::XML::Attr:0x80bbf690 name="class" value="pricing">] children=[#<Nokogiri::XML::Element:0x80bbece0 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bbebf0 name="href" value="/plans">] children=[#<Nokogiri::XML::Text:0x80bbe560 "Pricing and Signup">]>]>, #<Nokogiri::XML::Text:0x80bbe240 "\n ">, #<Nokogiri::XML::Element:0x80bbe1f0 name="li" children=[#<Nokogiri::XML::Element:0x80bbdda4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bbda34 name="href" value="http://github.com/explore">] children=[#<Nokogiri::XML::Text:0x80bbd304 "Explore GitHub">]>]>, #<Nokogiri::XML::Text:0x80bbcfe4 "\n \n ">, #<Nokogiri::XML::Element:0x80bbcf58 name="li" children=[#<Nokogiri::XML::Element:0x80bbcb0c name="a" attributes=[#<Nokogiri::XML::Attr:0x80bbc954 name="href" value="/blog">] children=[#<Nokogiri::XML::Text:0x80bbc2b0 "Blog">]>]>, #<Nokogiri::XML::Text:0x80bbbd10 "\n \n ">, #<Nokogiri::XML::Element:0x80bbbbbc name="li" children=[#<Nokogiri::XML::Element:0x80bbb7ac name="a" attributes=[#<Nokogiri::XML::Attr:0x80bbb694 name="href" value="https://github.com/login">] children=[#<Nokogiri::XML::Text:0x80bbad48 "Login">]>]>, #<Nokogiri::XML::Text:0x80bbaa3c "\n ">]>]>, #<Nokogiri::XML::Text:0x80bba6f4 "\n\n ">]>, #<Nokogiri::XML::Text:0x80bba488 "\n ">]>, #<Nokogiri::XML::Text:0x80bba21c "\n\n \n \n \n ">, #<Nokogiri::XML::Element:0x80bba1b8 name="div" attributes=[#<Nokogiri::XML::Attr:0x80bba03c name="class" value="site">] children=[#<Nokogiri::XML::Text:0x80bb9920 "\n ">, #<Nokogiri::XML::Element:0x80bb97f4 name="div" attributes=[#<Nokogiri::XML::Attr:0x80bb9678 name="class" value="pagehead repohead vis-public ">] children=[#<Nokogiri::XML::Text:0x80bb8fd4 "\n ">, #<Nokogiri::XML::Element:0x80bb8f84 name="h1" children=[#<Nokogiri::XML::Text:0x80bb8b38 "\n ">, #<Nokogiri::XML::Element:0x80bb8a20 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bb88b8 name="href" value="/peterc">] children=[#<Nokogiri::XML::Text:0x80bb81d8 "peterc">]>, #<Nokogiri::XML::Text:0x80bb7f6c " / ">, #<Nokogiri::XML::Element:0x80bb7f1c name="strong" children=[#<Nokogiri::XML::Element:0x80bb7ae4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bb78a0 name="href" value="http://github.com/peterc/pismo">] children=[#<Nokogiri::XML::Text:0x80bb7210 "pismo">]>]>, #<Nokogiri::XML::Text:0x80bb6eb4 "\n \n \n ">]>, #<Nokogiri::XML::Text:0x80bb6c84 "\n\n \n ">, #<Nokogiri::XML::Element:0x80bb6c20 name="ul" attributes=[#<Nokogiri::XML::Attr:0x80bb69b4 name="class" value="actions">] children=[#<Nokogiri::XML::Element:0x80bb6194 name="li" attributes=[#<Nokogiri::XML::Attr:0x80bb60a4 name="class" value="for-owner">, #<Nokogiri::XML::Attr:0x80bb6090 name="style" value="display:none">] children=[#<Nokogiri::XML::Element:0x80bb553c name="a" attributes=[#<Nokogiri::XML::Attr:0x80bb53d4 name="href" value="https://github.com/peterc/pismo/edit">, #<Nokogiri::XML::Attr:0x80bb53c0 name="class" value="minibutton btn-admin ">] children=[#<Nokogiri::XML::Element:0x80bb46a0 name="span" children=[#<Nokogiri::XML::Element:0x80bb42b8 name="span" attributes=[#<Nokogiri::XML::Attr:0x80bb4100 name="class" value="icon">]>, #<Nokogiri::XML::Text:0x80bb418c "Admin">]>]>]>, #<Nokogiri::XML::Text:0x80bb387c "\n ">, #<Nokogiri::XML::Element:0x80bb382c name="li" children=[#<Nokogiri::XML::Text:0x80bb3264 "\n ">, #<Nokogiri::XML::Element:0x80bb3214 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bb30ac name="href" value="/peterc/pismo/toggle_watch">, #<Nokogiri::XML::Attr:0x80bb3098 name="class" value="minibutton btn-watch ">, #<Nokogiri::XML::Attr:0x80bb3084 name="id" value="watch_button">, #<Nokogiri::XML::Attr:0x80bb3070 name="style" value="display:none">] children=[#<Nokogiri::XML::Element:0x80bb1cd4 name="span" children=[#<Nokogiri::XML::Element:0x80bb18c4 name="span" attributes=[#<Nokogiri::XML::Attr:0x80bb17d4 name="class" value="icon">]>, #<Nokogiri::XML::Text:0x80bb1874 "Watch">]>]>, #<Nokogiri::XML::Text:0x80bb0bf4 "\n ">, #<Nokogiri::XML::Element:0x80bb0ba4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bb0974 name="href" value="/peterc/pismo/toggle_watch">, #<Nokogiri::XML::Attr:0x80bb0960 name="class" value="minibutton btn-watch ">, #<Nokogiri::XML::Attr:0x80bb08c0 name="id" value="unwatch_button">, #<Nokogiri::XML::Attr:0x80bb08ac name="style" value="display:none">] children=[#<Nokogiri::XML::Element:0x80baf95c name="span" children=[#<Nokogiri::XML::Element:0x80baf560 name="span" attributes=[#<Nokogiri::XML::Attr:0x80baf434 name="class" value="icon">]>, #<Nokogiri::XML::Text:0x80baf510 "Unwatch">]>]>, #<Nokogiri::XML::Text:0x80baeb74 "\n ">]>, #<Nokogiri::XML::Text:0x80bae8e0 "\n \n \n ">, #<Nokogiri::XML::Element:0x80bae890 name="li" attributes=[#<Nokogiri::XML::Attr:0x80bae6ec name="class" value="for-notforked">, #<Nokogiri::XML::Attr:0x80bae6d8 name="style" value="display:none">] children=[#<Nokogiri::XML::Element:0x80badd28 name="a" attributes=[#<Nokogiri::XML::Attr:0x80badb84 name="href" value="/peterc/pismo/fork">, #<Nokogiri::XML::Attr:0x80badb48 name="class" value="minibutton btn-fork ">, #<Nokogiri::XML::Attr:0x80badb34 name="id" value="fork_button">, #<Nokogiri::XML::Attr:0x80badb20 name="onclick" value="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', '652cd7f316708fc9c13d4dc8c2d3189ded826f23'); f.appendChild(s);f.submit();return false;">] children=[#<Nokogiri::XML::Element:0x80bacc84 name="span" children=[#<Nokogiri::XML::Element:0x80bac7c0 name="span" attributes=[#<Nokogiri::XML::Attr:0x80bac6bc name="class" value="icon">]>, #<Nokogiri::XML::Text:0x80bac748 "Fork">]>]>]>, #<Nokogiri::XML::Text:0x80baba8c "\n ">, #<Nokogiri::XML::Element:0x80baba14 name="li" attributes=[#<Nokogiri::XML::Attr:0x80bab8ac name="class" value="for-hasfork">, #<Nokogiri::XML::Attr:0x80bab898 name="style" value="display:none">] children=[#<Nokogiri::XML::Element:0x80baaf9c name="a" attributes=[#<Nokogiri::XML::Attr:0x80baae98 name="href" value="#">, #<Nokogiri::XML::Attr:0x80baae84 name="class" value="minibutton btn-fork ">, #<Nokogiri::XML::Attr:0x80baada8 name="id" value="your_fork_button">] children=[#<Nokogiri::XML::Element:0x80baa290 name="span" children=[#<Nokogiri::XML::Element:0x80ba9ef8 name="span" attributes=[#<Nokogiri::XML::Attr:0x80ba9d18 name="class" value="icon">]>, #<Nokogiri::XML::Text:0x80ba9e94 "Your Fork">]>]>]>, #<Nokogiri::XML::Text:0x80ba94f8 "\n \n\n \n ">, #<Nokogiri::XML::Element:0x80ba94a8 name="li" attributes=[#<Nokogiri::XML::Attr:0x80ba923c name="id" value="pull_request_item">, #<Nokogiri::XML::Attr:0x80ba9228 name="class" value="ospr">, #<Nokogiri::XML::Attr:0x80ba9214 name="style" value="display:none">] children=[#<Nokogiri::XML::Element:0x80ba8634 name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba8544 name="href" value="/peterc/pismo/pull_request/">, #<Nokogiri::XML::Attr:0x80ba8530 name="class" value="minibutton btn-pull-request ">] children=[#<Nokogiri::XML::Element:0x80ba7c48 name="span" children=[#<Nokogiri::XML::Element:0x80ba77ac name="span" attributes=[#<Nokogiri::XML::Attr:0x80ba76bc name="class" value="icon">]>, #<Nokogiri::XML::Text:0x80ba775c "Pull Request">]>]>]>, #<Nokogiri::XML::Text:0x80ba6d98 "\n \n\n ">, #<Nokogiri::XML::Element:0x80ba6d48 name="li" children=[#<Nokogiri::XML::Element:0x80ba6870 name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba6690 name="href" value="#">, #<Nokogiri::XML::Attr:0x80ba6668 name="class" value="minibutton btn-download ">, #<Nokogiri::XML::Attr:0x80ba6654 name="id" value="download_button">] children=[#<Nokogiri::XML::Element:0x80ba5a24 name="span" children=[#<Nokogiri::XML::Element:0x80ba5664 name="span" attributes=[#<Nokogiri::XML::Attr:0x80ba5484 name="class" value="icon">]>, #<Nokogiri::XML::Text:0x80ba554c "Download Source">]>]>]>, #<Nokogiri::XML::Text:0x80ba4b10 "\n \n \n \n ">, #<Nokogiri::XML::Element:0x80ba4aac name="li" attributes=[#<Nokogiri::XML::Attr:0x80ba4890 name="class" value="repostats">] children=[#<Nokogiri::XML::Text:0x80ba41d8 "\n ">, #<Nokogiri::XML::Element:0x80ba4174 name="ul" attributes=[#<Nokogiri::XML::Attr:0x80ba3f1c name="class" value="repo-stats">] children=[#<Nokogiri::XML::Element:0x80ba3904 name="li" attributes=[#<Nokogiri::XML::Attr:0x80ba3800 name="class" value="watchers">] children=[#<Nokogiri::XML::Element:0x80ba30bc name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba2f90 name="href" value="/peterc/pismo/watchers">, #<Nokogiri::XML::Attr:0x80ba2edc name="title" value="Watchers">, #<Nokogiri::XML::Attr:0x80ba2ec8 name="class" value="tooltipped downwards">] children=[#<Nokogiri::XML::Text:0x80ba2310 "52">]>]>, #<Nokogiri::XML::Text:0x80ba1f28 "\n ">, #<Nokogiri::XML::Element:0x80ba1ed8 name="li" attributes=[#<Nokogiri::XML::Attr:0x80ba1ca8 name="class" value="forks">] children=[#<Nokogiri::XML::Element:0x80ba1668 name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba14c4 name="href" value="/peterc/pismo/network">, #<Nokogiri::XML::Attr:0x80ba14b0 name="title" value="Forks">, #<Nokogiri::XML::Attr:0x80ba149c name="class" value="tooltipped downwards">] children=[#<Nokogiri::XML::Text:0x80ba0c18 "3">]>]>, #<Nokogiri::XML::Text:0x80ba0998 "\n ">]>]>, #<Nokogiri::XML::Text:0x80ba0768 "\n ">]>, #<Nokogiri::XML::Element:0x80ba0600 name="ul" attributes=[#<Nokogiri::XML::Attr:0x80ba0524 name="class" value="tabs">] children=[#<Nokogiri::XML::Element:0x80ba00b0 name="li" children=[#<Nokogiri::XML::Element:0x80b9fe1c name="a" attributes=[#<Nokogiri::XML::Attr:0x80b9fd40 name="href" value="http://github.com/peterc/pismo/tree/master">, #<Nokogiri::XML::Attr:0x80b9fd2c name="class" value="selected">, #<Nokogiri::XML::Attr:0x80b9fd18 name="highlight" value="repo_source">] children=[#<Nokogiri::XML::Text:0x80b9f50c "Source">]>]>, #<Nokogiri::XML::Text:0x80b9f2f0 "\n ">, #<Nokogiri::XML::Element:0x80b9f2a0 name="li" children=[#<Nokogiri::XML::Element:0x80b99f94 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b99eb8 name="href" value="http://github.com/peterc/pismo/commits/master">, #<Nokogiri::XML::Attr:0x80b99ea4 name="highlight" value="repo_commits">] children=[#<Nokogiri::XML::Text:0x80b998a0 "Commits">]>]>, #<Nokogiri::XML::Text:0x80b99698 "\n\n \n ">, #<Nokogiri::XML::Element:0x80b99648 name="li" children=[#<Nokogiri::XML::Element:0x80b99350 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b99274 name="href" value="/peterc/pismo/network">, #<Nokogiri::XML::Attr:0x80b99260 name="highlight" value="repo_network">] children=[#<Nokogiri::XML::Text:0x80b98c5c "Network (3)">]>]>, #<Nokogiri::XML::Text:0x80b98a54 "\n\n \n\n \n \n ">, #<Nokogiri::XML::Element:0x80b98a04 name="li" children=[#<Nokogiri::XML::Element:0x80b9870c name="a" attributes=[#<Nokogiri::XML::Attr:0x80b9861c name="href" value="/peterc/pismo/issues">, #<Nokogiri::XML::Attr:0x80b98608 name="highlight" value="issues">] children=[#<Nokogiri::XML::Text:0x80b97d0c "Issues (0)">]>]>, #<Nokogiri::XML::Text:0x80b97a00 "\n \n\n \n \n ">, #<Nokogiri::XML::Element:0x80b97988 name="li" children=[#<Nokogiri::XML::Element:0x80b97514 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b973fc name="href" value="/peterc/pismo/downloads">] children=[#<Nokogiri::XML::Text:0x80b96fc4 "Downloads (10)">]>]>, #<Nokogiri::XML::Text:0x80b96d58 "\n \n\n \n \n ">, #<Nokogiri::XML::Element:0x80b96ce0 name="li" children=[#<Nokogiri::XML::Element:0x80b9645c name="a" attributes=[#<Nokogiri::XML::Attr:0x80b96380 name="href" value="http://wiki.github.com/peterc/pismo/">] children=[#<Nokogiri::XML::Text:0x80b95ea8 "Wiki (1)">]>]>, #<Nokogiri::XML::Text:0x80b95ca0 "\n \n\n ">, #<Nokogiri::XML::Element:0x80b95c50 name="li" children=[#<Nokogiri::XML::Element:0x80b9591c name="a" attributes=[#<Nokogiri::XML::Attr:0x80b95840 name="href" value="/peterc/pismo/graphs">, #<Nokogiri::XML::Attr:0x80b9582c name="highlight" value="repo_graphs">] children=[#<Nokogiri::XML::Text:0x80b95228 "Graphs">]>]>, #<Nokogiri::XML::Text:0x80b95020 "\n\n ">, #<Nokogiri::XML::Element:0x80b94fd0 name="li" attributes=[#<Nokogiri::XML::Attr:0x80b94e7c name="class" value="contextswitch nochoices">] children=[#<Nokogiri::XML::Text:0x80b94a44 "\n ">, #<Nokogiri::XML::Element:0x80b949f4 name="span" attributes=[#<Nokogiri::XML::Attr:0x80b948a0 name="class" value="toggle leftwards">] children=[#<Nokogiri::XML::Text:0x80b94468 "\n ">, #<Nokogiri::XML::Element:0x80b94418 name="em" children=[#<Nokogiri::XML::Text:0x80b94008 "Branch:">]>, #<Nokogiri::XML::Text:0x80b93c84 "\n ">, #<Nokogiri::XML::Element:0x80b93c34 name="code" children=[#<Nokogiri::XML::Text:0x80b9393c "master">]>, #<Nokogiri::XML::Text:0x80b937d4 "\n ">]>, #<Nokogiri::XML::Text:0x80b9366c "\n ">]>, #<Nokogiri::XML::Text:0x80b93504 "\n ">]>, #<Nokogiri::XML::Element:0x80b9339c name="div" attributes=[#<Nokogiri::XML::Attr:0x80b932ac name="style" value="display:none">, #<Nokogiri::XML::Attr:0x80b93298 name="id" value="pl-description">] children=[#<Nokogiri::XML::Element:0x80b92c94 name="p" children=[#<Nokogiri::XML::Element:0x80b92a14 name="em" attributes=[#<Nokogiri::XML::Attr:0x80b92938 name="class" value="placeholder">] children=[#<Nokogiri::XML::Text:0x80b92500 "click here to add a description">]>]>]>, #<Nokogiri::XML::Text:0x80b92258 "\n ">, #<Nokogiri::XML::Element:0x80b92208 name="div" attributes=[#<Nokogiri::XML::Attr:0x80b920b4 name="style" value="display:none">, #<Nokogiri::XML::Attr:0x80b920a0 name="id" value="pl-homepage">] children=[#<Nokogiri::XML::Element:0x80b91a60 name="p" children=[#<Nokogiri::XML::Element:0x80b917cc name="em" attributes=[#<Nokogiri::XML::Attr:0x80b916f0 name="class" value="placeholder">] children=[#<Nokogiri::XML::Text:0x80b912b8 "click here to add a homepage">]>]>]>, #<Nokogiri::XML::Text:0x80b91010 "\n\n ">, #<Nokogiri::XML::Element:0x80b90fc0 name="div" attributes=[#<Nokogiri::XML::Attr:0x80b90e6c name="class" value="subnav-bar">] children=[#<Nokogiri::XML::Text:0x80b90a20 "\n \n ">, #<Nokogiri::XML::Element:0x80b909d0 name="ul" children=[#<Nokogiri::XML::Element:0x80b906d8 name="li" children=[#<Nokogiri::XML::Text:0x80b90458 "\n ">, #<Nokogiri::XML::Element:0x80b90408 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b902b4 name="href" value="#">, #<Nokogiri::XML::Attr:0x80b902a0 name="class" value="dropdown">] children=[#<Nokogiri::XML::Text:0x80b8fc9c "Switch Branches (1)">]>, #<Nokogiri::XML::Text:0x80b8fb34 "\n ">, #<Nokogiri::XML::Element:0x80b8fae4 name="ul" children=[#<Nokogiri::XML::Element:0x80b8f7ec name="li" children=[#<Nokogiri::XML::Element:0x80b8f56c name="strong" children=[#<Nokogiri::XML::Text:0x80b8f2ec "master \342\234\223">]>]>, #<Nokogiri::XML::Text:0x80b8f0e4 "\n \n ">]>]>, #<Nokogiri::XML::Text:0x80b8eedc "\n ">, #<Nokogiri::XML::Element:0x80b8ee8c name="li" children=[#<Nokogiri::XML::Text:0x80b8eb94 "\n ">, #<Nokogiri::XML::Element:0x80b8eb44 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b8e9f0 name="href" value="#">, #<Nokogiri::XML::Attr:0x80b8e9dc name="class" value="dropdown ">] children=[#<Nokogiri::XML::Text:0x80b8e3d8 "Switch Tags (10)">]>, #<Nokogiri::XML::Text:0x80b8e270 "\n ">, #<Nokogiri::XML::Element:0x80b8e220 name="ul" children=[#<Nokogiri::XML::Element:0x80b8df28 name="li" children=[#<Nokogiri::XML::Element:0x80b8dca8 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b8dbcc name="href" value="/peterc/pismo/tree/v0.6.2">] children=[#<Nokogiri::XML::Text:0x80b8d794 "v0.6.2">]>]>, #<Nokogiri::XML::Text:0x80b8d58c "\n \n \n ">, #<Nokogiri::XML::Element:0x80b8d53c name="li" children=[#<Nokogiri::XML::Element:0x80b8d244 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b8d168 name="href" value="/peterc/pismo/tree/v0.6.1">] children=[#<Nokogiri::XML::Text:0x80b8cd30 "v0.6.1">]>]>, #<Nokogiri::XML::Text:0x80b8cb28 "\n \n \n ">, #<Nokogiri::XML::Element:0x80b8cad8 name="li" children=[#<Nokogiri::XML::Element:0x80b8c7e0 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b8c704 name="href" value="/peterc/pismo/tree/v0.6.0">] children=[#<Nokogiri::XML::Text:0x80b8c2cc "v0.6.0">]>]>, #<Nokogiri::XML::Text:0x80b8c0c4 "\n \n \n ">, #<Nokogiri::XML::Element:0x80b8c074 name="li" children=[#<Nokogiri::XML::Element:0x80b8bd7c name="a" attributes=[#<Nokogiri::XML::Attr:0x80b8bca0 name="href" value="/peterc/pismo/tree/v0.5.0">] children=[#<Nokogiri::XML::Text:0x80b8b868 "v0.5.0">]>]>, #<Nokogiri::XML::Text:0x80b8b660 "\n \n \n ">, #<Nokogiri::XML::Element:0x80b8b610 name="li" children=[#<Nokogiri::XML::Element:0x80b8b318 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b8b23c name="href" value="/peterc/pismo/tree/v0.4.0">] children=[#<Nokogiri::XML::Text:0x80b8ae04 "v0.4.0">]>]>, #<Nokogiri::XML::Text:0x80b8abfc "\n \n \n ">, #<Nokogiri::XML::Element:0x80b8abac name="li" children=[#<Nokogiri::XML::Element:0x80b8a8b4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b8a7d8 name="href" value="/peterc/pismo/tree/v0.2.3">] children=[#<Nokogiri::XML::Text:0x80b8a3a0 "v0.2.3">]>]>, #<Nokogiri::XML::Text:0x80b8a198 "\n \n \n ">, #<Nokogiri::XML::Element:0x80b8a148 name="li" children=[#<Nokogiri::XML::Element:0x80b89e50 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b89d74 name="href" value="/peterc/pismo/tree/v0.2.2">] children=[#<Nokogiri::XML::Text:0x80b8993c "v0.2.2">]>]>, #<Nokogiri::XML::Text:0x80b89734 "\n \n \n ">, #<Nokogiri::XML::Element:0x80b896e4 name="li" children=[#<Nokogiri::XML::Element:0x80b893ec name="a" attributes=[#<Nokogiri::XML::Attr:0x80b89310 name="href" value="/peterc/pismo/tree/v0.2.1">] children=[#<Nokogiri::XML::Text:0x80b88ed8 "v0.2.1">]>]>, #<Nokogiri::XML::Text:0x80b88cd0 "\n \n \n ">, #<Nokogiri::XML::Element:0x80b88c80 name="li" children=[#<Nokogiri::XML::Element:0x80b88988 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b888ac name="href" value="/peterc/pismo/tree/v0.2.0">] children=[#<Nokogiri::XML::Text:0x80b88474 "v0.2.0">]>]>, #<Nokogiri::XML::Text:0x80b8826c "\n \n \n ">, #<Nokogiri::XML::Element:0x80b8821c name="li" children=[#<Nokogiri::XML::Element:0x80b87f24 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b87e48 name="href" value="/peterc/pismo/tree/v0.1.0">] children=[#<Nokogiri::XML::Text:0x80b87a10 "v0.1.0">]>]>, #<Nokogiri::XML::Text:0x80b87808 "\n \n ">]>]>, #<Nokogiri::XML::Text:0x80b87600 "\n ">, #<Nokogiri::XML::Element:0x80b875b0 name="li" children=[#<Nokogiri::XML::Text:0x80b872b8 "\n \n ">, #<Nokogiri::XML::Element:0x80b87268 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b87114 name="href" value="/peterc/pismo/branches">, #<Nokogiri::XML::Attr:0x80b87100 name="class" value="manage">] children=[#<Nokogiri::XML::Text:0x80b86afc "Branch List">]>, #<Nokogiri::XML::Text:0x80b86994 "\n \n ">]>, #<Nokogiri::XML::Text:0x80b8682c "\n ">]>]>, #<Nokogiri::XML::Text:0x80b86624 "\n\n \n \n \n \n \n\n\n \n ">, #<Nokogiri::XML::Element:0x80b865d4 name="div" attributes=[#<Nokogiri::XML::Attr:0x80b86480 name="id" value="repo_details">, #<Nokogiri::XML::Attr:0x80b8646c name="class" value="metabox clearfix">] children=[#<Nokogiri::XML::Text:0x80b85e68 "\n ">, #<Nokogiri::XML::Element:0x80b85e18 name="div" attributes=[#<Nokogiri::XML::Attr:0x80b85cc4 name="id" value="repo_details_loader">, #<Nokogiri::XML::Attr:0x80b85cb0 name="class" value="metabox-loader">, #<Nokogiri::XML::Attr:0x80b85c9c name="style" value="display:none">] children=[#<Nokogiri::XML::Text:0x80b854cc "Sending Request\342\200\246">]>, #<Nokogiri::XML::Text:0x80b85364 "\n\n \n\n ">, #<Nokogiri::XML::Element:0x80b85314 name="div" attributes=[#<Nokogiri::XML::Attr:0x80b851c0 name="id" value="repository_description">, #<Nokogiri::XML::Attr:0x80b851ac name="rel" value="repository_description_edit">] children=[#<Nokogiri::XML::Text:0x80b84ba8 "\n \n ">, #<Nokogiri::XML::Element:0x80b84b58 name="p" children=[#<Nokogiri::XML::Text:0x80b84860 "Extracts machine-readable metadata and content from Web pages\n ">, #<Nokogiri::XML::Element:0x80b84810 name="span" attributes=[#<Nokogiri::XML::Attr:0x80b846bc name="id" value="read_more">, #<Nokogiri::XML::Attr:0x80b846a8 name="style" value="display:none">] children=[#<Nokogiri::XML::Text:0x80b840a4 "\342\200\224 ">, #<Nokogiri::XML::Element:0x80b84054 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b83f00 name="href" value="#readme">] children=[#<Nokogiri::XML::Text:0x80b83ac8 "Read more">]>]>, #<Nokogiri::XML::Text:0x80b838c0 "\n ">]>, #<Nokogiri::XML::Text:0x80b83758 "\n \n ">]>, #<Nokogiri::XML::Text:0x80b835f0 "\n ">, #<Nokogiri::XML::Element:0x80b835a0 name="div" attributes=[#<Nokogiri::XML::Attr:0x80b8344c name="id" value="repository_description_edit">, #<Nokogiri::XML::Attr:0x80b83438 name="style" value="display:none;">, #<Nokogiri::XML::Attr:0x80b83424 name="class" value="inline-edit">] children=[#<Nokogiri::XML::Text:0x80b82c54 "\n ">, #<Nokogiri::XML::Element:0x80b82c04 name="form" attributes=[#<Nokogiri::XML::Attr:0x80b82ab0 name="action" value="/peterc/pismo/edit/update">, #<Nokogiri::XML::Attr:0x80b82a9c name="method" value="post">] children=[#<Nokogiri::XML::Element:0x80b82498 name="div" attributes=[#<Nokogiri::XML::Attr:0x80b823bc name="style" value="margin:0;padding:0">] children=[#<Nokogiri::XML::Element:0x80b81f84 name="input" attributes=[#<Nokogiri::XML::Attr:0x80b81ea8 name="name" value="authenticity_token">, #<Nokogiri::XML::Attr:0x80b81e94 name="type" value="hidden">, #<Nokogiri::XML::Attr:0x80b81e80 name="value" value="652cd7f316708fc9c13d4dc8c2d3189ded826f23">]>]>, #<Nokogiri::XML::Text:0x80b816d8 "\n ">, #<Nokogiri::XML::Element:0x80b81688 name="input" attributes=[#<Nokogiri::XML::Attr:0x80b81534 name="type" value="hidden">, #<Nokogiri::XML::Attr:0x80b81520 name="name" value="field">, #<Nokogiri::XML::Attr:0x80b8150c name="value" value="repository_description">]>, #<Nokogiri::XML::Element:0x80b815c0 name="input" attributes=[#<Nokogiri::XML::Attr:0x80b80d28 name="type" value="text">, #<Nokogiri::XML::Attr:0x80b80d14 name="class" value="textfield">, #<Nokogiri::XML::Attr:0x80b80d00 name="name" value="value">, #<Nokogiri::XML::Attr:0x80b80cec name="value" value="Extracts machine-readable metadata and content from Web pages">]>, #<Nokogiri::XML::Element:0x80b80db4 name="div" attributes=[#<Nokogiri::XML::Attr:0x80b8033c name="class" value="form-actions">] children=[#<Nokogiri::XML::Text:0x80b81ebc "\n ">, #<Nokogiri::XML::Element:0x80b83b7c name="button" attributes=[#<Nokogiri::XML::Attr:0x80b872f4 name="class" value="minibutton">] children=[#<Nokogiri::XML::Element:0x80b8d280 name="span" children=[#<Nokogiri::XML::Text:0x80b90610 "Save">]>]>, #<Nokogiri::XML::Text:0x80b93978 " ">, #<Nokogiri::XML::Element:0x80b940d0 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b96498 name="href" value="#">, #<Nokogiri::XML::Attr:0x80b9654c name="class" value="cancel">] children=[#<Nokogiri::XML::Text:0x80baa2e0 "Cancel">]>, #<Nokogiri::XML::Text:0x80baf470 "\n ">]>, #<Nokogiri::XML::Text:0x80bb34e4 "\n ">]>, #<Nokogiri::XML::Text:0x80bb78b4 "\n ">]>, #<Nokogiri::XML::Text:0x80bbc490 "\n\n \n ">, #<Nokogiri::XML::Element:0x80bbccec name="div" attributes=[#<Nokogiri::XML::Attr:0x80bc0518 name="class" value="repository-homepage">, #<Nokogiri::XML::Attr:0x80bc0590 name="id" value="repository_homepage">, #<Nokogiri::XML::Attr:0x80bc06a8 name="rel" value="repository_homepage_edit">] children=[#<Nokogiri::XML::Text:0x80be3590 "\n ">, #<Nokogiri::XML::Element:0x80be39f0 name="p" children=[#<Nokogiri::XML::Element:0x80bf90d4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c17f98 name="href" value="http://coder.io/">, #<Nokogiri::XML::Attr:0x80c1b634 name="rel" value="nofollow">] children=[#<Nokogiri::XML::Text:0x80c6c7c8 "http://coder.io/">]>]>, #<Nokogiri::XML::Text:0x80c71ad4 "\n ">]>, #<Nokogiri::XML::Text:0x80c74ea0 "\n ">, #<Nokogiri::XML::Element:0x80c75be8 name="div" attributes=[#<Nokogiri::XML::Attr:0x80c78cbc name="id" value="repository_homepage_edit">, #<Nokogiri::XML::Attr:0x80c78ff0 name="style" value="display:none;">, #<Nokogiri::XML::Attr:0x80c79018 name="class" value="inline-edit">] children=[#<Nokogiri::XML::Text:0x80c85a20 "\n ">, #<Nokogiri::XML::Element:0x80c85e6c name="form" attributes=[#<Nokogiri::XML::Attr:0x80c88360 name="action" value="/peterc/pismo/edit/update">, #<Nokogiri::XML::Attr:0x80c8884c name="method" value="post">] children=[#<Nokogiri::XML::Element:0x80c9a218 name="div" attributes=[#<Nokogiri::XML::Attr:0x80ca02e4 name="style" value="margin:0;padding:0">] children=[#<Nokogiri::XML::Element:0x80ccf850 name="input" attributes=[#<Nokogiri::XML::Attr:0x80cd9440 name="name" value="authenticity_token">, #<Nokogiri::XML::Attr:0x80cdb560 name="type" value="hidden">, #<Nokogiri::XML::Attr:0x80cdbe70 name="value" value="652cd7f316708fc9c13d4dc8c2d3189ded826f23">]>]>, #<Nokogiri::XML::Text:0x80cff9c4 "\n ">, #<Nokogiri::XML::Element:0x80cff910 name="input" attributes=[#<Nokogiri::XML::Attr:0x80cfef10 name="type" value="hidden">, #<Nokogiri::XML::Attr:0x80cfeeac name="name" value="field">, #<Nokogiri::XML::Attr:0x80cfee84 name="value" value="repository_homepage">]>, #<Nokogiri::XML::Element:0x80cff5dc name="input" attributes=[#<Nokogiri::XML::Attr:0x80cfc24c name="type" value="text">, #<Nokogiri::XML::Attr:0x80cfc224 name="class" value="textfield">, #<Nokogiri::XML::Attr:0x80cfc1fc name="name" value="value">, #<Nokogiri::XML::Attr:0x80cfc148 name="value" value="http://coder.io/">]>, #<Nokogiri::XML::Element:0x80cfc3f0 name="div" attributes=[#<Nokogiri::XML::Attr:0x80cfa398 name="class" value="form-actions">] children=[#<Nokogiri::XML::Text:0x80cf9bc8 "\n ">, #<Nokogiri::XML::Element:0x80cf9b50 name="button" attributes=[#<Nokogiri::XML::Attr:0x80cf97b8 name="class" value="minibutton">] children=[#<Nokogiri::XML::Element:0x80cf7b34 name="span" children=[#<Nokogiri::XML::Text:0x80cf68b0 "Save">]>]>, #<Nokogiri::XML::Text:0x80cf56b8 " ">, #<Nokogiri::XML::Element:0x80cf544c name="a" attributes=[#<Nokogiri::XML::Attr:0x80cf4ac4 name="href" value="#">, #<Nokogiri::XML::Attr:0x80cf4ab0 name="class" value="cancel">] children=[#<Nokogiri::XML::Text:0x80cf0f00 "Cancel">]>, #<Nokogiri::XML::Text:0x80cf071c "\n ">]>, #<Nokogiri::XML::Text:0x80cf0064 "\n ">]>, #<Nokogiri::XML::Text:0x80cef8bc "\n ">]>, #<Nokogiri::XML::Text:0x80cef5ec "\n\n ">, #<Nokogiri::XML::Element:0x80cef574 name="div" attributes=[#<Nokogiri::XML::Attr:0x80cef3bc name="class" value="rule ">]>, #<Nokogiri::XML::Text:0x80cef470 "\n\n ">, #<Nokogiri::XML::Element:0x80cedb0c name="div" attributes=[#<Nokogiri::XML::Attr:0x80ced878 name="id" value="url_box">, #<Nokogiri::XML::Attr:0x80ced864 name="class" value="url-box">] children=[#<Nokogiri::XML::Text:0x80cebcd0 "\n ">, #<Nokogiri::XML::Element:0x80cebb2c name="ul" attributes=[#<Nokogiri::XML::Attr:0x80ceb08c name="class" value="clone-urls">] children=[#<Nokogiri::XML::Element:0x80ce9660 name="li" attributes=[#<Nokogiri::XML::Attr:0x80ce9534 name="id" value="http_clone_url">] children=[#<Nokogiri::XML::Element:0x80ce8404 name="a" attributes=[#<Nokogiri::XML::Attr:0x80ce8198 name="href" value="http://github.com/peterc/pismo.git">, #<Nokogiri::XML::Attr:0x80ce8184 name="data-permissions" value="Read-Only">] children=[#<Nokogiri::XML::Text:0x80ce7374 "HTTP">]>]>, #<Nokogiri::XML::Text:0x80ce6be0 "\n ">, #<Nokogiri::XML::Element:0x80ce68fc name="li" attributes=[#<Nokogiri::XML::Attr:0x80ce60dc name="id" value="public_clone_url">] children=[#<Nokogiri::XML::Element:0x80ce568c name="a" attributes=[#<Nokogiri::XML::Attr:0x80ce554c name="href" value="git://github.com/peterc/pismo.git">, #<Nokogiri::XML::Attr:0x80ce5538 name="data-permissions" value="Read-Only">] children=[#<Nokogiri::XML::Text:0x80ce49d0 "Git Read-Only">]>]>, #<Nokogiri::XML::Text:0x80ce446c "\n \n ">]>, #<Nokogiri::XML::Element:0x80ce41c4 name="input" attributes=[#<Nokogiri::XML::Attr:0x80ce3f80 name="type" value="text">, #<Nokogiri::XML::Attr:0x80ce3f6c name="spellcheck" value="false">, #<Nokogiri::XML::Attr:0x80ce3f58 name="id" value="url_field">, #<Nokogiri::XML::Attr:0x80ce3f44 name="class" value="url-field">]>, #<Nokogiri::XML::Element:0x80ce414c name="span" attributes=[#<Nokogiri::XML::Attr:0x80ce2db0 name="style" value="display:none">, #<Nokogiri::XML::Attr:0x80ce2d9c name="id" value="url_box_clippy">]>, #<Nokogiri::XML::Text:0x80ce2e64 "\n ">, #<Nokogiri::XML::Element:0x80ce2284 name="span" attributes=[#<Nokogiri::XML::Attr:0x80ce0dbc name="id" value="clippy_tooltip_url_box_clippy">, #<Nokogiri::XML::Attr:0x80ce0d1c name="class" value="clippy-tooltip tooltipped">, #<Nokogiri::XML::Attr:0x80ce0c04 name="title" value="copy to clipboard">] children=[#<Nokogiri::XML::Text:0x80cde058 "\n ">, #<Nokogiri::XML::Element:0x80cdd888 name="object" attributes=[#<Nokogiri::XML::Attr:0x80cdd5cc name="classid" value="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">, #<Nokogiri::XML::Attr:0x80cdd5a4 name="width" value="14">, #<Nokogiri::XML::Attr:0x80cdd518 name="height" value="14">, #<Nokogiri::XML::Attr:0x80cdd504 name="class" value="clippy">, #<Nokogiri::XML::Attr:0x80cdd450 name="id" value="clippy">] children=[#<Nokogiri::XML::Text:0x80cd8e28 "\n ">, #<Nokogiri::XML::Element:0x80cd8bf8 name="param" attributes=[#<Nokogiri::XML::Attr:0x80cd84dc name="name" value="movie">, #<Nokogiri::XML::Attr:0x80cd84b4 name="value" value="http://assets1.github.com/flash/clippy.swf?v5">]>, #<Nokogiri::XML::Element:0x80cd88c4 name="param" attributes=[#<Nokogiri::XML::Attr:0x80cd53b8 name="name" value="allowScriptAccess">, #<Nokogiri::XML::Attr:0x80cd5340 name="value" value="always">]>, #<Nokogiri::XML::Element:0x80cd5a34 name="param" attributes=[#<Nokogiri::XML::Attr:0x80cd2adc name="name" value="quality">, #<Nokogiri::XML::Attr:0x80cd294c name="value" value="high">]>, #<Nokogiri::XML::Element:0x80cd2d70 name="param" attributes=[#<Nokogiri::XML::Attr:0x80cd0304 name="name" value="scale">, #<Nokogiri::XML::Attr:0x80ccfe54 name="value" value="noscale">]>, #<Nokogiri::XML::Element:0x80cd05ac name="param" attributes=[#<Nokogiri::XML::Attr:0x80ccdfc8 name="name" value="FlashVars">, #<Nokogiri::XML::Attr:0x80ccdf3c name="value" value="id=url_box_clippy&copied=©to=">]>, #<Nokogiri::XML::Element:0x80cce068 name="param" attributes=[#<Nokogiri::XML::Attr:0x80ccaaa8 name="name" value="bgcolor">, #<Nokogiri::XML::Attr:0x80ccaa94 name="value" value="#FFFFFF">]>, #<Nokogiri::XML::Element:0x80ccad78 name="param" attributes=[#<Nokogiri::XML::Attr:0x80cc8528 name="name" value="wmode">, #<Nokogiri::XML::Attr:0x80cc8460 name="value" value="opaque">]>, #<Nokogiri::XML::Element:0x80cc8a8c name="embed" attributes=[#<Nokogiri::XML::Attr:0x80cc5a44 name="src" value="http://assets1.github.com/flash/clippy.swf?v5">, #<Nokogiri::XML::Attr:0x80cc5968 name="width" value="14">, #<Nokogiri::XML::Attr:0x80cc5954 name="height" value="14">, #<Nokogiri::XML::Attr:0x80cc5828 name="name" value="clippy">, #<Nokogiri::XML::Attr:0x80cc57ec name="quality" value="high">, #<Nokogiri::XML::Attr:0x80cc57c4 name="allowscriptaccess" value="always">, #<Nokogiri::XML::Attr:0x80cc5738 name="type" value="application/x-shockwave-flash">, #<Nokogiri::XML::Attr:0x80cc56fc name="pluginspage" value="http://www.macromedia.com/go/getflashplayer">, #<Nokogiri::XML::Attr:0x80cc56d4 name="flashvars" value="id=url_box_clippy&copied=©to=">, #<Nokogiri::XML::Attr:0x80cc56c0 name="bgcolor" value="#FFFFFF">, #<Nokogiri::XML::Attr:0x80cc5698 name="wmode" value="opaque">]>]>, #<Nokogiri::XML::Text:0x80cbd010 "\n ">]>, #<Nokogiri::XML::Text:0x80cbbddc "\n\n ">, #<Nokogiri::XML::Element:0x80cbbd8c name="p" attributes=[#<Nokogiri::XML::Attr:0x80cbb878 name="id" value="url_description">] children=[#<Nokogiri::XML::Text:0x80cb9910 "This URL has ">, #<Nokogiri::XML::Element:0x80cb9870 name="strong" children=[#<Nokogiri::XML::Text:0x80cb8268 "Read+Write">]>, #<Nokogiri::XML::Text:0x80cb7660 " access">]>, #<Nokogiri::XML::Text:0x80cb6ff8 "\n ">]>, #<Nokogiri::XML::Text:0x80cb6904 "\n ">]>, #<Nokogiri::XML::Text:0x80cb65d0 "\n\n\n \n\n ">]>, #<Nokogiri::XML::Comment:0x80cb6274 " /.pagehead ">, #<Nokogiri::XML::Text:0x80cb5ea0 "\n\n \n\n\n\n\n\n\n\n\n\n\n\n">, #<Nokogiri::XML::Element:0x80cb5770 name="script" attributes=[#<Nokogiri::XML::Attr:0x80cb42d0 name="type" value="text/javascript">] children=[#<Nokogiri::XML::CDATA:0x80cb26c4 "\n GitHub.currentCommitRef = \"master\"\n GitHub.currentRepoOwner = \"peterc\"\n GitHub.currentRepo = \"pismo\"\n GitHub.downloadRepo = '/peterc/pismo/archives/master'\n\n \n\n \n">]>, #<Nokogiri::XML::Element:0x80cb1a80 name="div" attributes=[#<Nokogiri::XML::Attr:0x80cb13b4 name="id" value="commit">] children=[#<Nokogiri::XML::Text:0x80caf640 "\n ">, #<Nokogiri::XML::Element:0x80caf5f0 name="div" attributes=[#<Nokogiri::XML::Attr:0x80caf050 name="class" value="group">] children=[#<Nokogiri::XML::Text:0x80cadf98 "\n \n ">, #<Nokogiri::XML::Element:0x80cadde0 name="div" attributes=[#<Nokogiri::XML::Attr:0x80cabedc name="class" value="envelope commit">] children=[#<Nokogiri::XML::Text:0x80ca9b8c "\n ">, #<Nokogiri::XML::Element:0x80ca9ad8 name="div" attributes=[#<Nokogiri::XML::Attr:0x80ca90c4 name="class" value="human">] children=[#<Nokogiri::XML::Text:0x80ca760c "\n \n ">, #<Nokogiri::XML::Element:0x80ca7314 name="div" attributes=[#<Nokogiri::XML::Attr:0x80ca6720 name="class" value="message">] children=[#<Nokogiri::XML::Element:0x80ca5410 name="pre" children=[#<Nokogiri::XML::Element:0x80ca4790 name="a" attributes=[#<Nokogiri::XML::Attr:0x80ca4678 name="href" value="/peterc/pismo/commit/86b5cedb014a8238a3b12694fd6d4f519cdea989">] children=[#<Nokogiri::XML::Text:0x80ca2a58 "Minor doc tweaks">]>, #<Nokogiri::XML::Text:0x80ca23a0 " ">]>]>, #<Nokogiri::XML::Text:0x80ca1d88 "\n \n\n ">, #<Nokogiri::XML::Element:0x80ca1c98 name="div" attributes=[#<Nokogiri::XML::Attr:0x80ca1784 name="class" value="actor">] children=[#<Nokogiri::XML::Text:0x80ca0884 "\n ">, #<Nokogiri::XML::Element:0x80ca07e4 name="div" attributes=[#<Nokogiri::XML::Attr:0x80ca0398 name="class" value="gravatar">] children=[#<Nokogiri::XML::Text:0x80c9f6f0 "\n \n ">, #<Nokogiri::XML::Element:0x80c9f628 name="img" attributes=[#<Nokogiri::XML::Attr:0x80c9eed0 name="src" value="http://www.gravatar.com/avatar/6268c7528d855f1cef5696a00d159909?s=140&d=http%3A%2F%2Fgithub.com%2Fimages%2Fgravatars%2Fgravatar-140.png">, #<Nokogiri::XML::Attr:0x80c9eea8 name="alt">, #<Nokogiri::XML::Attr:0x80c9ed7c name="width" value="30">, #<Nokogiri::XML::Attr:0x80c9ec64 name="height" value="30">]>]>, #<Nokogiri::XML::Text:0x80c9c7fc "\n ">, #<Nokogiri::XML::Element:0x80c9c798 name="div" attributes=[#<Nokogiri::XML::Attr:0x80c9c3c4 name="class" value="name">] children=[#<Nokogiri::XML::Element:0x80c9afc4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c9a858 name="href" value="/peterc">] children=[#<Nokogiri::XML::Text:0x80c990ac "peterc">]>, #<Nokogiri::XML::Text:0x80c98490 " ">, #<Nokogiri::XML::Element:0x80c983f0 name="span" children=[#<Nokogiri::XML::Text:0x80c97108 "(author)">]>]>, #<Nokogiri::XML::Text:0x80c96dac "\n ">, #<Nokogiri::XML::Element:0x80c96d5c name="div" attributes=[#<Nokogiri::XML::Attr:0x80c96a3c name="class" value="date">] children=[#<Nokogiri::XML::Text:0x80c9635c "\n ">, #<Nokogiri::XML::Element:0x80c962f8 name="abbr" attributes=[#<Nokogiri::XML::Attr:0x80c95fec name="class" value="relatize">, #<Nokogiri::XML::Attr:0x80c95fd8 name="title" value="2010-06-25 20:38:34">] children=[#<Nokogiri::XML::Text:0x80c951f0 "Fri Jun 25 20:38:34 -0700 2010">]>, #<Nokogiri::XML::Text:0x80c94f48 "\n ">]>, #<Nokogiri::XML::Text:0x80c94b24 "\n ">]>, #<Nokogiri::XML::Text:0x80c947b4 "\n\n \n\n ">]>, #<Nokogiri::XML::Text:0x80c944a8 "\n ">, #<Nokogiri::XML::Element:0x80c943b8 name="div" attributes=[#<Nokogiri::XML::Attr:0x80c93fe4 name="class" value="machine">] children=[#<Nokogiri::XML::Text:0x80c9347c "\n ">, #<Nokogiri::XML::Element:0x80c9329c name="span" children=[#<Nokogiri::XML::Text:0x80c92bbc "c">]>, #<Nokogiri::XML::Text:0x80c92734 "ommit ">, #<Nokogiri::XML::Element:0x80c92644 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c921d0 name="href" value="/peterc/pismo/commit/86b5cedb014a8238a3b12694fd6d4f519cdea989">, #<Nokogiri::XML::Attr:0x80c921a8 name="hotkey" value="c">] children=[#<Nokogiri::XML::Text:0x80c90ab0 "86b5cedb014a8238a3b1">]>, #<Nokogiri::XML::Element:0x80c9081c name="br">, #<Nokogiri::XML::Element:0x80c907b8 name="span" children=[#<Nokogiri::XML::Text:0x80c8fb60 "t">]>, #<Nokogiri::XML::Text:0x80c8ee90 "ree ">, #<Nokogiri::XML::Element:0x80c8edf0 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c8e364 name="href" value="/peterc/pismo/tree/86b5cedb014a8238a3b12694fd6d4f519cdea989/lib/pismo">, #<Nokogiri::XML::Attr:0x80c8e350 name="hotkey" value="t">] children=[#<Nokogiri::XML::Text:0x80c8c5dc "6b3b7715f947c70d2628">]>, #<Nokogiri::XML::Element:0x80c8c35c name="br">, #<Nokogiri::XML::Element:0x80c8c1f4 name="span" children=[#<Nokogiri::XML::Text:0x80c8ba4c "p">]>, #<Nokogiri::XML::Text:0x80c8b704 "arent \n \n ">, #<Nokogiri::XML::Element:0x80c8b664 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c8b2a4 name="href" value="/peterc/pismo/tree/1bc860968d3156563c2683baaec56d7387fcc4e7/lib/pismo">, #<Nokogiri::XML::Attr:0x80c8b27c name="hotkey" value="p">] children=[#<Nokogiri::XML::Text:0x80c893f0 "1bc860968d3156563c26">]>, #<Nokogiri::XML::Text:0x80c88f68 "\n \n\n ">]>, #<Nokogiri::XML::Text:0x80c88860 "\n ">]>, #<Nokogiri::XML::Text:0x80c87b54 "\n\n ">]>, #<Nokogiri::XML::Text:0x80c86dd0 "\n ">]>, #<Nokogiri::XML::Text:0x80c86c18 "\n\n\n\n\n \n ">, #<Nokogiri::XML::Element:0x80c86bb4 name="div" attributes=[#<Nokogiri::XML::Attr:0x80c867a4 name="id" value="path">] children=[#<Nokogiri::XML::Text:0x80c85c3c "\n ">, #<Nokogiri::XML::Element:0x80c85bb0 name="b" children=[#<Nokogiri::XML::Element:0x80c854a8 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c850fc name="href" value="/peterc/pismo/tree/master">] children=[#<Nokogiri::XML::Text:0x80c8424c "pismo">]>]>, #<Nokogiri::XML::Text:0x80c8375c " / \n ">]>, #<Nokogiri::XML::Text:0x80c82bf4 "\n\n \n \n ">, #<Nokogiri::XML::Element:0x80c82b68 name="script" attributes=[#<Nokogiri::XML::Attr:0x80c827f8 name="type" value="text/javascript">] children=[#<Nokogiri::XML::CDATA:0x80c81e20 "\n GitHub.currentTreeSHA = \"86b5cedb014a8238a3b12694fd6d4f519cdea989\";\n GitHub.commitSHA = \"86b5cedb014a8238a3b12694fd6d4f519cdea989\";\n GitHub.currentPath = \"\";\n ">]>, #<Nokogiri::XML::Element:0x80c81bb4 name="div" attributes=[#<Nokogiri::XML::Attr:0x80c819d4 name="id" value="browser">] children=[#<Nokogiri::XML::Text:0x80c81038 "\n ">, #<Nokogiri::XML::Element:0x80c80e94 name="table" attributes=[#<Nokogiri::XML::Attr:0x80c80b38 name="cellpadding" value="0">, #<Nokogiri::XML::Attr:0x80c80b10 name="cellspacing" value="0">] children=[#<Nokogiri::XML::Element:0x80c7f558 name="tr" children=[#<Nokogiri::XML::Element:0x80c7e5b8 name="th">, #<Nokogiri::XML::Text:0x80c7e428 "\n ">, #<Nokogiri::XML::Element:0x80c7d794 name="th" children=[#<Nokogiri::XML::Text:0x80c7c1dc "name">]>, #<Nokogiri::XML::Text:0x80c7b7dc "\n ">, #<Nokogiri::XML::Element:0x80c7b64c name="th" children=[#<Nokogiri::XML::Text:0x80c79fe0 "age">]>, #<Nokogiri::XML::Text:0x80c797c0 "\n ">, #<Nokogiri::XML::Element:0x80c79720 name="th" children=[#<Nokogiri::XML::Text:0x80c784c4 "\n ">, #<Nokogiri::XML::Element:0x80c783fc name="div" attributes=[#<Nokogiri::XML::Attr:0x80c77bb4 name="class" value="history">] children=[#<Nokogiri::XML::Text:0x80c76228 "\n ">, #<Nokogiri::XML::Element:0x80c75ddc name="a" attributes=[#<Nokogiri::XML::Attr:0x80c75724 name="href" value="/peterc/pismo/commits/master/">] children=[#<Nokogiri::XML::Text:0x80c73b7c "history">]>, #<Nokogiri::XML::Text:0x80c73384 "\n ">]>, #<Nokogiri::XML::Text:0x80c7281c "\n message\n ">]>, #<Nokogiri::XML::Text:0x80c71f0c "\n ">]>, #<Nokogiri::XML::Element:0x80c714e4 name="tr" attributes=[#<Nokogiri::XML::Attr:0x80c70ddc name="class" value="alt">] children=[#<Nokogiri::XML::Element:0x80c6f48c name="td" attributes=[#<Nokogiri::XML::Attr:0x80c6eba4 name="class" value="icon">] children=[#<Nokogiri::XML::Text:0x80c6d0d8 " ">, #<Nokogiri::XML::Element:0x80c6cf84 name="img" attributes=[#<Nokogiri::XML::Attr:0x80c6c520 name="alt" value="file">, #<Nokogiri::XML::Attr:0x80c6c50c name="src" value="http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779">]>]>, #<Nokogiri::XML::Text:0x80c69b40 "\n ">, #<Nokogiri::XML::Element:0x80c699d8 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c69014 name="class" value="content">] children=[#<Nokogiri::XML::Text:0x80c673a4 " ">, #<Nokogiri::XML::Element:0x80c67264 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c668b4 name="href" value="/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/.document">, #<Nokogiri::XML::Attr:0x80c66828 name="id" value="ecf3673194b8b6963488dabc93d5f16fea93c5e9">] children=[#<Nokogiri::XML::Text:0x80c6395c ".document">]>]>, #<Nokogiri::XML::Text:0x80c629a8 "\n \n ">, #<Nokogiri::XML::Element:0x80c6282c name="td" attributes=[#<Nokogiri::XML::Attr:0x80c61fe4 name="class" value="age">] children=[#<Nokogiri::XML::Text:0x80c61030 " ">, #<Nokogiri::XML::Element:0x80c60fcc name="span" attributes=[#<Nokogiri::XML::Attr:0x80c60e28 name="class" value="relatize">] children=[#<Nokogiri::XML::Text:0x80c5f9d8 "Sun Jan 10 15:57:40 -0800 2010">]>, #<Nokogiri::XML::Text:0x80c5f848 " ">]>, #<Nokogiri::XML::Text:0x80c5f5b4 "\n ">, #<Nokogiri::XML::Element:0x80c5f564 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c5f140 name="class" value="message">] children=[#<Nokogiri::XML::Text:0x80c5dd7c " ">, #<Nokogiri::XML::Element:0x80c5dafc name="a" attributes=[#<Nokogiri::XML::Attr:0x80c5d444 name="href" value="/peterc/pismo/commit/fd655869f0169747f512ea4e39dfd913e2c7cf0b">, #<Nokogiri::XML::Attr:0x80c5d3f4 name="class" value="message">, #<Nokogiri::XML::Attr:0x80c5d2c8 name="title" value="Initial commit to csteamer.">] children=[#<Nokogiri::XML::Text:0x80c5a0a0 "Initial commit to csteamer.">]>, #<Nokogiri::XML::Text:0x80c5963c " [">, #<Nokogiri::XML::Element:0x80c595d8 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c58f34 name="href" value="/peterc">] children=[#<Nokogiri::XML::Text:0x80c5715c "peterc">]>, #<Nokogiri::XML::Text:0x80c56a2c "] ">]>, #<Nokogiri::XML::Text:0x80c56464 "\n ">]>, #<Nokogiri::XML::Element:0x80c55f78 name="tr" attributes=[#<Nokogiri::XML::Attr:0x80c55d84 name="class">] children=[#<Nokogiri::XML::Element:0x80c55474 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c55398 name="class" value="icon">] children=[#<Nokogiri::XML::Text:0x80c54b50 " ">, #<Nokogiri::XML::Element:0x80c5495c name="img" attributes=[#<Nokogiri::XML::Attr:0x80c546a0 name="alt" value="file">, #<Nokogiri::XML::Attr:0x80c5468c name="src" value="http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779">]>]>, #<Nokogiri::XML::Text:0x80c53868 "\n ">, #<Nokogiri::XML::Element:0x80c537f0 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c533cc name="class" value="content">] children=[#<Nokogiri::XML::Text:0x80c529cc " ">, #<Nokogiri::XML::Element:0x80c52828 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c52620 name="href" value="/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/.gitignore">, #<Nokogiri::XML::Attr:0x80c525f8 name="id" value="c1e0dafa8d510992f3b6f4633ed790621e6e53c7">] children=[#<Nokogiri::XML::Text:0x80c517fc ".gitignore">]>]>, #<Nokogiri::XML::Text:0x80c51220 "\n \n ">, #<Nokogiri::XML::Element:0x80c511a8 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c50f3c name="class" value="age">] children=[#<Nokogiri::XML::Text:0x80c50578 " ">, #<Nokogiri::XML::Element:0x80c50500 name="span" attributes=[#<Nokogiri::XML::Attr:0x80c5017c name="class" value="relatize">] children=[#<Nokogiri::XML::Text:0x80c4f77c "Sun Jan 10 15:57:40 -0800 2010">]>, #<Nokogiri::XML::Text:0x80c4f358 " ">]>, #<Nokogiri::XML::Text:0x80c4f0ec "\n ">, #<Nokogiri::XML::Element:0x80c4f060 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c4ed04 name="class" value="message">] children=[#<Nokogiri::XML::Text:0x80c4c9f0 " ">, #<Nokogiri::XML::Element:0x80c4c7e8 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c4bd20 name="href" value="/peterc/pismo/commit/fd655869f0169747f512ea4e39dfd913e2c7cf0b">, #<Nokogiri::XML::Attr:0x80c4bc6c name="class" value="message">, #<Nokogiri::XML::Attr:0x80c4bc08 name="title" value="Initial commit to csteamer.">] children=[#<Nokogiri::XML::Text:0x80c45dbc "Initial commit to csteamer.">]>, #<Nokogiri::XML::Text:0x80c4545c " [">, #<Nokogiri::XML::Element:0x80c45380 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c43ff8 name="href" value="/peterc">] children=[#<Nokogiri::XML::Text:0x80c42518 "peterc">]>, #<Nokogiri::XML::Text:0x80c42298 "] ">]>, #<Nokogiri::XML::Text:0x80c42108 "\n ">]>, #<Nokogiri::XML::Element:0x80c41d5c name="tr" attributes=[#<Nokogiri::XML::Attr:0x80c41c80 name="class" value="alt">] children=[#<Nokogiri::XML::Element:0x80c41564 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c41460 name="class" value="icon">] children=[#<Nokogiri::XML::Text:0x80c40d44 " ">, #<Nokogiri::XML::Element:0x80c40cf4 name="img" attributes=[#<Nokogiri::XML::Attr:0x80c40a38 name="alt" value="file">, #<Nokogiri::XML::Attr:0x80c40a24 name="src" value="http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779">]>]>, #<Nokogiri::XML::Text:0x80c3dbf8 "\n ">, #<Nokogiri::XML::Element:0x80c3c564 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c3a3b8 name="class" value="content">] children=[#<Nokogiri::XML::Text:0x80c39cc4 " ">, #<Nokogiri::XML::Element:0x80c39c74 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c39990 name="href" value="/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/LICENSE">, #<Nokogiri::XML::Attr:0x80c3997c name="id" value="d9211b0795da65e1ee964e307f431250c81ed931">] children=[#<Nokogiri::XML::Text:0x80c38f40 "LICENSE">]>]>, #<Nokogiri::XML::Text:0x80c38b58 "\n \n ">, #<Nokogiri::XML::Element:0x80c38af4 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c38824 name="class" value="age">] children=[#<Nokogiri::XML::Text:0x80c37fb4 " ">, #<Nokogiri::XML::Element:0x80c37f50 name="span" attributes=[#<Nokogiri::XML::Attr:0x80c37c1c name="class" value="relatize">] children=[#<Nokogiri::XML::Text:0x80c374b0 "Fri Jun 18 20:23:17 -0700 2010">]>, #<Nokogiri::XML::Text:0x80c3730c " ">]>, #<Nokogiri::XML::Text:0x80c3708c "\n ">, #<Nokogiri::XML::Element:0x80c3703c name="td" attributes=[#<Nokogiri::XML::Attr:0x80c36da8 name="class" value="message">] children=[#<Nokogiri::XML::Text:0x80c36588 " ">, #<Nokogiri::XML::Element:0x80c36510 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c36344 name="href" value="/peterc/pismo/commit/925d277cd0779a9e158c4a8881674047801c4101">, #<Nokogiri::XML::Attr:0x80c36330 name="class" value="message">, #<Nokogiri::XML::Attr:0x80c3631c name="title" value="Import of new 'Reader' algorithm to replace Ruby-Readability and test updates">] children=[#<Nokogiri::XML::Text:0x80c35368 "Import of new 'Reader' algorithm to replace Rub...">]>, #<Nokogiri::XML::Text:0x80c34f30 " [">, #<Nokogiri::XML::Element:0x80c34ea4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c3492c name="href" value="/peterc">] children=[#<Nokogiri::XML::Text:0x80c33a40 "peterc">]>, #<Nokogiri::XML::Text:0x80c335cc "] ">]>, #<Nokogiri::XML::Text:0x80c32974 "\n ">]>, #<Nokogiri::XML::Element:0x80c32244 name="tr" attributes=[#<Nokogiri::XML::Attr:0x80c32028 name="class">] children=[#<Nokogiri::XML::Element:0x80c31254 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c30228 name="class" value="icon">] children=[#<Nokogiri::XML::Text:0x80c2f29c " ">, #<Nokogiri::XML::Element:0x80c2ec70 name="img" attributes=[#<Nokogiri::XML::Attr:0x80c2e7ac name="alt" value="file">, #<Nokogiri::XML::Attr:0x80c2e784 name="src" value="http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779">]>]>, #<Nokogiri::XML::Text:0x80c2d474 "\n ">, #<Nokogiri::XML::Element:0x80c2d3d4 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c2cdf8 name="class" value="content">] children=[#<Nokogiri::XML::Text:0x80c2bdf4 " ">, #<Nokogiri::XML::Element:0x80c2bda4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c2b700 name="href" value="/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/NOTICE">, #<Nokogiri::XML::Attr:0x80c2b6ec name="id" value="98db33464cc5894c89a6a1a5e59ade38dc5192fe">] children=[#<Nokogiri::XML::Text:0x80c29fa4 "NOTICE">]>]>, #<Nokogiri::XML::Text:0x80c29838 "\n \n ">, #<Nokogiri::XML::Element:0x80c297e8 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c2939c name="class" value="age">] children=[#<Nokogiri::XML::Text:0x80c27aec " ">, #<Nokogiri::XML::Element:0x80c27984 name="span" attributes=[#<Nokogiri::XML::Attr:0x80c26f5c name="class" value="relatize">] children=[#<Nokogiri::XML::Text:0x80c25f30 "Sat Jun 19 17:50:45 -0700 2010">]>, #<Nokogiri::XML::Text:0x80c258c8 " ">]>, #<Nokogiri::XML::Text:0x80c254f4 "\n ">, #<Nokogiri::XML::Element:0x80c251c0 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c24e00 name="class" value="message">] children=[#<Nokogiri::XML::Text:0x80c23dc0 " ">, #<Nokogiri::XML::Element:0x80c23d70 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c23a3c name="href" value="/peterc/pismo/commit/594bd5f38e956a5f9506098f57f7ad100534a4ed">, #<Nokogiri::XML::Attr:0x80c23a28 name="class" value="message">, #<Nokogiri::XML::Attr:0x80c23a14 name="title" value="Doc updates">] children=[#<Nokogiri::XML::Text:0x80c2038c "Doc updates">]>, #<Nokogiri::XML::Text:0x80c1fa68 " [">, #<Nokogiri::XML::Element:0x80c1f6e4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c1f2e8 name="href" value="/peterc">] children=[#<Nokogiri::XML::Text:0x80c1e244 "peterc">]>, #<Nokogiri::XML::Text:0x80c1d8d0 "] ">]>, #<Nokogiri::XML::Text:0x80c1d448 "\n ">]>, #<Nokogiri::XML::Element:0x80c1d18c name="tr" attributes=[#<Nokogiri::XML::Attr:0x80c1cfac name="class" value="alt">] children=[#<Nokogiri::XML::Element:0x80c1b5bc name="td" attributes=[#<Nokogiri::XML::Attr:0x80c1b2c4 name="class" value="icon">] children=[#<Nokogiri::XML::Text:0x80c1a964 " ">, #<Nokogiri::XML::Element:0x80c1a914 name="img" attributes=[#<Nokogiri::XML::Attr:0x80c1a590 name="alt" value="file">, #<Nokogiri::XML::Attr:0x80c1a568 name="src" value="http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779">]>]>, #<Nokogiri::XML::Text:0x80c19bf4 "\n ">, #<Nokogiri::XML::Element:0x80c19b90 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c198e8 name="class" value="content">] children=[#<Nokogiri::XML::Text:0x80c1917c " ">, #<Nokogiri::XML::Element:0x80c19118 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c18d58 name="href" value="/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/README.markdown">, #<Nokogiri::XML::Attr:0x80c18d44 name="id" value="c78d8f2c0e8a4e5d6ada2a9db544f741b9ac7467">] children=[#<Nokogiri::XML::Text:0x80c18204 "README.markdown">]>]>, #<Nokogiri::XML::Text:0x80c17e80 "\n \n ">, #<Nokogiri::XML::Element:0x80c17e30 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c17b9c name="class" value="age">] children=[#<Nokogiri::XML::Text:0x80c17480 " ">, #<Nokogiri::XML::Element:0x80c17430 name="span" attributes=[#<Nokogiri::XML::Attr:0x80c171b0 name="class" value="relatize">] children=[#<Nokogiri::XML::Text:0x80c16ad0 "Fri Jun 25 20:38:34 -0700 2010">]>, #<Nokogiri::XML::Text:0x80c167ec " ">]>, #<Nokogiri::XML::Text:0x80c1665c "\n ">, #<Nokogiri::XML::Element:0x80c165d0 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c16378 name="class" value="message">] children=[#<Nokogiri::XML::Text:0x80c15cac " ">, #<Nokogiri::XML::Element:0x80c15c0c name="a" attributes=[#<Nokogiri::XML::Attr:0x80c159a0 name="href" value="/peterc/pismo/commit/86b5cedb014a8238a3b12694fd6d4f519cdea989">, #<Nokogiri::XML::Attr:0x80c15978 name="class" value="message">, #<Nokogiri::XML::Attr:0x80c15964 name="title" value="Minor doc tweaks">] children=[#<Nokogiri::XML::Text:0x80c14c08 "Minor doc tweaks">]>, #<Nokogiri::XML::Text:0x80c14a14 " [">, #<Nokogiri::XML::Element:0x80c14974 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c14528 name="href" value="/peterc">] children=[#<Nokogiri::XML::Text:0x80c13c7c "peterc">]>, #<Nokogiri::XML::Text:0x80c1395c "] ">]>, #<Nokogiri::XML::Text:0x80c13754 "\n ">]>, #<Nokogiri::XML::Element:0x80c12ea8 name="tr" attributes=[#<Nokogiri::XML::Attr:0x80c12c00 name="class">] children=[#<Nokogiri::XML::Element:0x80c11c38 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c116fc name="class" value="icon">] children=[#<Nokogiri::XML::Text:0x80c0ff00 " ">, #<Nokogiri::XML::Element:0x80c0fd98 name="img" attributes=[#<Nokogiri::XML::Attr:0x80c0faf0 name="alt" value="file">, #<Nokogiri::XML::Attr:0x80c0fadc name="src" value="http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779">]>]>, #<Nokogiri::XML::Text:0x80c0e27c "\n ">, #<Nokogiri::XML::Element:0x80c0e22c name="td" attributes=[#<Nokogiri::XML::Attr:0x80c0dfd4 name="class" value="content">] children=[#<Nokogiri::XML::Text:0x80c0d8b8 " ">, #<Nokogiri::XML::Element:0x80c0d868 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c0d5fc name="href" value="/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/Rakefile">, #<Nokogiri::XML::Attr:0x80c0d5e8 name="id" value="0822c45bc24822baaa2572c1aa6deba262233685">] children=[#<Nokogiri::XML::Text:0x80c0c850 "Rakefile">]>]>, #<Nokogiri::XML::Text:0x80c0c0bc "\n \n ">, #<Nokogiri::XML::Element:0x80c0bea0 name="td" attributes=[#<Nokogiri::XML::Attr:0x80c0b270 name="class" value="age">] children=[#<Nokogiri::XML::Text:0x80c0a500 " ">, #<Nokogiri::XML::Element:0x80c0a4b0 name="span" attributes=[#<Nokogiri::XML::Attr:0x80c09c54 name="class" value="relatize">] children=[#<Nokogiri::XML::Text:0x80c08b38 "Fri Jun 18 20:31:30 -0700 2010">]>, #<Nokogiri::XML::Text:0x80c085e8 " ">]>, #<Nokogiri::XML::Text:0x80c07e7c "\n ">, #<Nokogiri::XML::Element:0x80c07e2c name="td" attributes=[#<Nokogiri::XML::Attr:0x80c0756c name="class" value="message">] children=[#<Nokogiri::XML::Text:0x80c05ff0 " ">, #<Nokogiri::XML::Element:0x80c05c6c name="a" attributes=[#<Nokogiri::XML::Attr:0x80c05a14 name="href" value="/peterc/pismo/commit/3275e62eda5ee2413786d330da66d2313281bef0">, #<Nokogiri::XML::Attr:0x80c05910 name="class" value="message">, #<Nokogiri::XML::Attr:0x80c058fc name="title" value="Support URLs that have HTTP in all-caps">] children=[#<Nokogiri::XML::Text:0x80c039bc "Support URLs that have HTTP in all-caps">]>, #<Nokogiri::XML::Text:0x80c037dc " [">, #<Nokogiri::XML::Element:0x80c0378c name="a" attributes=[#<Nokogiri::XML::Attr:0x80c0350c name="href" value="/peterc">] children=[#<Nokogiri::XML::Text:0x80c02288 "peterc">]>, #<Nokogiri::XML::Text:0x80bffee8 "] ">]>, #<Nokogiri::XML::Text:0x80bff7b8 "\n ">]>, #<Nokogiri::XML::Element:0x80bff1f0 name="tr" attributes=[#<Nokogiri::XML::Attr:0x80bff010 name="class" value="alt">] children=[#<Nokogiri::XML::Element:0x80bfe4e4 name="td" attributes=[#<Nokogiri::XML::Attr:0x80bfe3f4 name="class" value="icon">] children=[#<Nokogiri::XML::Text:0x80bfdcec " ">, #<Nokogiri::XML::Element:0x80bfdc88 name="img" attributes=[#<Nokogiri::XML::Attr:0x80bfda30 name="alt" value="file">, #<Nokogiri::XML::Attr:0x80bfda08 name="src" value="http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779">]>]>, #<Nokogiri::XML::Text:0x80bfcfa4 "\n ">, #<Nokogiri::XML::Element:0x80bfcf54 name="td" attributes=[#<Nokogiri::XML::Attr:0x80bfcdb0 name="class" value="content">] children=[#<Nokogiri::XML::Text:0x80bfc52c " ">, #<Nokogiri::XML::Element:0x80bfc4dc name="a" attributes=[#<Nokogiri::XML::Attr:0x80bfc374 name="href" value="/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/VERSION">, #<Nokogiri::XML::Attr:0x80bfc360 name="id" value="b6160487433ba524a39a93cde5a330f7e71d0d39">] children=[#<Nokogiri::XML::Text:0x80bfb9d8 "VERSION">]>]>, #<Nokogiri::XML::Text:0x80bfb528 "\n \n ">, #<Nokogiri::XML::Element:0x80bfb4d8 name="td" attributes=[#<Nokogiri::XML::Attr:0x80bfb2a8 name="class" value="age">] children=[#<Nokogiri::XML::Text:0x80bfa90c " ">, #<Nokogiri::XML::Element:0x80bfa7f4 name="span" attributes=[#<Nokogiri::XML::Attr:0x80bfa434 name="class" value="relatize">] children=[#<Nokogiri::XML::Text:0x80bf9b74 "Sat Jun 19 20:28:45 -0700 2010">]>, #<Nokogiri::XML::Text:0x80bf98b8 " ">]>, #<Nokogiri::XML::Text:0x80bf93e0 "\n ">, #<Nokogiri::XML::Element:0x80bf91d8 name="td" attributes=[#<Nokogiri::XML::Attr:0x80bf8ddc name="class" value="message">] children=[#<Nokogiri::XML::Text:0x80bf81ac " ">, #<Nokogiri::XML::Element:0x80bf8134 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bf7d24 name="href" value="/peterc/pismo/commit/e440ee4370ca238ab5d332f60387430c377e8ccf">, #<Nokogiri::XML::Attr:0x80bf7d10 name="class" value="message">, #<Nokogiri::XML::Attr:0x80bf7cfc name="title" value="Version bump to 0.6.2">] children=[#<Nokogiri::XML::Text:0x80bf6aa0 "Version bump to 0.6.2">]>, #<Nokogiri::XML::Text:0x80bf66f4 " [">, #<Nokogiri::XML::Element:0x80bf65c8 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bf61e0 name="href" value="/peterc">] children=[#<Nokogiri::XML::Text:0x80bf5740 "peterc">]>, #<Nokogiri::XML::Text:0x80bf54d4 "] ">]>, #<Nokogiri::XML::Text:0x80bf4f84 "\n ">]>, #<Nokogiri::XML::Element:0x80bf4ad4 name="tr" attributes=[#<Nokogiri::XML::Attr:0x80bf487c name="class">] children=[#<Nokogiri::XML::Element:0x80bf3c4c name="td" attributes=[#<Nokogiri::XML::Attr:0x80bf39f4 name="class" value="icon">] children=[#<Nokogiri::XML::Text:0x80bf2f04 " ">, #<Nokogiri::XML::Element:0x80bf2ea0 name="img" attributes=[#<Nokogiri::XML::Attr:0x80bf2b6c name="alt" value="directory">, #<Nokogiri::XML::Attr:0x80bf2b58 name="src" value="http://assets2.github.com/images/icons/dir.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779">]>]>, #<Nokogiri::XML::Text:0x80bf1ce4 "\n ">, #<Nokogiri::XML::Element:0x80bf1c6c name="td" attributes=[#<Nokogiri::XML::Attr:0x80bf17e4 name="class" value="content">] children=[#<Nokogiri::XML::Text:0x80bf0ca4 " ">, #<Nokogiri::XML::Element:0x80bf0c2c name="a" attributes=[#<Nokogiri::XML::Attr:0x80bf0894 name="href" value="/peterc/pismo/tree/86b5cedb014a8238a3b12694fd6d4f519cdea989/bin">, #<Nokogiri::XML::Attr:0x80bf07cc name="id" value="0e25fc5d9fa67a103bbcb195d32e41be71834019">] children=[#<Nokogiri::XML::Text:0x80bef8f4 "bin/">]>]>, #<Nokogiri::XML::Text:0x80bef598 "\n \n ">, #<Nokogiri::XML::Element:0x80bef340 name="td" attributes=[#<Nokogiri::XML::Attr:0x80bef14c name="class" value="age">] children=[#<Nokogiri::XML::Text:0x80bee544 " ">, #<Nokogiri::XML::Element:0x80bee4e0 name="span" attributes=[#<Nokogiri::XML::Attr:0x80bee300 name="class" value="relatize">] children=[#<Nokogiri::XML::Text:0x80bed7e8 "Sat Jun 19 19:49:24 -0700 2010">]>, #<Nokogiri::XML::Text:0x80bed4f0 " ">]>, #<Nokogiri::XML::Text:0x80bed1d0 "\n ">, #<Nokogiri::XML::Element:0x80bed180 name="td" attributes=[#<Nokogiri::XML::Attr:0x80becff0 name="class" value="message">] children=[#<Nokogiri::XML::Text:0x80bec8d4 " ">, #<Nokogiri::XML::Element:0x80bec85c name="a" attributes=[#<Nokogiri::XML::Attr:0x80bec578 name="href" value="/peterc/pismo/commit/096dc0b2dbd90d3a2f6830f3137f0b6c09986462">, #<Nokogiri::XML::Attr:0x80bec564 name="class" value="message">, #<Nokogiri::XML::Attr:0x80bec550 name="title" value="Stopped pismo CLI client catching exceptions">] children=[#<Nokogiri::XML::Text:0x80beb894 "Stopped pismo CLI client catching exceptions">]>, #<Nokogiri::XML::Text:0x80beb718 " [">, #<Nokogiri::XML::Element:0x80beb6c8 name="a" attributes=[#<Nokogiri::XML::Attr:0x80beb358 name="href" value="/peterc">] children=[#<Nokogiri::XML::Text:0x80beacf0 "peterc">]>, #<Nokogiri::XML::Text:0x80beab88 "] ">]>, #<Nokogiri::XML::Text:0x80bea908 "\n ">]>, #<Nokogiri::XML::Element:0x80bea688 name="tr" attributes=[#<Nokogiri::XML::Attr:0x80bea4bc name="class" value="alt">] children=[#<Nokogiri::XML::Element:0x80be99f4 name="td" attributes=[#<Nokogiri::XML::Attr:0x80be98c8 name="class" value="icon">] children=[#<Nokogiri::XML::Text:0x80be901c " ">, #<Nokogiri::XML::Element:0x80be8fa4 name="img" attributes=[#<Nokogiri::XML::Attr:0x80be8ce8 name="alt" value="directory">, #<Nokogiri::XML::Attr:0x80be8cd4 name="src" value="http://assets2.github.com/images/icons/dir.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779">]>]>, #<Nokogiri::XML::Text:0x80be8018 "\n ">, #<Nokogiri::XML::Element:0x80be7f50 name="td" attributes=[#<Nokogiri::XML::Attr:0x80be7bb8 name="class" value="content">] children=[#<Nokogiri::XML::Text:0x80be7398 " ">, #<Nokogiri::XML::Element:0x80be71a4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80be7000 name="href" value="/peterc/pismo/tree/86b5cedb014a8238a3b12694fd6d4f519cdea989/lib">, #<Nokogiri::XML::Attr:0x80be6fd8 name="id" value="12d7f79eb69caae0bd1636916a691d4c22414a57">] children=[#<Nokogiri::XML::Text:0x80be6290 "lib/">]>]>, #<Nokogiri::XML::Text:0x80be5dcc "\n \n ">, #<Nokogiri::XML::Element:0x80be5d68 name="td" attributes=[#<Nokogiri::XML::Attr:0x80be5aac name="class" value="age">] children=[#<Nokogiri::XML::Text:0x80be53e0 " ">, #<Nokogiri::XML::Element:0x80be5390 name="span" attributes=[#<Nokogiri::XML::Attr:0x80be5124 name="class" value="relatize">] children=[#<Nokogiri::XML::Text:0x80be4878 "Fri Jun 25 20:24:16 -0700 2010">]>, #<Nokogiri::XML::Text:0x80be44cc " ">]>, #<Nokogiri::XML::Text:0x80be41e8 "\n ">, #<Nokogiri::XML::Element:0x80be4198 name="td" attributes=[#<Nokogiri::XML::Attr:0x80be3ff4 name="class" value="message">] children=[#<Nokogiri::XML::Text:0x80be375c " ">, #<Nokogiri::XML::Element:0x80be3630 name="a" attributes=[#<Nokogiri::XML::Attr:0x80be339c name="href" value="/peterc/pismo/commit/1bc860968d3156563c2683baaec56d7387fcc4e7">, #<Nokogiri::XML::Attr:0x80be3388 name="class" value="message">, #<Nokogiri::XML::Attr:0x80be3360 name="title" value="Slightly saner author extraction rule ordering">] children=[#<Nokogiri::XML::Text:0x80be249c "Slightly saner author extraction rule ordering">]>, #<Nokogiri::XML::Text:0x80be21e0 " [">, #<Nokogiri::XML::Element:0x80be203c name="a" attributes=[#<Nokogiri::XML::Attr:0x80be1bb4 name="href" value="/peterc">] children=[#<Nokogiri::XML::Text:0x80be1164 "peterc">]>, #<Nokogiri::XML::Text:0x80be0e30 "] ">]>, #<Nokogiri::XML::Text:0x80be0ac0 "\n ">]>, #<Nokogiri::XML::Element:0x80be0818 name="tr" attributes=[#<Nokogiri::XML::Attr:0x80be05e8 name="class">] children=[#<Nokogiri::XML::Element:0x80bdfa6c name="td" attributes=[#<Nokogiri::XML::Attr:0x80bdf940 name="class" value="icon">] children=[#<Nokogiri::XML::Text:0x80bde93c " ">, #<Nokogiri::XML::Element:0x80bde8d8 name="img" attributes=[#<Nokogiri::XML::Attr:0x80bde57c name="alt" value="file">, #<Nokogiri::XML::Attr:0x80bde568 name="src" value="http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779">]>]>, #<Nokogiri::XML::Text:0x80bdd668 "\n ">, #<Nokogiri::XML::Element:0x80bdd5f0 name="td" attributes=[#<Nokogiri::XML::Attr:0x80bdd384 name="class" value="content">] children=[#<Nokogiri::XML::Text:0x80bdcb00 " ">, #<Nokogiri::XML::Element:0x80bdca60 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bdc72c name="href" value="/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/pismo.gemspec">, #<Nokogiri::XML::Attr:0x80bdc718 name="id" value="a5372a3694f763e12db70adeada2e8bafa106895">] children=[#<Nokogiri::XML::Text:0x80bdbc8c "pismo.gemspec">]>]>, #<Nokogiri::XML::Text:0x80bdb8cc "\n \n ">, #<Nokogiri::XML::Element:0x80bdb87c name="td" attributes=[#<Nokogiri::XML::Attr:0x80bdb4d0 name="class" value="age">] children=[#<Nokogiri::XML::Text:0x80bdacb0 " ">, #<Nokogiri::XML::Element:0x80bdac60 name="span" attributes=[#<Nokogiri::XML::Attr:0x80bdaa30 name="class" value="relatize">] children=[#<Nokogiri::XML::Text:0x80bda350 "Sat Jun 19 20:28:48 -0700 2010">]>, #<Nokogiri::XML::Text:0x80bda01c " ">]>, #<Nokogiri::XML::Text:0x80bd9e8c "\n ">, #<Nokogiri::XML::Element:0x80bd9d74 name="td" attributes=[#<Nokogiri::XML::Attr:0x80bd9bd0 name="class" value="message">] children=[#<Nokogiri::XML::Text:0x80bd9428 " ">, #<Nokogiri::XML::Element:0x80bd93b0 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bd9108 name="href" value="/peterc/pismo/commit/519b6b8d15542c3b4f05781f42ba62a5681a06fc">, #<Nokogiri::XML::Attr:0x80bd90f4 name="class" value="message">, #<Nokogiri::XML::Attr:0x80bd90e0 name="title" value="Regenerated gemspec for version 0.6.2">] children=[#<Nokogiri::XML::Text:0x80bd844c "Regenerated gemspec for version 0.6.2">]>, #<Nokogiri::XML::Text:0x80bd7dbc " [">, #<Nokogiri::XML::Element:0x80bd7d44 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bd79e8 name="href" value="/peterc">] children=[#<Nokogiri::XML::Text:0x80bd7038 "peterc">]>, #<Nokogiri::XML::Text:0x80bd6e1c "] ">]>, #<Nokogiri::XML::Text:0x80bd6bc4 "\n ">]>, #<Nokogiri::XML::Element:0x80bd68cc name="tr" attributes=[#<Nokogiri::XML::Attr:0x80bd67a0 name="class" value="alt">] children=[#<Nokogiri::XML::Element:0x80bd600c name="td" attributes=[#<Nokogiri::XML::Attr:0x80bd5e54 name="class" value="icon">] children=[#<Nokogiri::XML::Text:0x80bd5788 " ">, #<Nokogiri::XML::Element:0x80bd5738 name="img" attributes=[#<Nokogiri::XML::Attr:0x80bd54cc name="alt" value="directory">, #<Nokogiri::XML::Attr:0x80bd54a4 name="src" value="http://assets2.github.com/images/icons/dir.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779">]>]>, #<Nokogiri::XML::Text:0x80bd42ac "\n ">, #<Nokogiri::XML::Element:0x80bd4234 name="td" attributes=[#<Nokogiri::XML::Attr:0x80bd4004 name="class" value="content">] children=[#<Nokogiri::XML::Text:0x80bd376c " ">, #<Nokogiri::XML::Element:0x80bd371c name="a" attributes=[#<Nokogiri::XML::Attr:0x80bd3488 name="href" value="/peterc/pismo/tree/86b5cedb014a8238a3b12694fd6d4f519cdea989/test">, #<Nokogiri::XML::Attr:0x80bd3474 name="id" value="4c4e73ce3ced7812552610fdf039b22fb2a60bd6">] children=[#<Nokogiri::XML::Text:0x80bd2970 "test/">]>]>, #<Nokogiri::XML::Text:0x80bd2754 "\n \n ">, #<Nokogiri::XML::Element:0x80bd2628 name="td" attributes=[#<Nokogiri::XML::Attr:0x80bd2470 name="class" value="age">] children=[#<Nokogiri::XML::Text:0x80bd1d2c " ">, #<Nokogiri::XML::Element:0x80bd1cb4 name="span" attributes=[#<Nokogiri::XML::Attr:0x80bd1a70 name="class" value="relatize">] children=[#<Nokogiri::XML::Text:0x80bd13e0 "Fri Jun 25 20:18:53 -0700 2010">]>, #<Nokogiri::XML::Text:0x80bd123c " ">]>, #<Nokogiri::XML::Text:0x80bd0f6c "\n ">, #<Nokogiri::XML::Element:0x80bd0f1c name="td" attributes=[#<Nokogiri::XML::Attr:0x80bd0c9c name="class" value="message">] children=[#<Nokogiri::XML::Text:0x80bd05f8 " ">, #<Nokogiri::XML::Element:0x80bd0594 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bd0314 name="href" value="/peterc/pismo/commit/e9efb71c59deb2a74f109a910cc75546f2029939">, #<Nokogiri::XML::Attr:0x80bd0300 name="class" value="message">, #<Nokogiri::XML::Attr:0x80bd02ec name="title" value="Don't check YouTube for content since there isn't any">] children=[#<Nokogiri::XML::Text:0x80bcf6e4 "Don't check YouTube for content since there isn...">]>, #<Nokogiri::XML::Text:0x80bcf450 " [">, #<Nokogiri::XML::Element:0x80bcf3ec name="a" attributes=[#<Nokogiri::XML::Attr:0x80bcee10 name="href" value="/peterc">] children=[#<Nokogiri::XML::Text:0x80bce6e0 "peterc">]>, #<Nokogiri::XML::Text:0x80bce3e8 "] ">]>, #<Nokogiri::XML::Text:0x80bcdfec "\n ">]>]>]>, #<Nokogiri::XML::Text:0x80bcda10 "\n\n \n\n \n\n\n \n\n ">, #<Nokogiri::XML::Element:0x80bcd970 name="div" attributes=[#<Nokogiri::XML::Attr:0x80bcd588 name="id" value="readme">, #<Nokogiri::XML::Attr:0x80bcd574 name="class" value="announce markdown">] children=[#<Nokogiri::XML::Element:0x80bccb38 name="span" attributes=[#<Nokogiri::XML::Attr:0x80bcca20 name="class" value="name">] children=[#<Nokogiri::XML::Text:0x80bcc2a0 "README.markdown">]>, #<Nokogiri::XML::Element:0x80bcbff8 name="div" attributes=[#<Nokogiri::XML::Attr:0x80bcbeb8 name="class" value="wikistyle">] children=[#<Nokogiri::XML::Element:0x80bcb6ac name="h1" children=[#<Nokogiri::XML::Text:0x80bcb2c4 "pismo - Web page content analysis and metadata extraction">]>, #<Nokogiri::XML::Text:0x80bcb030 "\n\n">, #<Nokogiri::XML::Element:0x80bcafcc name="h2" children=[#<Nokogiri::XML::Text:0x80bcab1c "DESCRIPTION:">]>, #<Nokogiri::XML::Text:0x80bca89c "\n\n">, #<Nokogiri::XML::Element:0x80bca838 name="p" children=[#<Nokogiri::XML::Text:0x80bca3ec "Pismo extracts machine-usable metadata from unstructured (or poorly structured) English-language HTML documents.\nData that Pismo can extract include titles, feed URLs, ledes, body text, image URLs, date, and keywords.\nPismo is used heavily in production on http://coder.io/ to extract data from Web pages.">]>, #<Nokogiri::XML::Text:0x80bca16c "\n\n">, #<Nokogiri::XML::Element:0x80bca0f4 name="p" children=[#<Nokogiri::XML::Text:0x80bc9b7c "All tests pass on Ruby 1.8.7 (MRI) and Ruby 1.9.1-p378 (MRI).">]>, #<Nokogiri::XML::Text:0x80bc9a00 "\n\n">, #<Nokogiri::XML::Element:0x80bc9988 name="h2" children=[#<Nokogiri::XML::Text:0x80bc93c0 "USAGE:">]>, #<Nokogiri::XML::Text:0x80bc912c "\n\n">, #<Nokogiri::XML::Element:0x80bc90c8 name="p" children=[#<Nokogiri::XML::Text:0x80bc8cb8 "A basic example of extracting basic metadata from a Web page:">]>, #<Nokogiri::XML::Text:0x80bc8b14 "\n\n">, #<Nokogiri::XML::Element:0x80bc89d4 name="pre" children=[#<Nokogiri::XML::Element:0x80bc8448 name="code" children=[#<Nokogiri::XML::Text:0x80bc7cf0 "require 'pismo'\n\n# Load a Web page (you could pass an IO object or a string with existing HTML data along, as you prefer)\ndoc = Pismo::Document.new('http://www.rubyinside.com/cramp-asychronous-event-driven-ruby-web-app-framework-2928.html')\n\ndoc.title # => \"Cramp: Asychronous Event-Driven Ruby Web App Framework\"\ndoc.author # => \"Peter Cooper\"\ndoc.lede # => \"Cramp (GitHub repo) is a new, asynchronous evented Web app framework by Pratik Naik of 37signals (and the Rails core team). It's built around Ruby's EventMachine library and was designed to use event-driven I/O throughout - making it ideal for situations where you need to handle a large number of open connections (such as Comet systems or streaming APIs.)\"\ndoc.keywords # => [[\"cramp\", 7], [\"controllers\", 3], [\"app\", 3], [\"basic\", 2], ..., ... ]\n">]>]>, #<Nokogiri::XML::Text:0x80bc7ad4 "\n\n">, #<Nokogiri::XML::Element:0x80bc79a8 name="p" children=[#<Nokogiri::XML::Text:0x80bc719c "There's also a shorter \"convenience\" method which might be handy in IRB - it does the same as Pismo::Document.new:">]>, #<Nokogiri::XML::Text:0x80bc6f1c "\n\n">, #<Nokogiri::XML::Element:0x80bc6ecc name="pre" children=[#<Nokogiri::XML::Element:0x80bc6a1c name="code" children=[#<Nokogiri::XML::Text:0x80bc665c "Pismo['http://www.rubyflow.com/items/4082'].title # => \"Install Ruby as a non-root User\"\n">]>]>, #<Nokogiri::XML::Text:0x80bc6350 "\n\n">, #<Nokogiri::XML::Element:0x80bc62ec name="p" children=[#<Nokogiri::XML::Text:0x80bc5ef0 "The current metadata methods are:">]>, #<Nokogiri::XML::Text:0x80bc5b44 "\n\n">, #<Nokogiri::XML::Element:0x80bc5af4 name="ul" children=[#<Nokogiri::XML::Element:0x80bc5694 name="li" children=[#<Nokogiri::XML::Text:0x80bc5310 "title">]>, #<Nokogiri::XML::Text:0x80bc5090 "\n">, #<Nokogiri::XML::Element:0x80bc4f8c name="li" children=[#<Nokogiri::XML::Text:0x80bc4adc "titles">]>, #<Nokogiri::XML::Text:0x80bc48c0 "\n">, #<Nokogiri::XML::Element:0x80bc4758 name="li" children=[#<Nokogiri::XML::Text:0x80bc41b8 "author">]>, #<Nokogiri::XML::Text:0x80bc4000 "\n">, #<Nokogiri::XML::Element:0x80bc3ee8 name="li" children=[#<Nokogiri::XML::Text:0x80bc3a4c "authors">]>, #<Nokogiri::XML::Text:0x80bc35ec "\n">, #<Nokogiri::XML::Element:0x80bc359c name="li" children=[#<Nokogiri::XML::Text:0x80bc3178 "lede">]>, #<Nokogiri::XML::Text:0x80bc2ef8 "\n">, #<Nokogiri::XML::Element:0x80bc2e94 name="li" children=[#<Nokogiri::XML::Text:0x80bc2958 "keywords">]>, #<Nokogiri::XML::Text:0x80bc26ec "\n">, #<Nokogiri::XML::Element:0x80bc269c name="li" children=[#<Nokogiri::XML::Text:0x80bc2160 "sentences(qty)">]>, #<Nokogiri::XML::Text:0x80bc1eb8 "\n">, #<Nokogiri::XML::Element:0x80bc1e54 name="li" children=[#<Nokogiri::XML::Text:0x80bc1940 "body">]>, #<Nokogiri::XML::Text:0x80bc17c4 "\n">, #<Nokogiri::XML::Element:0x80bc165c name="li" children=[#<Nokogiri::XML::Text:0x80bc101c "html_body">]>, #<Nokogiri::XML::Text:0x80bc0e78 "\n">, #<Nokogiri::XML::Element:0x80bc0d38 name="li" children=[#<Nokogiri::XML::Text:0x80bc0914 "feed">]>, #<Nokogiri::XML::Text:0x80bc0630 "\n">, #<Nokogiri::XML::Element:0x80bc05e0 name="li" children=[#<Nokogiri::XML::Text:0x80bc00a4 "feeds">]>, #<Nokogiri::XML::Text:0x80bbff14 "\n">, #<Nokogiri::XML::Element:0x80bbfdd4 name="li" children=[#<Nokogiri::XML::Text:0x80bbf960 "favicon">]>, #<Nokogiri::XML::Text:0x80bbf6e0 "\n">, #<Nokogiri::XML::Element:0x80bbf654 name="li" children=[#<Nokogiri::XML::Text:0x80bbeee8 "description">]>, #<Nokogiri::XML::Text:0x80bbec68 "\n">, #<Nokogiri::XML::Element:0x80bbebdc name="li" children=[#<Nokogiri::XML::Text:0x80bbe6dc "datetime">]>, #<Nokogiri::XML::Text:0x80bbe4fc "\n">]>, #<Nokogiri::XML::Element:0x80bbe2b8 name="p" children=[#<Nokogiri::XML::Text:0x80bbdef8 "These methods are not fully documented here yet - you'll just need to try them out. The plural methods like #titles, #authors, and #feeds will return multiple matches in an array, if present. This is so you can use your own techniques to choose a \"best\" result in ambiguous cases.">]>, #<Nokogiri::XML::Text:0x80bbda84 "\n\n">, #<Nokogiri::XML::Element:0x80bbda0c name="p" children=[#<Nokogiri::XML::Text:0x80bbd584 "The html_body and body methods will be of particular interest. They return the \"body\" of the page as determined by Pismo's \"Reader\" (like Arc90's Readability or Safari Reader) algorithm. #body returns it as plain-text, #html_body maintains some basic HTML styling.">]>, #<Nokogiri::XML::Text:0x80bbd28c "\n\n">, #<Nokogiri::XML::Element:0x80bbd23c name="h2" children=[#<Nokogiri::XML::Text:0x80bbccc4 "CAVEATS AND SHORTCOMINGS:">]>, #<Nokogiri::XML::Text:0x80bbcb20 "\n\n">, #<Nokogiri::XML::Element:0x80bbc9e0 name="p" children=[#<Nokogiri::XML::Text:0x80bbc5bc "There are some shortcomings or problems that I'm aware of and am going to pursue:">]>, #<Nokogiri::XML::Text:0x80bbc404 "\n\n">, #<Nokogiri::XML::Element:0x80bbbf18 name="ul" children=[#<Nokogiri::XML::Element:0x80bbbaf4 name="li" children=[#<Nokogiri::XML::Text:0x80bbb720 "I do not know how Pismo fares on Rubinius or other versions of 1.9 (e.g. 1.9.2) yet">]>, #<Nokogiri::XML::Text:0x80bbb48c "\n">, #<Nokogiri::XML::Element:0x80bbb43c name="li" children=[#<Nokogiri::XML::Text:0x80bbac1c "pismo does not install on JRuby due to a problem in the fast-stemmer dependency">]>, #<Nokogiri::XML::Text:0x80bbaaa0 "\n">, #<Nokogiri::XML::Element:0x80bbaa50 name="li" children=[#<Nokogiri::XML::Text:0x80bba500 "The \"Reader\" content extraction algorithm is not perfect. It can sometimes return crap and can barf on certain types of characters for sentence extraction.">]>, #<Nokogiri::XML::Text:0x80bba280 "\n">, #<Nokogiri::XML::Element:0x80bba230 name="li" children=[#<Nokogiri::XML::Text:0x80bb97a4 "The author name extraction isn't very strong.">]>, #<Nokogiri::XML::Text:0x80bb9358 "\n">, #<Nokogiri::XML::Element:0x80bb92f4 name="li" children=[#<Nokogiri::XML::Text:0x80bb8c00 "The image extraction only handles images with absolute URLs.">]>, #<Nokogiri::XML::Text:0x80bb8980 "\n">, #<Nokogiri::XML::Element:0x80bb891c name="li" children=[#<Nokogiri::XML::Text:0x80bb8390 "The stopword list leaves a bit to be desired. It errs on the side of being too long rather than too short, though (1024 words long!)">]>, #<Nokogiri::XML::Text:0x80bb81ec "\n">]>, #<Nokogiri::XML::Element:0x80bb7f94 name="h2" children=[#<Nokogiri::XML::Text:0x80bb7b98 "OTHER GROOVY STUFF:">]>, #<Nokogiri::XML::Text:0x80bb7878 "\n\n">, #<Nokogiri::XML::Element:0x80bb7828 name="h3" children=[#<Nokogiri::XML::Text:0x80bb7404 "Command Line Tool">]>, #<Nokogiri::XML::Text:0x80bb7148 "\n\n">, #<Nokogiri::XML::Element:0x80bb70e4 name="p" children=[#<Nokogiri::XML::Text:0x80bb6b80 "A command line tool called \"pismo\" is included so that you can get metadata about a page from the command line. This is\ngreat for testing, or perhaps calling it from a non Ruby script. The output is currently in YAML.">]>, #<Nokogiri::XML::Text:0x80bb6914 "\n\n">, #<Nokogiri::XML::Element:0x80bb68b0 name="h4" children=[#<Nokogiri::XML::Text:0x80bb61e4 "Usage:">]>, #<Nokogiri::XML::Text:0x80bb5fc8 "\n\n">, #<Nokogiri::XML::Element:0x80bb5eb0 name="pre" children=[#<Nokogiri::XML::Element:0x80bb5a78 name="code" children=[#<Nokogiri::XML::Text:0x80bb5500 "./bin/pismo http://www.rubyinside.com/cramp-asychronous-event-driven-ruby-web-app-framework-2928.html title lede author datetime\n">]>]>, #<Nokogiri::XML::Text:0x80bb517c "\n\n">, #<Nokogiri::XML::Element:0x80bb512c name="h4" children=[#<Nokogiri::XML::Text:0x80bb4984 "Output:">]>, #<Nokogiri::XML::Text:0x80bb47b8 "\n\n">, #<Nokogiri::XML::Element:0x80bb4664 name="pre" children=[#<Nokogiri::XML::Element:0x80bb40d8 name="code" children=[#<Nokogiri::XML::Text:0x80bb3cf0 "--- \n:url: http://www.rubyinside.com/cramp-asychronous-event-driven-ruby-web-app-framework-2928.html\n:title: \"Cramp: Asychronous Event-Driven Ruby Web App Framework\"\n:lede: Cramp (GitHub repo)is a new, asynchronous evented Web app framework by Pratik Naik of 37signals\n:author: Peter Cooper\n:datetime: 2010-01-07 12:00:00 +00:00\n">]>]>, #<Nokogiri::XML::Text:0x80bb3aac "\n\n">, #<Nokogiri::XML::Element:0x80bb39a8 name="p" children=[#<Nokogiri::XML::Text:0x80bb355c "If you call pismo without any arguments (except a URL), it starts an IRB session so you can directly work in Ruby. The URL provided is loaded\nand assigned to both the constant 'P' and the variable @p.">]>, #<Nokogiri::XML::Text:0x80bb31d8 "\n\n">, #<Nokogiri::XML::Element:0x80bb3188 name="h3" children=[#<Nokogiri::XML::Text:0x80bb2d28 "Stopword access">]>, #<Nokogiri::XML::Text:0x80bb2abc "\n\n">, #<Nokogiri::XML::Element:0x80bb2a6c name="p" children=[#<Nokogiri::XML::Text:0x80bb2120 "You can access Pismo's stopword list directly:">]>, #<Nokogiri::XML::Text:0x80bb1ef0 "\n\n">, #<Nokogiri::XML::Element:0x80bb1ea0 name="pre" children=[#<Nokogiri::XML::Element:0x80bb189c name="code" children=[#<Nokogiri::XML::Text:0x80bb14dc "Pismo.stopwords # => [.., .., ..]\n">]>]>, #<Nokogiri::XML::Text:0x80bb111c "\n\n">, #<Nokogiri::XML::Element:0x80bb10b8 name="h2" children=[#<Nokogiri::XML::Text:0x80bb0bcc "Note on Patches/Pull Requests">]>, #<Nokogiri::XML::Text:0x80bb09c4 "\n\n">, #<Nokogiri::XML::Element:0x80bb0848 name="ul" children=[#<Nokogiri::XML::Element:0x80bb03c0 name="li" children=[#<Nokogiri::XML::Text:0x80bb0064 "Fork the project.">]>, #<Nokogiri::XML::Text:0x80bafda8 "\n">, #<Nokogiri::XML::Element:0x80bafd58 name="li" children=[#<Nokogiri::XML::Text:0x80baf880 "Make your feature addition or bug fix.">]>, #<Nokogiri::XML::Text:0x80baf6f0 "\n">, #<Nokogiri::XML::Element:0x80baf5d8 name="li" children=[#<Nokogiri::XML::Text:0x80baf164 "Add tests for it. This is important so I don't break it in a future version unintentionally.">]>, #<Nokogiri::XML::Text:0x80baeed0 "\n">, #<Nokogiri::XML::Element:0x80baee80 name="li" children=[#<Nokogiri::XML::Text:0x80baea34 "Commit, do not mess with Rakefile, version, or history as it's handled by Jeweler (which is awesome, btw).">]>, #<Nokogiri::XML::Text:0x80bae7c8 "\n">, #<Nokogiri::XML::Element:0x80bae778 name="li" children=[#<Nokogiri::XML::Text:0x80bae32c "Send me a pull request. I may or may not accept it (sorry, practicality rules.. but message me and we can talk!)">]>, #<Nokogiri::XML::Text:0x80bae0ac "\n">]>, #<Nokogiri::XML::Element:0x80bade40 name="h2" children=[#<Nokogiri::XML::Text:0x80bada30 "COPYRIGHT AND LICENSE">]>, #<Nokogiri::XML::Text:0x80bad7d8 "\n\n">, #<Nokogiri::XML::Element:0x80bad774 name="p" children=[#<Nokogiri::XML::Text:0x80bad33c "Apache 2.0 License - See LICENSE for details.\nCopyright (c) 2009, 2010 Peter Cooper">]>, #<Nokogiri::XML::Text:0x80bad0d0 "\n\n">, #<Nokogiri::XML::Element:0x80bad080 name="p" children=[#<Nokogiri::XML::Text:0x80bacb80 "In short, you can use Pismo for whatever you like commercial or not, but please include a brief credit (as in the NOTICE file - as per the Apache 2.0 License) somewhere deep in your license file or similar, and, if you're nice and have the time, let me know if you're using it and/or share any significant changes or improvements you make.">]>, #<Nokogiri::XML::Text:0x80bac9c8 "\n\n">, #<Nokogiri::XML::Element:0x80bac964 name="p" children=[#<Nokogiri::XML::Text:0x80bac3ec "http://github.com/peterc/pismo">]>, #<Nokogiri::XML::Text:0x80bac1a8 "\n">]>]>, #<Nokogiri::XML::Text:0x80babf3c "\n\n\n\n ">]>, #<Nokogiri::XML::Text:0x80babd0c "\n \n \n\n ">, #<Nokogiri::XML::Element:0x80babca8 name="div" attributes=[#<Nokogiri::XML::Attr:0x80bab9ec name="class" value="push">]>, #<Nokogiri::XML::Text:0x80babba4 "\n ">]>, #<Nokogiri::XML::Text:0x80bab2e4 "\n\n ">, #<Nokogiri::XML::Element:0x80bab280 name="div" attributes=[#<Nokogiri::XML::Attr:0x80bab028 name="id" value="footer">] children=[#<Nokogiri::XML::Text:0x80baa934 "\n ">, #<Nokogiri::XML::Element:0x80baa8d0 name="div" attributes=[#<Nokogiri::XML::Attr:0x80baa6b4 name="class" value="site">] children=[#<Nokogiri::XML::Text:0x80ba9fe8 "\n ">, #<Nokogiri::XML::Element:0x80ba9f84 name="div" attributes=[#<Nokogiri::XML::Attr:0x80ba9cc8 name="class" value="info">] children=[#<Nokogiri::XML::Text:0x80ba96b0 "\n ">, #<Nokogiri::XML::Element:0x80ba9660 name="div" attributes=[#<Nokogiri::XML::Attr:0x80ba94d0 name="class" value="links">] children=[#<Nokogiri::XML::Text:0x80ba8d3c "\n ">, #<Nokogiri::XML::Element:0x80ba8cec name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba8b70 name="href" value="http://github.com/blog">] children=[#<Nokogiri::XML::Element:0x80ba8490 name="b" children=[#<Nokogiri::XML::Text:0x80ba8044 "Blog">]>]>, #<Nokogiri::XML::Text:0x80ba7e14 " |\n ">, #<Nokogiri::XML::Element:0x80ba7cd4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba7b1c name="href" value="http://support.github.com">] children=[#<Nokogiri::XML::Text:0x80ba7388 "Support">]>, #<Nokogiri::XML::Text:0x80ba7130 " |\n ">, #<Nokogiri::XML::Element:0x80ba70cc name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba6f64 name="href" value="http://github.com/training">] children=[#<Nokogiri::XML::Text:0x80ba6898 "Training">]>, #<Nokogiri::XML::Text:0x80ba65f0 " |\n ">, #<Nokogiri::XML::Element:0x80ba65a0 name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba635c name="href" value="http://github.com/contact">] children=[#<Nokogiri::XML::Text:0x80ba5de4 "Contact">]>, #<Nokogiri::XML::Text:0x80ba5b78 " |\n ">, #<Nokogiri::XML::Element:0x80ba5b28 name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba58bc name="href" value="http://develop.github.com">] children=[#<Nokogiri::XML::Text:0x80ba51a0 "API">]>, #<Nokogiri::XML::Text:0x80ba5010 " |\n ">, #<Nokogiri::XML::Element:0x80ba4fac name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba4d68 name="href" value="http://status.github.com">] children=[#<Nokogiri::XML::Text:0x80ba46d8 "Status">]>, #<Nokogiri::XML::Text:0x80ba4534 " |\n ">, #<Nokogiri::XML::Element:0x80ba44bc name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba423c name="href" value="http://twitter.com/github">] children=[#<Nokogiri::XML::Text:0x80ba3b98 "Twitter">]>, #<Nokogiri::XML::Text:0x80ba3918 " |\n ">, #<Nokogiri::XML::Element:0x80ba38b4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba3620 name="href" value="http://help.github.com">] children=[#<Nokogiri::XML::Text:0x80ba2e78 "Help">]>, #<Nokogiri::XML::Text:0x80ba2cc0 " |\n ">, #<Nokogiri::XML::Element:0x80ba2c70 name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba2a04 name="href" value="http://github.com/security">] children=[#<Nokogiri::XML::Text:0x80ba23ec "Security">]>, #<Nokogiri::XML::Text:0x80ba220c "\n ">]>, #<Nokogiri::XML::Text:0x80ba1f3c "\n ">, #<Nokogiri::XML::Element:0x80ba1ec4 name="div" attributes=[#<Nokogiri::XML::Attr:0x80ba1c6c name="class" value="company">] children=[#<Nokogiri::XML::Text:0x80ba162c "\n \302\251\n 2010\n ">, #<Nokogiri::XML::Element:0x80ba15dc name="span" attributes=[#<Nokogiri::XML::Attr:0x80ba135c name="id" value="_rrt">, #<Nokogiri::XML::Attr:0x80ba1348 name="title" value="0.07960s from fe1.rs.github.com">] children=[#<Nokogiri::XML::Text:0x80ba0d30 "GitHub">]>, #<Nokogiri::XML::Text:0x80ba0b78 " Inc.\n All rights reserved. |\n ">, #<Nokogiri::XML::Element:0x80ba0b28 name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba0970 name="href" value="/site/terms">] children=[#<Nokogiri::XML::Text:0x80ba04c0 "Terms of Service">]>, #<Nokogiri::XML::Text:0x80ba0358 " |\n ">, #<Nokogiri::XML::Element:0x80ba0308 name="a" attributes=[#<Nokogiri::XML::Attr:0x80ba01b4 name="href" value="/site/privacy">] children=[#<Nokogiri::XML::Text:0x80b9fca0 "Privacy Policy">]>, #<Nokogiri::XML::Text:0x80b9fb38 "\n ">]>, #<Nokogiri::XML::Text:0x80b9f9d0 "\n ">]>, #<Nokogiri::XML::Text:0x80b9f868 "\n ">, #<Nokogiri::XML::Element:0x80b9f818 name="div" attributes=[#<Nokogiri::XML::Attr:0x80b9f6c4 name="class" value="sponsor">] children=[#<Nokogiri::XML::Text:0x80b9f228 "\n ">, #<Nokogiri::XML::Element:0x80b9f1d8 name="div" children=[#<Nokogiri::XML::Text:0x80b99e40 "\n Powered by the ">, #<Nokogiri::XML::Element:0x80b99df0 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b99c9c name="href" value="http://www.rackspace.com ">] children=[#<Nokogiri::XML::Text:0x80b99828 "Dedicated\n Servers">]>, #<Nokogiri::XML::Text:0x80b996c0 " and">, #<Nokogiri::XML::Element:0x80b9965c name="br">, #<Nokogiri::XML::Element:0x80b99580 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b992ec name="href" value="http://www.rackspacecloud.com">] children=[#<Nokogiri::XML::Text:0x80b98e78 "Cloud\n Computing">]>, #<Nokogiri::XML::Text:0x80b98cfc " of Rackspace Hosting">, #<Nokogiri::XML::Element:0x80b98cac name="span" children=[#<Nokogiri::XML::Text:0x80b98964 "\302\256">]>, #<Nokogiri::XML::Text:0x80b987e8 "\n ">]>, #<Nokogiri::XML::Text:0x80b98644 "\n ">, #<Nokogiri::XML::Element:0x80b985b8 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b98464 name="href" value="http://www.rackspace.com">] children=[#<Nokogiri::XML::Text:0x80b9802c "\n ">, #<Nokogiri::XML::Element:0x80b97fdc name="img" attributes=[#<Nokogiri::XML::Attr:0x80b97e88 name="alt" value="Dedicated Server">, #<Nokogiri::XML::Attr:0x80b97e74 name="src" value="http://assets2.github.com/images/modules/footer/rackspace_logo.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779">]>]>, #<Nokogiri::XML::Text:0x80b97834 "\n ">]>, #<Nokogiri::XML::Text:0x80b976b8 "\n ">]>, #<Nokogiri::XML::Text:0x80b97528 "\n ">]>, #<Nokogiri::XML::Text:0x80b97384 "\n\n \n \n ">, #<Nokogiri::XML::Element:0x80b97334 name="div" attributes=[#<Nokogiri::XML::Attr:0x80b971e0 name="class" value="locales">] children=[#<Nokogiri::XML::Text:0x80b96d6c "\n ">, #<Nokogiri::XML::Element:0x80b96d08 name="div" attributes=[#<Nokogiri::XML::Attr:0x80b96b78 name="class" value="site">] children=[#<Nokogiri::XML::Text:0x80b96740 "\n ">, #<Nokogiri::XML::Element:0x80b966f0 name="ul" attributes=[#<Nokogiri::XML::Attr:0x80b96588 name="class" value="choices">] children=[#<Nokogiri::XML::Element:0x80b960ec name="li" children=[#<Nokogiri::XML::Element:0x80b95e30 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b95d54 name="class" value="current">, #<Nokogiri::XML::Attr:0x80b95d40 name="href" value="#">] children=[#<Nokogiri::XML::Text:0x80b95688 "English">]>]>, #<Nokogiri::XML::Text:0x80b95480 "\n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80b95430 name="li" children=[#<Nokogiri::XML::Element:0x80b950fc name="a" attributes=[#<Nokogiri::XML::Attr:0x80b9500c name="href" value="?locale=ca">] children=[#<Nokogiri::XML::Text:0x80b94b98 "Catal\303\240">]>]>, #<Nokogiri::XML::Text:0x80b94940 "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80b948f0 name="li" children=[#<Nokogiri::XML::Element:0x80b945d0 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b944e0 name="href" value="?locale=cs">] children=[#<Nokogiri::XML::Text:0x80b94030 "\304\214e\305\241tina">]>]>, #<Nokogiri::XML::Text:0x80b93e14 "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80b93d10 name="li" children=[#<Nokogiri::XML::Element:0x80b939c8 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b938c4 name="href" value="?locale=de">] children=[#<Nokogiri::XML::Text:0x80b93450 "Deutsch">]>]>, #<Nokogiri::XML::Text:0x80b931e4 "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80b93194 name="li" children=[#<Nokogiri::XML::Element:0x80b92e9c name="a" attributes=[#<Nokogiri::XML::Attr:0x80b92dc0 name="href" value="?locale=es">] children=[#<Nokogiri::XML::Text:0x80b928d4 "Espa\303\261ol">]>]>, #<Nokogiri::XML::Text:0x80b926cc "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80b9267c name="li" children=[#<Nokogiri::XML::Element:0x80b92348 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b92244 name="href" value="?locale=fr">] children=[#<Nokogiri::XML::Text:0x80b91d94 "Fran\303\247ais">]>]>, #<Nokogiri::XML::Text:0x80b8c308 "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80b902c8 name="li" children=[#<Nokogiri::XML::Element:0x80b989a0 name="a" attributes=[#<Nokogiri::XML::Attr:0x80b99f30 name="href" value="?locale=hr">] children=[#<Nokogiri::XML::Text:0x80ba9f34 "Hrvatski">]>]>, #<Nokogiri::XML::Text:0x80baf1a0 "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80baf9e8 name="li" children=[#<Nokogiri::XML::Element:0x80bb5ac8 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bb76c0 name="href" value="?locale=id">] children=[#<Nokogiri::XML::Text:0x80bc0324 "Indonesia">]>]>, #<Nokogiri::XML::Text:0x80bc4b18 "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80bc53d8 name="li" children=[#<Nokogiri::XML::Element:0x80bcb300 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bcd59c name="href" value="?locale=it">] children=[#<Nokogiri::XML::Text:0x80bdeb1c "Italiano">]>]>, #<Nokogiri::XML::Text:0x80be7014 "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80be8cfc name="li" children=[#<Nokogiri::XML::Element:0x80bf59e8 name="a" attributes=[#<Nokogiri::XML::Attr:0x80bfa970 name="href" value="?locale=ja">] children=[#<Nokogiri::XML::Text:0x80c16b0c "\346\227\245\346\234\254\350\252\236">]>]>, #<Nokogiri::XML::Text:0x80c241d0 "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80c26f98 name="li" children=[#<Nokogiri::XML::Element:0x80c40a4c name="a" attributes=[#<Nokogiri::XML::Attr:0x80c46758 name="href" value="?locale=nl">] children=[#<Nokogiri::XML::Text:0x80c73c30 "Nederlands">]>]>, #<Nokogiri::XML::Text:0x80c81f38 "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80c844f4 name="li" children=[#<Nokogiri::XML::Element:0x80c96398 name="a" attributes=[#<Nokogiri::XML::Attr:0x80c9b280 name="href" value="?locale=no">] children=[#<Nokogiri::XML::Text:0x80cde3dc "Norsk">]>]>, #<Nokogiri::XML::Text:0x80cf4ad8 "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80cf7ddc name="li" children=[#<Nokogiri::XML::Element:0x80cffc1c name="a" attributes=[#<Nokogiri::XML::Attr:0x80cff898 name="href" value="?locale=pl">] children=[#<Nokogiri::XML::Text:0x80cfde08 "Polski">]>]>, #<Nokogiri::XML::Text:0x80cfcef4 "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80cfcea4 name="li" children=[#<Nokogiri::XML::Element:0x80cfc030 name="a" attributes=[#<Nokogiri::XML::Attr:0x80cfbe3c name="href" value="?locale=pt-BR">] children=[#<Nokogiri::XML::Text:0x80cfae9c "Portugu\303\252s (BR)">]>]>, #<Nokogiri::XML::Text:0x80cfa744 "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80cfa6f4 name="li" children=[#<Nokogiri::XML::Element:0x80cfa1a4 name="a" attributes=[#<Nokogiri::XML::Attr:0x80cf9fd8 name="href" value="?locale=sr">] children=[#<Nokogiri::XML::Text:0x80cf972c "\320\241\321\200\320\277\321\201\320\272\320\270">]>]>, #<Nokogiri::XML::Text:0x80cf8e08 "\n \n \n \n \n \n ">, #<Nokogiri::XML::Element:0x80cf8d04 name="li" children=[#<Nokogiri::XML::Element:0x80cf6dec name="a" attributes=[#<Nokogiri::XML::Attr:0x80cf661c name="href" value="?locale=sv">] children=[#<Nokogiri::XML::Text:0x80cf3b9c "Svenska">]>]>, #<Nokogiri::XML::Text:0x80cf2260 "\n \n \n \n ">]>]>, #<Nokogiri::XML::Text:0x80cf14dc "\n ">]>, #<Nokogiri::XML::Text:0x80cf0c80 "\n \n \n ">, #<Nokogiri::XML::Element:0x80cf0af0 name="script" children=[#<Nokogiri::XML::CDATA:0x80cef920 "window._auth_token = \"652cd7f316708fc9c13d4dc8c2d3189ded826f23\"">]>, #<Nokogiri::XML::Element:0x80cef628 name="script" attributes=[#<Nokogiri::XML::Attr:0x80cef4e8 name="type" value="text/javascript">] children=[#<Nokogiri::XML::CDATA:0x80cedb5c "\n _kmq.push(['trackClick', 'entice_banner_link', 'Entice banner clicked']);\n \n ">]>]>]>]>, @html="\n \n \n\n \n\n\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n <head>\n <meta http-equiv=\"content-type\" content=\"text/html;charset=UTF-8\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"chrome=1\">\n <title>peterc's pismo at master - GitHub</title>\n <link rel=\"search\" type=\"application/opensearchdescription+xml\" href=\"/opensearch.xml\" title=\"GitHub\" />\n <link rel=\"fluid-icon\" href=\"http://github.com/fluidicon.png\" title=\"GitHub\" />\n\n <link href=\"http://assets0.github.com/stylesheets/bundle_common.css?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"http://assets3.github.com/stylesheets/bundle_github.css?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n\n <script type=\"text/javascript\" charset=\"utf-8\">\n var GitHub = {}\n var github_user = null\n \n </script>\n <script src=\"http://assets2.github.com/javascripts/jquery/jquery-1.4.2.min.js?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" type=\"text/javascript\"></script>\n <script src=\"http://assets2.github.com/javascripts/bundle_common.js?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" type=\"text/javascript\"></script>\n<script src=\"http://assets3.github.com/javascripts/bundle_github.js?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" type=\"text/javascript\"></script>\n\n <script type=\"text/javascript\" charset=\"utf-8\">\n GitHub.spy({\n repo: \"peterc/pismo\"\n })\n </script>\n\n \n \n \n \n\n <link href=\"http://github.com/peterc/pismo/commits/master.atom\" rel=\"alternate\" title=\"Recent Commits to pismo:master\" type=\"application/atom+xml\" />\n\n <meta name=\"description\" content=\"Extracts machine-readable metadata and content from Web pages\" />\n <script type=\"text/javascript\">\n GitHub.nameWithOwner = GitHub.nameWithOwner || \"peterc/pismo\";\n GitHub.currentRef = \"master\";\n </script>\n \n\n <script type=\"text/javascript\">\n var _gaq = _gaq || [];\n _gaq.push(['_setAccount', 'UA-3769691-2']);\n _gaq.push(['_trackPageview']);\n (function() {\n var ga = document.createElement('script');\n ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n ga.setAttribute('async', 'true');\n document.documentElement.firstChild.appendChild(ga);\n })();\n </script>\n\n </head>\n\n \n\n <body>\n \n\n \n <script type=\"text/javascript\">\n var _kmq = _kmq || [];\n function _kms(u){\n var s = document.createElement('script'); var f = document.getElementsByTagName('script')[0]; s.type = 'text/javascript'; s.async = true;\n s.src = u; f.parentNode.insertBefore(s, f);\n }\n _kms('//i.kissmetrics.com/i.js');_kms('//doug1izaerwt3.cloudfront.net/406e8bf3a2b8846ead55afb3cfaf6664523e3a54.1.js');\n </script>\n \n\n \n\n \n\n \n\n <div class=\"subnavd\" id=\"main\">\n <div id=\"header\" class=\"pageheaded\">\n <div class=\"site\">\n <div class=\"logo\">\n <a href=\"http://github.com\"><img src=\"/images/modules/header/logov3.png\" alt=\"github\" /></a>\n </div>\n \n <div class=\"topsearch\">\n \n <form action=\"/search\" id=\"top_search_form\" method=\"get\">\n <a href=\"/search\" class=\"advanced-search tooltipped downwards\" title=\"Advanced Search\">Advanced Search</a>\n <input type=\"search\" class=\"search my_repos_autocompleter\" name=\"q\" results=\"5\" placeholder=\"Search…\" /> <input type=\"submit\" value=\"Search\" class=\"button\" />\n <input type=\"hidden\" name=\"type\" value=\"Everything\" />\n <input type=\"hidden\" name=\"repo\" value=\"\" />\n <input type=\"hidden\" name=\"langOverride\" value=\"\" />\n <input type=\"hidden\" name=\"start_value\" value=\"1\" />\n </form>\n \n \n <ul class=\"nav logged_out\">\n \n <li><a href=\"http://github.com\">Home</a></li>\n <li class=\"pricing\"><a href=\"/plans\">Pricing and Signup</a></li>\n <li><a href=\"http://github.com/explore\">Explore GitHub</a></li>\n \n <li><a href=\"/blog\">Blog</a></li>\n \n <li><a href=\"https://github.com/login\">Login</a></li>\n </ul>\n \n</div>\n\n </div>\n </div>\n\n \n \n \n <div class=\"site\">\n <div class=\"pagehead repohead vis-public \">\n <h1>\n <a href=\"/peterc\">peterc</a> / <strong><a href=\"http://github.com/peterc/pismo\">pismo</a></strong>\n \n \n </h1>\n\n \n <ul class=\"actions\">\n \n\n \n <li class=\"for-owner\" style=\"display:none\"><a href=\"https://github.com/peterc/pismo/edit\" class=\"minibutton btn-admin \"><span><span class=\"icon\"></span>Admin</span></a></li>\n <li>\n <a href=\"/peterc/pismo/toggle_watch\" class=\"minibutton btn-watch \" id=\"watch_button\" style=\"display:none\"><span><span class=\"icon\"></span>Watch</span></a>\n <a href=\"/peterc/pismo/toggle_watch\" class=\"minibutton btn-watch \" id=\"unwatch_button\" style=\"display:none\"><span><span class=\"icon\"></span>Unwatch</span></a>\n </li>\n \n \n <li class=\"for-notforked\" style=\"display:none\"><a href=\"/peterc/pismo/fork\" class=\"minibutton btn-fork \" id=\"fork_button\" onclick=\"var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', '652cd7f316708fc9c13d4dc8c2d3189ded826f23'); f.appendChild(s);f.submit();return false;\"><span><span class=\"icon\"></span>Fork</span></a></li>\n <li class=\"for-hasfork\" style=\"display:none\"><a href=\"#\" class=\"minibutton btn-fork \" id=\"your_fork_button\"><span><span class=\"icon\"></span>Your Fork</span></a></li>\n \n\n \n <li id=\"pull_request_item\" class='ospr' style=\"display:none\"><a href=\"/peterc/pismo/pull_request/\" class=\"minibutton btn-pull-request \"><span><span class=\"icon\"></span>Pull Request</span></a></li>\n \n\n <li><a href=\"#\" class=\"minibutton btn-download \" id=\"download_button\"><span><span class=\"icon\"></span>Download Source</span></a></li>\n \n \n \n <li class=\"repostats\">\n <ul class=\"repo-stats\">\n <li class=\"watchers\"><a href=\"/peterc/pismo/watchers\" title=\"Watchers\" class=\"tooltipped downwards\">52</a></li>\n <li class=\"forks\"><a href=\"/peterc/pismo/network\" title=\"Forks\" class=\"tooltipped downwards\">3</a></li>\n </ul>\n </li>\n </ul>\n\n\n \n <ul class=\"tabs\">\n <li><a href=\"http://github.com/peterc/pismo/tree/master\" class=\"selected\" highlight=\"repo_source\">Source</a></li>\n <li><a href=\"http://github.com/peterc/pismo/commits/master\" highlight=\"repo_commits\">Commits</a></li>\n\n \n <li><a href=\"/peterc/pismo/network\" highlight=\"repo_network\">Network (3)</a></li>\n\n \n\n \n \n <li><a href=\"/peterc/pismo/issues\" highlight=\"issues\">Issues (0)</a></li>\n \n\n \n \n <li><a href=\"/peterc/pismo/downloads\">Downloads (10)</a></li>\n \n\n \n \n <li><a href=\"http://wiki.github.com/peterc/pismo/\">Wiki (1)</a></li>\n \n\n <li><a href=\"/peterc/pismo/graphs\" highlight=\"repo_graphs\">Graphs</a></li>\n\n <li class=\"contextswitch nochoices\">\n <span class=\"toggle leftwards\" >\n <em>Branch:</em>\n <code>master</code>\n </span>\n </li>\n </ul>\n\n <div style=\"display:none\" id=\"pl-description\"><p><em class=\"placeholder\">click here to add a description</em></p></div>\n <div style=\"display:none\" id=\"pl-homepage\"><p><em class=\"placeholder\">click here to add a homepage</em></p></div>\n\n <div class=\"subnav-bar\">\n \n <ul>\n <li>\n <a href=\"#\" class=\"dropdown\">Switch Branches (1)</a>\n <ul>\n \n \n <li><strong>master ✓</strong></li>\n \n </ul>\n </li>\n <li>\n <a href=\"#\" class=\"dropdown \">Switch Tags (10)</a>\n <ul>\n \n <li><a href=\"/peterc/pismo/tree/v0.6.2\">v0.6.2</a></li>\n \n \n <li><a href=\"/peterc/pismo/tree/v0.6.1\">v0.6.1</a></li>\n \n \n <li><a href=\"/peterc/pismo/tree/v0.6.0\">v0.6.0</a></li>\n \n \n <li><a href=\"/peterc/pismo/tree/v0.5.0\">v0.5.0</a></li>\n \n \n <li><a href=\"/peterc/pismo/tree/v0.4.0\">v0.4.0</a></li>\n \n \n <li><a href=\"/peterc/pismo/tree/v0.2.3\">v0.2.3</a></li>\n \n \n <li><a href=\"/peterc/pismo/tree/v0.2.2\">v0.2.2</a></li>\n \n \n <li><a href=\"/peterc/pismo/tree/v0.2.1\">v0.2.1</a></li>\n \n \n <li><a href=\"/peterc/pismo/tree/v0.2.0\">v0.2.0</a></li>\n \n \n <li><a href=\"/peterc/pismo/tree/v0.1.0\">v0.1.0</a></li>\n \n </ul>\n \n </li>\n <li>\n \n <a href=\"/peterc/pismo/branches\" class=\"manage\">Branch List</a>\n \n </li>\n </ul>\n</div>\n\n \n \n \n \n \n\n\n \n <div id=\"repo_details\" class=\"metabox clearfix\">\n <div id=\"repo_details_loader\" class=\"metabox-loader\" style=\"display:none\">Sending Request…</div>\n\n \n\n <div id=\"repository_description\" rel=\"repository_description_edit\">\n \n <p>Extracts machine-readable metadata and content from Web pages\n <span id=\"read_more\" style=\"display:none\">— <a href=\"#readme\">Read more</a></span>\n </p>\n \n </div>\n <div id=\"repository_description_edit\" style=\"display:none;\" class=\"inline-edit\">\n <form action=\"/peterc/pismo/edit/update\" method=\"post\"><div style=\"margin:0;padding:0\"><input name=\"authenticity_token\" type=\"hidden\" value=\"652cd7f316708fc9c13d4dc8c2d3189ded826f23\" /></div>\n <input type=\"hidden\" name=\"field\" value=\"repository_description\">\n <input type=\"text\" class=\"textfield\" name=\"value\" value=\"Extracts machine-readable metadata and content from Web pages\">\n <div class=\"form-actions\">\n <button class=\"minibutton\"><span>Save</span></button> <a href=\"#\" class=\"cancel\">Cancel</a>\n </div>\n </form>\n </div>\n\n \n <div class=\"repository-homepage\" id=\"repository_homepage\" rel=\"repository_homepage_edit\">\n <p><a href=\"http://coder.io/\" rel=\"nofollow\">http://coder.io/</a></p>\n </div>\n <div id=\"repository_homepage_edit\" style=\"display:none;\" class=\"inline-edit\">\n <form action=\"/peterc/pismo/edit/update\" method=\"post\"><div style=\"margin:0;padding:0\"><input name=\"authenticity_token\" type=\"hidden\" value=\"652cd7f316708fc9c13d4dc8c2d3189ded826f23\" /></div>\n <input type=\"hidden\" name=\"field\" value=\"repository_homepage\">\n <input type=\"text\" class=\"textfield\" name=\"value\" value=\"http://coder.io/\">\n <div class=\"form-actions\">\n <button class=\"minibutton\"><span>Save</span></button> <a href=\"#\" class=\"cancel\">Cancel</a>\n </div>\n </form>\n </div>\n\n <div class=\"rule \"></div>\n\n <div id=\"url_box\" class=\"url-box\">\n <ul class=\"clone-urls\">\n \n \n <li id=\"http_clone_url\"><a href=\"http://github.com/peterc/pismo.git\" data-permissions=\"Read-Only\">HTTP</a></li>\n <li id=\"public_clone_url\"><a href=\"git://github.com/peterc/pismo.git\" data-permissions=\"Read-Only\">Git Read-Only</a></li>\n \n </ul>\n <input type=\"text\" spellcheck=\"false\" id=\"url_field\" class=\"url-field\" />\n <span style=\"display:none\" id=\"url_box_clippy\"></span>\n <span id=\"clippy_tooltip_url_box_clippy\" class=\"clippy-tooltip tooltipped\" title=\"copy to clipboard\">\n <object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"\n width=\"14\"\n height=\"14\"\n class=\"clippy\"\n id=\"clippy\" >\n <param name=\"movie\" value=\"http://assets1.github.com/flash/clippy.swf?v5\"/>\n <param name=\"allowScriptAccess\" value=\"always\" />\n <param name=\"quality\" value=\"high\" />\n <param name=\"scale\" value=\"noscale\" />\n <param NAME=\"FlashVars\" value=\"id=url_box_clippy&copied=&copyto=\">\n <param name=\"bgcolor\" value=\"#FFFFFF\">\n <param name=\"wmode\" value=\"opaque\">\n <embed src=\"http://assets1.github.com/flash/clippy.swf?v5\"\n width=\"14\"\n height=\"14\"\n name=\"clippy\"\n quality=\"high\"\n allowScriptAccess=\"always\"\n type=\"application/x-shockwave-flash\"\n pluginspage=\"http://www.macromedia.com/go/getflashplayer\"\n FlashVars=\"id=url_box_clippy&copied=&copyto=\"\n bgcolor=\"#FFFFFF\"\n wmode=\"opaque\"\n />\n </object>\n </span>\n\n <p id=\"url_description\">This URL has <strong>Read+Write</strong> access</p>\n </div>\n </div>\n\n\n \n\n </div><!-- /.pagehead -->\n\n \n\n\n\n\n\n\n\n\n\n\n\n<script type=\"text/javascript\">\n GitHub.currentCommitRef = \"master\"\n GitHub.currentRepoOwner = \"peterc\"\n GitHub.currentRepo = \"pismo\"\n GitHub.downloadRepo = '/peterc/pismo/archives/master'\n\n \n\n \n</script>\n\n\n\n\n\n\n\n\n\n\n <div id=\"commit\">\n <div class=\"group\">\n \n <div class=\"envelope commit\">\n <div class=\"human\">\n \n <div class=\"message\"><pre><a href=\"/peterc/pismo/commit/86b5cedb014a8238a3b12694fd6d4f519cdea989\">Minor doc tweaks</a> </pre></div>\n \n\n <div class=\"actor\">\n <div class=\"gravatar\">\n \n <img src=\"http://www.gravatar.com/avatar/6268c7528d855f1cef5696a00d159909?s=140&d=http%3A%2F%2Fgithub.com%2Fimages%2Fgravatars%2Fgravatar-140.png\" alt=\"\" width=\"30\" height=\"30\" />\n </div>\n <div class=\"name\"><a href=\"/peterc\">peterc</a> <span>(author)</span></div>\n <div class=\"date\">\n <abbr class=\"relatize\" title=\"2010-06-25 20:38:34\">Fri Jun 25 20:38:34 -0700 2010</abbr>\n </div>\n </div>\n\n \n\n </div>\n <div class=\"machine\">\n <span>c</span>ommit <a href=\"/peterc/pismo/commit/86b5cedb014a8238a3b12694fd6d4f519cdea989\" hotkey=\"c\">86b5cedb014a8238a3b1</a><br />\n <span>t</span>ree <a href=\"/peterc/pismo/tree/86b5cedb014a8238a3b12694fd6d4f519cdea989/lib/pismo\" hotkey=\"t\">6b3b7715f947c70d2628</a><br />\n \n <span>p</span>arent \n \n <a href=\"/peterc/pismo/tree/1bc860968d3156563c2683baaec56d7387fcc4e7/lib/pismo\" hotkey=\"p\">1bc860968d3156563c26</a>\n \n\n </div>\n </div>\n\n </div>\n </div>\n\n\n\n\n \n <div id=\"path\">\n <b><a href=\"/peterc/pismo/tree/master\">pismo</a></b> / \n </div>\n\n \n \n <script type=\"text/javascript\">\n GitHub.currentTreeSHA = \"86b5cedb014a8238a3b12694fd6d4f519cdea989\";\n GitHub.commitSHA = \"86b5cedb014a8238a3b12694fd6d4f519cdea989\";\n GitHub.currentPath = \"\";\n </script>\n\n\n<div id=\"browser\">\n <table cellpadding=\"0\" cellspacing=\"0\">\n <tr>\n <th></th>\n <th>name</th>\n <th>age</th>\n <th>\n <div class=\"history\">\n <a href=\"/peterc/pismo/commits/master/\">history</a>\n </div>\n message\n </th>\n </tr>\n\n \n\n \n <tr class=\"alt\">\n <td class=\"icon\"> <img alt=\"file\" src=\"http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" /> </td>\n <td class=\"content\"> <a href=\"/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/.document\" id=\"ecf3673194b8b6963488dabc93d5f16fea93c5e9\">.document</a></td>\n \n <td class=\"age\"> <span class=\"relatize\">Sun Jan 10 15:57:40 -0800 2010</span> </td>\n <td class=\"message\"> <a href=\"/peterc/pismo/commit/fd655869f0169747f512ea4e39dfd913e2c7cf0b\" class=\"message\" title=\"Initial commit to csteamer.\">Initial commit to csteamer.</a> [<a href=\"/peterc\">peterc</a>] </td>\n </tr>\n \n <tr class=\"\">\n <td class=\"icon\"> <img alt=\"file\" src=\"http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" /> </td>\n <td class=\"content\"> <a href=\"/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/.gitignore\" id=\"c1e0dafa8d510992f3b6f4633ed790621e6e53c7\">.gitignore</a></td>\n \n <td class=\"age\"> <span class=\"relatize\">Sun Jan 10 15:57:40 -0800 2010</span> </td>\n <td class=\"message\"> <a href=\"/peterc/pismo/commit/fd655869f0169747f512ea4e39dfd913e2c7cf0b\" class=\"message\" title=\"Initial commit to csteamer.\">Initial commit to csteamer.</a> [<a href=\"/peterc\">peterc</a>] </td>\n </tr>\n \n <tr class=\"alt\">\n <td class=\"icon\"> <img alt=\"file\" src=\"http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" /> </td>\n <td class=\"content\"> <a href=\"/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/LICENSE\" id=\"d9211b0795da65e1ee964e307f431250c81ed931\">LICENSE</a></td>\n \n <td class=\"age\"> <span class=\"relatize\">Fri Jun 18 20:23:17 -0700 2010</span> </td>\n <td class=\"message\"> <a href=\"/peterc/pismo/commit/925d277cd0779a9e158c4a8881674047801c4101\" class=\"message\" title=\"Import of new 'Reader' algorithm to replace Ruby-Readability and test updates\">Import of new 'Reader' algorithm to replace Rub...</a> [<a href=\"/peterc\">peterc</a>] </td>\n </tr>\n \n <tr class=\"\">\n <td class=\"icon\"> <img alt=\"file\" src=\"http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" /> </td>\n <td class=\"content\"> <a href=\"/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/NOTICE\" id=\"98db33464cc5894c89a6a1a5e59ade38dc5192fe\">NOTICE</a></td>\n \n <td class=\"age\"> <span class=\"relatize\">Sat Jun 19 17:50:45 -0700 2010</span> </td>\n <td class=\"message\"> <a href=\"/peterc/pismo/commit/594bd5f38e956a5f9506098f57f7ad100534a4ed\" class=\"message\" title=\"Doc updates\">Doc updates</a> [<a href=\"/peterc\">peterc</a>] </td>\n </tr>\n \n <tr class=\"alt\">\n <td class=\"icon\"> <img alt=\"file\" src=\"http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" /> </td>\n <td class=\"content\"> <a href=\"/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/README.markdown\" id=\"c78d8f2c0e8a4e5d6ada2a9db544f741b9ac7467\">README.markdown</a></td>\n \n <td class=\"age\"> <span class=\"relatize\">Fri Jun 25 20:38:34 -0700 2010</span> </td>\n <td class=\"message\"> <a href=\"/peterc/pismo/commit/86b5cedb014a8238a3b12694fd6d4f519cdea989\" class=\"message\" title=\"Minor doc tweaks\">Minor doc tweaks</a> [<a href=\"/peterc\">peterc</a>] </td>\n </tr>\n \n <tr class=\"\">\n <td class=\"icon\"> <img alt=\"file\" src=\"http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" /> </td>\n <td class=\"content\"> <a href=\"/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/Rakefile\" id=\"0822c45bc24822baaa2572c1aa6deba262233685\">Rakefile</a></td>\n \n <td class=\"age\"> <span class=\"relatize\">Fri Jun 18 20:31:30 -0700 2010</span> </td>\n <td class=\"message\"> <a href=\"/peterc/pismo/commit/3275e62eda5ee2413786d330da66d2313281bef0\" class=\"message\" title=\"Support URLs that have HTTP in all-caps\">Support URLs that have HTTP in all-caps</a> [<a href=\"/peterc\">peterc</a>] </td>\n </tr>\n \n <tr class=\"alt\">\n <td class=\"icon\"> <img alt=\"file\" src=\"http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" /> </td>\n <td class=\"content\"> <a href=\"/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/VERSION\" id=\"b6160487433ba524a39a93cde5a330f7e71d0d39\">VERSION</a></td>\n \n <td class=\"age\"> <span class=\"relatize\">Sat Jun 19 20:28:45 -0700 2010</span> </td>\n <td class=\"message\"> <a href=\"/peterc/pismo/commit/e440ee4370ca238ab5d332f60387430c377e8ccf\" class=\"message\" title=\"Version bump to 0.6.2\">Version bump to 0.6.2</a> [<a href=\"/peterc\">peterc</a>] </td>\n </tr>\n \n <tr class=\"\">\n <td class=\"icon\"> <img alt=\"directory\" src=\"http://assets2.github.com/images/icons/dir.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" /> </td>\n <td class=\"content\"> <a href=\"/peterc/pismo/tree/86b5cedb014a8238a3b12694fd6d4f519cdea989/bin\" id=\"0e25fc5d9fa67a103bbcb195d32e41be71834019\">bin/</a></td>\n \n <td class=\"age\"> <span class=\"relatize\">Sat Jun 19 19:49:24 -0700 2010</span> </td>\n <td class=\"message\"> <a href=\"/peterc/pismo/commit/096dc0b2dbd90d3a2f6830f3137f0b6c09986462\" class=\"message\" title=\"Stopped pismo CLI client catching exceptions\">Stopped pismo CLI client catching exceptions</a> [<a href=\"/peterc\">peterc</a>] </td>\n </tr>\n \n <tr class=\"alt\">\n <td class=\"icon\"> <img alt=\"directory\" src=\"http://assets2.github.com/images/icons/dir.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" /> </td>\n <td class=\"content\"> <a href=\"/peterc/pismo/tree/86b5cedb014a8238a3b12694fd6d4f519cdea989/lib\" id=\"12d7f79eb69caae0bd1636916a691d4c22414a57\">lib/</a></td>\n \n <td class=\"age\"> <span class=\"relatize\">Fri Jun 25 20:24:16 -0700 2010</span> </td>\n <td class=\"message\"> <a href=\"/peterc/pismo/commit/1bc860968d3156563c2683baaec56d7387fcc4e7\" class=\"message\" title=\"Slightly saner author extraction rule ordering\">Slightly saner author extraction rule ordering</a> [<a href=\"/peterc\">peterc</a>] </td>\n </tr>\n \n <tr class=\"\">\n <td class=\"icon\"> <img alt=\"file\" src=\"http://assets3.github.com/images/icons/txt.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" /> </td>\n <td class=\"content\"> <a href=\"/peterc/pismo/blob/86b5cedb014a8238a3b12694fd6d4f519cdea989/pismo.gemspec\" id=\"a5372a3694f763e12db70adeada2e8bafa106895\">pismo.gemspec</a></td>\n \n <td class=\"age\"> <span class=\"relatize\">Sat Jun 19 20:28:48 -0700 2010</span> </td>\n <td class=\"message\"> <a href=\"/peterc/pismo/commit/519b6b8d15542c3b4f05781f42ba62a5681a06fc\" class=\"message\" title=\"Regenerated gemspec for version 0.6.2\">Regenerated gemspec for version 0.6.2</a> [<a href=\"/peterc\">peterc</a>] </td>\n </tr>\n \n <tr class=\"alt\">\n <td class=\"icon\"> <img alt=\"directory\" src=\"http://assets2.github.com/images/icons/dir.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" /> </td>\n <td class=\"content\"> <a href=\"/peterc/pismo/tree/86b5cedb014a8238a3b12694fd6d4f519cdea989/test\" id=\"4c4e73ce3ced7812552610fdf039b22fb2a60bd6\">test/</a></td>\n \n <td class=\"age\"> <span class=\"relatize\">Fri Jun 25 20:18:53 -0700 2010</span> </td>\n <td class=\"message\"> <a href=\"/peterc/pismo/commit/e9efb71c59deb2a74f109a910cc75546f2029939\" class=\"message\" title=\"Don't check YouTube for content since there isn't any\">Don't check YouTube for content since there isn...</a> [<a href=\"/peterc\">peterc</a>] </td>\n </tr>\n \n </table>\n</div>\n\n \n\n \n\n\n \n\n <div id=\"readme\" class=\"announce markdown\"><span class=\"name\">README.markdown</span><div class=\"wikistyle\"><h1>pismo - Web page content analysis and metadata extraction</h1>\n\n<h2>DESCRIPTION:</h2>\n\n<p>Pismo extracts machine-usable metadata from unstructured (or poorly structured) English-language HTML documents.\nData that Pismo can extract include titles, feed URLs, ledes, body text, image URLs, date, and keywords.\nPismo is used heavily in production on http://coder.io/ to extract data from Web pages.</p>\n\n<p>All tests pass on Ruby 1.8.7 (MRI) and Ruby 1.9.1-p378 (MRI).</p>\n\n<h2>USAGE:</h2>\n\n<p>A basic example of extracting basic metadata from a Web page:</p>\n\n<pre><code>require 'pismo'\n\n# Load a Web page (you could pass an IO object or a string with existing HTML data along, as you prefer)\ndoc = Pismo::Document.new('http://www.rubyinside.com/cramp-asychronous-event-driven-ruby-web-app-framework-2928.html')\n\ndoc.title # => \"Cramp: Asychronous Event-Driven Ruby Web App Framework\"\ndoc.author # => \"Peter Cooper\"\ndoc.lede # => \"Cramp (GitHub repo) is a new, asynchronous evented Web app framework by Pratik Naik of 37signals (and the Rails core team). It's built around Ruby's EventMachine library and was designed to use event-driven I/O throughout - making it ideal for situations where you need to handle a large number of open connections (such as Comet systems or streaming APIs.)\"\ndoc.keywords # => [[\"cramp\", 7], [\"controllers\", 3], [\"app\", 3], [\"basic\", 2], ..., ... ]\n</code></pre>\n\n<p>There's also a shorter \"convenience\" method which might be handy in IRB - it does the same as Pismo::Document.new:</p>\n\n<pre><code>Pismo['http://www.rubyflow.com/items/4082'].title # => \"Install Ruby as a non-root User\"\n</code></pre>\n\n<p>The current metadata methods are:</p>\n\n<ul>\n<li>title</li>\n<li>titles</li>\n<li>author</li>\n<li>authors</li>\n<li>lede</li>\n<li>keywords</li>\n<li>sentences(qty)</li>\n<li>body</li>\n<li>html_body</li>\n<li>feed</li>\n<li>feeds</li>\n<li>favicon</li>\n<li>description</li>\n<li>datetime</li>\n</ul>\n\n\n<p>These methods are not fully documented here yet - you'll just need to try them out. The plural methods like #titles, #authors, and #feeds will return multiple matches in an array, if present. This is so you can use your own techniques to choose a \"best\" result in ambiguous cases.</p>\n\n<p>The html_body and body methods will be of particular interest. They return the \"body\" of the page as determined by Pismo's \"Reader\" (like Arc90's Readability or Safari Reader) algorithm. #body returns it as plain-text, #html_body maintains some basic HTML styling.</p>\n\n<h2>CAVEATS AND SHORTCOMINGS:</h2>\n\n<p>There are some shortcomings or problems that I'm aware of and am going to pursue:</p>\n\n<ul>\n<li>I do not know how Pismo fares on Rubinius or other versions of 1.9 (e.g. 1.9.2) yet</li>\n<li>pismo does not install on JRuby due to a problem in the fast-stemmer dependency</li>\n<li>The \"Reader\" content extraction algorithm is not perfect. It can sometimes return crap and can barf on certain types of characters for sentence extraction.</li>\n<li>The author name extraction isn't very strong.</li>\n<li>The image extraction only handles images with absolute URLs.</li>\n<li>The stopword list leaves a bit to be desired. It errs on the side of being too long rather than too short, though (1024 words long!)</li>\n</ul>\n\n\n<h2>OTHER GROOVY STUFF:</h2>\n\n<h3>Command Line Tool</h3>\n\n<p>A command line tool called \"pismo\" is included so that you can get metadata about a page from the command line. This is\ngreat for testing, or perhaps calling it from a non Ruby script. The output is currently in YAML.</p>\n\n<h4>Usage:</h4>\n\n<pre><code>./bin/pismo http://www.rubyinside.com/cramp-asychronous-event-driven-ruby-web-app-framework-2928.html title lede author datetime\n</code></pre>\n\n<h4>Output:</h4>\n\n<pre><code>--- \n:url: http://www.rubyinside.com/cramp-asychronous-event-driven-ruby-web-app-framework-2928.html\n:title: \"Cramp: Asychronous Event-Driven Ruby Web App Framework\"\n:lede: Cramp (GitHub repo)is a new, asynchronous evented Web app framework by Pratik Naik of 37signals\n:author: Peter Cooper\n:datetime: 2010-01-07 12:00:00 +00:00\n</code></pre>\n\n<p>If you call pismo without any arguments (except a URL), it starts an IRB session so you can directly work in Ruby. The URL provided is loaded\nand assigned to both the constant 'P' and the variable @p.</p>\n\n<h3>Stopword access</h3>\n\n<p>You can access Pismo's stopword list directly:</p>\n\n<pre><code>Pismo.stopwords # => [.., .., ..]\n</code></pre>\n\n<h2>Note on Patches/Pull Requests</h2>\n\n<ul>\n<li>Fork the project.</li>\n<li>Make your feature addition or bug fix.</li>\n<li>Add tests for it. This is important so I don't break it in a future version unintentionally.</li>\n<li>Commit, do not mess with Rakefile, version, or history as it's handled by Jeweler (which is awesome, btw).</li>\n<li>Send me a pull request. I may or may not accept it (sorry, practicality rules.. but message me and we can talk!)</li>\n</ul>\n\n\n<h2>COPYRIGHT AND LICENSE</h2>\n\n<p>Apache 2.0 License - See LICENSE for details.\nCopyright (c) 2009, 2010 Peter Cooper</p>\n\n<p>In short, you can use Pismo for whatever you like commercial or not, but please include a brief credit (as in the NOTICE file - as per the Apache 2.0 License) somewhere deep in your license file or similar, and, if you're nice and have the time, let me know if you're using it and/or share any significant changes or improvements you make.</p>\n\n<p>http://github.com/peterc/pismo</p>\n</div></div>\n\n\n\n </div>\n \n \n\n <div class=\"push\"></div>\n </div>\n\n <div id=\"footer\">\n <div class=\"site\">\n <div class=\"info\">\n <div class=\"links\">\n <a href=\"http://github.com/blog\"><b>Blog</b></a> |\n <a href=\"http://support.github.com\">Support</a> |\n <a href=\"http://github.com/training\">Training</a> |\n <a href=\"http://github.com/contact\">Contact</a> |\n <a href=\"http://develop.github.com\">API</a> |\n <a href=\"http://status.github.com\">Status</a> |\n <a href=\"http://twitter.com/github\">Twitter</a> |\n <a href=\"http://help.github.com\">Help</a> |\n <a href=\"http://github.com/security\">Security</a>\n </div>\n <div class=\"company\">\n ©\n 2010\n <span id=\"_rrt\" title=\"0.07960s from fe1.rs.github.com\">GitHub</span> Inc.\n All rights reserved. |\n <a href=\"/site/terms\">Terms of Service</a> |\n <a href=\"/site/privacy\">Privacy Policy</a>\n </div>\n </div>\n <div class=\"sponsor\">\n <div>\n Powered by the <a href=\"http://www.rackspace.com \">Dedicated\n Servers</a> and<br/> <a href=\"http://www.rackspacecloud.com\">Cloud\n Computing</a> of Rackspace Hosting<span>®</span>\n </div>\n <a href=\"http://www.rackspace.com\">\n <img alt=\"Dedicated Server\" src=\"http://assets2.github.com/images/modules/footer/rackspace_logo.png?4145dfae543db1df6d2a0c8c31d5916c23ba6779\" />\n </a>\n </div>\n </div>\n </div>\n\n \n \n <div class=\"locales\">\n <div class=\"site\">\n <ul class=\"choices\">\n \n \n <li><a class=\"current\" href=\"#\">English</a></li>\n \n \n \n \n <li><a href=\"?locale=ca\">Catal\303\240</a></li>\n \n \n \n \n \n <li><a href=\"?locale=cs\">\304\214e\305\241tina</a></li>\n \n \n \n \n \n <li><a href=\"?locale=de\">Deutsch</a></li>\n \n \n \n \n \n <li><a href=\"?locale=es\">Espa\303\261ol</a></li>\n \n \n \n \n \n <li><a href=\"?locale=fr\">Fran\303\247ais</a></li>\n \n \n \n \n \n <li><a href=\"?locale=hr\">Hrvatski</a></li>\n \n \n \n \n \n <li><a href=\"?locale=id\">Indonesia</a></li>\n \n \n \n \n \n <li><a href=\"?locale=it\">Italiano</a></li>\n \n \n \n \n \n <li><a href=\"?locale=ja\">\346\227\245\346\234\254\350\252\236</a></li>\n \n \n \n \n \n <li><a href=\"?locale=nl\">Nederlands</a></li>\n \n \n \n \n \n <li><a href=\"?locale=no\">Norsk</a></li>\n \n \n \n \n \n <li><a href=\"?locale=pl\">Polski</a></li>\n \n \n \n \n \n <li><a href=\"?locale=pt-BR\">Portugu\303\252s (BR)</a></li>\n \n \n \n \n \n <li><a href=\"?locale=sr\">\320\241\321\200\320\277\321\201\320\272\320\270</a></li>\n \n \n \n \n \n <li><a href=\"?locale=sv\">Svenska</a></li>\n \n \n \n </ul>\n </div>\n </div>\n \n \n <script>window._auth_token = \"652cd7f316708fc9c13d4dc8c2d3189ded826f23\"</script>\n \n\n <script type=\"text/javascript\">\n _kmq.push(['trackClick', 'entice_banner_link', 'Entice banner clicked']);\n \n </script>\n \n </body>\n</html>\n\n", @url="http://github.com/peterc/pismo"> | |
>> pismo.keywords | |
/Users/briandoll/.rvm/gems/ruby-1.8.7-p249/gems/pismo-0.6.2/lib/pismo/reader.rb:144: [BUG] Segmentation fault | |
ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-darwin10.3.1] | |
Abort trap | |
# | |
# If we omit the display of the pismo content to our irb session, it works | |
>> require 'pismo' | |
=> true | |
>> pismo = Pismo::Document.new("http://github.com/peterc/pismo"); puts nil | |
nil | |
=> nil | |
>> pismo.keywords | |
=> [["pismo", 10], ["description", 10], ["ruby", 6], ["script", 5], ["body", 5], ["web", 5], ["io", 5], ["license", 5], ["extraction", 4], ["methods", 3], ["command", 3], ["cramp", 3], ["titles", 3], ["page", 3], ["html", 3], ["data", 3], ["return", 3], ["metadata", 3], ["reader", 3], ["urls", 3]] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment