MCPcopy Index your code
hub / github.com/ArtitalkJS/Artitalk

github.com/ArtitalkJS/Artitalk @2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2.0 ↗ · + Follow
6 symbols 9 edges 1 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

本文档只用于保存之前数据,无实际用处

Hexo-shuoshuo

基于leancloud提供的存储功能实现的Hexo动态说说界面。

详细教程参考:为你的hexo博客添加动态的(可直接发布说说的)说说页面

Demo: Hexo-shuoshuo

😎功能

  • 在Hexo中显示一个说说页面,并且支持站长实时发布,可移步leancloud后台进行修改。
  • 可直接使用html语法插入歌曲或者图片视频等。

🐷使用方式

  1. 注册leancloud(这里我们要求使用国际版的leancloud,因为不需要绑定备案域名),在leancloud创建应用并添加名为shuoshuo的class。然后找到其中的appId以及appKey,后面会用。
  2. 首先下载或clone本仓库到本地
  3. 在hexo文件夹的source文件下新建一个shuoshuo的文件夹,并在其中创建一个index.md
  4. 编辑index.md的内容为
<script>
var img=""; 
var appID="";
var appKEY=""; 
var passw=""; 
var per=""; 
var relinks="";
</script>
<script type="text/javascript" src="https://github.com/ArtitalkJS/Artitalk/raw/2.0/js/shuoshuov1.2.1.js"></script>
<body>



    <main id="main" class="site-main" role="main">























<textarea id="neirong" placeholder="本页面仅支持站长发表说说,由于特殊原因关闭本页面评论功能" style="width:100%;height:150px;background-image: url(https://cdn.jsdelivr.net/gh/drew233/cdn/20200409110727.webp);background-size: contain;background-repeat: no-repeat;background-position: right;"></textarea>
<button onclick="savecontent()" style="float :right;">biu~</button>
<button onclick="preview()" style="float :right;">预览</button>
<input type="password" id="key" value="" class="mytxt" placeholder="是时候验证你的身份了!" autocomplete="off"/>











</body>

变量含义及作用

  • img: 头像url
  • appID: leancloud的应用appId
  • appKEY: leancloud的应用appKey
  • passw: 这里填写密码(为了不轻易爆露密码,我们这里使用的是md5加密,加密101次,当然如果有些人非要闲的暴力去破解密码也没办法,不过应该不会有这么无聊的人)去这里获取:http://world.codeforces.site/hexo-shuoshuo/ 专用的密码,在输入框输入你想用的密码,点击查看即可。

加密源码

document.write("<script type=\"text/javascript\" src=\"https://cdn.jsdelivr.net/gh/drew233/css/md5.js\"></script>");
var key="";#(你的原密码)
hash = hex_md5(key);
for(var i=0;i<100;i++){
    hash=hex_md5(hash);
}
console.log(hash);
  • per: 每一部分想展示的说说数以及每次点击查看更多的时候显示的说说数
  • relinks: 打开控制台后的跳转页面,保证不被控制台发布说说的措施。本地调试若需使用控制台设为空值即可。

  • 在博客对应的head模板文件中添加css

  <link rel="stylesheet" href="https://github.com/ArtitalkJS/Artitalk/raw/2.0/css/shuoshuov1.0.css" media="all">
  1. 以上js和css的位置请把控好,保证可以加载到,此时就可以了,你可以根据自己的需要调整css

🔒关于安全性

(本方法暂未测试) 因为本js是设定了前端验证,故不能保证绝对安全,但是可以再leancloud中将写入权限关闭,每次发表说说的时候去leancloud中直接添加。 这样就不需要弄密码,直接在leancloud后台的class中新建即可。 可以使用shuoshuov1.2.1-noinput.js 并在index.md中的内容修改为

<script>
var img=""; 
var appID="";
var appKEY=""; 
var passw=""; 
var per=""; 
var relinks="";
</script>
<script type="text/javascript" src="https://github.com/ArtitalkJS/Artitalk/raw/2.0/js/shuoshuov1.2.1.js"></script>
<body>



    <main id="main" class="site-main" role="main">





























</body>

即可。

🙃与valine可能会产生冲突

在head中调用av-min.js即可。若还是不行,欢迎私聊或者题出issues。

😊一些不完美的地方

  • 毕竟是静态的页面,在判断是否为站长的时候还是不可能做到绝对安全的。
  • 因为说说模板中主要用的是html中的liui标签,所以说说内容暂时不支持这两种标签。

🚀更新

  • 2020.4.11 9:01 更新优化时间显示
  • 2020.4.11 9:10 修改密码输入框的type为password,可自选浏览器记住密码。方便以后使用。
  • 2020.4.11 9:58 添加简略的预览,晚些进行样式的美化。
  • 2020.4.11 15:56 添加点击显示更多功能,防止说说太多之后页面过长。
  • 2020.4.13 10:09 ~js中引入关闭右键及F12事件以简单防止某些无聊的人通过控制台恶意发表说说~
  • 2020.4.13 11:05 通过devtools-detect的支持监听控制台打开事件,打开即跳转。F12事件关闭取消,右键禁止保留。

🐛已发现的Bug

  • [] 发表说说得时候,第一次会失败,即使你的密码正确。但并无任何提示,js判断逻辑也无问题,就是没有存储到leancloud,页面重新加载之后 恢复正常 。
  • [x] 不支持<a>标签,于1.2.1版本已修复。
  • [x] Hexo可能会通过自带的渲染插件将"渲染成导致js所需的参数出错。解决办法是在hexo根目录下的_config.yml文件中添加以下语句
kramed:
  smartypants: false
  • [x] 某些Hexo主题可能会对图片的链接进行处理。比如说将图片链接渲染出来的时候添加上a标签,导致所需参数赋值异常。目前想到的办法由两种 一:hexo中自带的标签,标定不渲染的部分,将md文件中的js部分标中选择不渲染 二: 下载js后直接把赋值放在js中 注意,这两种办法都是可以直接解决上面两种bug的(引号和图片链接的渲染)
  • [x] 注意av-min.js全局下只能引用一次(可以改但是我不会)。最好的办法就是在head中引用,把其他部分引用的全删掉。实测不会影响valine地使用,

Core symbols most depended-on inside this repo

ok
called by 1
shuoshuov2.0.js
cbp_tmtimeline
called by 1
shuoshuov2.0.js
seecontent
called by 1
shuoshuov2.0.js
p
called by 0
shuoshuov2.0.js
preview
called by 0
shuoshuov2.0.js
savecontent
called by 0
shuoshuov2.0.js

Shape

Function 6

Languages

TypeScript100%

Modules by API surface

shuoshuov2.0.js6 symbols

For agents

$ claude mcp add Artitalk \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact