本站源代码
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
Tamal Saha 171b359877 Use gitea forked macaron (#7933) il y a 5 ans
..
.drone.yml Use gitea forked macaron (#7933) il y a 5 ans
.gitignore Use gitea forked macaron (#7933) il y a 5 ans
LICENSE Use gitea forked macaron (#7933) il y a 5 ans
README.md Use gitea forked macaron (#7933) il y a 5 ans
context.go Use gitea forked macaron (#7933) il y a 5 ans
go.mod Use gitea forked macaron (#7933) il y a 5 ans
go.sum Use gitea forked macaron (#7933) il y a 5 ans
logger.go Use gitea forked macaron (#7933) il y a 5 ans
macaron.go Use gitea forked macaron (#7933) il y a 5 ans
macaronlogo.png Use gitea forked macaron (#7933) il y a 5 ans
recovery.go Use gitea forked macaron (#7933) il y a 5 ans
render.go Use gitea forked macaron (#7933) il y a 5 ans
response_writer.go Use gitea forked macaron (#7933) il y a 5 ans
return_handler.go Use gitea forked macaron (#7933) il y a 5 ans
router.go Use gitea forked macaron (#7933) il y a 5 ans
static.go Use gitea forked macaron (#7933) il y a 5 ans
tree.go Use gitea forked macaron (#7933) il y a 5 ans
util_go17.go Use gitea forked macaron (#7933) il y a 5 ans
util_go18.go Use gitea forked macaron (#7933) il y a 5 ans

README.md

Macaron Build Status

Macaron Logo

Package macaron is a high productive and modular web framework in Go.

Getting Started

The minimum requirement of Go is 1.6.

To install Macaron:

go get gitea.com/macaron/macaron

The very basic usage of Macaron:

package main

import "gitea.com/macaron/macaron"

func main() {
	m := macaron.Classic()
	m.Get("/", func() string {
		return "Hello world!"
	})
	m.Run()
}

Features

  • Powerful routing with suburl.
  • Flexible routes combinations.
  • Unlimited nested group routers.
  • Directly integrate with existing services.
  • Dynamically change template files at runtime.
  • Allow to use in-memory template and static files.
  • Easy to plugin/unplugin features with modular design.
  • Handy dependency injection powered by inject.
  • Better router layer and less reflection make faster speed.

Middlewares

Middlewares allow you easily plugin/unplugin features for your Macaron applications.

There are already many middlewares to simplify your work:

  • render - Go template engine
  • static - Serves static files
  • gzip - Gzip compression to all responses
  • binding - Request data binding and validation
  • i18n - Internationalization and Localization
  • cache - Cache manager
  • session - Session manager
  • csrf - Generates and validates csrf tokens
  • captcha - Captcha service
  • pongo2 - Pongo2 template engine support
  • sockets - WebSockets channels binding
  • bindata - Embed binary data as static and template files
  • toolbox - Health check, pprof, profile and statistic services
  • oauth2 - OAuth 2.0 backend
  • authz - ACL/RBAC/ABAC authorization based on Casbin
  • switcher - Multiple-site support
  • method - HTTP method override
  • permissions2 - Cookies, users and permissions
  • renders - Beego-like render engine(Macaron has built-in template engine, this is another option)
  • piwik - Server-side piwik analytics

Use Cases

  • Gogs: A painless self-hosted Git Service
  • Grafana: The open platform for beautiful analytics and monitoring
  • Peach: A modern web documentation server
  • Go Walker: Go online API documentation
  • Switch: Gopm registry
  • Critical Stack Intel: A 100% free intel marketplace from Critical Stack, Inc.

Getting Help

Credits

License

This project is under the Apache License, Version 2.0. See the LICENSE file for the full license text.

上海开阖软件有限公司 沪ICP备12045867号-1