Compare commits
2 commits
77e61409e4
...
4ee40cdcc1
Author | SHA1 | Date | |
---|---|---|---|
4ee40cdcc1 | |||
53b7ee2a54 |
7 changed files with 149 additions and 0 deletions
38
.forgejo/workflows/docs.yaml
Normal file
38
.forgejo/workflows/docs.yaml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
name: Build Antora Docs
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: catthehacker/ubuntu:act-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Log in to Container Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ${{ vars.CONTAINER_REGISTRY }}
|
||||||
|
username: ${{ secrets.CONTAINER_REGISTRY_USERNAME }}
|
||||||
|
password: ${{ secrets.CONTAINER_REGISTRY_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: docs/Dockerfile
|
||||||
|
push: true
|
||||||
|
tags: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_NAME_DOCS }}:latest
|
||||||
|
cache-from: type=gha
|
||||||
|
cache-to: type=gha,mode=max
|
54
Makefile
Normal file
54
Makefile
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
pages := $(shell find . -type f -name '*.adoc')
|
||||||
|
web_dir := ./_public
|
||||||
|
|
||||||
|
# Determine whether to use podman
|
||||||
|
#
|
||||||
|
# podman currently fails when executing in GitHub actions on Ubuntu LTS 20.04,
|
||||||
|
# so we never use podman if GITHUB_ACTIONS==true.
|
||||||
|
use_podman := $(shell command -v podman 2>&1 >/dev/null; p="$$?"; \
|
||||||
|
if [ "$${GITHUB_ACTIONS}" != "true" ]; then echo "$$p"; else echo 1; fi)
|
||||||
|
|
||||||
|
ifeq ($(use_podman),0)
|
||||||
|
engine_cmd ?= podman
|
||||||
|
engine_opts ?= --rm --tty --userns=keep-id
|
||||||
|
else
|
||||||
|
engine_cmd ?= docker
|
||||||
|
engine_opts ?= --rm --tty --user "$$(id -u)"
|
||||||
|
endif
|
||||||
|
|
||||||
|
# renovate: datasource=github-releases depName=vshn/antora
|
||||||
|
antora_VERSION ?= 3.1.2.3
|
||||||
|
antora_cmd ?= $(engine_cmd) run $(engine_opts) --volume "$${PWD}":/antora ghcr.io/vshn/antora:$(antora_VERSION)
|
||||||
|
|
||||||
|
# renovate: datasource=github-releases depName=vshn/antora-preview
|
||||||
|
preview_VERSION ?= 3.1.2.3
|
||||||
|
antora_opts ?= --cache-dir=.cache/antora
|
||||||
|
preview_cmd ?= $(engine_cmd) run --rm --publish 35729:35729 --publish 2020:2020 --volume "${PWD}":/preview/antora ghcr.io/vshn/antora-preview:$(preview_VERSION) --antora=docs --style=vshn
|
||||||
|
|
||||||
|
UNAME := $(shell uname)
|
||||||
|
ifeq ($(UNAME), Linux)
|
||||||
|
OS = linux-x64
|
||||||
|
OPEN = xdg-open
|
||||||
|
endif
|
||||||
|
ifeq ($(UNAME), Darwin)
|
||||||
|
OS = darwin-x64
|
||||||
|
OPEN = open
|
||||||
|
endif
|
||||||
|
|
||||||
|
.PHONY: docs-clean
|
||||||
|
clean:
|
||||||
|
rm -rf $(web_dir) .cache
|
||||||
|
|
||||||
|
.PHONY: docs-open
|
||||||
|
docs-open: $(web_dir)/index.html
|
||||||
|
-$(OPEN) $<
|
||||||
|
|
||||||
|
.PHONY: docs-html
|
||||||
|
docs-html: $(web_dir)/index.html
|
||||||
|
|
||||||
|
.PHONY: docs-preview
|
||||||
|
docs-preview:
|
||||||
|
$(preview_cmd)
|
||||||
|
|
||||||
|
$(web_dir)/index.html: playbook.yml $(pages)
|
||||||
|
$(antora_cmd) $(antora_opts) $<
|
14
docs/Dockerfile
Normal file
14
docs/Dockerfile
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# ---------- STEP 1 ----------
|
||||||
|
# Build the documentation in web format
|
||||||
|
FROM ghcr.io/vshn/antora:master AS antora
|
||||||
|
|
||||||
|
WORKDIR /build
|
||||||
|
COPY . /build
|
||||||
|
RUN make docs-html antora_cmd=antora antora_opts=--fetch
|
||||||
|
|
||||||
|
# ---------- STEP 2 ----------
|
||||||
|
# Docker image only containing nginx and the freshly built documentation
|
||||||
|
FROM ghcr.io/vshn/nginx:latest
|
||||||
|
|
||||||
|
# Finally, copy the contents of the documentation to be served
|
||||||
|
COPY --from=antora /build/_public /usr/share/nginx/html
|
6
docs/antora.yml
Normal file
6
docs/antora.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
name: ROOT
|
||||||
|
title: Servala Documentation
|
||||||
|
version: ~
|
||||||
|
start_page: ROOT:index.adoc
|
||||||
|
nav:
|
||||||
|
- modules/ROOT/nav.adoc
|
1
docs/modules/ROOT/nav.adoc
Normal file
1
docs/modules/ROOT/nav.adoc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
* xref:index.adoc[Home]
|
3
docs/modules/ROOT/pages/index.adoc
Normal file
3
docs/modules/ROOT/pages/index.adoc
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
= Servala
|
||||||
|
|
||||||
|
Hello World
|
33
playbook.yml
Normal file
33
playbook.yml
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
site:
|
||||||
|
title: Servala
|
||||||
|
url: https://docs.servala.com/
|
||||||
|
start_page: servaka::index.adoc
|
||||||
|
robots: |
|
||||||
|
User-agent: *
|
||||||
|
Allow: *
|
||||||
|
content:
|
||||||
|
sources:
|
||||||
|
- url: https://servala-2nkgm.app.codey.ch/servala/servala-portal.git
|
||||||
|
branches: ["main"]
|
||||||
|
start_path: docs
|
||||||
|
edit_url: "https://servala-2nkgm.app.codey.ch/servala/servala-portal/_edit/main/{path}"
|
||||||
|
ui:
|
||||||
|
bundle:
|
||||||
|
url: https://github.com/vshn/antora-ui-default/releases/download/2.2.6/ui-bundle.zip
|
||||||
|
snapshot: true
|
||||||
|
asciidoc:
|
||||||
|
attributes:
|
||||||
|
page-pagination: ""
|
||||||
|
hide-uri-scheme: ""
|
||||||
|
experimental: ""
|
||||||
|
stem: ""
|
||||||
|
icons: font
|
||||||
|
kroki-server-url: https://kroki.vshn.net
|
||||||
|
kroki-fetch-diagram: ""
|
||||||
|
extensions:
|
||||||
|
- asciidoctor-kroki
|
||||||
|
output:
|
||||||
|
destinations:
|
||||||
|
- provider: fs
|
||||||
|
path: ./_public
|
||||||
|
clean: true
|
Loading…
Add table
Add a link
Reference in a new issue