Enable Asciidoctor Rendering with Gitea
Enable Asciidoctor rendering
To solve that the idea is to install asciidoctor - the doc mention asciidoc but asciidoctor is more reliable these days, then simply configure the app.ini of Gitea to use it to render .adoc files.
Since I’m using a local Kubernetes cluster, here is how I built a custom image to run Gitea:
FROM docker.io/gitea/gitea:1.17.2 (1)
RUN apk add --no-cache asciidoctor && \ (2)
    rm -vrf /var/cache/apk/*
| 1 | Start the standard gitea image, | 
| 2 | Add asciidoctor executable and clean up the installation cache. | 
Build the image (nothing specific there): docker build -t mygitea:latest ..
personally I tend to tag the image using the pattern ${gitea.version}.${build.version}.
 | 
Then, in my app.ini add:
[markup.asciidoc]
ENABLED=true
FILE_EXTENSIONS=.adoc (1)
IS_INPUT_FILE=false (2)
RENDER_COMMAND=asciidoctor -S unsafe -s --attribute showtitle=true - (3)
| 1 | You can add other extensions seprating them by commas, for example .adoc,.asciidoc,.asciidoctor, | 
| 2 | Just pass the file content as a pipe (through stdin), | 
| 3 | Command is explained in next part. | 
And now you can run gitea using mygitea image and the .adoc files can be browsed in a proper way.
note that this rendering uses stdin to pass the content of the file, Gitea does not support file rendering respecting the layout (file rendering uses a temp file in a "sandbox" folder) so it means you can loose some build time features like includes.
 | 
asciidoctor command
As you see, you can use the command you want to render the .adoc file.
Here we used asciidoctor -S unsafe -s --attribute showtitle=true -, let’s break it down:
- 
-S unsafe: unsafe rendering enables more features, since the input is already sandboxed it is mainly about external references, icons, source highlightment… See safe modes for details. - 
-s: no header/footer option, enables to just get the content rendering and not a full html document (no head/body tags), - 
--attribute showtitle=true:-sdisablesh1titles so we loose some data, adding this attribute enables to get the best of both worlds, ie just a content rendering with titles, - 
-: request asciidoctor to render thestdininstead of expecting a file. 
From the same author:
In the same category:
	                
