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