|
| 1 | +<p align="center"> |
| 2 | +<img src="https://user-images.githubusercontent.com/22412567/137740516-d9e97af0-fb3b-4dab-b331-671a9a2a3a63.png" alt="Artalk" width="100%"> |
| 3 | +</p> |
| 4 | + |
| 5 | +# Artalk |
| 6 | + |
| 7 | +[](https://www.npmjs.com/package/artalk) |
| 8 | +[](https://www.npmjs.com/package/artalk) |
| 9 | +[](https://bundlephobia.com/package/artalk) |
| 10 | +[](https://circleci.com/gh/ArtalkJS/Artalk/tree/master) |
| 11 | + |
| 12 | +> 🌌 A Self-hosted comment system |
| 13 | +
|
| 14 | +[简体中文](./README.md) / [Documentation](https://artalk.js.org) / [Releases](https://github.com/ArtalkJS/Artalk/releases) / [Artalk](https://github.com/ArtalkJS/Artalk) |
| 15 | + |
| 16 | +--- |
| 17 | + |
| 18 | +- 🍃 Lightweight (~30kB) |
| 19 | +- 👨👧👦 Secure (Self-hosted) |
| 20 | +- 🐳 Easy to use (Very Easy) |
| 21 | +- 🍱 Golang backend (Fast and Cross Platform) |
| 22 | +- 🌊 TypeScript × Vanilla × Vite (No Dependencies) |
| 23 | + |
| 24 | +## Features |
| 25 | + |
| 26 | +- Sidebar: Multi-site centralized management |
| 27 | +- Notification Center: Red badge alert / Mark as read |
| 28 | +- Verification: User Verification Badge / Password access |
| 29 | +- Moderation: Anti-spam detection / Captcha frequency limit |
| 30 | +- Emoticons: Insert emoji / Quickly import presets |
| 31 | +- Email Notify: Template customization / Send to multi-admin |
| 32 | +- Site Isolation: Multi-site management / Admin assignment |
| 33 | +- Page Management: Provide page title / Easy to look up |
| 34 | +- Image Upload: Upload to localhost / various remote image host |
| 35 | +- Private Space Mode: Only visible to yourself / Message board |
| 36 | +- Multiple Msg Pushers: Support Telegram / Slack / LINE |
| 37 | +- Nested Comments: Switchable to Flat Mode |
| 38 | +- Comment Vote: For or against comments |
| 39 | +- Comment Sort: Sort by popularity or time |
| 40 | +- Comment PIN: Pin important comments |
| 41 | +- Track only author: Show only author's comments |
| 42 | +- Asynchronous: Send comments without waiting |
| 43 | +- Infinite Scrolling: Provide various comment content pagination custom |
| 44 | +- AutoSave: A anti-lost editor |
| 45 | +- AutoFill: Autofill user profile |
| 46 | +- Preview: Real-time preview of markdown |
| 47 | +- Dark Mode: Prevents eye disease damage |
| 48 | +- Collapse Comment: I do not want you to see this comment |
| 49 | +- Data Backup: Prevent comment data loss |
| 50 | +- Data Migration: Switch back and forth between different commenting systems |
| 51 | +- Multiple comments on one page: Multiple comment areas on one page (seems useless |
| 52 | +- Markdown: Markdown syntax was supported by default |
| 53 | +- LaTex support: Import KaTex plugin to integrate LaTex parser for artalk |
| 54 | +- Using [Vite](https://github.com/vitejs/vite): The ultimate developer experience |
| 55 | + |
| 56 | +## Getting Started |
| 57 | + |
| 58 | +Reference to:[**Documentation**](https://artalk.js.org/guide/deploy.html) |
| 59 | + |
| 60 | +```sh |
| 61 | +$ pnpm add artalk |
| 62 | +``` |
| 63 | + |
| 64 | +```ts |
| 65 | +import Artalk from 'artalk' |
| 66 | + |
| 67 | +Artalk.init({ |
| 68 | + el: '#Comments', |
| 69 | + pageKey: 'http://your_domain/post/1', // Page Link |
| 70 | + pageTitle: 'The title of your page', // Page Title |
| 71 | + server: 'http://localhost:8080/api', // Server URL |
| 72 | + site: 'Site Name', |
| 73 | + locale: 'en' |
| 74 | +}) |
| 75 | +``` |
| 76 | + |
| 77 | +### Docker |
| 78 | + |
| 79 | +```sh |
| 80 | +docker run -d \ |
| 81 | + --name artalk \ |
| 82 | + -p 8080:23366 \ |
| 83 | + -v $(pwd)/data:/data \ |
| 84 | + artalk/artalk-go |
| 85 | +``` |
| 86 | + |
| 87 | +### Docker Compose |
| 88 | + |
| 89 | +```sh |
| 90 | +mkdir Artalk |
| 91 | +cd Artalk |
| 92 | + |
| 93 | +vim docker-compose.yaml |
| 94 | +``` |
| 95 | + |
| 96 | +```yaml |
| 97 | +version: "3.5" |
| 98 | +services: |
| 99 | + artalk: |
| 100 | + container_name: artalk |
| 101 | + image: artalk/artalk-go |
| 102 | + ports: |
| 103 | + - 8080:23366 |
| 104 | + volumes: |
| 105 | + - ./data:/data |
| 106 | +``` |
| 107 | +
|
| 108 | +```sh |
| 109 | +docker-compose up -d |
| 110 | +``` |
| 111 | + |
| 112 | +## Development |
| 113 | + |
| 114 | +see [CONTRIBUTING.md](./CONTRIBUTING.md) |
| 115 | + |
| 116 | +## Contributors |
| 117 | + |
| 118 | +[](https://github.com/ArtalkJS/Artalk/graphs/contributors) |
| 119 | + |
| 120 | +## Supporters |
| 121 | + |
| 122 | +[](https://github.com/ArtalkJS/Artalk/stargazers) |
| 123 | + |
| 124 | +## Feedback |
| 125 | + |
| 126 | +Thanks for the help and feedback provided by the community, if you have good suggestions or comments, please go to [issues](https://github.com/ArtalkJS/Artalk/issues) to let us know at any time. |
| 127 | + |
| 128 | +## Stargazers over time |
| 129 | + |
| 130 | +[](https://starchart.cc/ArtalkJS/Artalk) |
| 131 | + |
| 132 | +## License |
| 133 | + |
| 134 | +[MIT](./LICENSE) |
| 135 | + |
| 136 | +[](https://app.fossa.com/projects/git%2Bgithub.com%2FArtalkJS%2FArtalk?ref=badge_shield) |
| 137 | + |
| 138 | +[](https://app.fossa.com/projects/git%2Bgithub.com%2FArtalkJS%2FArtalk?ref=badge_large) |
0 commit comments