Giter VIP home page Giter VIP logo

tetua's Introduction

Tetua - A simple CMS for blogging

Tetua is a simple CMS for blogging written in Golang. With tetua, you can quickly create a blog with a few simple commands.

Tetua is built on top of awesome libraries like:

Installation

Download the binary from the release page:

Create the config file

./tetua init

The config file will be created in the current directory.

{
 "app_env": "production",
 "app_key": "{APP_KEY}",
 "app_port": "3000",
 "db_dsn": "",
 "db_query_logging": false
}

Look at the config.example.json for more configuration options.

These fields are required:

  • app_key: the key to encrypt the data
  • db_dsn: the database connection string

You can skip this initialization step by specifying the environment variables:

  • APP_KEY
  • DB_DSN

Create the Admin account

./tetua setup -u admin -p password

Run the server

./tetua run

Features

  • Posts Management
  • Page Management
  • Topics Management
  • Users Management
  • Role and Permission Management
  • Site Settings Management
  • Comment Management
  • File Management
  • User profile page
  • User posts page
  • Local file upload
  • S3 file upload
  • Sign in with Github
  • Sign in with Google
  • Sign in with Twiter

Documentation

Development

Requirements:

The development requires Go 1.18+ as we use generic

Clone the source code

git clone https://github.com/ngocphuongnb/tetua.git
cd tetua
go mod tidy

Build the static editor

make build_editor

Run the test

make test_all

Build the local release for testing

make releaselocal

Public a release

git tag -a vx.y.z -m "Release note"
git push origin vx.y.z
make release

Road Map

  • Pages cache
  • Sign in with Google
  • Sign in with Twitter
  • Sign up with email (local account)
  • Serial posts
  • Report Abuse
  • Complete the Unit Test

Screenshots

image

image

image

image

image

Contribute

If you want to say thanks and/or support the active development of Tetua, please consider some of the following:

  1. Add a GitHub Star to the project.
  2. Create a pull request.
  3. Fire an issue.

License

Copyright (c) 2022-present @ngocphuongnb and Contributors. Tetua is free and open-source software licensed under the MIT License.

Third-party libraries:

  • entgo.io/ent v0.10.1
  • github.com/Joker/hpp v1.0.0
  • github.com/Joker/jade v1.1.3
  • github.com/go-sql-driver/mysql v1.6.0
  • github.com/gofiber/fiber/v2 v2.30.0
  • github.com/golang-jwt/jwt/v4 v4.4.0
  • github.com/google/uuid v1.3.0
  • github.com/microcosm-cc/bluemonday v1.0.18
  • github.com/valyala/fasthttp v1.34.0
  • go.uber.org/zap v1.21.0
  • github.com/davecgh/go-spew v1.1.1
  • github.com/rclone/rclone v1.58.0
  • github.com/urfave/cli/v2 v2.4.0
  • ariga.io/sqlcomment v0.0.0-20211020114721-6bb67a62a61a
  • github.com/PuerkitoBio/goquery v1.8.0
  • github.com/dghubble/oauth1 v0.7.1
  • github.com/gofiber/utils v0.1.2
  • github.com/gorilla/feeds v1.1.1
  • github.com/tdewolff/minify/v2 v2.11.1
  • github.com/gosimple/slug v1.12.0
  • github.com/stretchr/testify v1.7.1
  • github.com/yuin/goldmark v1.4.11

tetua's People

Contributors

ngocphuongnb avatar dependabot[bot] avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.