mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 18:22:07 +00:00
Update docs CI workflows to sync with new rgbds-www repo
This commit is contained in:
56
.github/actions/doc_postproc.awk
vendored
56
.github/actions/doc_postproc.awk
vendored
@@ -1,56 +0,0 @@
|
|||||||
#!/usr/bin/awk -f
|
|
||||||
|
|
||||||
/^\s+<td><b class="Sy">.+<\/b><\/td>$/ {
|
|
||||||
# Assuming that all cells whose contents are bold are heading cells,
|
|
||||||
# use the HTML tag for those
|
|
||||||
sub(/td><b class="Sy"/, "th");
|
|
||||||
sub(/b><\/td/, "th");
|
|
||||||
}
|
|
||||||
|
|
||||||
# The whole page is being generated, so it's not meant to contain any Liquid
|
|
||||||
BEGIN {
|
|
||||||
print "{% raw %}"
|
|
||||||
}
|
|
||||||
END {
|
|
||||||
print "{% endraw %}"
|
|
||||||
}
|
|
||||||
|
|
||||||
BEGIN {
|
|
||||||
in_synopsis = 0
|
|
||||||
}
|
|
||||||
/<table class="Nm">/ {
|
|
||||||
in_synopsis = 1
|
|
||||||
}
|
|
||||||
/<\/table>/ {
|
|
||||||
# Resets synopsis state even when already reset, but whatever
|
|
||||||
in_synopsis = 0
|
|
||||||
}
|
|
||||||
/<code class="Fl">-[a-zA-Z]/ {
|
|
||||||
# Add links to arg descr in synopsis section
|
|
||||||
if (in_synopsis) {
|
|
||||||
while (match($0, /<code class="Fl">-[a-zA-Z]+/)) {
|
|
||||||
# 123456789012345678 -> 18 chars
|
|
||||||
optchars = substr($0, RSTART + 18, RLENGTH - 18)
|
|
||||||
i = length(optchars)
|
|
||||||
while (i) {
|
|
||||||
end = RSTART + 18 + i
|
|
||||||
i -= 1
|
|
||||||
len = i ? 1 : 2
|
|
||||||
$0 = sprintf("%s<a href=\"#%s\">%s</a>%s",
|
|
||||||
substr($0, 0, end - len - 1),
|
|
||||||
substr($0, end - 1, 1),
|
|
||||||
substr($0, end - len, len),
|
|
||||||
substr($0, end))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
# Make long opts (defined using `Fl Fl`) into a single tag
|
|
||||||
gsub(/<code class="Fl">-<\/code>\s*<code class="Fl">/, "<code class=\"Fl\">-")
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
print
|
|
||||||
}
|
|
||||||
106
.github/actions/get-pages.sh
vendored
106
.github/actions/get-pages.sh
vendored
@@ -1,106 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
cat <<EOF
|
|
||||||
Usage: $0 [-h] [-r] <rgbds-www> <version>
|
|
||||||
Copy renders from RGBDS repository to rgbds-www documentation
|
|
||||||
Execute from the \`man/\` folder in the RGBDS repo, checked out at the desired tag
|
|
||||||
<rgbds-www> : Path to the rgbds-www repository
|
|
||||||
<version> : Version to be copied, such as 'v0.4.1' or 'master'
|
|
||||||
|
|
||||||
-h Display this help message
|
|
||||||
-r Update "latest stable" redirection pages and add a new entry to the index
|
|
||||||
(use for releases, not master)
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
is_release=0
|
|
||||||
bad_usage=0
|
|
||||||
while getopts ":hr" opt; do
|
|
||||||
case $opt in
|
|
||||||
r)
|
|
||||||
is_release=1
|
|
||||||
;;
|
|
||||||
h)
|
|
||||||
usage
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
\?)
|
|
||||||
echo "Unknown option '$OPTARG'"
|
|
||||||
bad_usage=1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
if [ $bad_usage -ne 0 ]; then
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
shift $((OPTIND - 1))
|
|
||||||
|
|
||||||
|
|
||||||
declare -a PAGES
|
|
||||||
PAGES=(
|
|
||||||
rgbasm.1
|
|
||||||
rgbasm.5
|
|
||||||
rgblink.1
|
|
||||||
rgblink.5
|
|
||||||
rgbfix.1
|
|
||||||
rgbgfx.1
|
|
||||||
rgbds.5
|
|
||||||
rgbds.7
|
|
||||||
gbz80.7
|
|
||||||
)
|
|
||||||
WWWPATH="/docs"
|
|
||||||
OUTDIR="$1/_documentation/$2"
|
|
||||||
mkdir -p "$OUTDIR"
|
|
||||||
|
|
||||||
# `mandoc` uses a different format for referring to man pages present in the **current** directory.
|
|
||||||
# We want that format for RGBDS man pages, and the other one for the rest;
|
|
||||||
# this script must thus be run from the directory all man pages are in.
|
|
||||||
|
|
||||||
for page in "${PAGES[@]}"; do
|
|
||||||
manpage="${page%.?}(${page#*.})" # "rgbasm(5)"
|
|
||||||
descr="$(awk -v 'FS=.Nd ' '/.Nd/ { print $2; }' "$page")" # "language documentation"
|
|
||||||
|
|
||||||
cat >"$OUTDIR/$page.html" <<EOF
|
|
||||||
---
|
|
||||||
layout: doc
|
|
||||||
title: $manpage [$2]
|
|
||||||
description: RGBDS $2 — $descr
|
|
||||||
---
|
|
||||||
EOF
|
|
||||||
options=fragment,man='%N.%S;https://linux.die.net/man/%S/%N'
|
|
||||||
if [[ $page = rgbasm.5 ]]; then
|
|
||||||
options+=,toc
|
|
||||||
fi
|
|
||||||
mandoc -W warning -Thtml -I os=Linux -O$options "$page" | ../.github/actions/doc_postproc.awk >> "$OUTDIR/$page.html"
|
|
||||||
groff -Tpdf -mdoc -wall "$page" >"$OUTDIR/$page.pdf"
|
|
||||||
if [[ $is_release -ne 0 ]]; then
|
|
||||||
cat - >"$1/_documentation/$page.html" <<EOF
|
|
||||||
---
|
|
||||||
redirect_to: $WWWPATH/$2/$page
|
|
||||||
permalink: $WWWPATH/$page/
|
|
||||||
title: $manpage [latest stable]
|
|
||||||
description: RGBDS latest stable — $descr
|
|
||||||
---
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
cat - >"$OUTDIR/index.html" <<EOF
|
|
||||||
---
|
|
||||||
layout: doc_index
|
|
||||||
permalink: /docs/$2/
|
|
||||||
title: RGBDS online manual [$2]
|
|
||||||
description: RGBDS $2 - Online manual
|
|
||||||
---
|
|
||||||
EOF
|
|
||||||
|
|
||||||
|
|
||||||
# If making a release, add a new entry right after `master`
|
|
||||||
if [[ $is_release -ne 0 ]]; then
|
|
||||||
awk '{ print }
|
|
||||||
/"name": "master"/ { print "\t\t{\"name\": \"'"$2"'\", \"text\": \"'"$2"'\" }," }
|
|
||||||
' "$1/_data/doc.json" >"$1/_data/doc.json.tmp"
|
|
||||||
mv "$1/_data/doc.json"{.tmp,}
|
|
||||||
fi
|
|
||||||
10
.github/workflows/create-release-docs.yml
vendored
10
.github/workflows/create-release-docs.yml
vendored
@@ -23,16 +23,16 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
sudo apt-get -qq update
|
sudo apt-get -qq update
|
||||||
sudo apt-get install -yq groff zlib1g-dev
|
sudo apt-get install -yq groff zlib1g-dev
|
||||||
wget 'http://mandoc.bsd.lv/snapshots/mandoc-1.14.5.tar.gz'
|
wget 'http://mandoc.bsd.lv/snapshots/mandoc-1.14.6.tar.gz'
|
||||||
tar xf mandoc-1.14.5.tar.gz
|
tar xf mandoc-1.14.6.tar.gz
|
||||||
cd mandoc-1.14.5
|
cd mandoc-1.14.6
|
||||||
./configure
|
./configure
|
||||||
make
|
make
|
||||||
sudo make install
|
sudo make install
|
||||||
- name: Update pages
|
- name: Update pages
|
||||||
working-directory: rgbds
|
working-directory: rgbds/man
|
||||||
run: | # The ref appears to be in the format "refs/tags/<version>", so strip that
|
run: | # The ref appears to be in the format "refs/tags/<version>", so strip that
|
||||||
./.github/actions/get-pages.sh -r ../rgbds-www ${GITHUB_REF##*/}
|
../../rgbds-www/.github/actions/get-pages.sh ${GITHUB_REF##*/} *
|
||||||
- name: Push new pages
|
- name: Push new pages
|
||||||
working-directory: rgbds-www
|
working-directory: rgbds-www
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
11
.github/workflows/update-master-docs.yml
vendored
11
.github/workflows/update-master-docs.yml
vendored
@@ -4,7 +4,6 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
paths:
|
paths:
|
||||||
- .github/actions/get-pages.sh
|
|
||||||
- man/gbz80.7
|
- man/gbz80.7
|
||||||
- man/rgbds.5
|
- man/rgbds.5
|
||||||
- man/rgbds.7
|
- man/rgbds.7
|
||||||
@@ -36,16 +35,16 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
sudo apt-get -qq update
|
sudo apt-get -qq update
|
||||||
sudo apt-get install -yq groff zlib1g-dev
|
sudo apt-get install -yq groff zlib1g-dev
|
||||||
wget 'http://mandoc.bsd.lv/snapshots/mandoc-1.14.5.tar.gz'
|
wget 'http://mandoc.bsd.lv/snapshots/mandoc-1.14.6.tar.gz'
|
||||||
tar xf mandoc-1.14.5.tar.gz
|
tar xf mandoc-1.14.6.tar.gz
|
||||||
cd mandoc-1.14.5
|
cd mandoc-1.14.6
|
||||||
./configure
|
./configure
|
||||||
make
|
make
|
||||||
sudo make install
|
sudo make install
|
||||||
- name: Update pages
|
- name: Update pages
|
||||||
working-directory: rgbds/man
|
working-directory: rgbds/man
|
||||||
run: |
|
run: |
|
||||||
../.github/actions/get-pages.sh ../../rgbds-www master
|
../../rgbds-www/maintainer/man_to_html.sh master *
|
||||||
- name: Push new pages
|
- name: Push new pages
|
||||||
working-directory: rgbds-www
|
working-directory: rgbds-www
|
||||||
run: |
|
run: |
|
||||||
@@ -56,7 +55,7 @@ jobs:
|
|||||||
ssh-add ~/.ssh/id_ed25519
|
ssh-add ~/.ssh/id_ed25519
|
||||||
git config --global user.name "GitHub Action"
|
git config --global user.name "GitHub Action"
|
||||||
git config --global user.email "community@gbdev.io"
|
git config --global user.email "community@gbdev.io"
|
||||||
git add .
|
git add -A
|
||||||
git commit -m "Update RGBDS master documentation"
|
git commit -m "Update RGBDS master documentation"
|
||||||
if git remote | grep -q origin; then
|
if git remote | grep -q origin; then
|
||||||
git remote set-url origin git@github.com:gbdev/rgbds-www.git
|
git remote set-url origin git@github.com:gbdev/rgbds-www.git
|
||||||
|
|||||||
Reference in New Issue
Block a user