Tumblr API非常令人印象深刻,因为它允许我直接发布到博客中。不过我想为Twitter卡添加meta
。有没有办法实现这个目标?
client = pytumblr.TumblrRestClient(
app.config['CONSUMER_KEY'],
app.config['CONSUMER_SECRET'],
app.config['OAUTH_TOKEN'],
app.config['OAUTH_SECRET'],
)
if news.is_published:
body = ''
if news.image_url_list and len(news.image_url_list) > 0:
body = '<img src="{0}" /><br/>'.format(news.image_url_list[0])
slug = Slugify.slugify(news.head_line)
post = client.create_text("xxx.tumblr.com",
state="published",
tags=news.tag_list,
format='html',
slug=slug,
title=news.head_line,
body=body + news.summary.encode('utf-8'))
如何将这些元标记添加到博客帖子中?
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@flickr" />
<meta name="twitter:title" content=? news.head_line ? />
<meta name="twitter:description" content=? news.description ? />
<meta name="twitter:image" content=? news.image_url_list[0] ? />
答案 0 :(得分:1)
Tumblr API不支持向帖子添加任意元数据,但您可以通过重复使用已存储在Tumblr中的内容并添加适当的内容,将所需的meta
HTML元素添加到为访问者提供的博客帖子输出中Tumblr标记。
转到Tumblr,您的帐户,Tumblr博客,“编辑外观”,“编辑主题”,“编辑HTML”,并添加仅在帖子页面上执行的输出块:
<html>
<head>
<!-- ... -->
<!-- Only show on permalink pages (blog post) -->
{block:PostTitle}
<!-- Iterate over all post types -->
{block:Posts}
<!-- For Link posts, output this -->
{block:Link}
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@example" />
<meta name="twitter:title" content="{Name}" />
<meta name="twitter:description" content="{Description}" />
<meta name="twitter:image" content="{Thumbnail-HighRes}" />
{/block:Link}
{/block:Posts}
{/block:PostTitle}
<!-- ... -->
</head>
<body>
<!-- ... -->
</body>
</html>
您需要为每种帖子类型添加额外的{block:Something}
Tumblr template tags。此示例仅支持链接帖子。