From edaf62f83382c0775bc8688e8526c1d72da565bf Mon Sep 17 00:00:00 2001 From: Wiktor Kwapisiewicz Date: Tue, 12 Dec 2023 15:12:47 +0100 Subject: [PATCH] Add OpenGraph metadata --- .woodpecker/epub.yml | 2 +- .woodpecker/links.yml | 2 +- Dockerfile | 2 +- book/source/_static/html/img/logo.png | Bin 0 -> 8641 bytes book/source/conf.py | 5 +++++ 5 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 book/source/_static/html/img/logo.png diff --git a/.woodpecker/epub.yml b/.woodpecker/epub.yml index 07c6951..658da4c 100644 --- a/.woodpecker/epub.yml +++ b/.woodpecker/epub.yml @@ -18,7 +18,7 @@ steps: image: archlinux:latest commands: - pacman -Sy --needed --noconfirm archlinux-keyring - - pacman -Syu --needed --noconfirm epubcheck inkscape make patch python-myst-parser python-sphinx + - pacman -Syu --needed --noconfirm epubcheck inkscape make patch python-myst-parser python-sphinx python-sphinxext-opengraph # fix sphinx: https://github.com/sphinx-doc/sphinx/issues/11598 - patch -Np1 -d /usr/lib/python3.11/site-packages/ -i "$(pwd)/book/patches/sphinx-11766.patch" - make -C book epub-check diff --git a/.woodpecker/links.yml b/.woodpecker/links.yml index 825d37f..f592367 100644 --- a/.woodpecker/links.yml +++ b/.woodpecker/links.yml @@ -19,5 +19,5 @@ steps: image: archlinux:latest commands: - pacman -Sy --needed --noconfirm archlinux-keyring - - pacman -Syu --needed --noconfirm inkscape lychee make python-myst-parser python-sphinx + - pacman -Syu --needed --noconfirm inkscape lychee make python-myst-parser python-sphinx python-sphinxext-opengraph - make -C book html-linkcheck diff --git a/Dockerfile b/Dockerfile index 020653e..f933425 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ WORKDIR /book # fix EPUB rendering: https://github.com/sphinx-doc/sphinx/issues/11598 RUN \ pacman -Sy --needed --noconfirm archlinux-keyring \ - && pacman -Syu --needed --noconfirm inkscape make patch python-myst-parser python-sphinx \ + && pacman -Syu --needed --noconfirm inkscape make patch python-myst-parser python-sphinx python-sphinxext-opengraph \ && patch -Np1 -d /usr/lib/python3.11/site-packages/ -i /book/patches/sphinx-11766.patch \ && make epub html diff --git a/book/source/_static/html/img/logo.png b/book/source/_static/html/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4d3a395610499daeba959c774d77d69b3bf6ec28 GIT binary patch literal 8641 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 literal 0 HcmV?d00001 diff --git a/book/source/conf.py b/book/source/conf.py index 69e5bc7..7dd729c 100644 --- a/book/source/conf.py +++ b/book/source/conf.py @@ -26,6 +26,7 @@ suppress_warnings = [ extensions = [ 'myst_parser', + 'sphinxext.opengraph', ] source_suffix = ['.md', '.rst'] @@ -88,3 +89,7 @@ html_theme_options = { 'show_relbars': 'yes', 'show_powered_by': False, } + +# https://github.com/wpilibsuite/sphinxext-opengraph#simple-config +ogp_site_url = 'https://openpgp.dev/book/' +ogp_image = '_static/logo.png'