diff options
author | Nicolas Lenz <nicolas@eisfunke.com> | 2018-10-30 15:34:12 +0100 |
---|---|---|
committer | techknowlogick <hello@techknowlogick.com> | 2018-10-30 10:34:12 -0400 |
commit | 220ee6ae4296a9271a6d9b1825b00ed6f3d66659 (patch) | |
tree | 4159018c184c0ac05cb8760d5ba6656be3ab6e89 | |
parent | e61c6cd3dbc756b363f6e5441d67e207605c1dc0 (diff) | |
download | gitea-220ee6ae4296a9271a6d9b1825b00ed6f3d66659.tar.gz gitea-220ee6ae4296a9271a6d9b1825b00ed6f3d66659.zip |
Pass link prefixes to external markup parsers (#5201)
* Pass environment variables for URL prefixes to external markup parser
Signed-off-by: Nicolas Lenz <nicolas@eisfunke.com>
* Document external markup link prefix environment variables
Signed-off-by: Nicolas Lenz <nicolas@eisfunke.com>
* Run format on link prefix changes
Signed-off-by: Nicolas Lenz <nicolas@eisfunke.com>
-rw-r--r-- | docs/content/doc/advanced/config-cheat-sheet.en-us.md | 4 | ||||
-rw-r--r-- | modules/markup/external/external.go | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/docs/content/doc/advanced/config-cheat-sheet.en-us.md b/docs/content/doc/advanced/config-cheat-sheet.en-us.md index 4dbc4c0d7c..1c327f6073 100644 --- a/docs/content/doc/advanced/config-cheat-sheet.en-us.md +++ b/docs/content/doc/advanced/config-cheat-sheet.en-us.md @@ -359,6 +359,10 @@ IS_INPUT_FILE = false - RENDER\_COMMAND: External command to render all matching extensions. - IS\_INPUT\_FILE: **false** Input is not a standard input but a file param followed `RENDER_COMMAND`. +Two special environment variables are passed to the render command: +- `GITEA_PREFIX_SRC`, which contains the current URL prefix in the `src` path tree. To be used as prefix for links. +- `GITEA_PREFIX_RAW`, which contains the current URL prefix in the `raw` path tree. To be used as prefix for image paths. + ## Other (`other`) - `SHOW_FOOTER_BRANDING`: **false**: Show Gitea branding in the footer. diff --git a/modules/markup/external/external.go b/modules/markup/external/external.go index 676ec4b4c5..73bf7a327e 100644 --- a/modules/markup/external/external.go +++ b/modules/markup/external/external.go @@ -76,6 +76,11 @@ func (p *Parser) Render(rawBytes []byte, urlPrefix string, metas map[string]stri } cmd := exec.Command(commands[0], args...) + cmd.Env = append( + os.Environ(), + "GITEA_PREFIX_SRC="+urlPrefix, + "GITEA_PREFIX_RAW="+strings.Replace(urlPrefix, "/src/", "/raw/", 1), + ) if !p.IsInputFile { cmd.Stdin = rd } |