On 2023-11-15 11:28, Amos Jeffries wrote:
On 12/10/23 03:32, Alex Rousskov wrote:
On 2023-10-11 02:25, Amos Jeffries wrote:
Hi all,

As those familiar with Squid sources will know the documentation of Squid is currently spread across various formats. Some custom ones, and some very outdated.

So far we have a casual agreement amongst the core dev team to use Markdown when reasonably possible. If anyone has issues with that please chime in ASAP, otherwise I shall continue under the assumption that we are good to make it "official".

FWIW, I (still) agree that we should use Markdown as human-friendly text input format, where reasonable.


I am looking at the <https://pandoc.org/> Markdown tools as possible replacement of linuxdoc tools to translate automatically the following documentation outputs:
  * release notes,
  * squid.conf.documented,
  * the .man / .info / .pdf files,
  * the INSTALL and QUICKSETUP files

I do not know what "translate [squid.conf.documented and .pdf] automatically" (to Markdown) means to you in this context,

Markdown is the proposed source format (in the repository).

The files I listed are **currently** auto-generated from a variety of different source formats. My proposal is to change the sources to generate **from** Markdown to the various output as-needed.

Thank you for this clarification. Let's see whether we can reach a rough agreement on what sources to change and how to change them before changing anything.


* release notes: I recommend discussing changes to release notes maintenance and structure before changing their format. It would be nice to address several persistent problems that we often bump into when working on release notes PRs.

That is a different topic of discussion. I am specifically *not* changing the produced outputs content.

It is the input that worries me, not the output. AFAICT, you _are_ proposing changing how release notes are written (i.e. input). My recommendation stands.


* squid.conf.documented: The format of that file is Squid configuration format, not Markdown.

Well, yes that is the point. I am hoping the text inside COMMENT, and DOC sections can use Markdown so we can auto-generate documentation files like a squid.conf.8 or the .html more easily with links - without making the plain-text form obtuse.

I support changing text inside COMMENT and DOC sections to Markdown, but only if that change is accompanied by cf.data.pre restructuring. IIRC, migration to Markdown was a part of those restructuring plans/discussions.


We have discussed how cf.data.pre and friends should be
restructured and reformatted. We should finish those discussions
and implement those changes instead.

IIRC we last discussed it back around 2009-ish with Henrick's proposal to split it into a set of multiple files. Are you referring to that?

I believe that those discussions did include the idea of splitting cf.data.pre, including providing a dedicated file for each squid.conf directive. I do not think those discussions were limited to that idea.

One of the problems we need to address during this restructuring is referencing, at least at the level of individual directives and major syntax concepts. At the end, one directive description should be able to refer to another directive or concept, with rendered versions providing the corresponding links and indexes.


* .man, .info, .pdf files: Your call (assuming .8 and similar source files in squid repository remain unchanged).

Assumption is wrong. What I mean is that the source document gets converted to Markdown and we have the tools auto-generate the man.8, info, or pdf files from that as needed by the user/distro.

Thank you for clarifying this! I need more information to make a decision on this item:

* Do you plan to exclude .8 files that are currently generated from other sources (e.g., src/log/DB/log_db_daemon.8 and src/security/cert_validators/fake/security_fake_certverify.8)?

* AFAICT, .8 files are written in troff or mdoc. Those formatting languages have lots of documentation-focused macros that standard Markdown does not support. Is there a variation of Markdown (that you plan to use for manual page conversion) that adds documentation-writing markup? Or are we going to "dumb down" this documentation due to Markdown inability to express certain documentation concepts?


* INSTALL and QUICKSETUP: I support rewriting these and other top-level [A-Z]* files in Markdown, where possible. The other candidates are CONTRIBUTORS, COPYING, CREDITS, ChangeLog, README, and SPONSORS(.list).


COPYING is not on the table since that is the mandatory GPL text not under our control.

I am not sure we cannot convert COPYING to valid Markdown without violating GPL, but I am not going to argue about it. Glad we appear to agree regarding the other top-level [A-Z]* files. FWIW, except for ChangeLog and CONTRIBUTORS, that part of the conversion can start at any time. I recommend converting one file at a time, at least in the beginning (to reduce the number of changes we have to redo during review cycles).


Cheers,

Alex.

_______________________________________________
squid-dev mailing list
squid-dev@lists.squid-cache.org
https://lists.squid-cache.org/listinfo/squid-dev

Reply via email to