summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cmd/mediocre-blog/main.go1
-rw-r--r--src/gmi/gmi.go2
-rw-r--r--src/gmi/tpl.go14
3 files changed, 12 insertions, 5 deletions
diff --git a/src/cmd/mediocre-blog/main.go b/src/cmd/mediocre-blog/main.go
index cdd9b1b..ff8e478 100644
--- a/src/cmd/mediocre-blog/main.go
+++ b/src/cmd/mediocre-blog/main.go
@@ -126,6 +126,7 @@ func main() {
gmiParams.Logger = logger.WithNamespace("gmi")
gmiParams.PostStore = postStore
gmiParams.PostAssetStore = postAssetStore
+ gmiParams.HTTPPublicURL = httpParams.PublicURL
logger.Info(ctx, "starting gmi api")
gmiAPI, err := gmi.New(gmiParams)
diff --git a/src/gmi/gmi.go b/src/gmi/gmi.go
index 9ef6e19..6835ea0 100644
--- a/src/gmi/gmi.go
+++ b/src/gmi/gmi.go
@@ -30,6 +30,8 @@ type Params struct {
PublicURL *url.URL
ListenAddr string
CertificatesPath string
+
+ HTTPPublicURL *url.URL
}
// SetupCfg implement the cfg.Cfger interface.
diff --git a/src/gmi/tpl.go b/src/gmi/tpl.go
index 3022fe2..8220a49 100644
--- a/src/gmi/tpl.go
+++ b/src/gmi/tpl.go
@@ -33,8 +33,9 @@ type rendererGetPostSeriesNextPreviousRes struct {
}
type renderer struct {
- url *url.URL
- postStore post.Store
+ url *url.URL
+ postStore post.Store
+ httpPublicURL *url.URL
}
func (r renderer) GetPosts(page, count int) (rendererGetPostsRes, error) {
@@ -98,7 +99,9 @@ func (r renderer) PostBody(p post.StoredPost) (string, error) {
return filepath.Join("/posts", id)
},
StaticURL: func(path string) string {
- return filepath.Join("/static", path)
+ httpPublicURL := *r.httpPublicURL
+ httpPublicURL.Path = filepath.Join(httpPublicURL.Path, "/static", path)
+ return httpPublicURL.String()
},
Image: func(args ...string) (string, error) {
@@ -207,8 +210,9 @@ func (a *api) tplHandler() (gemini.Handler, error) {
buf := new(bytes.Buffer)
err := tpl.Execute(buf, renderer{
- url: r.URL,
- postStore: a.params.PostStore,
+ url: r.URL,
+ postStore: a.params.PostStore,
+ httpPublicURL: a.params.HTTPPublicURL,
})
if err != nil {