Skip to content

文章摘要(可选)

这个教程是教你如何让自己的网页适配文章摘要功能。

你可以首先检查是否支持插件

如果你的网站是目前PostChat所支持插件的网站系统,可以安装PostChat插件,方便快速配置。如果你的网站系统不支持,可以尝试下面的通用教程。

将代码插入到网页

我们需要将PostChat中的代码修改一些参数后插入到网页的任何位置,编辑框你可以直接编辑方便你的修改。

我们可以观察一下代码,里面有tianliGPT_postSelectortianliGPT_key这两个变量,我们需要更改里面的值来适配不同的主题,并且配置更多内容。

获取tianliGPT_postSelector

这里列出一些常见博客主题的选择器值(部分未经过测试,如果有问题欢迎反馈):

主题名称tianliGPT_postSelectortianliGPT_postURL备注
hexo-theme-butterfly#post #article-container无需添加
hexo-theme-fluid#board .post-content无需添加
hexo-theme-next#posts .post-body无需添加
hexo-theme-stellar.md-text.content.post无需添加
hexo-theme-volantis#post #post-body无需添加
hugo-theme-DoIt.page.single:not(.special) .content无需添加
halo-theme-xue#container .article-content #lightGallery无需添加
wordpress: argon#post_content无需添加
wordpress: 7B2#primary-home .entry-content修改里面的域名:b2.7b2.com/*.html
wordpress:pix.single-contenthttps://*/*.html
wordpress: Sakurairo.post .entry-content无需添加
wordpress: 子比主题.single-post .wp-posts-content无需添加
wordpress: CorePress.post-content-content无需添加
wordpress: OneNav.post-template-default .panel-body无需添加
valaxy-theme-yun.content .markdown-body*/posts/*
typecho-bearsimple#post-content #bearsimple-images无需添加
typecho-bearhoney.post-content-block .content无需添加
typecho-handsome#postpage #md_handsome_origin无需添加
typecho-joe.joe_post .joe_detail__article无需添加
typecho-void.articleBody无需添加

如果你的主题不在上面,我们可以继续看通用教程。

打开你的文章界面,按下F12键,打开开发者工具。

点击选择器按钮。

然后鼠标选中到博客的文章。通过滑动鼠标尽可能的让方块涵盖文章中的所有内容。例如:

我的鼠标大致在红色的位置。

然后点击一下。我们可以看到这一行变灰了,说明被选中了。

然后我们鼠标放在灰色部分,来检查选中的部分是否包含整个文章,但是不包含文章外的东西。

很显然,鼠标放在post行时,出现了下方的按钮被选中的情况。

我们观察一些页面结构,发现post里面有多个结构,我们选择符合我们的要求的div元素。

我们发现这一行正好符合我们的要求。

  • 包含了整个文章

  • 不包含文章外的内容

我们右键单击,然后复制这一行的选择器:

复制的内容就是我们的 tianliGPT_postSelector。

常见问题

在不应该出现摘要的界面出现了摘要

你可以再添加一个变量来实现只匹配文章url。这个是通过tianliGPT_postURL来实现。

你可以添加

JavaScript
let tianliGPT_postURL = "";

其中双引号的内容为匹配的文章地址,支持通配符。例如在张洪Heo博客中,文章的地址通常为:

https://blog.zhheo.com/p/8eb7249d.html

https://blog.zhheo.com/p/463d306b.html

所以我们可以填写通用格式:*/p/*.html

高级技巧

以下都是可选变量,如果能正常运行,可以不填写。添加方式就是在填写key的那一段代码的</script>之前添加即可。

例如:<script>let tianliGPT_wordLimit = 2000; let tianliGPT_postURL = '*/p/*'; let tianliGPT_postSelector = '\#article-container';let tianliGPT_key = '这是你的key';</script>

tianliGPT_postURL

当主题存在其他页面和文章页面结构相同时,可以通过通配符url域名来实现只在指定域名中执行。

例如:let tianliGPT_postURL = '*/p/*';

只会在地址含有/p/的域名中执行。避免非文章页面添加。

支持正则表达式,要求格式为/开头和/结尾。例如:let tianliGPT_postURL = "/^https?://[^/]+/[0-9]{4}/[0-9]{2}/[0-9]{2}/"

tianliGPT_blacklist

当你有一些页面不想要使用文章摘要,那么你可以将所有的黑名单放入一个json文件中。例如blacklist.json

json
{
  "blackurls": [
    "https://example.com/somepath/*",
    "https://*.example.com/",
    "https://www.example.org/specificpage.html",
    "http://127.0.0.1:5500/dev.html"
  ]
}

然后添加tianliGPT_blacklist变量,将json文件的地址放入进去,例如:

let tianliGPT_blacklist = 'https://example.com/blacklist.json'

tianliGPT_wordLimit

⚠️危险:更改此变量损失已消耗过的key,因为你提交的内容发生了变化。

可以设置提交的字数限制,默认为1000字。这意味着每个文章最多消耗你1000字符(因为只有提交扣费,生成文本不扣费)。你可以降低字符数来让扣费变得更少,也可以增加字符数让文章变得更准确。上限为5000,超过5000字符将被截断。

例如:let tianliGPT_wordLimit = 1000;

tianliGPT_typingAnimate

当此变量为false时,那么不执行打字动画。

例如:let tianliGPT_typingAnimate = false;

tianliGPT_Title

当设置此变量后,TianGPT顶部的名称“AI摘要”可以被修改。

例如:let tianliGPT_Title = '宇宙无敌智能摘要';

tianliGPT_injectDom

当设置此变量后,文章摘要将不插入到文章之前,而是此变量对应的节点位置。例如你想要插入到class为ai-content的元素内的开头,可以使用下面的变量。

例如:let tianliGPT_injectDom = '.ai-content';

基于TianliGPT构建,由张洪Heo与Tianli设计与开发