向 Atom 1.0 条目添加图像或缩略图
Posted
技术标签:
【中文标题】向 Atom 1.0 条目添加图像或缩略图【英文标题】:Adding Images or Thumbnails to Atom 1.0 Entries 【发布时间】:2015-06-30 03:43:34 【问题描述】:This *** 回答建议您应该使用 html 条目内容并使用标准的<img>
标记链接到您的图像。
<content type="html">
<![CDATA[
<a href="http://test.lvh.me:3000/listings/341-test-pics?locale=en">
<img src="http://test.lvh.me:3000/system/images/20/medium/test_pic.jpg?1343246102" />
</a>
]]>
</content>
我还发现了一个叫做 Yahoo 媒体扩展 here 的东西,它允许您添加自定义的附加元素。
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
<!-- ommitted -->
<entry>
<!-- ommitted -->
<media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="path_to_image.jpg" />
</entry>
</feed>
Google 似乎也有自己的类似扩展。见here。
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:g="http://base.google.com/ns/1.0">
<!-- ommitted -->
<entry>
<!-- ommitted -->
<g:image_link>http://www.google.com/images/google_sm.gif</g:image_link>
</entry>
</feed>
我自己的直觉告诉我,我应该能够像这样添加指向图像的链接:
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<!-- ommitted -->
<entry>
<!-- ommitted -->
<link rel="enclosure" type="image/png" length="1337"
href="http://example.org/image.png"/>
</entry>
</feed>
实现最大兼容性的正确方法是什么?
【问题讨论】:
我不敢相信像 Atom 1.0 这样的主要互联网基础设施已经 8 年了,文档却如此之少。甚至没有很多关于它的博客文章!!! 我写了一篇博文(在过去几年中我能找到的关于该主题的少数几篇文章之一)here。 【参考方案1】:最好的做法是像 Wordpress RSS 2.0 提要那样做——例如,如果您希望您的帖子图片出现在提要中,请将<p><img...></p>
放在内容的顶部。我的 110 设置在文章内有帖子标题图像,但在提要中使用的 content
变量的内容之外。我解决了添加图像的问题:
<item>
...
<content:encoded>
<![CDATA[<p>% include "src/components/partials/post-hero-img.njk" %</p> post.templateContent | textDeletePresentationDivs | htmlToAbsoluteUrls(absolutePostUrl) | safe ]]>
</content:encoded>
source in git
我检查过,Atom 和 RSS 2.0 提要都没有将帖子图像设置为独立标签。它们只是在文章内容的顶部。
关于你的例子......
“vanilla”Atom RSS 提要有一个架构 xmlns="http://www.w3.org/2005/Atom"
,其文档在 RFC4287 中定义。
据此,“vanilla”Atom RSS 提要严格可以有<logo>
,即 2:1 比例图像,logo of the feed。遗憾的是,它被放置在XML 的根 中(注意规范中的atom:logo
,它不是atom:entry:logo
)。实际上,这意味着,您可以放置 RSS 提要本身的图片,但不能按文章放置。如果您确实将<logo>
放入<entry>
中,则提要不会通过验证器并且帖子图像不会出现在提要中(我试过了)。
此外,规范将 <icon>
定义为模糊的 defined 为一个小的方形图像,也放置在根中。无论如何,Feedly 似乎都能检测到网站的 favicon,尽管在 rss 中明确设置此标签并没有什么坏处。
仅此而已 - Atom 规范并未正式定义如何在每篇文章中放置图像。
这里是额外命名空间的来源(或 RSS 2.0,不同的规范,不同的 XML)。您在示例中提到了xmlns:media="http://search.yahoo.com/mrss/"
。我试过了,帖子的图片不会在feedly中显示。另外,规格链接http://search.yahoo.com/mrss/
没有显示任何规格。
您引用的 Google 命名空间,xmlns:g="http://base.google.com/ns/1.0"
也不起作用,帖子图片不会显示在 feedly 中。
link
方法,<link rel="enclosure" type="image/png" length="1337" href="http://example.org/image.png"/>
将是有希望的,但 length
旨在声明 filesize in bytes。例如,在Eleventy 中,这是一个有问题的值。
总而言之,最好的做法是将帖子标题图片放在内容顶部,<content>
内。
【讨论】:
以上是关于向 Atom 1.0 条目添加图像或缩略图的主要内容,如果未能解决你的问题,请参考以下文章
在 Django Admin 中有 Jcrop 的缩略图吗?
php [WooCommerce Instagram]如果您想将其更改为缩略图或其他图像尺寸,请将此代码添加到您的“自定义功能”区域