From cd26953e89eca9d3a1b1ef041dc3cf59cb630d69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=AF=E7=81=AB=E9=98=91=E7=8F=8A?= <47273274+clover1420@users.noreply.github.com> Date: Mon, 8 Jan 2024 10:38:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0Twikoo=20(#732)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/twikoo/1.6.27/.env.sample | 3 + apps/twikoo/1.6.27/data.yml | 17 +++ apps/twikoo/1.6.27/docker-compose.yml | 21 ++++ apps/twikoo/README.md | 137 +++++++++++++++++++++++++ apps/twikoo/arm32v7/.env.sample | 3 + apps/twikoo/arm32v7/data.yml | 17 +++ apps/twikoo/arm32v7/docker-compose.yml | 21 ++++ apps/twikoo/data.yml | 20 ++++ apps/twikoo/logo.png | Bin 0 -> 3268 bytes 9 files changed, 239 insertions(+) create mode 100644 apps/twikoo/1.6.27/.env.sample create mode 100644 apps/twikoo/1.6.27/data.yml create mode 100644 apps/twikoo/1.6.27/docker-compose.yml create mode 100644 apps/twikoo/README.md create mode 100644 apps/twikoo/arm32v7/.env.sample create mode 100644 apps/twikoo/arm32v7/data.yml create mode 100644 apps/twikoo/arm32v7/docker-compose.yml create mode 100644 apps/twikoo/data.yml create mode 100644 apps/twikoo/logo.png diff --git a/apps/twikoo/1.6.27/.env.sample b/apps/twikoo/1.6.27/.env.sample new file mode 100644 index 000000000..983eeae17 --- /dev/null +++ b/apps/twikoo/1.6.27/.env.sample @@ -0,0 +1,3 @@ +CONTAINER_NAME="twikoo" +PANEL_APP_PORT_HTTP="40063" +DATA_PATH="./data" diff --git a/apps/twikoo/1.6.27/data.yml b/apps/twikoo/1.6.27/data.yml new file mode 100644 index 000000000..40a84f1c8 --- /dev/null +++ b/apps/twikoo/1.6.27/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: 40063 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: ./data + edit: true + envKey: DATA_PATH + labelEn: Data folder path + labelZh: 数据文件夹路径 + required: true + type: text diff --git a/apps/twikoo/1.6.27/docker-compose.yml b/apps/twikoo/1.6.27/docker-compose.yml new file mode 100644 index 000000000..85e92486b --- /dev/null +++ b/apps/twikoo/1.6.27/docker-compose.yml @@ -0,0 +1,21 @@ +version: '3' +services: + twikoo: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8080" + volumes: + - "${DATA_PATH}:/app/data" + environment: + - "TWIKOO_THROTTLE=1000" + - "TWIKOO_PORT=8080" + image: imaegoo/twikoo:1.6.27 + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/twikoo/README.md b/apps/twikoo/README.md new file mode 100644 index 000000000..edb4f2e6f --- /dev/null +++ b/apps/twikoo/README.md @@ -0,0 +1,137 @@ +Twikoo + +---- + +[![](https://img.shields.io/npm/v/twikoo)](https://www.npmjs.com/package/twikoo) +[![](https://img.shields.io/bundlephobia/minzip/twikoo)](https://bundlephobia.com/result?p=twikoo) +[![](https://img.shields.io/npm/dt/twikoo)](https://www.npmjs.com/package/twikoo) +[![](https://data.jsdelivr.com/v1/package/npm/twikoo/badge)](https://www.jsdelivr.com/package/npm/twikoo) +[![](https://img.shields.io/npm/l/twikoo)](./LICENSE) + +一个**简洁**、**安全**、**免费**的静态网站评论系统。
+A **simple**, **safe**, **free** comment system. +**简体中文** + +## 特色 | Features + +
+点击展开 + +### 简单 + +* 免费搭建(使用云开发 / Vercel / 私有部署评论后台) +* 简单部署(支持云开发 / Vercel 一键部署) + +### 易用 + +* 支持回复、点赞 +* 无需额外适配,支持搭配浅色主题与深色主题使用 +* 支持 API 调用,批量获取文章评论数、最新评论 +* 访客在昵称栏输入 QQ 号,会自动补全 QQ 昵称和 QQ 邮箱 +* 访客填写数字 QQ 邮箱,会使用 QQ 头像作为评论头像 +* 支持评论框粘贴图片(可禁用) +* 支持插入图片(可禁用) +* 支持去不图床、云开发图床 +* 支持插入表情(可禁用) +* 支持 Ctrl + Enter 快捷回复 +* 评论框内容实时保存草稿,刷新不会丢失 +* [支持 Katex 公式](https://twikoo.js.org/faq.html#%E5%A6%82%E4%BD%95%E5%90%AF%E7%94%A8-katex-%E6%94%AF%E6%8C%81) +* 支持按语言的代码高亮 + +### 安全 + +* 隐私信息安全(通过云函数控制敏感字段(邮箱、IP、环境配置等)不会泄露) +* 支持 Akismet 垃圾评论检测(需自行注册 [akismet.com](https://akismet.com/)) +* 支持腾讯云内容安全垃圾评论检测(需自行注册 [腾讯云内容安全](https://console.cloud.tencent.com/cms/text/overview)) +* 支持人工审核模式 +* 防 XSS 注入 +* 支持限制每个 IP 每 10 分钟最多发表多少条评论 + +### 即时 + +* 支持邮件提醒(访客和博主) +* 支持微信提醒(仅针对博主,基于 [Server酱](https://sc.ftqq.com/3.version),需自行注册) +* 支持 QQ 提醒(仅针对博主,基于 [Qmsg酱](https://qmsg.zendee.cn/),需自行注册) + +### 个性 + +* 支持自定义评论框背景图片 +* 支持自定义“博主”标识文字 +* 支持自定义通知邮件模板 +* 支持自定义评论框提示信息(placeholder) +* 支持自定义表情列表(兼容 [OwO 的数据格式](https://cdn.jsdelivr.net/npm/owo@1.0.2/demo/OwO.json)) +* 支持自定义【昵称】【邮箱】【网址】必填 / 选填 +* 支持自定义代码高亮主题 + +### 便捷管理 + +* 内嵌式管理面板,通过密码登录,可方便地查看评论、隐藏评论、删除评论、修改配置 +* 支持隐藏管理入口,通过输入暗号显示 +* 支持从 Valine、Artalk、Disqus 导入评论 + +### 缺点 + +* 不支持 IE + +
+ +## 预览 | Preview + +
+点击展开 + +### 评论 + +![评论](https://github.com/imaegoo/twikoo/raw/main/docs/static/readme-1.png) + +### 评论管理 + +![评论管理](https://github.com/imaegoo/twikoo/raw/main/docs/static/readme-2.png) + +### 推送通知 + +![推送通知](https://github.com/imaegoo/twikoo/raw/main/docs/static/readme-3.jpg) + +
+ +## 快速上手 | Quick Start + +有关详细教程,请查看[快速上手](https://twikoo.js.org/quick-start.html) + +
+如果你想获取更新动态、建言献策、参与测试,欢迎加入讨论群:1080829142 +1080829142 +
+ + + +## 特别感谢 | Special Thanks + +图标设计:[Maemo Lee](https://www.maemo.cc) + + + +## 开发 | Development + +如果您想在本地二次开发,可以参考以下命令: + +``` sh +yarn dev # 开发 (http://localhost:9820/demo.html) +yarn lint # 代码检查 +yarn build # 编译 (dist/twikoo.all.min.js) +``` + +如果您的改动能够帮助到更多人,欢迎提交 Pull Request! + +## 国际化 | I18N + +支持简体中文、繁体中文、English。欢迎[提交翻译 PR](https://github.com/imaegoo/twikoo/edit/main/src/client/utils/i18n/i18n.js)。 + +## 许可 | License + +
+MIT License + +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fimaegoo%2Ftwikoo.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fimaegoo%2Ftwikoo?ref=badge_large) + +
\ No newline at end of file diff --git a/apps/twikoo/arm32v7/.env.sample b/apps/twikoo/arm32v7/.env.sample new file mode 100644 index 000000000..983eeae17 --- /dev/null +++ b/apps/twikoo/arm32v7/.env.sample @@ -0,0 +1,3 @@ +CONTAINER_NAME="twikoo" +PANEL_APP_PORT_HTTP="40063" +DATA_PATH="./data" diff --git a/apps/twikoo/arm32v7/data.yml b/apps/twikoo/arm32v7/data.yml new file mode 100644 index 000000000..40a84f1c8 --- /dev/null +++ b/apps/twikoo/arm32v7/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: 40063 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: ./data + edit: true + envKey: DATA_PATH + labelEn: Data folder path + labelZh: 数据文件夹路径 + required: true + type: text diff --git a/apps/twikoo/arm32v7/docker-compose.yml b/apps/twikoo/arm32v7/docker-compose.yml new file mode 100644 index 000000000..79b76f702 --- /dev/null +++ b/apps/twikoo/arm32v7/docker-compose.yml @@ -0,0 +1,21 @@ +version: '3' +services: + twikoo: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8080" + volumes: + - "${DATA_PATH}:/app/data" + environment: + - "TWIKOO_THROTTLE=1000" + - "TWIKOO_PORT=8080" + image: imaegoo/twikoo:arm32v7 + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/twikoo/data.yml b/apps/twikoo/data.yml new file mode 100644 index 000000000..6bad8e85a --- /dev/null +++ b/apps/twikoo/data.yml @@ -0,0 +1,20 @@ +name: Twikoo +tags: + - 工具 +title: 一个简洁、安全、免费的静态网站评论系统 +type: 工具 +description: 一个简洁、安全、免费的静态网站评论系统 +additionalProperties: + key: twikoo + name: Twikoo + tags: + - Tool + shortDescZh: 一个简洁、安全、免费的静态网站评论系统 + shortDescEn: A simple, safe, free comment system + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://twikoo.js.org + github: https://github.com/imaegoo/twikoo + document: https://twikoo.js.org diff --git a/apps/twikoo/logo.png b/apps/twikoo/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..66bb11849557ceff4b309c30179b8500a3779f13 GIT binary patch literal 3268 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 literal 0 HcmV?d00001