diff --git a/.gitignore b/.gitignore index 55c9190..249f515 100644 --- a/.gitignore +++ b/.gitignore @@ -41,7 +41,8 @@ build/ cmake-*/ .local/ -docs/doxyconfig* +/.dockle/ +/_site/ *.egg-info/ # test output diff --git a/.gitmodules b/.gitmodules index 1f27819..6bf68d4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,8 +1,7 @@ -[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 - shallow = true [submodule "third-party/ffmpeg"] path = third-party/ffmpeg url = https://github.com/FFmpeg/FFmpeg.git diff --git a/.readthedocs.yaml b/.readthedocs.yaml index ee2f3bb..5011c06 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -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 diff --git a/CMakeLists.txt b/CMakeLists.txt index 582659d..c4b8fa4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,7 +59,8 @@ include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/sources.cmake") include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/moonlight-dependencies.cmake") 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) diff --git a/README.md b/README.md index 00ccef4..d187759 100644 --- a/README.md +++ b/README.md @@ -252,8 +252,3 @@ scripts\setup-xemu.cmd --skip-support-files - [x] Host pairing - [x] Auto host discovery - [ ] Possibly, GPU overclocking, see https://github.com/GXTX/XboxOverclock - -
- - [TOC] -
diff --git a/cmake/xbox-build.cmake b/cmake/xbox-build.cmake index 2fbbea0..d8aebd1 100644 --- a/cmake/xbox-build.cmake +++ b/cmake/xbox-build.cmake @@ -95,7 +95,8 @@ target_compile_definitions(${CMAKE_PROJECT_NAME} add_dependencies(${CMAKE_PROJECT_NAME} moonlight-common-c) if(BUILD_DOCS) - add_subdirectory(third-party/doxyconfig docs) + include(third-party/dockle/cmake/Dockle.cmake) + dockle_add_docs(docs TARGETS api) endif() # convert the built EXE into the XBE format diff --git a/dockle.toml b/dockle.toml new file mode 100644 index 0000000..b45dd5d --- /dev/null +++ b/dockle.toml @@ -0,0 +1,33 @@ +[project] +name = "Moonlight-XboxOG" +version = "0.0.0" +description = "Moonlight game streaming client for the original Xbox." +repository = "https://github.com/LizardByte/Moonlight-XboxOG" +logo = "moonlight-logo.svg" +favicon = "moonlight-logo.svg" + +[build] +output = "_site" +work = ".dockle" +strict = true +clean = true + +[[targets]] +name = "api" +title = "Moonlight-XboxOG documentation" +framework = "doxygen" +source = "." +home = true + +[targets.doxygen] +inputs = ["README.md", "src"] +image_paths = ["docs/images"] +predefined = ["NXDK"] +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" diff --git a/docs/Doxyfile b/docs/Doxyfile deleted file mode 100644 index 2bbdaeb..0000000 --- a/docs/Doxyfile +++ /dev/null @@ -1,42 +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.Moonlight-XboxOG -DOCSET_PUBLISHER_ID = dev.lizardbyte.Moonlight-XboxOG.documentation -PROJECT_BRIEF = "Moonlight Xbox OG is a port of the Moonlight Game Streaming client to the original Xbox console." -PROJECT_ICON = ../moonlight-logo.svg -PROJECT_LOGO = ../moonlight-logo.svg -PROJECT_NAME = Moonlight-XboxOG - -# project specific settings -DOT_GRAPH_MAX_NODES = 50 -IMAGE_PATH = ../docs/images -INCLUDE_PATH = -PREDEFINED += NXDK - -# files and directories to process -USE_MDFILE_AS_MAINPAGE = ../README.md -INPUT = ../README.md \ - ../third-party/doxyconfig/docs/source_code.md \ - ../src diff --git a/docs/crowdin.js b/docs/crowdin.js new file mode 100644 index 0000000..8160fd1 --- /dev/null +++ b/docs/crowdin.js @@ -0,0 +1 @@ +globalThis.initCrowdIn('LizardByte-docs', 'dockle') diff --git a/third-party/dockle b/third-party/dockle new file mode 160000 index 0000000..c1bca82 --- /dev/null +++ b/third-party/dockle @@ -0,0 +1 @@ +Subproject commit c1bca827d905e3e64cc6663488f5f741e17e681a diff --git a/third-party/doxyconfig b/third-party/doxyconfig deleted file mode 160000 index 419127b..0000000 --- a/third-party/doxyconfig +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 419127bad87f49b2d45fa957ea7302abbb49c01f