Rename from vanity to toyohime
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja> git-svn-id: file:///srv/svn/repo/toyohime/trunk@109 922d331f-388e-da47-97a9-ad700dc0b8b9
This commit is contained in:
parent
5c95c8fdd1
commit
f4f3bcf625
24
Makefile
24
Makefile
@ -1,10 +1,24 @@
|
||||
GO ?= go
|
||||
GOFLAGS ?= -v
|
||||
GOFLAGS ?= -v -ldflags "-w -X `go list`.Version=$(VERSION) -X `go list`.Commit=$(COMMIT) -X `go list`.Build=$(BUILD)" -tags "static_build"
|
||||
PREFIX ?= /usr/local
|
||||
|
||||
vanityserver:
|
||||
$(GO) build $(GOFLAGS) ./cmd/$@
|
||||
VERSION = `git describe --abbrev=0 --tags 2>/dev/null || echo "$VERSION"`
|
||||
COMMIT = `git rev-parse --short HEAD || echo "$COMMIT"`
|
||||
BRANCH = `git rev-parse --abbrev-ref HEAD`
|
||||
BUILD = `git show -s --pretty=format:%cI`
|
||||
|
||||
GOARCH ?= amd64
|
||||
GOOS ?= linux
|
||||
|
||||
all: toyohime-server
|
||||
|
||||
toyohime-server:
|
||||
${GO} build ${GOFLAGS} ./cmd/toyohime-server
|
||||
clean:
|
||||
rm toyohime-server
|
||||
install:
|
||||
install -m0755 vanityserver $(PREFIX)/bin/vanityserver
|
||||
install -m0755 toyohime-server $(PREFIX)/bin/toyohime-server
|
||||
test:
|
||||
${GO} test .
|
||||
uninstall:
|
||||
rm -f $(PREFIX)/bin/vanityserver
|
||||
rm -f $(PREFIX)/bin/toyohime-server
|
||||
|
@ -38,7 +38,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.chaotic.ninja/koizumi.aoi/vanity"
|
||||
"marisa.chaotic.ninja/toyohime"
|
||||
)
|
||||
|
||||
var (
|
||||
@ -66,9 +66,9 @@ func serveRepo(mux *http.ServeMux, root string, u *url.URL) {
|
||||
importPath := host + "/" + root
|
||||
var h http.Handler
|
||||
if vcsHost == "github.com" {
|
||||
h = vanity.GitHubHandler(importPath, user, repo, vcsScheme)
|
||||
h = toyohime.GitHubHandler(importPath, user, repo, vcsScheme)
|
||||
} else {
|
||||
h = vanity.GogsHandler(importPath, vcsHost, user, repo, vcsScheme)
|
||||
h = toyohime.GogsHandler(importPath, vcsHost, user, repo, vcsScheme)
|
||||
}
|
||||
mux.Handle("/"+root, h)
|
||||
mux.Handle("/"+root+"/", h)
|
||||
@ -107,18 +107,77 @@ func addRepoHandlers(mux *http.ServeMux, r io.Reader) error {
|
||||
}
|
||||
|
||||
var b bytes.Buffer
|
||||
err := template.Must(template.New("").Parse(`<!DOCTYPE html>
|
||||
<table>
|
||||
err := template.Must(template.New("").Parse(`
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Import paths hosted at {{ .Host }}</title>
|
||||
<style type="text/css">
|
||||
body,td{font-size:11pt; color:#4d4d4d; font-family:ms pgothic, ms gothic, osaka; background-color:#f8dfdf}
|
||||
a:link{color:#cc9999; text-decoration:none}
|
||||
a:visited{color:#cc9999; text-decoration:none}
|
||||
a:active{color:#cc9999; text-decoration:none; position:relative; top:3px; left:3px}
|
||||
a:hover{color:#cc9999; text-decoration:none; position:relative; top:3px; left:3px}
|
||||
.yohaku{margin-top:30px}
|
||||
.dia{line-height:130%}
|
||||
.star1{font-size:22px; color:#cc9999}
|
||||
.position1{position:relative; top:7px}
|
||||
.line{border-top:2px dotted #cc9999}
|
||||
.waku{border:1px solid #cc9999}
|
||||
.bg{background-color:#ffffff}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
{{ $host := .Host }}
|
||||
<h1>{{ html $host }}</h1>
|
||||
<div align="center">
|
||||
<p>でホストされているインポート パス {{ html $host }}</p>
|
||||
</div>
|
||||
<div align="center">
|
||||
<table width="470" class="bg waku yohaku" cellspacing="0" style="margin-bottom: 20px">
|
||||
{{ range $root, $repo := .IndexMap }}
|
||||
<tr>
|
||||
<td><a href="https://{{ html $host }}/{{ html $root }}">{{ html $root }}</a></td>
|
||||
<td><a href="{{ html $repo }}">{{ html $repo }}</a></td>
|
||||
<tr><td class="bg" style="padding-top: 5px; padding-bottom: 5px">
|
||||
<div class="star1" align="center">
|
||||
<span style="position:relative; top:-5px">*</span>
|
||||
<span style="position:relative; top:5px">*</span>
|
||||
<span style="position:relative; top:-5px">*</span>
|
||||
<span style="position:relative; top:5px">*</span>
|
||||
<span style="position:relative; top:-5px">*</span>
|
||||
<span style="position:relative; top:5px">*</span>
|
||||
<span style="position:relative; top:-5px">*</span>
|
||||
<span style="position:relative; top:5px">*</span>
|
||||
<span style="position:relative; top:-5px">*</span>
|
||||
<span style="position:relative; top:5px">*</span>
|
||||
<span style="position:relative; top:-5px">*</span>
|
||||
<span style="position:relative; top:5px">*</span>
|
||||
<span style="position:relative; top:-5px">*</span>
|
||||
<span style="position:relative; top:5px">*</span>
|
||||
<span style="position:relative; top:-5px">*</span>
|
||||
<span style="position:relative; top:5px">*</span>
|
||||
<span style="position:relative; top:-5px">*</span>
|
||||
<span style="position:relative; top:5px">*</span>
|
||||
<span style="position:relative; top:-5px">*</span>
|
||||
<span style="position:relative; top:5px">*</span>
|
||||
<span style="position:relative; top:-5px">*</span>
|
||||
<span style="position:relative; top:5px">*</span>
|
||||
<span style="position:relative; top:-5px">*</span>
|
||||
<span style="position:relative; top:5px">*</span>
|
||||
<span style="position:relative; top:-5px">*</span>
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td class="bg line dia" style="padding: 15px 10px 10px 10px">
|
||||
<center>
|
||||
<h2>{{ html $root }}</h2>
|
||||
<a href="https://{{ html $host }}/{{ html $root }}">Package</a> <br/>
|
||||
<a href="{{ html $repo }}">Repository</a></li>
|
||||
{{ else }}
|
||||
Nothing here.
|
||||
{{ end }}
|
||||
</center>
|
||||
</table>
|
||||
<p>~から明らかに盗まれた <a href="http://azukifont.com">azukifont.com</a></p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
`)).Execute(&b, struct {
|
||||
IndexMap map[string]string
|
||||
Host string
|
||||
@ -218,5 +277,6 @@ func main() {
|
||||
|
||||
srv := buildServer(h)
|
||||
|
||||
log.Printf("starting toyohime-server %v on port %v\n", toyohime.FullVersion(), *listenPort)
|
||||
log.Println(srv.ListenAndServe())
|
||||
}
|
2
go.mod
2
go.mod
@ -1,4 +1,4 @@
|
||||
module git.chaotic.ninja/koizumi.aoi/vanity
|
||||
module marisa.chaotic.ninja/toyohime
|
||||
|
||||
go 1.14
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
/*
|
||||
Package vanity implements custom import paths (Go vanity URLs) as an HTTP
|
||||
Package toyohime implements custom import paths (Go vanity URLs) as an HTTP
|
||||
handler that can be installed at the vanity URL.
|
||||
*/
|
||||
package vanity // import "go.jonnrb.io/vanity"
|
||||
package toyohime // import "go.jonnrb.io/vanity" <- original one for reference
|
||||
|
||||
import (
|
||||
"fmt"
|
@ -1,4 +1,4 @@
|
||||
package vanity
|
||||
package toyohime
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
@ -52,9 +52,9 @@ func TestBrowserGoDoc(t *testing.T) {
|
||||
path string
|
||||
result string
|
||||
}{
|
||||
{"/pkg", "https://godoc.org/go.jonnrb.io/pkg"},
|
||||
{"/pkg/", "https://godoc.org/go.jonnrb.io/pkg"},
|
||||
{"/pkg/sub/foo", "https://godoc.org/go.jonnrb.io/pkg/sub/foo"},
|
||||
{"/pkg", "https://godocs.io/go.jonnrb.io/pkg"},
|
||||
{"/pkg/", "https://godocs.io/go.jonnrb.io/pkg"},
|
||||
{"/pkg/sub/foo", "https://godocs.io/go.jonnrb.io/pkg/sub/foo"},
|
||||
}
|
||||
for _, test := range tests {
|
||||
res := httptest.NewRecorder()
|
50
version.go
Normal file
50
version.go
Normal file
@ -0,0 +1,50 @@
|
||||
package toyohime
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"runtime/debug"
|
||||
"strings"
|
||||
)
|
||||
|
||||
const (
|
||||
defaultVersion = "0.0.0"
|
||||
defaultCommit = "HEAD"
|
||||
defaultBuild = "0000-01-01:00:00+00:00"
|
||||
)
|
||||
|
||||
var (
|
||||
// Version is the tagged release version in the form <major>.<minor>.<patch>
|
||||
// following semantic versioning and is overwritten by the build system.
|
||||
Version = defaultVersion
|
||||
|
||||
// Commit is the commit sha of the build (normally from Git) and is overwritten
|
||||
// by the build system.
|
||||
Commit = defaultCommit
|
||||
|
||||
// Build is the date and time of the build as an RFC3339 formatted string
|
||||
// and is overwritten by the build system.
|
||||
Build = defaultBuild
|
||||
)
|
||||
|
||||
// FullVersion display the full version and build
|
||||
func FullVersion() string {
|
||||
var sb strings.Builder
|
||||
|
||||
isDefault := Version == defaultVersion && Commit == defaultCommit && Build == defaultBuild
|
||||
|
||||
if !isDefault {
|
||||
sb.WriteString(fmt.Sprintf("%s@%s %s", Version, Commit, Build))
|
||||
}
|
||||
|
||||
if info, ok := debug.ReadBuildInfo(); ok {
|
||||
if isDefault {
|
||||
sb.WriteString(fmt.Sprintf(" %s", info.Main.Version))
|
||||
}
|
||||
sb.WriteString(fmt.Sprintf(" %s", info.GoVersion))
|
||||
if info.Main.Sum != "" {
|
||||
sb.WriteString(fmt.Sprintf(" %s", info.Main.Sum))
|
||||
}
|
||||
}
|
||||
|
||||
return sb.String()
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user