|
|
<p align="center">
|
|
|
<img width="170" src="https://raw.githubusercontent.com/go-sonic/resources/master/logo/logo.svg" />
|
|
|
</p>
|
|
|
|
|
|
<p align="center"><b>Sonic </b> [ˈsɒnɪk], Sonic is a Go Blogging Platform. Simple and Powerful.</p>
|
|
|
|
|
|
<p align="center">
|
|
|
<a href="https://github.com/go-sonic/sonic/releases"><img alt="GitHub release" src="https://img.shields.io/github/release/go-sonic/sonic.svg?style=flat-square&include_prereleases" /></a>
|
|
|
<a href="https://github.com/go-sonic/sonic/releases"><img alt="GitHub All Releases" src="https://img.shields.io/github/downloads/go-sonic/sonic/total.svg?style=flat-square" /></a>
|
|
|
<a href="https://hub.docker.com/r/gosonic/sonic"><img alt="Docker pulls" src="https://img.shields.io/docker/pulls/gosonic/sonic?style=flat-square" /></a>
|
|
|
<a href="https://github.com/go-sonic/sonic/commits"><img alt="GitHub last commit" src="https://img.shields.io/github/last-commit/go-sonic/sonic.svg?style=flat-square" /></a>
|
|
|
<br />
|
|
|
<a href="https://t.me/go_sonic">Telegram Channel</a>
|
|
|
</p>
|
|
|
|
|
|
|
|
|
English | [中文](doc/README_ZH.md)
|
|
|
|
|
|
## 📖 Introduction
|
|
|
|
|
|
Sonic means as fast as sound speed. Like its name, sonic is a high-performance blog system developed using golang.
|
|
|
|
|
|
Thanks to the [Halo](https://github.com/halo-dev) project team, who inspired this project. The front-end is a project fork from Halo.
|
|
|
|
|
|
## 🚀 Features:
|
|
|
- Support multiple types of databases: SQLite、MySQL(TODO: PostgreSQL)
|
|
|
- Small: The installation file is only 10mb size
|
|
|
- High-performance: Post details page can withstand 2500 QPS(Enviroment: Intel Xeon Platinum 8260 4C 8G ,SQLite3)
|
|
|
- Support changing theme
|
|
|
- Support Linux、Windows、Mac OS. And Support x86、x64、Arm、Arm64、MIPS
|
|
|
- Object storage(MINIO、Google Cloud、AWS、AliYun)
|
|
|
|
|
|
|
|
|
## 🎊 Preview
|
|
|
|
|
|
![Default Theme](https://github.com/go-sonic/default-theme-anatole/raw/master/screenshot.png)
|
|
|
|
|
|
![Console](https://github.com/go-sonic/resources/raw/master/console-screenshot.png)
|
|
|
|
|
|
## 🧰 Install
|
|
|
|
|
|
**Download the latest installation package**
|
|
|
> Please pay attention to the operating os and instruction set and the version
|
|
|
```bash
|
|
|
wget https://github.com/go-sonic/sonic/releases/latest/download/sonic-linux-amd64.zip -O sonic.zip
|
|
|
```
|
|
|
**Decompression**
|
|
|
```bash
|
|
|
unzip -d sonic sonic.zip
|
|
|
```
|
|
|
**Launch**
|
|
|
```bash
|
|
|
cd sonic
|
|
|
./sonic -config conf/config.yaml
|
|
|
```
|
|
|
|
|
|
**Initialization**
|
|
|
|
|
|
|
|
|
Open http://ip:port/admin#install
|
|
|
|
|
|
Next, you can access sonic through the browser.
|
|
|
|
|
|
The URL of the admin console is http://ip:port/admin
|
|
|
|
|
|
The default port is 8080.
|
|
|
|
|
|
## 🔨️ Build
|
|
|
**1. Pull Project**
|
|
|
```bash
|
|
|
git clone --recursive --depth 1 https://github.com/go-sonic/sonic
|
|
|
```
|
|
|
**2. Run**
|
|
|
```bash
|
|
|
cd sonic
|
|
|
go run main.go
|
|
|
```
|
|
|
> To compile this package on Windows, you must have the gcc compiler installed,for example the TDM-GCC Toolchain can be found ([here](https://jmeubank.github.io/tdm-gcc/)).
|
|
|
|
|
|
🚀 Done! Your project is now compiled and ready to use.
|
|
|
|
|
|
## Docker
|
|
|
See: https://hub.docker.com/r/gosonic/sonic
|
|
|
|
|
|
## Theme ecology
|
|
|
|
|
|
| Theme |
|
|
|
|---------|
|
|
|
| [Anatole](https://github.com/go-sonic/default-theme-anatole) |
|
|
|
| [Journal](https://github.com/hooxuu/sonic-theme-Journal) |
|
|
|
| [Clark](https://github.com/ClarkQAQ/sonic_theme_clark) |
|
|
|
| [Earth](https://github.com/Meepoljdx/sonic-theme-earth) |
|
|
|
| [PaperMod](https://github.com/jakezhu9/sonic-theme-papermod) |
|
|
|
| [Tink](https://github.com/raisons/sonic-theme-tink) |
|
|
|
|
|
|
## TODO
|
|
|
- [ ] i18n
|
|
|
- [ ] PostgreSQL
|
|
|
- [ ] Better error handling
|
|
|
- [ ] Plugin(base on Wasm)
|
|
|
- [ ] Use new web framework([Hertz](https://github.com/cloudwego/hertz))
|
|
|
|
|
|
## Contributing
|
|
|
|
|
|
Feel free to dive in! [Open an issue](https://github.com/go-sonic/sonic/issues) or submit PRs.
|
|
|
|
|
|
Sonic follows the [Contributor Covenant](http://contributor-covenant.org/version/1/3/0/) Code of Conduct.
|
|
|
|
|
|
### Contributors
|
|
|
|
|
|
This project exists thanks to all the people who contribute.
|
|
|
<a href="https://github.com/go-sonic/sonic/graphs/contributors"><img src="https://opencollective.com/go-sonic/contributors.svg?width=890&button=false" /></a>
|
|
|
|
|
|
Special thanks to Evan (evanzhao@88.com), who designed the logo.
|
|
|
|
|
|
## 📄 License
|
|
|
|
|
|
Source code in `sonic` is available under the [MIT License](/LICENSE.md).
|
|
|
|