3

Tumblr API 确实令人印象深刻,因为它允许我直接发布到博客中。不过,我也想添加metaTwitter 卡。有什么办法可以做到这一点?

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

1 回答 1

1

Tumblr API 不支持向帖子添加任意元数据,但您可以meta通过重用已存储在 Tumblr 中的内容并添加适当的 Tumblr 标记,将所需的 HTML 元素添加到提供给访问者的博客帖子输出中。

转到 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 模板标签。此示例将仅支持链接帖子。

于 2015-07-28T01:40:33.067 回答