aboutsummaryrefslogtreecommitdiff
path: root/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'server.go')
-rw-r--r--server.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/server.go b/server.go
index ccb0dc5..483b7d1 100644
--- a/server.go
+++ b/server.go
@@ -179,7 +179,7 @@ func (ciigo *Ciigo) onSearch(epr *libhttp.EndpointRequest) (resBody []byte, err
// If yes, it will auto convert the adoc and return the new content of HTML
// files.
func (ciigo *Ciigo) onGet(
- node *memfs.Node, _ http.ResponseWriter, req *http.Request,
+ node *memfs.Node, w http.ResponseWriter, req *http.Request,
) (out *memfs.Node, statusCode int) {
var (
logp = `onGet`
@@ -187,7 +187,15 @@ func (ciigo *Ciigo) onGet(
)
if node == nil {
+ // File does not exist.
file = req.URL.Path
+ ext := path.Ext(file)
+ if ext == `.adoc` || ext == `.md` {
+ // Redirect to .html.
+ file = strings.TrimSuffix(file, ext) + `.html`
+ http.Redirect(w, req, file, http.StatusSeeOther)
+ return nil, http.StatusSeeOther
+ }
} else {
if node.IsDir() {
file = path.Join(node.Path, `index.html`)