func NewTrendingWithClient(client *http.Client) *Trending {
	baseURL, _ := url.Parse(defaultBaseURL)
	t := Trending{
		BaseURL: baseURL,
		Client:  client,
	}
	return &t
}
NewTrendingWithClient allows providing a custom http.Client to use for fetching trending items.
It allows setting timeouts or using 3rd party http.Client implementations, such as Google App Engine
urlfetch.Client.
package trending
import (
	"net/http"
	"net/url"
	"regexp"
	"strconv"
	"strings"
	"github.com/PuerkitoBio/goquery"
)
const (
	TimeToday = "daily"
	TimeWeek = "weekly"
	TimeMonth = "monthly"
	defaultBaseURL = "https://github.com"
	urlTrendingPath = "/trending"
	urlDevelopersPath = "/developers"
	modeRepositories = "repositories"
	modeDevelopers = "developers"
	modeLanguages = "languages"
)
type Trending struct {
	BaseURL *url.URL
	Client *http.Client
}
type Project struct {
	Name string
	Owner string
	RepositoryName string
	Description string
	Language string
	Stars int
	URL *url.URL
	ContributorURL *url.URL
	Contributor []Developer
}
type Language struct {
	Name string
	URLName string
	URL *url.URL
}
type Developer struct {
	ID int
	DisplayName string
	FullName string
	URL *url.URL
	Avatar *url.URL
}
func NewTrending() *Trending {
	return NewTrendingWithClient(http.DefaultClient)
}