From b9f2c104f0e6c592f41b6f6cd854cca57d93d112 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Sat, 27 May 2017 13:36:19 -0400 Subject: [PATCH] Allow twitter cards to have (optional) images. --- IcculusFinger_daemon.pl | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/IcculusFinger_daemon.pl b/IcculusFinger_daemon.pl index e4db132..9aad7c5 100755 --- a/IcculusFinger_daemon.pl +++ b/IcculusFinger_daemon.pl @@ -85,6 +85,8 @@ # 2.1.26: Added Markdown support, removed
 tags and workarounds for it.
 #          A few other output fixes.
 #  2.1.27: Added metadata support for Twitter Cards and summaries.
+#  2.1.28: Added optional alternate URL syntax, use summaries in RSS feeds.
+#          Added Twitter card images.
 #-----------------------------------------------------------------------------
 
 # !!! TODO: If an [img] isn't in a link tag, make it link to the image.
@@ -703,15 +705,35 @@ sub output_start {
     if (defined $metadata{'twitter'}) {
         my $uname = $metadata{'twitter'};
         my $summary = $metadata{'summary'};
+        my $image = $metadata{'image'};
+        my $largeimage = $metadata{'large_image'};
         my $titlestr = $title;
+        my $cardtype = 'summary';
+        my $imageurl = undef;
+
         # !!! FIXME: we need a proper HTML encoder.
         $uname =~ s/'/&\#39/g;
         $titlestr =~ s/'/&\#39/g;
         $summary =~ s/'/&\#39/g;
-        $twitter .= "\n";
+
+        if (defined $image) {
+            $image =~ s/'/&\#39/g;
+            $imageurl = $image;
+        }
+
+        if (defined $largeimage) {
+            $largeimage =~ s/'/&\#39/g;
+            $cardtype = 'summary_large_image';
+            $imageurl = $largeimage;
+        }
+
+        $twitter .= "\n";
         $twitter .= "\n";
         $twitter .= "\n";
         $twitter .= "\n";
+        if (defined $imageurl) {
+            $twitter .= "\n";
+        }
     }
 
     print <<__EOF__ if not $embed;
@@ -720,7 +742,7 @@ sub output_start {
   
      $title 
     $rssdigest
-    $twitter
+$twitter
 __EOF__
 
 	print "