From 5cdbea0f37f9f5d46ea45a42e953e7ae9e992abe Mon Sep 17 00:00:00 2001
From: Tom Keffer
Date: Mon, 20 Feb 2023 16:08:07 -0800
Subject: [PATCH] Fix broken link
---
docs/custom/custom_reports.md | 14 ++++++++++++--
docs/upgrading.htm | 6 +++---
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/docs/custom/custom_reports.md b/docs/custom/custom_reports.md
index 847261d3..db9f6884 100644
--- a/docs/custom/custom_reports.md
+++ b/docs/custom/custom_reports.md
@@ -2,7 +2,7 @@
There are two general mechanisms for customizing reports: change options in one or more configuration files, or change the template files. The former is generally easier, but occasionally the latter is necessary.
-## Options
+## How options work
Options are used to specify how reports will look and what they will contain. For example, they control which units to use, how to format dates and times, which data should be in each plot, the colors of plot elements, _etc_.
@@ -52,7 +52,17 @@ Configuration files are read and processed using the Python utility [ConfigObj](
This example uses two sections at root level (sections `Section1` and `Section2`), and one sub-section (`SubSectionA`), which is nested under `Section1`. The option `key1` is nested under `Section1`, option `key3` is nested under `Section2`, while option `key2` is nested under sub-section `SubSectionA`.
-Note that while this example indents sub-sections and options, this is strictly for readability — this isn't Python! It's the number of brackets that counts in determining nesting, not the indentation!
+Note that while this example indents sub-sections and options, this is strictly for readability — this isn't Python! It's the number of brackets that counts in determining nesting, not the indentation! It would torture your readers, but the above example could be written
+
+```ini
+ [Section1]
+# A comment
+key1 = value1
+[[SubSectionA]]
+key2 = value2
+[Section2]
+key3=value3
+```
Configuration files take advantage of ConfigObj's ability to organize options hierarchically into _stanzas_. For example, the `[Labels]` stanza contains the text that should be displayed for each observation. The `[Units]` stanza contains other stanzas, each of which contains parameters that control the display of units.
diff --git a/docs/upgrading.htm b/docs/upgrading.htm
index ff406f93..4197b393 100644
--- a/docs/upgrading.htm
+++ b/docs/upgrading.htm
@@ -958,7 +958,7 @@ def archiveRainYearSpan(time_ts, sory_mon)
The introduction of the new section, [StdReport]/[[Defaults]] in weewx.conf, can change which units are applied to reports because it has a higher
precedence than what is in skin.conf. See the section How options work for details of the ordering in which
+ href="../custom/custom_reports/#how-options-work">How options work for details of the ordering in which
an option is considered.
@@ -1079,7 +1079,7 @@ $day.windGust.max
is categorically and semantically incorrect.
- The examples now live in their own directory, whose location
+ The examples now live in their own directory, whose location
is dependent on the installation method. If you use an example, you should copy it to the user subdirectory, modify it if necessary, then use it there. Your copy will be retained
across version upgrades.
@@ -1735,7 +1735,7 @@ extraHumid8 = humidity_8
The introduction of data bindings has meant a change in the calling signature of search list
- extensions. By way of example, here's the example from the document Writing
+ extensions. By way of example, here's the example from the document Writing
search list extensions, but with the differences highlighted.