diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml index 502802e..df262c1 100644 --- a/.github/workflows/doxygen.yml +++ b/.github/workflows/doxygen.yml @@ -36,4 +36,5 @@ jobs: uses: nRF24/.github/.github/workflows/build_docs.yaml@main with: deploy-gh-pages: ${{ github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master') }} + doxygen-version: '1.10.0' secrets: inherit diff --git a/docs/Doxyfile b/docs/Doxyfile index 1240bc9..aa03222 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -17,6 +17,8 @@ # Project related configuration options #--------------------------------------------------------------------------- +PROJECT_ICON = sphinx/_static/new_favicon.ico + # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by # double-quotes, unless you are using Doxywizard) that should identify the # project for which the documentation is generated. This name is used in the @@ -343,14 +345,15 @@ HTML_EXTRA_STYLESHEET = doxygen-custom.css HTML_COLORSTYLE = TOGGLE -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to YES can help to show when doxygen was last run and thus if the -# documentation is up to date. +# If the TIMESTAMP tag is set different from NO then each generated page will contain +# the date or date and time when the page was generated. Setting this to NO can help +# when comparing the output of multiple runs. +# +# Possible values are: YES, NO, DATETIME and DATE. +# # The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. -HTML_TIMESTAMP = YES +TIMESTAMP = DATE # If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML # documentation will contain a main index with vertical navigation menus that diff --git a/docs/doxygen-custom.css b/docs/doxygen-custom.css index 7d56191..2b5ef5a 100644 --- a/docs/doxygen-custom.css +++ b/docs/doxygen-custom.css @@ -1,3 +1,107 @@ table.markdownTable th { color: unset; } + +/* overrides from default CSSS for some admonitions */ +dl.note, dl.remark, +dl.warning, dl.attention { + color: unset; +} +dl.remark { + background: var(--remark-color-bg); + border-left: 8px solid var(--remark-color-hl); +} +dl.remark dt { + color: var(--remark-color-hl); +} + +/* special rules to accent `/see` or `/sa` command output */ +dl.see { + background: var(--seealso-color-bg); + border-left: 8px solid var(--seealso-color-hl); +} +dl.see dt { + color: var(--seealso-color-hl); +} +dl.see { + padding: 10px; + margin: 10px 0px; + overflow: hidden; + margin-left: 0; + border-radius: 4px; +} + +/* admonition icons */ +dl.note dt::before { + background-color: var(--note-color-hl); + mask-image: var(--note-icon); +} +dl.see dt::before { + background-color: var(--seealso-color-hl); + mask-image: var(--seealso-icon); +} +dl.remark dt::before { + background-color: var(--remark-color-hl); + mask-image: var(--remark-icon); +} +dl.warning dt::before { + background-color: var(--warning-color-hl); + mask-image: var(--warning-icon); +} +dl.deprecated dt::before { + background-color: var(--deprecated-color-hl); + mask-image: var(--deprecated-icon); +} +dl.note dt::before, +dl.see dt::before, +dl.warning dt::before, +dl.remark dt::before, +dl.deprecated dt::before { + vertical-align: middle; + background-repeat: no-repeat; + content: ""; + display: inline-block; + height: 2em; + width: 2em; + margin-right: 0.25rem; +} +dl.note dt, +dl.see dt, +dl.warning dt, +dl.remark dt, +dl.deprecated dt { + margin-top: -0.35em; + margin-bottom: 0.5em; +} + +/* icon SVG data */ +*:root { + --note-icon: url('data:image/svg+xml;utf8,'); + --seealso-icon: url('data:image/svg+xml;utf8,'); + --warning-icon: url('data:image/svg+xml;utf8,'); + --remark-icon: url('data:image/svg+xml;utf8,'); + --deprecated-icon: url('data:image/svg+xml;utf8,'); +} + +/* color overrides */ +html { + /* light theme CSS variables */ + --note-color-bg: hsla(47.6, 77.3%, 91.4%, 65%); + --warning-color-bg: hsla(6.8, 75.9%, 88.6%, 65%); + --deprecated-color-bg: hsla(205.7, 22.6%, 93.9%, 65%); + --seealso-color-bg: hsla(215, 76%, 89%, 65%); + --seealso-color-hl: hsl(215, 98%, 48%); + --remark-color-bg: hsla(133, 75%, 89%, 65%); + --remark-color-hl: hsl(133, 98.9%, 35.3%); +} + +html.dark-mode { + /* dark theme CSS variables */ + --note-color-bg: hsla(45.8, 87.3%, 12.4%, 65%); + --warning-color-bg: hsla(5.2, 33.3%, 13.5%, 65%); + --deprecated-color-bg: hsla(221.5, 12.4%, 20.6%, 65%); + --seealso-color-bg: hsla(215, 33%, 14%, 0.65); + --seealso-color-hl: hsl(215, 98%, 48%); + --remark-color-bg: hsla(133, 32%, 14%, 65%); + --remark-color-hl: hsl(133, 98%, 48%); +} \ No newline at end of file diff --git a/docs/general_usage.md b/docs/general_usage.md index e2fa2c7..99af810 100644 --- a/docs/general_usage.md +++ b/docs/general_usage.md @@ -6,7 +6,7 @@ 1. **Static Network** (No Mesh) - RF24Network can be configured manually, with a static design. RF24Mesh is not used at all. See [Network addressing](http://nRF24.github.io/RF24Network/md_docs_addressing.html) + RF24Network can be configured manually, with a static design. RF24Mesh is not used at all. See [Network addressing](http://nRF24.github.io/RF24Network/md_docs_2addressing.html) 2. **Static Network w/Dynamic Assignment** RF24Mesh is only used to acquire an address on startup. Nodes are generally expected to remain stationary. Changes to diff --git a/docs/main_page.md b/docs/main_page.md index 11648c0..2aa8673 100644 --- a/docs/main_page.md +++ b/docs/main_page.md @@ -80,8 +80,8 @@ multi-node radio network. ## How to learn more - Try it out! -- [Setup and Configuration](md_docs_setup_config.html) -- [Usage & Overview](md_docs_general_usage.html) +- [Setup and Configuration](setup_config.md) +- [Usage & Overview](general_usage.md) - [RF24Mesh Class Documentation](classRF24Mesh.html) - [RF24 Network Class Documentation](http://nRF24.github.io/RF24Network/) - [RF24Ethernet: TCP/IP based Mesh over RF24](http://nRF24.github.io/RF24Ethernet/) diff --git a/docs/setup_config.md b/docs/setup_config.md index 3930de6..0b489ec 100644 --- a/docs/setup_config.md +++ b/docs/setup_config.md @@ -29,10 +29,10 @@ connected together. 2. Configure and test the hardware using examples from RF24 and RF24Network prior to attempting to use RF24Mesh - In Arduino IDE - File > Examples > RF24 > GettingStarted - @see [Arduino Support page](http://nRF24.github.io/RF24/md_docs_arduino.html) + @see [Arduino Support page](http://nRF24.github.io/RF24/md_docs_2arduino.html) - For a Raspberry Pi - - An installer is provided: [Linux Installation](http://nRF24.github.io/RF24/md_docs_linux_install.html) - @see [General Linux/RPi setup and configuration page](http://nRF24.github.io/RF24/md_docs_rpi_general.html) + - An installer is provided: [Linux Installation](http://nRF24.github.io/RF24/md_docs_2linux__install.html) + @see [General Linux/RPi setup and configuration page](http://nRF24.github.io/RF24/md_docs_2rpi__general.html) 3. Once testing is complete: - In Arduino IDE - File > Examples > RF24Mesh > RF24Mesh_Example @@ -65,4 +65,4 @@ The @ref MESH_MAX_CHILDREN option restricts the maximum number of child nodes/no The MESH_NOMASTER macro optionally reduces program space and memory usage. Can be used on any node except for the master (nodeID 0) -@see [General Usage](md_docs_general_usage.html) for information on how to work with the mesh once connected +@see [General Usage](general_usage.md) for information on how to work with the mesh once connected