Skip to content

Add Doxygen documentation for Cpl::Html - #32

Merged
ermig1979 merged 2 commits into
devfrom
cursor/doxygen-html-8b3f
Aug 27, 2026
Merged

Add Doxygen documentation for Cpl::Html#32
ermig1979 merged 2 commits into
devfrom
cursor/doxygen-html-8b3f

Conversation

@ermig1979

@ermig1979 ermig1979 commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Add Doxygen comments for the types and functions declared in src/Cpl/Html.h.

Changes

Runtime behavior is unchanged. Comments follow the style used by Cpl::Log, Cpl::ArgsParser, Cpl::Console and the performance types (/*!, \brief / \param / \return / \note). Private members are not documented.

Documented:

  • Cpl::Html (constructor and public methods)
  • Nested Cpl::Html::Attribute (public fields and constructor)
  • Cpl::Html::Attributes typedef
  • Cpl::Html::Attr overloads

Also:

  • Register the cpl_html documentation group in prj/txt/DoxygenGroups.txt
  • Include Html.h in the Doxygen input list in prj/txt/DoxygenConfig.txt

Test plan

  • Built Test with CMake/g++ Release. TableSimple and TableSortable passed (Test -i=Table). These tests generate HTML through Cpl::Html.
  • Compiled and ran a small Html writer check: escaped text (Hello <world> & 'quotes') became Hello &lt;world&gt; &amp; &apos;quotes&apos;; unshielded markup was written unchanged.
  • Ran Doxygen 1.9.8 against Html.h with WARN_IF_UNDOCUMENTED and WARN_IF_DOC_ERROR. No Html.h documentation warnings. The cpl_html group lists Cpl::Html; public members and nested Attribute were extracted. Private members (WriteWithShielding, fields) were not extracted.
  • Regenerated HTML is not committed; docs/help can be refreshed later with prj/cmd/GenerateHelp.cmd.
Open in Web Open in Cursor 

cursoragent and others added 2 commits August 27, 2026 07:43
Document public types and functions in src/Cpl/Html.h. Private members
are left undocumented. Register the cpl_html group and include Html.h
in the Doxygen input.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>
Rephrase Html::Attribute summaries so "Attribute" is not treated as a
type reference in the generated documentation.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>
@ermig1979
ermig1979 marked this pull request as ready for review August 27, 2026 07:45
@ermig1979
ermig1979 merged commit cf7c20e into dev Aug 27, 2026
10 checks passed
ermig1979 added a commit that referenced this pull request Sep 1, 2026
* Add Doxygen documentation for Cpl::Log (#27)

* Add Doxygen documentation for Cpl::Log types and functions.

Document Log, Level, Flags, writer callbacks, public methods,
internal Writer helpers, and logging macros in src/Cpl/Log.h.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Avoid Doxygen auto-linking Callback briefs to Log::Writer.

Rephrase callback summaries so "Writer" is not treated as a type
reference in the generated documentation.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* +add generation of help by Doxygen.

* Add Doxygen documentation for Cpl::ArgsParser (#28)

* Add Doxygen documentation for Cpl::ArgsParser.

Document ArgsParser types and functions in the same style as Cpl::Log,
register the cpp_args group, and include Args.h in the Doxygen input.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Clarify ArgsParser GetArg exit parameter documentation.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* *fix bugs in help generation.

* Remove Doxygen comments from private members. (#29)

Drop private-member documentation in Cpl::ArgsParser and Cpl::Log
so generated help covers only public and protected API.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Add Doxygen documentation for Cpl::Console (#30)

* Add Doxygen documentation for Cpl::Console.

Document the Console namespace, Format/Foreground/Background/Reset
enumerations, and Stylized. Register the cpl_console group and include
Console.h in the Doxygen input list.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Clarify Stylized Linux note for Doxygen.

Avoid __linux__ in the Doxygen note so Markdown does not turn it into bold text.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Add Doxygen documentation for Cpl performance types and macros. (#31)

Document public classes, methods, typedefs and CPL_PERF_* macros in
Performance.h. Private members are left undocumented. Register the
cpl_performance group and include Performance.h in the Doxygen input.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Add Doxygen documentation for Cpl::Html (#32)

* Add Doxygen documentation for Cpl::Html.

Document public types and functions in src/Cpl/Html.h. Private members
are left undocumented. Register the cpl_html group and include Html.h
in the Doxygen input.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Avoid Doxygen auto-linking Attribute field briefs.

Rephrase Html::Attribute summaries so "Attribute" is not treated as a
type reference in the generated documentation.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Add Doxygen documentation for Cpl::Table. (#33)

Document public types and methods in Table.h, register the cpl_table
group, and include Table.h in the Doxygen input list. Private members
are left undocumented.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* *time functions refactoring.

* Add Doxygen documentation for Cpl time functions (#34)

* Add Doxygen documentation for Cpl time functions.

Document TimeCounter, TimeFrequency, Seconds, Miliseconds and Time.
Register the cpl_time group and include Time.h in the Doxygen input list.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Attach Time.h Doxygen comments to namespace functions.

Drop \fn commands so Doxygen binds the comments to Cpl::TimeCounter
and the related converters and places them in the cpl_time group.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* *update help.

* *refactoring of Cpl::CurrentDateTimeString.

* +add UpdateCopyrights.sh.

* Add Doxygen documentation for Cpl string functions (#35)

* Add Doxygen documentation for Cpl string functions.

Document the public string conversion and manipulation helpers in String.h,
register the cpl_string group, and include String.h in the Doxygen input list.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Include cstdint in String.h for MinGW.

CurrentDateTimeString uses uint64_t on Windows. MinGW does not pull that
type in through windows.h, so the header fails to compile without cstdint.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Add Doxygen documentation for Cpl utility functions (#36)

* Add Doxygen documentation for Cpl utility functions.

Document AlignHi, AlignLo, Round, Random, and StubWork in Utils.h,
register the cpl_utils group, and include Utils.h in the Doxygen input list.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Make Utils.h self-contained and fix AlignHi/AlignLo alignment wording.

Include cstdint for uint64_t used by StubWork, and describe align as a
generic power-of-two value rather than a byte count.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* *refactoring of File.h.

* Add Doxygen documentation for Cpl file functions. (#37)

Document the public file and directory helpers in File.h, update the
existing comments to the project Doxygen style, register the cpl_file
group, and include File.h in the Doxygen input list. Private FileData
members are left undocumented.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Add Doxygen documentation for Cpl geometry types and functions. (#38)

Document public types and functions in GeometryUtils.h and register
the cpl_geometry group in the Doxygen config.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Add Doxygen documentation for Cpl parameter types and functions (#39)

* Add Doxygen documentation for Cpl parameter types and functions.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Fix Doxygen markup warnings in Param.h comments.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Add Doxygen documentation for Cpl ParamV2 types and macros. (#40)

Document ParamVectorV2, ParamMapV2, CPL_PARAM_VECTOR_V2 and
CPL_PARAM_MAP_V2, and include ParamV2.h in the Doxygen input list.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Add Doxygen documentation for Cpl property types and functions. (#41)

Document ParamProp, ParamStorage, and the CPL_PROP* macros in Prop.h,
add a cpl_prop group, and include Prop.h in the Doxygen input list.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Add Doxygen documentation for Cpl XML types and functions (#42)

* Add Doxygen documentation for Cpl XML types and functions.

Document the public Cpl::Xml API in Xml.h and register the cpl_xml
group so the parser, printer and file loader appear in generated help.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Fix Xml.h Doxygen warnings for NodeType and XML tag examples.

Drop the standalone \\enum command and describe node kinds without
raw angle-bracket markup so Doxygen 1.9.8 reports no Xml.h warnings.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Add Doxygen documentation for Cpl YAML types and functions (#43)

* Add Doxygen documentation for Cpl YAML types and functions.

Document the public Cpl::Yaml API in Yaml.h and register the cpl_yaml
group so Doxygen includes the parser, node tree and serializer.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Attach Parse and Serialize Doxygen comments to their definitions.

Doxygen was ignoring free-function docs that used \fn and only
appeared on the prototypes. Document the inline definitions as well
so the cpl_yaml group lists Parse and Serialize.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Move Test::Options to TestOptions.h and pass options to tests (#44)

* Move Test::Options to TestOptions.h and pass options into tests.

Extract the test runner Options type so individual tests can receive
the parsed command-line options via a const Options& parameter.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Include Test.h in TestFile and TestXml so Options is visible.

These translation units did not include Test.h, so the new
const Options& parameter failed to compile.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* Add -o= output folder option for test artifacts. (#45)

Tests wrote XML, YAML, HTML, and log files into the current directory.
Add Test::Options::output (-o=, default "out"), create that folder before
tests run, and write all artifacts there.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>

* *update help.

* *+add version macro.

* *Set version 1.0.1.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants