comparison doc/format_config.awk @ 8036:8b5f8b950f58

docs: add section anchors to config.ini in references.txt; change format Added section anchors for each section of config.ini in the reference.html file. This makes it easier to link to the right section of the config file when discussing config.ini settings. Getting this to work using the initial sed implementation was going to be a nightmare, so rewrote it in awk. The pre-section comments are now separated by a blank line from the section marker. Also rst directives no longer have blank lines between them.
author John Rouillard <rouilj@ieee.org>
date Mon, 17 Jun 2024 22:58:18 -0400
parents
children c3bf229d3d4b
comparison
equal deleted inserted replaced
8035:b516483f68a3 8036:8b5f8b950f58
1 #! /bin/awk
2
3 # delete first 8 lines
4 NR < 9 {next}
5
6 # When we see a section [label]:
7 # emit section index marker,
8 # emit section anchor
9 # set up for code formating
10 # emit any comments/blank line that are accumulated before the
11 # section marker
12 # print the indented section marker
13 #
14 # zero the accumulator and the variable that prevents large blocks
15 # of empty lines.
16 /^\[([a-z]*)\]/ { match($0, /^\[([a-z]*)\].*/, section_match);
17 section = section_match[1];
18 print("\n\n.. index:: config.ini; sections " section);
19 print(".. _`config-ini-section-" section "`:");
20 print(".. code:: ini\n");
21 if (accumulate) {
22 print(" " accumulate "\n");
23 }
24 print(" " $0);
25 accumulate = "";
26 prev_line_is_blank = 0;
27 }
28
29 # if the line is a setting line (even if commented out)
30 # print the accumulated comments/blank lines and the setting line
31 # zero the accumulator and the variable that prevents blocks of blank lines
32 # get the next input line
33 /^#?[a-z0-9_-]* =/ { print accumulate "\n " $0;
34 accumulate = "";
35 prev_line_is_blank = 0;
36 next;
37 }
38
39 # accumulate comment lines and indent them
40 /^#/ { accumulate = accumulate "\n " $0; prev_line_is_blank = 0;}
41
42 # accumulate a blank line only if the previous line was not blank.
43 /^$/ { if (! prev_line_is_blank) {accumulate = accumulate $0};
44 prev_line_is_blank = 1;
45 }

Roundup Issue Tracker: http://roundup-tracker.org/