https://github.com/tianlangstudio/rust_cms
Develop a CMS using Rust for a personal blog or company website.
https://github.com/tianlangstudio/rust_cms
actix-web content-management-system rustlang rustweb seo-friendly tera website website-development
Last synced: 3 months ago
JSON representation
Develop a CMS using Rust for a personal blog or company website.
- Host: GitHub
- URL: https://github.com/tianlangstudio/rust_cms
- Owner: TianLangStudio
- License: apache-2.0
- Created: 2020-06-17T14:49:36.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-05-20T02:14:03.000Z (about 1 year ago)
- Last Synced: 2025-05-20T03:25:15.320Z (about 1 year ago)
- Topics: actix-web, content-management-system, rustlang, rustweb, seo-friendly, tera, website, website-development
- Language: JavaScript
- Homepage: https://www.tianlang.tech
- Size: 4.3 MB
- Stars: 50
- Watchers: 3
- Forks: 16
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

[Demo](https://www.tianlang.tech) run on [Cloudflare](https://www.cloudflare.com/)
⚠Don't use it in production!!!. It is a project for learning.
English|[中文](./README_CN.md)
# Features
- [x] Login & Logout
- [x] File Upload
- [x] Articles list
- [x] Got new Articles
- [x] Got Recommend Articles
- [x] Publish Article Page
- [x] Article Details Page
- [x] actix-web demo
- [x] diesel demo
- [x] Support Session
- [x] Login auth base on Session
- [x] Tera Demo includes custom define Functions
- [x] Support Markdown in write Article
- [ ] My article page
- [x] Support under review
enable this feature by config tl.app.approval.enable=true and set who can approve through this configuration item tl.app.approval.users=usernameA,usernameB...
- [ ] Support graphql
---
# How to run
```bash
git clone git@github.com:TianLangStudio/rust_cms.git
cd rust_cms
```
If you have installed [Rust](https://www.rust-lang.org/tools/install) and [Docker](https://docs.docker.com/engine/install/), just execute the script below.
```bash
./bin/start.sh
```
This command will run script to initial a MySQL database using docker and then run rust_cms using `Cargo run`
You could use a exists MySql database, installing **[Rust](https://www.rust-lang.org/tools/install)** is required
- import doc/rust_cms.sql to your Mysql, this will create a database named rust_cms.
- edit conf/application_dev.yaml to change the database link information.
- now you can execute command `cargo run` to run rust_cms
---
# build error
1. throw an error when building third part lib
Maybe it is because of the version conflict, you can remove the file named Cargo.lock then build again
2. cannot find -lmysqlclient
> error: linking with `cc` failed: exit status: 1
> ....
> /usr/bin/ld: cannot find -lmysqlclient
install mysqlclient then build again ex. install mysqlclient in Ubuntu
> sudo apt-get install libmysqlclient-dev
Contact [FusionZhu](https://www.upwork.com/fl/huanqingzhu?mp_source=share) for more help