Skip to content

docs: split properties into reference pages#117

Open
rgerhards wants to merge 2 commits intomainfrom
codex/split-properties-into-individual-files
Open

docs: split properties into reference pages#117
rgerhards wants to merge 2 commits intomainfrom
codex/split-properties-into-individual-files

Conversation

@rgerhards
Copy link
Owner

Summary

  • add per-property reference pages for all message, system, and time-related properties including metadata, summaries, and usage anchors
  • replace the RainerScript overview lists with list-tables that include embedded summaries, a case-sensitivity note, and a hidden toctree for navigation
  • preserve all descriptive notes, alias relationships, and See also links to maintain existing guidance

Testing

  • make -C doc html (fails: sphinx-build: not found)

https://chatgpt.com/codex/tasks/task_e_68d50e33ffb88332a8da2059853efa25

- extract message, system, and time-related property docs into individual reference pages with summaries, metadata, and usage anchors
- replace the overview lists with list-tables that include per-property summaries and add a hidden toctree for navigation
- preserve all explanatory notes, alias details, and case-sensitivity guidance while pointing See also links to the overview

AI-Agent: ChatGPT
@gemini-code-assist
Copy link

Summary of Changes

Hello @rgerhards, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly refactors and expands the rsyslog documentation by creating individual reference pages for each property. This change aims to improve the organization, navigability, and detail of the property documentation, making it easier for users to find specific information and understand property usage. The main properties overview page now dynamically pulls summaries from these new dedicated pages, providing a more comprehensive and structured reference.

Highlights

  • Documentation Restructuring: Added dedicated reference pages for all message, system, and time-related properties, each including metadata, summaries, and usage examples.
  • Enhanced Overview Pages: Replaced existing RainerScript overview lists with dynamic list-tables that embed summaries from the new per-property pages, along with case-sensitivity notes and hidden navigation toctrees.
  • Content Preservation: Ensured that all existing descriptive notes, alias relationships, and 'See also' links are maintained and correctly integrated into the new documentation structure.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request is a great step towards improving the structure and maintainability of the rsyslog documentation. By splitting the monolithic properties page into individual reference files, it becomes much easier to navigate and find information about specific properties. The use of list-table and include directives to build the overview page is a smart approach. I've found a few issues, mostly related to ReStructuredText syntax, formatting consistency, and typos. Addressing these will ensure the documentation renders correctly and is easy to read. Overall, this is a very positive change.

Comment on lines +18 to +19
Read how `rsyslog lead author Rainer Gerhards explains the naming
difference <https://rainer.gerhards.net/2020/08/rsyslog-template-variables-where-to-find-them.html">`_.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The hyperlink syntax is incorrect due to an extra "> at the end. This will likely cause a rendering error. Please remove the trailing ">.

Suggested change
Read how `rsyslog lead author Rainer Gerhards explains the naming
difference <https://rainer.gerhards.net/2020/08/rsyslog-template-variables-where-to-find-them.html">`_.
Read how `rsyslog lead author Rainer Gerhards explains the naming
difference <https://rainer.gerhards.net/2020/08/rsyslog-template-variables-where-to-find-them.html>`_.

Comment on lines +213 to +226
All of these system properties exist in a local time variant (e.g. \$now)
and a variant that emits UTC (e.g. \$now-utc). The UTC variant is always
available by appending "-utc". Note that within a single template, only
the localtime or UTC variant should be used. While it is possible to mix
both variants within a single template, it is **not** guaranteed that
they will provide exactly the same time. The technical reason is that
rsyslog needs to re-query system time when the variant is changed. Because
of this, we strongly recommend not mixing both variants in the same
template.

Note that use in different templates will generate a consistent timestamp
within each template. However, as $now always provides local system time
at time of using it, time may advance and consequently different templates
may have different time stamp. To avoid this, use *timegenerated* instead.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There are several inconsistencies in how properties are formatted in this section. Property names like $now and timegenerated should always be enclosed in double backticks for inline code (e.g., ``$now``), rather than using backslash escapes, italics, or no formatting at all. This ensures consistency and adheres to the style guide.

Suggested change
All of these system properties exist in a local time variant (e.g. \$now)
and a variant that emits UTC (e.g. \$now-utc). The UTC variant is always
available by appending "-utc". Note that within a single template, only
the localtime or UTC variant should be used. While it is possible to mix
both variants within a single template, it is **not** guaranteed that
they will provide exactly the same time. The technical reason is that
rsyslog needs to re-query system time when the variant is changed. Because
of this, we strongly recommend not mixing both variants in the same
template.
Note that use in different templates will generate a consistent timestamp
within each template. However, as $now always provides local system time
at time of using it, time may advance and consequently different templates
may have different time stamp. To avoid this, use *timegenerated* instead.
All of these system properties exist in a local time variant (e.g. ``$now``)
and a variant that emits UTC (e.g. ``$now-utc``). The UTC variant is always
available by appending "-utc". Note that within a single template, only
the localtime or UTC variant should be used. While it is possible to mix
both variants within a single template, it is **not** guaranteed that
they will provide exactly the same time. The technical reason is that
rsyslog needs to re-query system time when the variant is changed. Because
of this, we strongly recommend not mixing both variants in the same
template.
Note that use in different templates will generate a consistent timestamp
within each template. However, as ``$now`` always provides local system time
at time of using it, time may advance and consequently different templates
may have different time stamp. To avoid this, use ``timegenerated`` instead.

-----------
The message "as is". Should be useful for debugging and also if a message
should be forwarded totally unaltered. Please notice
*EscapecontrolCharactersOnReceive* is enabled by default, so it may be

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The configuration parameter EscapecontrolCharactersOnReceive should be formatted as inline code using double backticks (...) rather than italics, as per the project's documentation style guide.

Suggested change
*EscapecontrolCharactersOnReceive* is enabled by default, so it may be
``EscapecontrolCharactersOnReceive`` is enabled by default, so it may be


Aliases
~~~~~~~
- hostname — alias for source

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The alias description is incorrect. Since this page is for the source alias, it should state that hostname is the canonical property it refers to. The current text is self-referential and confusing.

Suggested change
- hostname — alias for source
- hostname — canonical property referenced by source


Description
-----------
*Only Available if rsyslog is build with --enable-uuid*

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There's a small typo here. 'build' should be 'built'.

Suggested change
*Only Available if rsyslog is build with --enable-uuid*
*Only Available if rsyslog is built with --enable-uuid*

Comment on lines +25 to +26
The current quarter hour we are in. Much like ``$HHOUR``, but values range from
0 to 3 (for the four quarter hours that are in each hour).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There's a typo in the property name reference. It should be ``$hhour`` (lowercase 'h') to be consistent with its definition, not ``$HHOUR``.

Suggested change
The current quarter hour we are in. Much like ``$HHOUR``, but values range from
0 to 3 (for the four quarter hours that are in each hour).
The current quarter hour we are in. Much like ``$hhour``, but values range from
0 to 3 (for the four quarter hours that are in each hour).

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant