From ee0589cf5a5e4c2e95fc9302a8a193e4c3f43a2a Mon Sep 17 00:00:00 2001 From: Kjell Ahlstedt Date: Sun, 18 Dec 2022 18:31:00 +0100 Subject: CI: Add publish-docs.yml --- .github/workflows/publish-docs.yml | 76 ++++++++++++++++++++++++++++++++++++++ docs/_config.yml | 2 +- docs/doc.md | 17 ++++++++- 3 files changed, 92 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/publish-docs.yml diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml new file mode 100644 index 0000000..35434f8 --- /dev/null +++ b/.github/workflows/publish-docs.yml @@ -0,0 +1,76 @@ +# Sample workflow for building and deploying a Jekyll site to GitHub Pages + +# Copied from https://github.com/libsigcplusplus/libsigcplusplus/actions/new +# and changed. Actions -> New workflow -> Pages -> GitHub Pages Jekyll + +name: Deploy Jekyll with GitHub Pages dependencies preinstalled + +# 2022-12-17: ubuntu-latest = ubuntu-22.04 +on: + # Runs on pushes targeting the default branch + push: + branches: ["master"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: true + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Build + run: | + # Prevent blocking apt install on a question during configuring of tzdata. + export ENV DEBIAN_FRONTEND=noninteractive + sudo apt update + sudo apt install libxml2-utils docbook5-xml docbook-xsl mm-common g++ meson ninja-build python3-setuptools python3-pip --yes + meson -Dbuild-documentation=true -Dbuild-examples=false -Dbuild-tests=false _build + meson compile -C _build + - name: Collect Documentation + # Collect all documentation to be published. + run: | + mkdir _publish _publish/_layouts _publish/pix _publish/manual _publish/reference + # Copy files from the git repository. + cp docs/_config.yml docs/*.md docs/style.css _publish + cp docs/_layouts/*.html _publish/_layouts + cp docs/pix/logo.gif _publish/pix + # Move generated documentation. + mv _build/docs/docs/manual/html _publish/manual + mv _build/docs/docs/reference/html _publish/reference + - name: Setup Pages + uses: actions/configure-pages@v2 + - name: Build with Jekyll + uses: actions/jekyll-build-pages@v1 + with: + source: ./_publish + destination: ./_site + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + + # Deployment job + # Publish documentation at https://libsigcplusplus.github.io/libsigcplusplus/ + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 + diff --git a/docs/_config.yml b/docs/_config.yml index 966d1ac..e59301a 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1 +1 @@ -name: libsigc++ +title: libsigc++ diff --git a/docs/doc.md b/docs/doc.md index eb8dfb5..7d5e6ed 100644 --- a/docs/doc.md +++ b/docs/doc.md @@ -3,8 +3,21 @@ layout: default title: Documentation --- -We have both [tutorial-style](http://developer.gnome.org/libsigc++-tutorial/stable/) -and [reference](http://developer.gnome.org/libsigc++/stable/) documentation. +## libsigc++-2.0 + +We have [tutorial-style](https://developer-old.gnome.org/libsigc++-tutorial/2.10/) +and [reference](https://developer-old.gnome.org/libsigc++/2.10/) documentation. + +This documentation is frozen on the web. It does not document the latest release. +If you want newer documentation, you can download a tarball from +[GitHub releases](https://github.com/libsigcplusplus/libsigcplusplus/releases/) +or the [GNOME download site](https://download.gnome.org/sources/libsigc++/), +extract it, and view the documentation at *untracked/docs/*. + +## libsigc++-3.0 + +The latest [tutorial-style](manual/html/index.html) and [reference](reference/html/index.html) +documentation is available on the web. ## Glossary of terms -- cgit v1.2.1