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

How to add meta tags to Tumblr API's blog header?

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'))

如何将这些元标记添加到博客 post?

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

Tumblr API 不支持向 post 添加任意元数据,但您可以向博客添加您想要的 meta HTML 元素 post 通过重复使用已存储在 Tumblr 中的内容并添加适当的 Tumblr 标记来为访问者提供输出。

转到 Tumblr、您的帐户、您的 Tumblr 博客、"Edit Appearance"、"Edit theme"、"Edit HTML",并添加仅在 post 页面上执行的输出块:

<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>

您需要为每个 post 类型添加额外的 {block:Something} Tumblr template tags。这个例子将只支持 Link posts.