docs: migrate documentation to Dockle (#193)

This commit is contained in:
Dave Lane authored and GitHub committed 2026-09-20 19:18:09 -04:00
1 parent c1f2a8ab56
commit 340f2faf45
10 files changed
+124 -109

No files matched your search

+3 -2
View File
@@ -44,5 +44,6 @@
build/
cmake-*/
# doxyconfig
docs/doxyconfig*
# Dockle
/.dockle/
/_site/
+3 -3
View File
@@ -1,6 +1,6 @@
[submodule "third-party/doxyconfig"]
path = third-party/doxyconfig
url = https://github.com/LizardByte/doxyconfig.git
[submodule "third-party/dockle"]
path = third-party/dockle
url = https://github.com/LizardByte/dockle.git
branch = master
[submodule "third-party/lizardbyte-common"]
path = third-party/lizardbyte-common
+14 -13
View File
@@ -8,22 +8,23 @@ version: 2
build:
os: ubuntu-24.04
tools:
nodejs: "24"
python: "miniconda-latest"
commands:
- |
if [ -f readthedocs_build.sh ]; then
doxyconfig_dir="."
else
doxyconfig_dir="./third-party/doxyconfig"
fi
chmod +x "${doxyconfig_dir}/readthedocs_build.sh"
export DOXYCONFIG_DIR="${doxyconfig_dir}"
"${doxyconfig_dir}/readthedocs_build.sh"
jobs:
build:
html:
- |
if [ -f readthedocs_build.sh ]; then
dockle_dir="."
else
dockle_dir="./third-party/dockle"
fi
chmod +x "${dockle_dir}/readthedocs_build.sh"
export DOCKLE_DIR="${dockle_dir}"
"${dockle_dir}/readthedocs_build.sh"
# using conda, we can get newer doxygen and graphviz than ubuntu provide
# https://github.com/readthedocs/readthedocs.org/issues/8151#issuecomment-890359661
conda:
environment: third-party/doxyconfig/environment.yml
environment: third-party/dockle/environment.yml
submodules:
include: all
+2 -1
View File
@@ -142,7 +142,8 @@ target_link_libraries(${PROJECT_NAME} PRIVATE ${TRAY_EXTERNAL_LIBRARIES})
#
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
if(BUILD_DOCS)
add_subdirectory(third-party/doxyconfig docs)
include(third-party/dockle/cmake/Dockle.cmake)
dockle_add_docs(docs TARGETS api)
endif()
if(BUILD_TESTS)
+68 -48
View File
@@ -36,26 +36,31 @@ This fork adds the following features:
## 🖼️ Screenshots
<div class="tabbed">
<ul>
<li><b class="tab-title">Linux</b><br>
<div class="dockle-tabs">
<details open>
<summary>Linux</summary>
![Linux tray menu](docs/images/tray_menu_left_click_linux.png)
![Linux notification](docs/images/tray_notification_svg_icon_linux.png)
</li>
<li><b class="tab-title">macOS</b><br>
</details>
<details>
<summary>macOS</summary>
![macOS tray menu](docs/images/tray_menu_left_click_macos.png)
</li>
<li><b class="tab-title">Windows</b><br>
</details>
<details>
<summary>Windows</summary>
![Windows tray menu](docs/images/tray_menu_left_click_windows.png)
![Windows notification](docs/images/tray_notification_svg_icon_windows.png)
</li>
</ul>
</details>
</div>
## 🖥️ Supported platforms
@@ -75,48 +80,68 @@ This fork adds the following features:
Install either Qt6 _or_ Qt5.
<div class="tabbed">
<div class="dockle-tabs">
- <b class="tab-title">Arch</b>
```bash
# Qt6
sudo pacman -S qt6-base qt6-svg
<details open>
<summary>Arch</summary>
# Qt5
sudo pacman -S qt5-base qt5-svg
```
```bash
# Qt6
sudo pacman -S qt6-base qt6-svg
- <b class="tab-title">Debian/Ubuntu</b>
```bash
# Qt6
sudo apt install qt6-base-dev qt6-svg-dev
# Qt5
sudo pacman -S qt5-base qt5-svg
```
# Qt5
sudo apt install qtbase5-dev libqt5svg5-dev
```
</details>
- <b class="tab-title">Fedora</b>
```bash
# Qt6
sudo dnf install qt6-qtbase-devel qt6-qtsvg-devel
<details>
<summary>Debian/Ubuntu</summary>
# Qt5
sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel
```
```bash
# Qt6
sudo apt install qt6-base-dev qt6-svg-dev
- <b class="tab-title">macOS</b>
```bash
brew install cmake ninja qtbase qtsvg
```
# Qt5
sudo apt install qtbase5-dev libqt5svg5-dev
```
- <b class="tab-title">Windows (MSYS2 UCRT64)</b>
```bash
pacman -S mingw-w64-ucrt-x86_64-cmake \
mingw-w64-ucrt-x86_64-ninja \
mingw-w64-ucrt-x86_64-toolchain \
mingw-w64-ucrt-x86_64-qt6-base \
mingw-w64-ucrt-x86_64-qt6-svg
```
</details>
<details>
<summary>Fedora</summary>
```bash
# Qt6
sudo dnf install qt6-qtbase-devel qt6-qtsvg-devel
# Qt5
sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel
```
</details>
<details>
<summary>macOS</summary>
```bash
brew install cmake ninja qtbase qtsvg
```
</details>
<details>
<summary>Windows (MSYS2 UCRT64)</summary>
```bash
pacman -S mingw-w64-ucrt-x86_64-cmake \
mingw-w64-ucrt-x86_64-ninja \
mingw-w64-ucrt-x86_64-toolchain \
mingw-w64-ucrt-x86_64-qt6-base \
mingw-w64-ucrt-x86_64-qt6-svg
```
</details>
</div>
@@ -205,8 +230,3 @@ array must have text field set to NULL.
This software is distributed under [MIT license](http://www.opensource.org/licenses/mit-license.php),
so feel free to integrate it in your commercial products.
<details style="display: none;">
<summary></summary>
[TOC]
</details>
+32
View File
@@ -0,0 +1,32 @@
[project]
name = "tray"
version = "0.0.0"
description = "Cross-platform implementation of a system tray icon with a popup menu and notifications."
repository = "https://github.com/LizardByte/tray"
logo = "tray.svg"
favicon = "tray.svg"
[build]
output = "_site"
work = ".dockle"
strict = true
clean = true
[[targets]]
name = "api"
title = "tray documentation"
framework = "doxygen"
source = "."
home = true
[targets.doxygen]
inputs = ["README.md", "src"]
image_paths = ["docs/images"]
extra_stylesheets = [
"https://cdn.jsdelivr.net/npm/@lizardbyte/shared-web@2026.920.12131/dist/crowdin-dockle-css.css",
]
extra_javascript = [
"https://cdn.jsdelivr.net/npm/@lizardbyte/shared-web@2026.920.12131/dist/crowdin.js",
"docs/crowdin.js",
]
main_page = "README.md"
-41
View File
@@ -1,41 +0,0 @@
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
#
# All text after a double hash (##) is considered a comment and is placed in
# front of the TAG it is preceding.
#
# All text after a single hash (#) is considered a comment and will be ignored.
# The format is:
# TAG = value [value, ...]
# For lists, items can also be appended using:
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (\" \").
#
# Note:
#
# Use doxygen to compare the used configuration file with the template
# configuration file:
# doxygen -x [configFile]
# Use doxygen to compare the used configuration file with the template
# configuration file without replacing the environment variables or CMake type
# replacement variables:
# doxygen -x_noenv [configFile]
# project metadata
DOCSET_BUNDLE_ID = dev.lizardbyte.tray
DOCSET_PUBLISHER_ID = dev.lizardbyte.tray.documentation
PROJECT_BRIEF = "Cross-platform implementation of a system tray icon with a popup menu and notifications."
PROJECT_ICON = ../tray.svg
PROJECT_LOGO = ../tray.svg
PROJECT_NAME = tray
# project specific settings
DOT_GRAPH_MAX_NODES = 50
IMAGE_PATH = ../docs/images
INCLUDE_PATH =
# files and directories to process
USE_MDFILE_AS_MAINPAGE = ../README.md
INPUT = ../README.md \
../third-party/doxyconfig/docs/source_code.md \
../src
+1
View File
@@ -0,0 +1 @@
globalThis.initCrowdIn('LizardByte-docs', 'dockle')
Vendored Submodule
+1
Submodule third-party/dockle added at c1bca827d9.
Submodule third-party/doxyconfig deleted from 419127bad8.