mirror of
https://github.com/avelino/awesome-go.git
synced 2024-11-14 16:42:23 +00:00
Merge branch 'master' into patch-1
This commit is contained in:
commit
c03563a9d0
@ -6,7 +6,4 @@ go:
|
||||
sudo: false
|
||||
|
||||
install:
|
||||
- go get github.com/russross/blackfriday
|
||||
- go get github.com/PuerkitoBio/goquery
|
||||
- go get github.com/gorilla/mux
|
||||
- go get github.com/microcosm-cc/bluemonday
|
||||
- go get -t -v ./...
|
||||
|
@ -3,7 +3,7 @@ Duke <emersonalmeidax@gmail.com> (@dukex)
|
||||
Dmitri Shuralyov <shurcooL@gmail.com> (@shurcooL)
|
||||
Dobrosław Żybort <matrixik@gmail.com> (@matrixik)
|
||||
Dean Karn <Dean.Karn@gmail.com> (@joeybloggs)
|
||||
Kirill Danshin <k@guava.by> (@kirillDanshin)
|
||||
Kirill Danshin <kirill@danshin.pro> (@kirillDanshin)
|
||||
Felipe Oliveira <felipeweb.programador@gmail.com> (@felipeweb)
|
||||
Bo-Yi Wu <appleboy.tw@gmail.com> (@appleboy)
|
||||
Cássio Botaro <cassiobotaro@gmail.com> (@cassiobotaro)
|
||||
|
74
README.md
74
README.md
@ -63,6 +63,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
- [Middlewares](#middlewares)
|
||||
- [Actual middlewares](#actual-middlewares)
|
||||
- [Libraries for creating HTTP middlewares](#libraries-for-creating-http-middlewares)
|
||||
- [Routers](#routers)
|
||||
- [Windows](#windows)
|
||||
|
||||
- [Tools](#tools)
|
||||
@ -110,6 +111,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
*Libraries for implementing authentications schemes.*
|
||||
|
||||
* [authboss](https://github.com/go-authboss/authboss) - A modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure, and start building your app without having to build an authentication system each time.
|
||||
* [casbin](https://github.com/hsluoyz/casbin) - An authorization library that supports access control models like ACL, RBAC, ABAC.
|
||||
* [Go-AWS-Auth](https://github.com/smartystreets/go-aws-auth) - AWS (Amazon Web Services) request signing library.
|
||||
* [go-jose](https://github.com/square/go-jose) - A fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
|
||||
* [go-oauth2-server](https://github.com/RichardKnop/go-oauth2-server) - A standalone, specification-compliant, OAuth2 server written in Golang.
|
||||
@ -124,6 +126,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
* [oauth2](https://github.com/golang/oauth2) - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support.
|
||||
* [osin](https://github.com/RangelReale/osin) - Golang OAuth2 server library.
|
||||
* [permissions2](https://github.com/xyproto/permissions2) - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt.
|
||||
* [session](https://github.com/icza/session) - Go session management for web servers (including support for Google App Engine - GAE).
|
||||
* [traefik](https://github.com/containous/traefik) - A reverse proxy and load balancer with support for multiple backends.
|
||||
* [yubigo](https://github.com/GeertJohan/yubigo) - a Yubikey client package that provides a simple API to integrate the Yubico Yubikey into a go application.
|
||||
|
||||
@ -362,6 +365,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
|
||||
* [carbon](https://github.com/uniplaces/carbon) - A simple Time extension with a lot of util methods, ported from PHP Carbon library.
|
||||
* [durafmt](https://github.com/hako/durafmt) - A time duration formatting library for Go.
|
||||
* [feiertage](https://github.com/wlbr/feiertage) - A set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecoast, Thanksgiving...
|
||||
* [go-persian-calendar](https://github.com/yaa110/go-persian-calendar) - The implementation of the Persian (Solar Hijri) Calendar in Go (golang).
|
||||
* [goweek](https://github.com/grsmv/goweek) - Library for working with week entity in golang.
|
||||
* [now](https://github.com/jinzhu/now) - Now is a time toolkit for golang.
|
||||
@ -378,6 +382,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
* [gleam](https://github.com/chrislusf/gleam) - Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed.
|
||||
* [glow](https://github.com/chrislusf/glow) - Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go.
|
||||
* [go-jump](https://github.com/dgryski/go-jump) - A port of Google's "Jump" Consistent Hash function.
|
||||
* [go-kit](https://github.com/go-kit/kit) - A Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc.
|
||||
* [gorpc](https://github.com/valyala/gorpc) - Simple, fast and scalable RPC library for high load.
|
||||
* [grpc-go](https://github.com/grpc/grpc-go) - The Go language implementation of gRPC. HTTP/2 based RPC.
|
||||
* [hprose](https://github.com/hprose/hprose-golang) - A very newbility RPC Library, support 25+ languages now.
|
||||
@ -471,7 +476,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
*Awesome game development libraries.*
|
||||
|
||||
* [Azul3D](https://github.com/azul3d/engine) - A 3D game engine written in Go
|
||||
* [Ebiten](https://github.com/hajimehoshi/ebiten) - A simple SNES-style 2D game library in Go
|
||||
* [Ebiten](https://github.com/hajimehoshi/ebiten) - A simple 2D game library in Go
|
||||
* [engo](https://github.com/EngoEngine/engo) - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm.
|
||||
* [GarageEngine](https://github.com/vova616/GarageEngine) - 2d game engine written in Go working on OpenGL.
|
||||
* [glop](https://github.com/runningwild/glop) - Glop (Game Library Of Power) is a fairly simple cross-platform game library.
|
||||
@ -481,6 +486,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
* [go3d](https://github.com/ungerik/go3d) - A performance oriented 2D/3D math package for Go
|
||||
* [gonet](https://github.com/xtaci/gonet) - A game server skeleton implemented with golang
|
||||
* [Leaf](https://github.com/name5566/leaf) - A lightweight game server framework
|
||||
* [Pixel](https://github.com/faiface/pixel) - A hand-crafted 2D game library in Go
|
||||
* [raylib-go](https://github.com/gen2brain/raylib-go) - Go bindings for [raylib](http://www.raylib.com/), a simple and easy-to-use library to learn videogames programming.
|
||||
* [termloop](https://github.com/JoelOtter/termloop) - Terminal-based game engine for Go, built on top of Termbox
|
||||
|
||||
@ -522,6 +528,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
|
||||
*Libraries for building GUI Applications*
|
||||
|
||||
* [app](https://github.com/murlokswarm/app) - Package to create apps with GO, HTML and CSS.
|
||||
* [go-gtk](http://mattn.github.io/go-gtk/) - Go bindings for GTK
|
||||
* [go-qml](https://github.com/go-qml/qml) - QML support for the Go language
|
||||
* [go-sciter](https://github.com/sciter-sdk/go-sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development.
|
||||
@ -640,10 +647,14 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [drone-line](https://github.com/appleboy/drone-line) - Sending [Line](https://business.line.me/en/services/bot) notifications using a binary, docker or Drone CI.
|
||||
* [emitter](https://github.com/olebedev/emitter) - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins.
|
||||
* [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility.
|
||||
* [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io).
|
||||
* [go-longpoll](https://github.com/ventu-io/go-longpoll) - PubSub with long polling.
|
||||
* [go-notify](https://github.com/TheCreeper/go-notify) - Native implementation of the freedesktop notification spec.
|
||||
* [go-nsq](https://github.com/nsqio/go-nsq) - the official Go package for NSQ
|
||||
* [go-socket.io](https://github.com/googollee/go-socket.io) - socket.io library for golang, a realtime application framework.
|
||||
* [go-vitotrol](https://github.com/maxatome/go-vitotrol) - A client library to Viessmann Vitotrol web service.
|
||||
* [golongpoll](https://github.com/jcuga/golongpoll) - HTTP longpoll server library that makes web pub-sub simple.
|
||||
* [goose](https://github.com/ian-kent/goose) - Server Sent Events in Go
|
||||
* [gopush-cluster](https://github.com/Terry-Mao/gopush-cluster) - gopush-cluster is a go push server cluster.
|
||||
* [gorush](https://github.com/appleboy/gorush) - A push notification server using [APNs2](https://github.com/sideshow/apns2) and google [GCM](https://github.com/google/go-gcm).
|
||||
* [guble](https://github.com/smancke/guble) - A messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence.
|
||||
@ -679,6 +690,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [go-shortid](https://github.com/ventu-io/go-shortid) - Distributed generation of super short, unique, non-sequential, URL friendly IDs.
|
||||
* [go-unarr](https://github.com/gen2brain/go-unarr) - Decompression library for RAR, TAR, ZIP and 7z archives.
|
||||
* [go.uuid](https://github.com/satori/go.uuid) - Implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs.
|
||||
* [gofakeit](https://github.com/brianvoe/gofakeit) - Random data generator written in go
|
||||
* [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc).
|
||||
* [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS
|
||||
* [gountries](https://github.com/pariz/gountries) - A package that exposes country and subdivision data.
|
||||
@ -690,6 +702,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [secdl](https://github.com/xor-gate/secdl) - Lighttpd ModSecDownload algorithm ported to go to secure download urls.
|
||||
* [stats](https://github.com/go-playground/stats) - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc...
|
||||
* [uuid](https://github.com/agext/uuid) - Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier.
|
||||
* [VarHandler](https://github.com/azr/generators/tree/master/varhandler) - Generate boilerplate http input and ouput handling.
|
||||
* [werr](https://github.com/txgruppi/werr) - Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called.
|
||||
* [xkg](https://github.com/go-xkg/xkg) - X Keyboard Grabber
|
||||
* [xstrings](https://github.com/huandu/xstrings) - A collection of useful string functions ported from other languages.
|
||||
@ -792,7 +805,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [QBS](https://github.com/coocood/qbs) - Stands for Query By Struct. A Go ORM.
|
||||
* [reform](https://github.com/go-reform/reform) - A better ORM for Go, based on non-empty interfaces and code generation.
|
||||
* [SQLBoiler](https://github.com/vattle/sqlboiler) - An ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema.
|
||||
* [Storm](https://github.com/asdine/storm) - Simple and powerful ORM for BoltDB.
|
||||
* [upper.io/db](https://github.com/upper/db) - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers.
|
||||
* [Xorm](https://github.com/go-xorm/xorm) - Simple and powerful ORM for Go.
|
||||
* [Zoom](https://github.com/albrow/zoom) - A blazing-fast datastore and querying engine built on Redis.
|
||||
@ -837,6 +849,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [go.rice](https://github.com/GeertJohan/go.rice) - go.rice is a Go package that makes working with resources such as html,js,css,images and templates very easy.
|
||||
* [statics](https://github.com/go-playground/statics) - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks.
|
||||
* [statik](https://github.com/rakyll/statik) - Embeds static files into a Go executable
|
||||
* [templify](https://github.com/wlbr/templify) - Embed external template files into Go code to create single file binaries.
|
||||
* [vfsgen](https://github.com/shurcooL/vfsgen) - Generates a vfsdata.go file that statically implements the given virtual filesystem.
|
||||
|
||||
|
||||
@ -860,7 +873,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [gonum/plot](https://github.com/gonum/plot) - gonum/plot provides an API for building and drawing plots in Go.
|
||||
* [goraph](https://github.com/gyuho/goraph) - A pure Go graph theory library(data structure, algorith visualization)
|
||||
* [gostat](https://github.com/ematvey/gostat) - A statistics library for the go language
|
||||
* [mudlark-go](https://github.com/pwil3058/mudlark-go-pkgs) - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language.
|
||||
* [ode](https://github.com/ChristopherRabotin/ode) - An ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions.
|
||||
* [pagerank](https://github.com/alixaxel/pagerank) - Weighted PageRank algorithm implemented in Go
|
||||
* [PiHex](https://github.com/claygod/PiHex) - Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi
|
||||
@ -1046,6 +1058,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [go-jira](https://github.com/andygrunwald/go-jira) - Go client library for [Atlassian JIRA](https://www.atlassian.com/software/jira)
|
||||
* [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS.
|
||||
* [go-myanimelist](https://github.com/nstratos/go-myanimelist) - A Go client library for accessing the [MyAnimeList API](http://myanimelist.net/modules.php?go=api).
|
||||
* [go-telegraph](https://github.com/toby3d/go-telegraph) - Telegraph publishing platform API client.
|
||||
* [go-tgbot](https://github.com/olebedev/go-tgbot) - Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware.
|
||||
* [go-trending](https://github.com/andygrunwald/go-trending) - Go library for accessing [trending repositories](https://github.com/trending) and [developers](https://github.com/trending/developers) at Github.
|
||||
* [go-twitch](https://github.com/knspriggs/go-twitch) - A Go client for interacting with the Twitch v3 API.
|
||||
@ -1080,7 +1093,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [tbot](https://github.com/yanzay/tbot) - Telegram bot server with API similar to net/http.
|
||||
* [telebot](https://github.com/tucnak/telebot) - Telegram bot framework written in Go.
|
||||
* [telegram-bot-api](https://github.com/Syfaro/telegram-bot-api) - Simple and clean Telegram bot client.
|
||||
* [telegraph](https://github.com/toby3d/telegraph) - Telegraph publishing platform API client.
|
||||
* [textbelt](https://github.com/dietsche/textbelt) - Go client for the textbelt.com txt messaging API.
|
||||
* [TheMovieDb](https://github.com/jbrodriguez/go-tmdb) - A simple golang package to communicate with [themoviedb.org](https://themoviedb.org)
|
||||
* [translate](https://github.com/poorny/translate) - Go online translation package.
|
||||
@ -1095,6 +1107,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [abutil](https://github.com/bahlo/abutil) - A collection of often-used Golang helpers.
|
||||
* [apm](https://github.com/topfreegames/apm) - A process manager for Golang applications with an HTTP API.
|
||||
* [boilr](https://github.com/tmrts/boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates.
|
||||
* [clockwerk](http://github.com/onatm/clockwerk) - Go package to schedule periodic jobs using a simple, fluent syntax.
|
||||
* [command](https://github.com/txgruppi/command) - Command pattern for Go with thread safe serial and parallel dispatcher
|
||||
* [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go.
|
||||
* [copy-pasta](https://github.com/jutkko/copy-pasta) - Universal multi-workstation clipboard that uses S3 like backend for the storage.
|
||||
@ -1173,6 +1186,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients.
|
||||
* [spinner](https://github.com/briandowns/spinner) - Go package to easily provide a terminal spinner with options.
|
||||
* [sqlx](https://github.com/jmoiron/sqlx) - provides a set of extensions on top of the excellent built-in database/sql package.
|
||||
* [Storm](https://github.com/asdine/storm) - Simple and powerful toolkit for BoltDB.
|
||||
* [Task](https://github.com/go-task/task) - simple "Make" alternative
|
||||
* [toolbox](https://github.com/viant/toolbox) - Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer.
|
||||
* [ugo](https://github.com/alxrm/ugo) - ugo is slice toolbox with concise syntax for Go.
|
||||
@ -1215,43 +1229,25 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
*Full stack web frameworks.*
|
||||
|
||||
* [Air](https://github.com/sheng/air) - An ideal RESTful web framework for Go.
|
||||
* [alien](https://github.com/gernest/alien) - A lightweight and fast http router from outer space
|
||||
* [Beego](https://github.com/astaxie/beego) - beego is an open-source, high-performance web framework for the Go programming language.
|
||||
* [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer.
|
||||
* [Buffalo](http://gobuffalo.io) - Bringing the productivity of Rails to Go!
|
||||
* [Bxog](https://github.com/claygod/Bxog) - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters.
|
||||
* [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context.
|
||||
* [Echo](https://github.com/labstack/echo) - High performance, minimalist Go web framework.
|
||||
* [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`.
|
||||
* [Fireball](https://github.com/zpatrick/fireball) - A more "natural" feeling web framework.
|
||||
* [Florest](https://github.com/jabong/florest-core) - High-performance workflow based REST API framework
|
||||
* [Gem](https://github.com/go-gem/gem) - A simple and fast web framework, friendly to REST API.
|
||||
* [Gin](https://github.com/gin-gonic/gin) - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity.
|
||||
* [Gizmo](https://github.com/NYTimes/gizmo) - Microservice toolkit used by the New York Times.
|
||||
* [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io).
|
||||
* [go-json-rest](https://github.com/ant0ine/go-json-rest) - A quick and easy way to setup a RESTful JSON API.
|
||||
* [go-kit](https://github.com/go-kit/kit) - A Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc.
|
||||
* [go-relax](https://github.com/codehack/go-relax) - A framework of pluggable components to build RESTful API's.
|
||||
* [go-rest](https://github.com/ungerik/go-rest) - A small and evil REST framework for Go.
|
||||
* [go-socket.io](https://github.com/googollee/go-socket.io) - socket.io library for golang, a realtime application framework.
|
||||
* [goa](https://github.com/raphael/goa) - Framework for developing microservices based on the design of Ruby's Praxis.
|
||||
* [Goat](https://github.com/bahlo/goat) - A minimalistic REST API server in Go.
|
||||
* [gocraft/web](https://github.com/gocraft/web) - A mux and middleware package in Go.
|
||||
* [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`.
|
||||
* [Golf](https://github.com/dinever/golf) - Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library.
|
||||
* [golongpoll](https://github.com/jcuga/golongpoll) - HTTP longpoll server library that makes web pub-sub simple.
|
||||
* [Gondola](https://github.com/rainycape/gondola) - The web framework for writing faster sites, faster
|
||||
* [gongular](https://github.com/mustafaakin/gongular) - A fast Go web framework with input mapping/validation and (DI) Dependency Injection
|
||||
* [goose](https://github.com/ian-kent/goose) - Server Sent Events in Go
|
||||
* [Gorilla](https://github.com/gorilla/) - Gorilla is a web toolkit for the Go programming language.
|
||||
* [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework.
|
||||
* [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter.
|
||||
* [lars](https://github.com/go-playground/lars) - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks.
|
||||
* [Macaron](https://github.com/go-macaron/macaron) - Macaron is a high productive and modular design web framework in Go.
|
||||
* [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333.
|
||||
* [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba.
|
||||
* [Microservice](https://github.com/claygod/microservice) - The framework for the creation of microservices, written in Golang.
|
||||
* [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang.
|
||||
* [neo](https://github.com/ivpusic/neo) - Neo is minimal and fast Go Web Framework with extremely simple API.
|
||||
* [ozzo-routing](https://github.com/go-ozzo/ozzo-routing) - A high-performance HTTP router and Web framework supporting routes with regular expressions. Comes with full support for quickly building a RESTful API application.
|
||||
* [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra.
|
||||
@ -1261,19 +1257,12 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [Revel](https://github.com/revel/revel) - A high-productivity web framework for the Go language.
|
||||
* [rex](https://github.com/goanywhere/rex) - Rex is a library for modular development built upon gorilla/mux, fully compatible with `net/http`.
|
||||
* [sawsij](http://sawsij.com/) - lightweight, open-source web framework for building high-performance, data-driven web applications.
|
||||
* [session](https://github.com/icza/session) - Go session management for web servers (including support for Google App Engine - GAE).
|
||||
* [Siesta](https://github.com/VividCortex/siesta) - Composable framework to write middleware and handlers
|
||||
* [tango](https://github.com/lunny/tango) - Micro & pluggable web framework for Go.
|
||||
* [tigertonic](https://github.com/rcrowley/go-tigertonic) - A Go framework for building JSON web services inspired by Dropwizard
|
||||
* [traffic](https://github.com/pilu/traffic) - Sinatra inspired regexp/pattern mux and web framework for Go.
|
||||
* [utron](https://github.com/gernest/utron) - A lightweight MVC framework for Go(Golang).
|
||||
* [VarHandler](https://github.com/azr/generators/tree/master/varhandler) - Generate boilerplate http input and ouput handling.
|
||||
* [vestigo](https://github.com/husobee/vestigo) - A performant, stand-alone, HTTP compliant URL Router for go web applications.
|
||||
* [Volatile](https://github.com/volatile/core) - Minimalist middleware stack promoting flexibility, good practices and clean code.
|
||||
* [xmux](https://github.com/rs/xmux) - A high performance muxer based on `httprouter` with `net/context` support.
|
||||
* [YARF](https://github.com/yarf-framework/yarf) - Fast micro-framework designed to build REST APIs and web services in a fast and simple way.
|
||||
* [Zerver](https://github.com/cosiner/zerver) - Zerver is an expressive, modular, feature completed RESTful framework.
|
||||
* [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go.
|
||||
|
||||
|
||||
### Middlewares
|
||||
@ -1299,6 +1288,31 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [render](https://github.com/unrolled/render) - Go package for easily rendering JSON, XML, and HTML template responses.
|
||||
* [rye](https://github.com/InVisionApp/rye) - Tiny Go middleware library (with canned Middlewares) that supports JWT, CORS, Statsd, and Go 1.7 context
|
||||
* [stats](https://github.com/thoas/stats) - A Go middleware that stores various information about your web application.
|
||||
* [Volatile](https://github.com/volatile/core) - Minimalist middleware stack promoting flexibility, good practices and clean code.
|
||||
|
||||
|
||||
### Routers
|
||||
|
||||
* [alien](https://github.com/gernest/alien) - A lightweight and fast http router from outer space
|
||||
* [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer.
|
||||
* [Bxog](https://github.com/claygod/Bxog) - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters.
|
||||
* [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context.
|
||||
* [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`.
|
||||
* [gocraft/web](https://github.com/gocraft/web) - A mux and middleware package in Go.
|
||||
* [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`.
|
||||
* [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework.
|
||||
* [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter.
|
||||
* [lars](https://github.com/go-playground/lars) - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks.
|
||||
* [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba.
|
||||
* [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang.
|
||||
* [ozzo-routing](https://github.com/go-ozzo/ozzo-routing) - An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs.
|
||||
* [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra.
|
||||
* [pure](https://github.com/go-playground/pure) - Is a lightweight HTTP router that sticks to the std "net/http" implementation
|
||||
* [Siesta](https://github.com/VividCortex/siesta) - Composable framework to write middleware and handlers
|
||||
* [vestigo](https://github.com/husobee/vestigo) - A performant, stand-alone, HTTP compliant URL Router for go web applications.
|
||||
* [xmux](https://github.com/rs/xmux) - A high performance muxer based on `httprouter` with `net/context` support.
|
||||
* [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go.
|
||||
|
||||
|
||||
# Tools
|
||||
|
||||
@ -1519,6 +1533,7 @@ Where to discover new Go libraries.
|
||||
* [Go Projects](https://github.com/golang/go/wiki/Projects) - List of projects on the Go community wiki.
|
||||
* [gocryforhelp](https://github.com/ninedraft/gocryforhelp) - A collection of Go projects that needs help. Good place to start your open-source way in Go.
|
||||
* [godoc.org](https://godoc.org/) - Documentation for open source Go packages.
|
||||
* [Golang News](https://golangnews.com) - Links and news about Go programming.
|
||||
* [golang-graphics](https://github.com/mholt/golang-graphics) - A collection of Go images, graphics, and art.
|
||||
* [golang-nuts](https://groups.google.com/forum/#!forum/golang-nuts) - Go mailing list.
|
||||
* [Google Plus Community](https://plus.google.com/communities/114112804251407510571) - The Google+ community for #golang enthusiasts.
|
||||
@ -1530,6 +1545,7 @@ Where to discover new Go libraries.
|
||||
### Tutorials
|
||||
|
||||
* [A Tour of Go](http://tour.golang.org/) - Interactive tour of Go.
|
||||
* [Build web application with Golang](https://github.com/astaxie/build-web-application-with-golang) - A golang ebook intro how to build a web app with golang.
|
||||
* [Building Go Web Applications and Microservices Using Gin](https://semaphoreci.com/community/tutorials/building-go-web-applications-and-microservices-using-gin) - Get familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline.
|
||||
* [Go By Example](https://gobyexample.com/) - A hands-on introduction to Go using annotated example programs.
|
||||
* [Go Cheat Sheet](https://github.com/a8m/go-lang-cheat-sheet) - A Go's reference card.
|
||||
|
36
repo.go
36
repo.go
@ -8,8 +8,7 @@ import (
|
||||
"text/template"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/microcosm-cc/bluemonday"
|
||||
"github.com/russross/blackfriday"
|
||||
gfm "github.com/shurcooL/github_flavored_markdown"
|
||||
)
|
||||
|
||||
// memory usage optimizations
|
||||
@ -24,25 +23,6 @@ const (
|
||||
readmePath = "./README.md"
|
||||
tplPath = "tmpl/tmpl.html"
|
||||
idxPath = "tmpl/index.html"
|
||||
|
||||
bfHTMLRendererOpts = 0 |
|
||||
blackfriday.HTML_USE_XHTML |
|
||||
blackfriday.HTML_USE_SMARTYPANTS |
|
||||
blackfriday.HTML_SMARTYPANTS_FRACTIONS |
|
||||
blackfriday.HTML_SMARTYPANTS_DASHES |
|
||||
blackfriday.HTML_SMARTYPANTS_LATEX_DASHES
|
||||
|
||||
bfMDOpts = 0 |
|
||||
blackfriday.EXTENSION_NO_INTRA_EMPHASIS |
|
||||
blackfriday.EXTENSION_TABLES |
|
||||
blackfriday.EXTENSION_FENCED_CODE |
|
||||
blackfriday.EXTENSION_AUTOLINK |
|
||||
blackfriday.EXTENSION_STRIKETHROUGH |
|
||||
blackfriday.EXTENSION_SPACE_HEADERS |
|
||||
blackfriday.EXTENSION_HEADER_IDS |
|
||||
blackfriday.EXTENSION_BACKSLASH_LINE_BREAK |
|
||||
blackfriday.EXTENSION_DEFINITION_LISTS |
|
||||
blackfriday.EXTENSION_AUTO_HEADER_IDS
|
||||
)
|
||||
|
||||
var (
|
||||
@ -59,19 +39,7 @@ func generateHTML() {
|
||||
exec.Command(git, pull).Output()
|
||||
|
||||
input, _ := ioutil.ReadFile(readmePath)
|
||||
body := string(
|
||||
bluemonday.UGCPolicy().SanitizeBytes(
|
||||
blackfriday.Markdown(
|
||||
input,
|
||||
blackfriday.HtmlRenderer(
|
||||
bfHTMLRendererOpts,
|
||||
emtyStr,
|
||||
emtyStr,
|
||||
),
|
||||
bfMDOpts,
|
||||
),
|
||||
),
|
||||
)
|
||||
body := string(gfm.Markdown(input))
|
||||
c := &content{Body: body}
|
||||
|
||||
t := template.Must(template.ParseFiles(tplPath))
|
||||
|
Loading…
Reference in New Issue
Block a user