All Projects → ArtalkJS → Artalk

ArtalkJS / Artalk

Licence: gpl-2.0
🌌 一款简洁有趣的可拓展评论系统 | A Fast, Slight & Funny Comment System.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Artalk

Pnet
High level Java network library
Stars: ✭ 49 (-55.45%)
Mutual labels:  easy-to-use
Ggvenn
Venn Diagram by ggplot2, with really easy-to-use API.
Stars: ✭ 72 (-34.55%)
Mutual labels:  easy-to-use
Perfectwindows
PerfectWindows 软件家族 - Windows 从未如此完美!
Stars: ✭ 1,326 (+1105.45%)
Mutual labels:  easy-to-use
Slop
Simple Lightweight Option Parsing - ✨ new contributors welcome ✨
Stars: ✭ 1,067 (+870%)
Mutual labels:  easy-to-use
Nat
nat - the 'ls' replacement you never knew you needed
Stars: ✭ 1,129 (+926.36%)
Mutual labels:  easy-to-use
P32929.github.io
Second iteration of my portfolio - created using ReactJS, Material-UI, Overmind, etc
Stars: ✭ 84 (-23.64%)
Mutual labels:  easy-to-use
Docker Archiva
A docker image for Apache Archiva
Stars: ✭ 47 (-57.27%)
Mutual labels:  easy-to-use
Vue3 Sfc Loader
Vue3 Single File Component loader for Vue2 and Vue3. Load .vue files directly from your html/js. No node.js environment, no (webpack) build step.
Stars: ✭ 95 (-13.64%)
Mutual labels:  easy-to-use
Easygameframeworkopen
基于Typescript的渐进式通用游戏前端开发框架
Stars: ✭ 65 (-40.91%)
Mutual labels:  easy-to-use
Literoute
LiteRoute is easy transition for your app. Written on Swift 4
Stars: ✭ 90 (-18.18%)
Mutual labels:  easy-to-use
Golang Paytm
Quick Paytm Integration using Golang
Stars: ✭ 55 (-50%)
Mutual labels:  easy-to-use
Vulkan2drenderer
Easy to use 2D rendering engine using Vulkan API as backend.
Stars: ✭ 60 (-45.45%)
Mutual labels:  easy-to-use
Gt
Easily generate information-rich, publication-quality tables from R
Stars: ✭ 1,260 (+1045.45%)
Mutual labels:  easy-to-use
Nclib
Netcat as a python library
Stars: ✭ 51 (-53.64%)
Mutual labels:  easy-to-use
Libigl Python Bindings
IGL python bindings
Stars: ✭ 95 (-13.64%)
Mutual labels:  easy-to-use
Eyebrows
An eyebrows gradient color animation for android.
Stars: ✭ 49 (-55.45%)
Mutual labels:  easy-to-use
Sumoeasyminer
The most easy, intuitive CPU miner for cryptonote-based cryptocurrency
Stars: ✭ 77 (-30%)
Mutual labels:  easy-to-use
Cli
Get a programmable email address. Automate what happens when you receive emails. It's like Zapier for devs who hate emails.
Stars: ✭ 105 (-4.55%)
Mutual labels:  easy-to-use
Simpledialogfragments
A collection of easy to use and extendable DialogFragment's for Android
Stars: ✭ 94 (-14.55%)
Mutual labels:  easy-to-use
Neuropredict
Easy and comprehensive assessment of predictive power, with support for neuroimaging features
Stars: ✭ 87 (-20.91%)
Mutual labels:  easy-to-use

Artalk

Artalk

一款简洁有趣的自托管评论系统

特性

  • 轻量简洁 (~23kB gzipped)
  • 有趣有爱
  • 自托管
  • Markdown
  • 表情自定
  • 滑稽表情包
  • 管理员密码,防冒名
  • 验证码,提交频率限制
  • 通知中心,邮件提醒
  • 仅管理员可评论
  • 无限层级回复
  • 滚动加载更多
  • 内容自动保存
  • 暗黑模式
  • 评论折叠
  • 一页多个评论
  • TypeScript

查看 DEMO

基本食用方法

前端资源下载:Artalk.js | Artalk.css

  1. 部署 Artalk 的后端,传送门:PHP API / Go API
  2. 前端页面配置 Artalk 如下:
<!DOCTYPE html>
<html>
<head>
  <!-- ... -->
  <link href="dist/Artalk.css" rel="stylesheet">
</head>
<body>
  <div id="ArtalkComments"></div>
  <!-- ... -->
  <script src="dist/Artalk.js"></script>
  <script>
  new Artalk({
    el: '#ArtalkComments', // 元素选择
    placeholder: '来啊,快活啊 ( ゜- ゜)', // 占位符
    noComment: '快来成为第一个评论的人吧~', // 无评论时显示
    pageKey: '[页面唯一标识]',
    serverUrl: '[后端程序URL]',
    readMore: { // 阅读更多配置
      pageSize: 15, // 每次请求获取评论数
      autoLoad: true // 滚动到底部自动加载
    }
  });
  </script>
</body>
</html>

前端更多 QuickStart 栗子,请参考 /example/ 目录

一些进阶的操作

点我给你看

自定义头像 Gravatar 镜像源

Artalk 依赖于 Gravatar 服务,但 Gravatar 在部分地区可能会出现连接问题。

可通过以下配置解决:

new Artalk({
  gravatar: {
    cdn: 'https://cdn.v2ex.com/gravatar/'
  }

  // ... 你的其他配置
})

目前默认使用 v2ex 的镜像,如果您有更好的,欢迎反馈~~

默认头像

Gravatar 默认头像,参考:传送门

new Artalk({
  defaultAvatar: 'mp',
  
  // ... 你的其他配置
})

开启暗黑模式

以下给出简单的栗子,可以结合博客主题的暗黑模式食用:

<button onclick="switchDarkMode()">暗黑模式按钮</button>

<script>
var artalk = new Artalk({ // ① 暴露 artalk 变量以供调用
  // ... 各种配置

  darkMode: false,
  // ↑ ② 当 Artalk 初始化时,是否立刻开启暗黑模式
  // ↑ 这里可以直接读取当前主题的模式
})

// ③ 动态设置 Artalk 的暗黑模式
let isDarkMode = false // 读取当前你主题的模式
artalk.ui.setDarkMode(darkMode)

// ④ 你主题 暗黑模式切换按钮 点击时的触发操作
function switchDarkMode() {
  let isDarkMode = true // ...
  artalk.ui.setDarkMode(darkMode)
}
</script>

独立开发新的暗黑模式可以参考:我的栗子 | 如何和操作系统的暗黑模式同步?

自定义表情包

表情包配置格式参考:emoticons.json

// ↓ 首先将表情包数据加载并存到变量中
let eData = {
  // ...
}

new Artalk({
  emoticons: eData

  // ... 你的其他配置
})

前端更多配置项详见 /types/artalk-config.d.ts

开发

点我给你看
git clone https://github.com/ArtalkJS/Artalk.git
cd Artalk
yarn install

# Dev
yarn run dev

# Build
yarn run build

Made with ♥

License

GPL-2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].