Merge commit 'smcv/force-uuids' into force-uuids
authorJoey Hess <joey@kodama.kitenet.net>
Sat, 12 Jul 2008 14:43:22 +0000 (10:43 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Sat, 12 Jul 2008 14:43:22 +0000 (10:43 -0400)
IkiWiki/Plugin/inline.pm
IkiWiki/Plugin/meta.pm
templates/atomitem.tmpl
templates/rssitem.tmpl

index 8890e5ed068c3b0dad86d8def01c7ce1016434c2..9a63ea1c95cd11f9fdaa89da7d3e97ae08b8d2df 100644 (file)
@@ -442,6 +442,13 @@ sub genfeed ($$$$@) { #{{{
                        mdate_3339 => date_3339($pagemtime{$p}),
                );
 
+               if (exists $pagestate{$p} &&
+                   exists $pagestate{$p}{meta}{uuid}) {
+                       my $atom_id = $pagestate{$p}{meta}{uuid};
+
+                       $itemtemplate->param(uuid => $atom_id);
+               }
+
                if ($itemtemplate->query(name => "enclosure")) {
                        my $file=$pagesources{$p};
                        my $type=pagetype($file);
index 671060fbfa677e300a1f5ec7036c1488957e88bf..02c99e9f67db1e62327d7a8108f6c570f5e17fb5 100644 (file)
@@ -84,6 +84,16 @@ sub preprocess (@) { #{{{
                $pagestate{$page}{meta}{description}=HTML::Entities::encode_numeric($value);
                # fallthrough
        }
+       elsif ($key eq 'uuid') {
+               my $abs = $value;
+
+               if ($abs =~ m/^[[:xdigit:]]{8}-[[:xdigit:]]{4}-[[:xdigit]]{4}-[[:xdigit:]]{4}-[[:xdigit:]]{12}$/) {
+                       $abs = lc "urn:uuid:$abs";
+               }
+
+               $pagestate{$page}{meta}{uuid}=HTML::Entities::encode_numeric($abs);
+               # fallthrough
+       }
        elsif ($key eq 'license') {
                push @{$metaheaders{$page}}, '<link rel="license" href="#page_license" />';
                $pagestate{$page}{meta}{license}=$value;
index 1b1d686dddebb0d830e1c32e2c203cf5c03469ff..fdc629e39027ce0002e28a82f209974ee9f6b9be 100644 (file)
@@ -1,6 +1,10 @@
 <entry>
        <title><TMPL_VAR TITLE></title>
-       <id><TMPL_VAR URL></id>
+       <TMPL_IF NAME="UUID">
+         <id><TMPL_VAR UUID></id>
+       <TMPL_ELSE>
+         <id><TMPL_VAR URL></id>
+       </TMPL_IF>
        <link href="<TMPL_VAR PERMALINK>"/>
        <TMPL_IF NAME="AUTHOR">
         <author><name><TMPL_VAR AUTHOR ESCAPE=HTML></name></author>
index f22e5e3fb99c3cba669bccc860618559aad4de5a..4e202026910005ce740c889b0555961a29ad3a34 100644 (file)
@@ -5,7 +5,11 @@
        <TMPL_ELSE>
        <title><TMPL_VAR TITLE></title>
        </TMPL_IF>
-       <guid><TMPL_VAR URL></guid>
+       <TMPL_IF NAME="UUID">
+         <guid isPermaLink="no"><TMPL_VAR UUID></guid>
+       <TMPL_ELSE>
+         <guid><TMPL_VAR URL></guid>
+       </TMPL_IF>
        <link><TMPL_VAR PERMALINK></link>
        <TMPL_IF NAME="CATEGORIES">
        <TMPL_LOOP NAME="CATEGORIES">