mirror of
https://github.com/avelino/awesome-go.git
synced 2024-12-12 17:13:58 +00:00
pulled repo and updated with new changes
This commit is contained in:
commit
51dbe65350
@ -1,7 +1,7 @@
|
||||
language: go
|
||||
|
||||
go:
|
||||
- 1.4
|
||||
- 1.7
|
||||
|
||||
sudo: false
|
||||
|
||||
|
@ -32,7 +32,7 @@ To be on the list, project repositories should adhere to these quality standards
|
||||
- Or, for finished projects, issues and pull requests are responded to
|
||||
- Stable or progressing toward stable
|
||||
- Thoroughly documented (README, godoc comments, etc.)
|
||||
- Tests, where practical
|
||||
- Tests, where practical. If library/program testable, than coverage should be >= 80% for non-data-related packages and >=90% for data related packages. **Notice**: the tests will be reviewed too. We will check your coverage manually if your package's coverage is just a benchmark results.
|
||||
|
||||
|
||||
## Reporting issues
|
||||
|
37
README.md
37
README.md
@ -92,6 +92,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
* [gaad](https://github.com/Comcast/gaad) - A native Go AAC bitstream parser
|
||||
* [go-sox](https://github.com/krig/go-sox) - libsox bindings for go.
|
||||
* [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go.
|
||||
* [gosamplerate](https://github.com/dh1tw/gosamplerate) - libsamplerate bindings for go.
|
||||
* [id3v2](https://github.com/bogem/id3v2) - Fast and stable ID3 parsing and writing library for Go
|
||||
* [mix](https://github.com/go-mix/mix) - Sequence-based Go-native audio mixer for music apps.
|
||||
* [mp3](https://github.com/tcolgate/mp3) - A native Go MP3 decoder.
|
||||
@ -145,6 +146,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
* [mitchellh/cli](https://github.com/mitchellh/cli) - A Go library for implementing command-line interfaces.
|
||||
* [mow.cli](https://github.com/jawher/mow.cli) - A Go library for building CLI applications with sophisticated flag and argument parsing and validation.
|
||||
* [readline](https://github.com/chzyer/readline) - A pure golang implementation that provide most of features in GNU-Readline under MIT license.
|
||||
* [sflags](https://github.com/octago/sflags) - Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin and other libraries.
|
||||
* [ukautz/clif](https://github.com/ukautz/clif) - A small command line interface framework.
|
||||
* [urfave/cli](https://github.com/urfave/cli) - A simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli).
|
||||
* [wlog](https://github.com/dixonwille/wlog) - A simple logging interface that supports cross-platform color and concurrency.
|
||||
@ -254,14 +256,17 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
* [influxdb](https://github.com/influxdb/influxdb) - Scalable datastore for metrics, events, and real-time analytics
|
||||
* [ledisdb](https://github.com/siddontang/ledisdb) - Ledisdb is a high performance NoSQL like Redis based on LevelDB.
|
||||
* [levigo](https://github.com/jmhodges/levigo) - Levigo is a Go wrapper for LevelDB.
|
||||
* [piladb](https://github.com/fern4lvarez/piladb) - Lightweight RESTful database engine based on stack data structures.
|
||||
* [pREST](https://github.com/nuveo/prest) - Serve a RESTful API from any PostgreSQL database.
|
||||
* [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database.
|
||||
* [rqlite](https://github.com/rqlite/rqlite) - Replicated SQLite, using Raft consensus.
|
||||
* [rqlite](https://github.com/rqlite/rqlite) - The lightweight, distributed, relational database built on SQLite.
|
||||
* [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed SQL database. Inspired by the design of Google F1.
|
||||
* [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang.
|
||||
* [Tile38](https://github.com/tidwall/tile38) - A geolocation DB with spatial index and realtime geofencing.
|
||||
|
||||
*Database schema migration.*
|
||||
|
||||
* [darwin](https://github.com/GuiaBolso/darwin) - Database schema evolution library for Go
|
||||
* [goose](https://github.com/steinbacher/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts.
|
||||
* [gormigrate](https://github.com/go-gormigrate/gormigrate) - Database schema migration helper for Gorm ORM.
|
||||
* [migrate](https://github.com/mattes/migrate) - Database migration handling in Golang support MySQL,PostgreSQL,Cassandra and SQLite.
|
||||
@ -357,6 +362,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
|
||||
* [celeriac](https://github.com/svcavallar/celeriac.v1) - A library for adding support for interacting and monitoring Celery workers, tasks and events in Go
|
||||
* [flowgraph](https://github.com/vectaport/flowgraph) - MPI-style ready-send coordination layer.
|
||||
* [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.
|
||||
* [gorpc](https://github.com/valyala/gorpc) - Simple, fast and scalable RPC library for high load.
|
||||
@ -384,6 +390,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
* [email](https://github.com/jordan-wright/email) - A robust and flexible email library for Go.
|
||||
* [go-dkim](https://github.com/toorop/go-dkim) - A DKIM library, to sign & verify email.
|
||||
* [go-imap](https://github.com/emersion/go-imap) - An IMAP library for clients and servers
|
||||
* [go-message](https://github.com/emersion/go-message) - A streaming library for the Internet Message Format and mail messages
|
||||
* [Gomail](https://github.com/go-gomail/gomail/) - Gomail is a very simple and powerful package to send emails.
|
||||
* [Hectane](https://github.com/hectane/hectane) - Lightweight SMTP client providing an HTTP API
|
||||
* [MailHog](https://github.com/mailhog/MailHog) - Email and SMTP testing with web and API interface
|
||||
@ -437,7 +444,8 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
|
||||
*Awesome game development libraries.*
|
||||
|
||||
* [Ebiten](https://github.com/hajimehoshi/ebiten) - A simple SNES-like 2D game library in Go
|
||||
* [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
|
||||
* [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.
|
||||
@ -473,6 +481,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
|
||||
## Goroutines
|
||||
|
||||
*Tools for managing and working with Goroutines*
|
||||
|
||||
* [go-flow](https://github.com/kamildrazkiewicz/go-flow) - Control goroutines execution order.
|
||||
* [goworker](https://github.com/benmanns/goworker) - goworker is a Go-based background worker
|
||||
* [grpool](https://github.com/ivpusic/grpool) - Lightweight Goroutine pool.
|
||||
@ -594,6 +603,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
|
||||
* [Centrifugo](https://github.com/centrifugal/centrifugo) - Real-time messaging (Websockets or SockJS) server in Go.
|
||||
* [dbus](https://github.com/godbus/dbus) - Native Go bindings for D-Bus.
|
||||
* [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.
|
||||
* [go-longpoll](https://github.com/ventu-io/go-longpoll) - PubSub with long polling.
|
||||
@ -669,6 +679,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [paicehusk](https://github.com/rookii/paicehusk) - Golang implementation of the Paice/Husk Stemming Algorithm
|
||||
* [porter](https://github.com/a2800276/porter) - This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm.
|
||||
* [porter2](https://github.com/zhenjl/porter2) - Really fast Porter 2 stemmer.
|
||||
* [RAKE.go](https://github.com/Obaied/RAKE.go) - A Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE)
|
||||
* [segment](https://github.com/blevesearch/segment) - A Go library for performing Unicode Text Segmentation as described in [Unicode Standard Annex #29](http://www.unicode.org/reports/tr29/)
|
||||
* [sentences](https://github.com/neurosnap/sentences) - A sentence tokenizer: converts text into a list of sentences.
|
||||
* [snowball](https://github.com/goodsign/snowball) - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality [Snowball native](http://snowball.tartarus.org/).
|
||||
@ -699,6 +710,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [gotcp](https://github.com/gansidui/gotcp) - A Go package for quickly writing tcp applications
|
||||
* [grab](https://github.com/cavaliercoder/grab) - Go package for managing file downloads
|
||||
* [graval](https://github.com/koofr/graval) - An experimental FTP server framework.
|
||||
* [jazigo](https://github.com/udhos/jazigo) - Jazigo is a tool written in Go for retrieving configuration for multiple network devices.
|
||||
* [kcp-go](https://github.com/xtaci/kcp-go) - KCP - A Fast and Reliable ARQ Protocol.
|
||||
* [kcptun](https://github.com/xtaci/kcptun) - An extremely simple & fast udp tunnel based on KCP protocol
|
||||
* [lhttp](https://github.com/fanux/lhttp) - A powerful websocket framework, build your IM server more easily.
|
||||
@ -707,8 +719,10 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [mdns](https://github.com/hashicorp/mdns) - Simple mDNS (Multicast DNS) client/server library in Golang
|
||||
* [mqttPaho](https://eclipse.org/paho/clients/golang/) - The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets.
|
||||
* [portproxy](https://github.com/aybabtme/portproxy) - Simple TCP proxy which adds CORS support to API's which don't support it.
|
||||
* [publicip](https://github.com/polera/publicip) - Package publicip returns your public facing IPv4 address (internet egress).
|
||||
* [raw](https://github.com/mdlayher/raw) - Package raw enables reading and writing data at the device driver level for a network interface.
|
||||
* [sftp](https://github.com/pkg/sftp) - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt.
|
||||
* [ssh](https://github.com/gliderlabs/ssh) - Higher-level API for building SSH servers (wraps crypto/ssh).
|
||||
* [sslb](https://github.com/eduardonunesp/sslb) - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance.
|
||||
* [tcp_server](https://github.com/firstrow/tcp_server) - A Go library for building tcp servers faster.
|
||||
* [utp](https://github.com/anacrolix/utp) - Go uTP micro transport protocol implementation.
|
||||
@ -978,9 +992,11 @@ 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-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.
|
||||
* [go-twitter](https://github.com/dghubble/go-twitter) - Go client library for the Twitter v1.1 APIs.
|
||||
* [go-xkcd](https://github.com/nishanths/go-xkcd) - Go client for the xkcd API.
|
||||
* [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages.
|
||||
* [golyrics](https://github.com/mamal72/golyrics) - Golyrics is a Go library to fetch music lyrics data from the Wikia website.
|
||||
* [GoMusicBrainz](https://github.com/michiwend/gomusicbrainz) - a Go MusicBrainz WS2 client library.
|
||||
* [google](https://github.com/google/google-api-go-client) - Auto-generated Google APIs for Go.
|
||||
* [google-analytics](https://github.com/chonthu/go-google-analytics) - A simple wrapper for easy google analytics reporting.
|
||||
@ -991,6 +1007,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [hipchat (xmpp)](https://github.com/daneharrigan/hipchat) - A golang package to communicate with HipChat over XMPP.
|
||||
* [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API.
|
||||
* [megos](https://github.com/andygrunwald/megos) - A client library for accessing an [Apache Mesos](http://mesos.apache.org/) cluster
|
||||
* [micha](https://github.com/onrik/micha) - Go Library for Telegram bot api.
|
||||
* [minio-go](https://github.com/minio/minio-go) - Minio Go Library for Amazon S3 compatible cloud storage.
|
||||
* [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications.
|
||||
* [paypal](https://github.com/logpacker/paypalsdk) - Wrapper for PayPal payment API
|
||||
@ -1003,8 +1020,10 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [spotify](https://github.com/rapito/go-spotify) - Go Library to access Spotify WEB API.
|
||||
* [steam](https://github.com/sostronk/go-steam) - Go Library to interact with Steam game servers.
|
||||
* [stripe](https://github.com/stripe/stripe-go) - Go client for the Stripe API
|
||||
* [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.
|
||||
@ -1024,6 +1043,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [Deepcopier](https://github.com/ulule/deepcopier) - Simple struct copying for Go.
|
||||
* [delve](https://github.com/derekparker/delve) - Go debugger.
|
||||
* [dlog](https://github.com/kirillDanshin/dlog) - Compile-time controlled logger to make your release smaller without removing debug calls.
|
||||
* [excelize](https://github.com/Luxurioust/excelize) - Golang library for reading and writing Microsoft Excel (XLSX) files.
|
||||
* [fastlz](https://github.com/digitalcrab/fastlz) - Wrap over [FastLz](http://fastlz.org/) (free, open-source, portable real-time compression library) for GoLang.
|
||||
* [filetype](https://github.com/h2non/filetype) - Small package to infer the file type checking the magic numbers signature.
|
||||
* [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder written in Go
|
||||
@ -1065,6 +1085,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [lrserver](https://github.com/jaschaephraim/lrserver) - LiveReload server for Go
|
||||
* [mc](https://github.com/minio/mc) - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems.
|
||||
* [mergo](https://github.com/imdario/mergo) - A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements.
|
||||
* [minify](https://github.com/tdewolff/minify) - Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats.
|
||||
* [moldova](https://github.com/StabbyCutyou/moldova) - A utility for generating random data based on an input template.
|
||||
* [mp](https://github.com/sanbornm/mp) - A simple cli email parser. It currently takes stdin and outputs JSON.
|
||||
* [multitick](https://github.com/VividCortex/multitick) - Multiplexor for aligned tickers.
|
||||
@ -1118,6 +1139,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [gmf](https://github.com/3d0c/gmf) - Go bindings for FFmpeg av\* libraries.
|
||||
* [goav](https://github.com/giorgisio/goav) - Comphrensive Go bindings for FFmpeg.
|
||||
* [gst](https://github.com/ziutek/gst) - Go bindings for GStreamer.
|
||||
* [v4l](https://github.com/korandiz/v4l) - A video capture library for Linux, written in Go.
|
||||
|
||||
|
||||
## Web Frameworks
|
||||
@ -1129,10 +1151,11 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [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.
|
||||
* [Echo](https://github.com/labstack/echo) - A fast and unfancy micro web framework for Go.
|
||||
* [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).
|
||||
@ -1157,6 +1180,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [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.
|
||||
@ -1200,8 +1224,9 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
|
||||
* [gores](https://github.com/alioygur/gores) - Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs.
|
||||
* [interpose](https://github.com/carbocation/interpose) - Minimalist net/http middleware for golang.
|
||||
* [muxchain](https://github.com/stephens2424/muxchain) - Lightweight middleware for net/http.
|
||||
* [negroni](https://github.com/codegangsta/negroni) - Idiomatic HTTP middleware for Golang.
|
||||
* [negroni](https://github.com/urfave/negroni) - Idiomatic HTTP middleware for Golang.
|
||||
* [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.
|
||||
|
||||
# Tools
|
||||
@ -1258,12 +1283,14 @@ Software written in Go.
|
||||
### DevOps Tools
|
||||
|
||||
* [aptly](https://github.com/smira/aptly) - aptly is a Debian repository management tool.
|
||||
* [aurora](https://github.com/Luxurioust/aurora) - Cross-platform web-based Beanstalkd queue server console.
|
||||
* [awsenv](https://github.com/soniah/awsenv) - a small binary that loads Amazon (AWS) environment variables for a profile.
|
||||
* [Banshee](https://github.com/eleme/banshee) - Anomalies detection system for periodic metrics.
|
||||
* [bosun](https://github.com/bosun-monitor/bosun) - Time Series Alerting Framework.
|
||||
* [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart).
|
||||
* [Dropship](https://github.com/chrismckenzie/dropship) - A tool for deploying code via cdn.
|
||||
* [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading.
|
||||
* [Gitea](https://github.com/go-gitea/gitea) - A fork of Gogs, entirely community driven.
|
||||
* [Go Metrics](https://github.com/rcrowley/go-metrics) - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics.
|
||||
* [go-selfupdate](https://github.com/sanbornm/go-selfupdate) - Enable your Go applications to self update.
|
||||
* [gobrew](https://github.com/cryptojuice/gobrew) - gobrew lets you easily switch between multiple versions of go.
|
||||
@ -1330,6 +1357,7 @@ Software written in Go.
|
||||
* [tsuru](https://tsuru.io/) - An extensible and open source Platform as a Service software.
|
||||
* [websysd](https://github.com/ian-kent/websysd) - Web based process manager (like Marathon or Upstart).
|
||||
* [wellington](https://github.com/wellington/wellington) - Sass project management tool, extends the language with sprite functions (like Compass).
|
||||
* [XML-Comp](https://github.com/xml-comp/xml-comp) - Simple command line XML comparer that generates diffs of folders, files and tags.
|
||||
|
||||
|
||||
|
||||
@ -1382,6 +1410,7 @@ Where to discover new Go libraries.
|
||||
* [Learning Go](https://www.miek.nl/downloads/Go/Learning-Go-latest.pdf)
|
||||
* [Network Programming With Go](https://jan.newmarch.name/go/)
|
||||
* [The Go Programming Language](http://www.gopl.io/)
|
||||
* [Web Application with Go the Anti-Textbook](https://github.com/thewhitetulip/web-dev-golang-anti-textbook/)
|
||||
|
||||
## Twitter
|
||||
|
||||
|
1461
README.md.orig
Normal file
1461
README.md.orig
Normal file
File diff suppressed because it is too large
Load Diff
35
repo_test.go
35
repo_test.go
@ -3,7 +3,6 @@ package main
|
||||
import (
|
||||
"bytes"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"sort"
|
||||
"strings"
|
||||
"testing"
|
||||
@ -25,19 +24,18 @@ func TestDuplicatedLinks(t *testing.T) {
|
||||
links := make(map[string]bool, 0)
|
||||
|
||||
query.Find("body a").Each(func(_ int, s *goquery.Selection) {
|
||||
href, ok := s.Attr("href")
|
||||
if !ok {
|
||||
log.Printf("expected '%s' href", s)
|
||||
t.Fail()
|
||||
}
|
||||
t.Run(s.Text(), func(t *testing.T) {
|
||||
href, ok := s.Attr("href")
|
||||
if !ok {
|
||||
t.Error("expected to have href")
|
||||
}
|
||||
|
||||
if links[href] {
|
||||
log.Printf("duplicated link '%s'", href)
|
||||
t.Fail()
|
||||
return
|
||||
}
|
||||
if links[href] {
|
||||
t.Fatalf("duplicated link '%s'", href)
|
||||
}
|
||||
|
||||
links[href] = true
|
||||
links[href] = true
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@ -46,7 +44,12 @@ func testList(t *testing.T, list *goquery.Selection) {
|
||||
testList(t, items)
|
||||
items.RemoveFiltered("ul")
|
||||
})
|
||||
checkAlphabeticOrder(t, list)
|
||||
|
||||
category := list.Prev().Text()
|
||||
|
||||
t.Run(category, func(t *testing.T) {
|
||||
checkAlphabeticOrder(t, list)
|
||||
})
|
||||
}
|
||||
|
||||
func readme() []byte {
|
||||
@ -80,8 +83,10 @@ func checkAlphabeticOrder(t *testing.T, s *goquery.Selection) {
|
||||
|
||||
for k, item := range items {
|
||||
if item != sorted[k] {
|
||||
log.Printf("expected '%s' but actual is '%s'", sorted[k], item)
|
||||
t.Fail()
|
||||
t.Errorf("expected '%s' but actual is '%s'", sorted[k], item)
|
||||
}
|
||||
}
|
||||
if t.Failed() {
|
||||
t.Logf("expected order is:\n%s", strings.Join(sorted, "\n"))
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user