https://github.com/tianlangstudio/rust_cms
Using Rust to develop a CMS (content management system) can be used as a personal blog, company website
https://github.com/tianlangstudio/rust_cms
actix actix-web auth authentication-middleware blog cms config diesel log log4rs mysql rust rust-cms session site summernote tera
Last synced: 29 days ago
JSON representation
Using Rust to develop a CMS (content management system) can be used as a personal blog, 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 5 years ago)
- Default Branch: master
- Last Pushed: 2025-02-28T11:35:51.000Z (3 months ago)
- Last Synced: 2025-05-13T01:49:45.712Z (29 days ago)
- Topics: actix, actix-web, auth, authentication-middleware, blog, cms, config, diesel, log, log4rs, mysql, rust, rust-cms, session, site, summernote, tera
- Language: JavaScript
- Homepage: http://www.tianlang.tech
- Size: 4.28 MB
- Stars: 50
- Watchers: 3
- Forks: 16
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

[Demo](https://www.tianlang.tech) run on [Ali Cloud](https://www.aliyun.com/minisite/goods?userCode=qtg5vupa)
⚠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 [email protected]: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 again2. cannot find -lmysqlclient
> error: linking with `cc` failed: exit status: 1
> ....
> /usr/bin/ld: cannot find -lmysqlclientinstall mysqlclient then build again ex. install mysqlclient in Ubuntu
> sudo apt-get install libmysqlclient-devContact [FusionZhu](https://www.upwork.com/freelancers/huanqingzhu) for more help