From 0c0b78c464f9f58dde213624e0e08d22d2a11ea2 Mon Sep 17 00:00:00 2001
From: Brendan <2bndy5@gmail.com>
Date: Sat, 6 Apr 2024 00:49:26 -0700
Subject: [PATCH] minor doc updates (#45)
- upgrade to doxygen v1.10.0
- fix cross-link references
- add custom CSS
- set favicon
---
.github/workflows/doxygen.yml | 1 +
docs/Doxyfile | 15 +++--
docs/doxygen-custom.css | 104 ++++++++++++++++++++++++++++++++++
docs/favicon.ico | Bin 0 -> 4286 bytes
docs/main_page.md | 10 ++--
docs/troubleshooting.md | 2 +-
6 files changed, 120 insertions(+), 12 deletions(-)
create mode 100644 docs/favicon.ico
diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml
index 80d1b2c..aabd89c 100644
--- a/.github/workflows/doxygen.yml
+++ b/.github/workflows/doxygen.yml
@@ -34,4 +34,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 3f4327c..72e93a3 100644
--- a/docs/Doxyfile
+++ b/docs/Doxyfile
@@ -17,6 +17,8 @@
# Project related configuration options
#---------------------------------------------------------------------------
+PROJECT_ICON = 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
@@ -315,14 +317,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/favicon.ico b/docs/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..c15a1650af557d6ec815ebd7c0b5dbf5cc080676
GIT binary patch
literal 4286
zcmc(iTT@%t8HTmbTLO|^B{RuQF8dF1+sS`u|3GnV5NCurSYW$$;sBD+2}$S-;$VR>
z*!ajn#&(=Z-R9)9?o6jMz3hMR?3p+3S{oE}NPB1FS+=ab*Lv3Xt?zxmg~y}t&nKUF
z#NVEqzwvlJ@OV7G<=|JI-*JfVf9*%_oqePG=NxOG=-7*E4&Qs5*y0{Sc65_
zxlNG&Hiskmy>qbo^6(~C-zHnIT>f|pwm%O$@s9XCv#@)!u;VN5EPkUm0$=F}T^rw^
ztNIsoZoNdu_Fv(<{|df4-@&){J-iQofcMdlu=iiVKKcpP@jqZae+~1+KVf~%!O!A5
z@ytGW<-WVeIh-rj=-By|YyM5H-Bo=lSZ@9qKkEQ`ZwR`70s5r^^noa}p%}E`IJD6O
zw6P@AiyYU=P^VH*gJ~!;87Nmct}Q{ip5@57|DQ?A=kmRYMLACka1F7}bP?KMOs=o@
zM;+=1B6_n7wgW{tV3iEX=_i%#l2d0QYjS2z{~yJ-7^QW(C^S3bgC1P;ab3om+_PX@TIokOW%Sw
zvkmXkHtg(e>T(BmVHb9B7gqTWtd+a4Dtj>3?!nyPsNRRU^}rqC^G%NRd$3mdPLc15
zIVH{)Yvj3B?l#xv$ZR{pdzb@w&o9CE4(d;vNQ)ehpM^JGdF%DB`R85!g*N;TKZNI_
zkN)@g_+xlfwQ=A7Z_ep+`j6H(?=T0jdvXo&E1!Of_iO*6MqZ+mTItxL79YQcZ@#%bpF{=GSp2O#yGWf
zeG{tOLlpYlohJS?w5=EPfkpDk{E|AIt3r$3fp%q?{20{HD6H_~6Mo3iE-t$Lr-}bw
z_9^`+Og~tHcc%tBwGK0}0c-s(%=n&MOaF2gdh~4kA#YnIhK68uM8{R#LpfxpY+Dh
z+wj+(F@EwlUo`T=cxif5P|rOD%lw68WPs7}svM
z#ILWCe}(+DC$0R%BbT2zkms)sh9%z|DuMT}Mt+*}d&2PcH1W@M!^>yd2>DmHTlp(b
zpNB>59b*6g9nA0mG+#9l*2tQ|iD?}cJx{DPl4;a_gUFCRu
zWD*AX+T^sOlFuB#94*WGKE3~)p1*M+1mAh`WBGb+RPud`HTppm=FF{@_>JNd>Ym!;
zeWJPkv<&NSiu}xx8~-r*!K~D_&{qSWXDs=DDzx&GNAxA~gVa`2{Tq4mZ?IPv4qN%z
z1E`l4VPtDAe2Ja_E
zj$T0jQ)jY{Ivjy#wjQqg`n3Lou8uf21kx#$XmfG-(hw^NU!U=zr
z@sE%{u|obvL;kyj|I&Ya=jaX1@kdYi4MCCGTBh4PRd*G;oA7EbCm-WjP*UV5e){wX-s{!`du_%ma8@`Btwsg{)*Btd)N$i0=nYm#ds>5Oa%ew~qyEe{!
z_VI2q%(F?A>v2dH{UK;m8F@bt9!f8B=ZhX6Ab+6^zarvKLJ7v9d{JLbCpQx%!9SJ6*+RygSpod4H6581`|My-fOPFvIm?
ij#+u`=)qupp7^Zoy>yf-DMy)(JIbZl8`j1<{rMRY83?oh
literal 0
HcmV?d00001
diff --git a/docs/main_page.md b/docs/main_page.md
index b52b0ae..a18c064 100644
--- a/docs/main_page.md
+++ b/docs/main_page.md
@@ -21,18 +21,18 @@ See the releases' descriptions on
[the library's release page](http://github.com/nRF24/RF24Ethernet/releases) for a list of
changes.
-See [version history](md_docs_pre_nrf24_changelog.html) for more about the lineage of RF24Ethernet.
+See [version history](pre_nrf24_changelog.md) for more about the lineage of RF24Ethernet.
## Configuration and Setup
The hardest part of setting up is getting the first radio module connected properly.
Scroll to the bottom of the [RF24 radio documentation for pin connections](http://nRF24.github.io/RF24/)
-Once you have done that, see the [Configuration and Set-Up](md_docs_config_setup.html) page for general installation and configuration information
+Once you have done that, see the [Configuration and Set-Up](config_setup.md) page for general installation and configuration information
## Detailed Overview
-See the [**Overview**](md_docs_overview.html) page
+See the [**Overview**](overview.md) page
## Building a Network - Customizing your RF24 TCP/IP network
-See the [Building a network](md_docs_custom_networks.html) page
+See the [Building a network](custom_networks.md) page
## Home Automation with MQTT and Node-Red
See the [Project Setup Info](https://create.arduino.cc/projecthub/TMRh20/iot-home-automation-w-nrf24l01-raspberry-pi-9ee904) at Arduino Project Hub
@@ -40,4 +40,4 @@ See the [Project Setup Info](https://create.arduino.cc/projecthub/TMRh20/iot-hom
## About Troubleshooting
The RF24 libraries are divided into layers, generally according to the OSI model, which allows specialized testing and troubleshooting of individual layers.
-See the [Troubleshooting section](md_docs_troubleshooting.html) for general troubleshooting steps.
+See the [Troubleshooting section](troubleshooting.md) for general troubleshooting steps.
diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md
index d91c37d..6fa5bec 100644
--- a/docs/troubleshooting.md
+++ b/docs/troubleshooting.md
@@ -16,7 +16,7 @@ Ensure proper library installation.
### RPi
1. Navigate to the rf24libs/RF24/examples_RPi folder
-2. Configure the correct pins in gettingstarted.cpp (See [general Linux/RPi setup](https://nRF24.github.io/RF24/md_docs_rpi_general.html))
+2. Configure the correct pins in gettingstarted.cpp (See [general Linux/RPi setup](https://nRF24.github.io/RF24/md_docs_2rpi__general.html))
3. Build the examples: `make`
4. Run an example `sudo ./gettingstarted`