You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
golangboy 53db5562b4 fix: golangci-lint errors 11 months ago
.github feat: remove dependabot 12 months ago
cache init 2 years ago
cmd/generate fix: lint error 2 years ago
conf feat: make admin path configurable (#322) 1 year ago
config fix: lint error 11 months ago
consts feat: assign a version number at compile time 2 years ago
dal feat: add likes filed to comment (#358) 1 year ago
doc doc: new theme tink 1 year ago
event fix: golangci-lint errors 11 months ago
handler fix: lint error 11 months ago
injection init 2 years ago
log feat: allow change minio protocol and download url (#357) 1 year ago
model fix: golangci-lint errors 11 months ago
resources chrore: update admin console to add minio protocol and base option 1 year ago
scripts feat: add likes filed to comment (#358) 1 year ago
service feat: add likes filed to comment (#358) 1 year ago
template fix: golangci-lint errors 11 months ago
util fix: golangci-lint errors 11 months ago
.gitignore feat: use github action to build and release docker image 2 years ago
.gitmodules fix: replace submodule url 2 years ago
.golangci.yml chore(deps): update go version & deps version 1 year ago
CONTRIBUTING.md doc: create contribution document 2 years ago
LICENSE.md doc: LICENSE 2 years ago
README.md doc: new theme tink 1 year ago
SECURITY.md Create SECURITY.md 2 years ago
go.mod chore: update all dependencies and use groups feature for dependabot 1 year ago
go.sum chore: update all dependencies and use groups feature for dependabot 1 year ago
main.go feat: add new template functions (#316) 1 year ago

README.md

Sonic [ˈsɒnɪk], Sonic is a Go Blogging Platform. Simple and Powerful.

GitHub release GitHub All Releases Docker pulls GitHub last commit
Telegram Channel

English | 中文

📖 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 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

Console

🧰 Install

Download the latest installation package

Please pay attention to the operating os and instruction set and the version

wget https://github.com/go-sonic/sonic/releases/latest/download/sonic-linux-amd64.zip -O sonic.zip

Decompression

unzip -d sonic sonic.zip

Launch

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

git clone --recursive --depth 1 https://github.com/go-sonic/sonic

2. Run

cd sonic
go run main.go

To compile this package on Windows, you must have the gcc compiler installedfor example the TDM-GCC Toolchain can be found (here).

🚀 Done! Your project is now compiled and ready to use.

Docker

See: https://hub.docker.com/r/gosonic/sonic

Theme ecology

Theme
Anatole
Journal
Clark
Earth
PaperMod
Tink

TODO

  • i18n
  • PostgreSQL
  • Better error handling
  • Plugin(base on Wasm)
  • Use new web framework(Hertz)

Contributing

Feel free to dive in! Open an issue or submit PRs.

Sonic follows the Contributor Covenant Code of Conduct.

Contributors

This project exists thanks to all the people who contribute.

Special thanks to Evan (evanzhao@88.com), who designed the logo.

📄 License

Source code in sonic is available under the MIT License.