Add Gitbucket support.
This commit is contained in:
parent
2e11c55981
commit
f5f1625533
@ -15,6 +15,8 @@ type ZoneYaml struct {
|
||||
SuffixFileURL string `yaml:"suffixFileURL"`
|
||||
RangeSupported bool `yaml:"rangeSupported"`
|
||||
PathLengthLimit uint `yaml:"pathLengthLimit"` //The length of the path (Number of entries in the path) to return in the responses; (If 0: defaults to 1, if the username is not expected to be provided by the request, otherwise defaulting to 2)
|
||||
SuffixImportURL string `yaml:"suffixImportURL"`
|
||||
BasePrefixSourceURL string `yaml:"basePrefixSourceURL"`
|
||||
CacheSettings CacheSettingsYaml `yaml:"cacheSettings"`
|
||||
}
|
||||
|
||||
@ -38,5 +40,7 @@ func (zy ZoneYaml) GetPackageMetaTagOutputter() *outputMeta.PackageMetaTagOutput
|
||||
SuffixDirectoryURL: zy.SuffixDirectoryURL,
|
||||
SuffixFileURL: zy.SuffixFileURL,
|
||||
PathLengthLimit: pthLength,
|
||||
SuffixImportURL: zy.SuffixImportURL,
|
||||
BasePrefixSourceURL: zy.BasePrefixSourceURL,
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,8 @@ type PackageMetaTagOutputter struct {
|
||||
SuffixDirectoryURL string
|
||||
SuffixFileURL string
|
||||
PathLengthLimit uint //The number of path entries in the go import paths
|
||||
SuffixImportURL string
|
||||
BasePrefixSourceURL string //If blank, use BasePrefixURL instead
|
||||
}
|
||||
|
||||
func (pkgMTO *PackageMetaTagOutputter) GetMetaTags(pathIn string) string {
|
||||
@ -21,12 +23,12 @@ func (pkgMTO *PackageMetaTagOutputter) GetMetaTags(pathIn string) string {
|
||||
|
||||
func (pkgMTO *PackageMetaTagOutputter) GetMetaContentForGoImport(pathIn string) string {
|
||||
pathLoc := pkgMTO.GetPath(pathIn)
|
||||
return pkgMTO.getPrefix(pathLoc) + " git " + pkgMTO.getHomeURL(pathLoc)
|
||||
return pkgMTO.getPrefix(pathLoc) + " git " + pkgMTO.getHomeURL(pathLoc, false) + pkgMTO.SuffixImportURL
|
||||
}
|
||||
|
||||
func (pkgMTO *PackageMetaTagOutputter) GetMetaContentForGoSource(pathIn string) string {
|
||||
pathLoc := pkgMTO.GetPath(pathIn)
|
||||
return pkgMTO.getPrefix(pathLoc) + " " + pkgMTO.getHomeURL(pathLoc) + " " +
|
||||
return pkgMTO.getPrefix(pathLoc) + " " + pkgMTO.getHomeURL(pathLoc, true) + " " +
|
||||
pkgMTO.getDirectoryURL(pathLoc) + " " + pkgMTO.getFileURL(pathLoc)
|
||||
}
|
||||
|
||||
@ -53,6 +55,19 @@ func (pkgMTO *PackageMetaTagOutputter) assureBasePrefixURL() (failed bool) {
|
||||
return false
|
||||
}
|
||||
|
||||
func (pkgMTO *PackageMetaTagOutputter) assureBasePrefixSourceURL() (failed bool) {
|
||||
if pkgMTO.BasePrefixSourceURL == "" {
|
||||
if pkgMTO.assureBasePrefixURL() {
|
||||
return true
|
||||
}
|
||||
if pkgMTO.BasePrefixURL == "" {
|
||||
return true
|
||||
}
|
||||
pkgMTO.BasePrefixSourceURL = pkgMTO.BasePrefixURL
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (pkgMTO *PackageMetaTagOutputter) getPrefix(pathIn string) string {
|
||||
if pkgMTO.BasePath == "" {
|
||||
return "_"
|
||||
@ -60,38 +75,48 @@ func (pkgMTO *PackageMetaTagOutputter) getPrefix(pathIn string) string {
|
||||
return path.Join(pkgMTO.BasePath, pathIn)
|
||||
}
|
||||
|
||||
func (pkgMTO *PackageMetaTagOutputter) getHomeURL(pathIn string) string {
|
||||
func (pkgMTO *PackageMetaTagOutputter) getHomeURL(pathIn string, isSource bool) string {
|
||||
bpURL := ""
|
||||
if isSource {
|
||||
if pkgMTO.assureBasePrefixSourceURL() {
|
||||
return "_"
|
||||
} else {
|
||||
bpURL = pkgMTO.BasePrefixSourceURL
|
||||
}
|
||||
} else {
|
||||
if pkgMTO.assureBasePrefixURL() {
|
||||
return "_"
|
||||
}
|
||||
|
||||
if pkgMTO.Username == "" {
|
||||
return pkgMTO.BasePrefixURL + "/" + strings.TrimLeft(path.Clean(pathIn), "/")
|
||||
} else {
|
||||
return pkgMTO.BasePrefixURL + "/" + strings.TrimLeft(path.Join(pkgMTO.Username, pathIn), "/")
|
||||
bpURL = pkgMTO.BasePrefixURL
|
||||
}
|
||||
}
|
||||
if pkgMTO.Username == "" {
|
||||
return bpURL + "/" + strings.TrimLeft(path.Clean(pathIn), "/")
|
||||
} else {
|
||||
return bpURL + "/" + strings.TrimLeft(path.Join(pkgMTO.Username, pathIn), "/")
|
||||
}
|
||||
}
|
||||
|
||||
func (pkgMTO *PackageMetaTagOutputter) getDirectoryURL(pathIn string) string {
|
||||
if pkgMTO.assureBasePrefixURL() || pkgMTO.SuffixDirectoryURL == "" {
|
||||
if pkgMTO.assureBasePrefixSourceURL() || pkgMTO.SuffixDirectoryURL == "" {
|
||||
return "_"
|
||||
}
|
||||
|
||||
if pkgMTO.Username == "" {
|
||||
return pkgMTO.BasePrefixURL + "/" + strings.TrimLeft(path.Join(pathIn, pkgMTO.SuffixDirectoryURL), "/")
|
||||
return pkgMTO.BasePrefixSourceURL + "/" + strings.TrimLeft(path.Join(pathIn, pkgMTO.SuffixDirectoryURL), "/")
|
||||
} else {
|
||||
return pkgMTO.BasePrefixURL + "/" + strings.TrimLeft(path.Join(pkgMTO.Username, pathIn, pkgMTO.SuffixDirectoryURL), "/")
|
||||
return pkgMTO.BasePrefixSourceURL + "/" + strings.TrimLeft(path.Join(pkgMTO.Username, pathIn, pkgMTO.SuffixDirectoryURL), "/")
|
||||
}
|
||||
}
|
||||
|
||||
func (pkgMTO *PackageMetaTagOutputter) getFileURL(pathIn string) string {
|
||||
if pkgMTO.assureBasePrefixURL() || pkgMTO.SuffixFileURL == "" {
|
||||
if pkgMTO.assureBasePrefixSourceURL() || pkgMTO.SuffixFileURL == "" {
|
||||
return "_"
|
||||
}
|
||||
|
||||
if pkgMTO.Username == "" {
|
||||
return pkgMTO.BasePrefixURL + "/" + strings.TrimLeft(path.Join(pathIn, pkgMTO.SuffixFileURL), "/")
|
||||
return pkgMTO.BasePrefixSourceURL + "/" + strings.TrimLeft(path.Join(pathIn, pkgMTO.SuffixFileURL), "/")
|
||||
} else {
|
||||
return pkgMTO.BasePrefixURL + "/" + strings.TrimLeft(path.Join(pkgMTO.Username, pathIn, pkgMTO.SuffixFileURL), "/")
|
||||
return pkgMTO.BasePrefixSourceURL + "/" + strings.TrimLeft(path.Join(pkgMTO.Username, pathIn, pkgMTO.SuffixFileURL), "/")
|
||||
}
|
||||
}
|
||||
|
@ -20,8 +20,8 @@ func (htm handlerTemplateMarshal) GetGoSourceMetaContent() string {
|
||||
|
||||
func (htm handlerTemplateMarshal) GetLink() string {
|
||||
if htm.PageHandler.MetaOutput.Username == "" {
|
||||
return htm.PageHandler.MetaOutput.BasePrefixURL + "/" + strings.TrimLeft(path.Clean(htm.PageHandler.MetaOutput.GetPath(htm.RequestPath)), "/")
|
||||
return htm.PageHandler.MetaOutput.BasePrefixSourceURL + "/" + strings.TrimLeft(path.Clean(htm.PageHandler.MetaOutput.GetPath(htm.RequestPath)), "/")
|
||||
} else {
|
||||
return htm.PageHandler.MetaOutput.BasePrefixURL + "/" + strings.TrimLeft(path.Join(htm.PageHandler.MetaOutput.Username, htm.PageHandler.MetaOutput.GetPath(htm.RequestPath)), "/")
|
||||
return htm.PageHandler.MetaOutput.BasePrefixSourceURL + "/" + strings.TrimLeft(path.Join(htm.PageHandler.MetaOutput.Username, htm.PageHandler.MetaOutput.GetPath(htm.RequestPath)), "/")
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user