如何将元标记添加到Tumblr API的博客标题中?

时间:2015-07-27 20:38:03

标签: python tumblr twitter-card pytumblr

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] ? />

1 个答案:

答案 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。此示例仅支持链接帖子。