{"id":652,"date":"2006-09-03T22:29:29-04:00","date_gmt":"2006-09-04T02:29:29+00:00","guid":{"rendered":"http:\/\/peterjanes.ca\/blog\/2006\/09\/03\/aggressive-canonicalization\/"},"modified":"2006-09-04T14:25:55-04:00","modified_gmt":"2006-09-04T18:25:55+00:00","slug":"aggressive-canonicalization","status":"publish","type":"post","link":"https:\/\/peterjanes.ca\/blog\/2006\/09\/03\/aggressive-canonicalization\/","title":{"rendered":"Aggressive&nbsp;canonicalization"},"content":{"rendered":"<div class='e-content'><blockquote cite=\"http:\/\/www.intertwingly.net\/blog\/2006\/09\/03\/MeMeme\" title=\"Sam Ruby: MeMeme\"><p>Herewith, a simple demonstration of what aggressive canonicalization can produce. [&#8230;] The cache is simply files in Atom 1.0 format, with all textual content normalized to XHTML.<\/p><\/blockquote>\r\n\r\n<p>More importantly for my purposes, Sam&#8217;s <a href=\"http:\/\/intertwingly.net\/code\/venus\/\">Venus<\/a> branch of <a href=\"http:\/\/planetplanet.org\/\">Planet<\/a> also normalizes URLs, which means I can use it to generate a feed so <a href=\"http:\/\/gregarius.net\/\">Gregarius<\/a> (based on <a href=\"http:\/\/magpierss.sourceforge.net\/\">MagpieRSS<\/a>) will no longer mung up relative links in Atom feeds like <a href=\"http:\/\/www.intertwingly.net\/blog\/index.atom\">his<\/a> and <a href=\"http:\/\/www.tbray.org\/ongoing\/ongoing.atom\">Tim Bray&#8217;s<\/a>.  (Neither does my private <a href=\"http:\/\/simplepie.org\/\">SimplePie<\/a>-based branch of Gregarius, but that&#8217;s another story.)<\/p><\/div><div class=\"syndication-links\"><\/div>","protected":false},"excerpt":{"rendered":"Herewith, a simple demonstration of what aggressive canonicalization can produce. [&#8230;] The cache is simply files in Atom 1.0 format, with all textual content normalized to XHTML. More importantly for my purposes, Sam&#8217;s Venus branch of Planet also normalizes URLs, which means I can use it to generate a feed so Gregarius (based on MagpieRSS)&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"mf2_syndication":[],"venue_id":0},"categories":[3],"tags":[],"kind":false,"_links":{"self":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts\/652"}],"collection":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/comments?post=652"}],"version-history":[{"count":0,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts\/652\/revisions"}],"wp:attachment":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/media?parent=652"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/categories?post=652"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/tags?post=652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}