summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjell Ahlstedt <kjellahlstedt@gmail.com>2022-12-18 18:31:00 +0100
committerKjell Ahlstedt <kjellahlstedt@gmail.com>2022-12-18 18:31:00 +0100
commitee0589cf5a5e4c2e95fc9302a8a193e4c3f43a2a (patch)
tree4c1fb911c1488c1e1c348c67729f9bda0407d4bc
parent5711e2bc736d9a06fd19b838732568911baab6f1 (diff)
downloadsigc++-ee0589cf5a5e4c2e95fc9302a8a193e4c3f43a2a.tar.gz
CI: Add publish-docs.yml
-rw-r--r--.github/workflows/publish-docs.yml76
-rw-r--r--docs/_config.yml2
-rw-r--r--docs/doc.md17
3 files changed, 92 insertions, 3 deletions
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