Wiki: always have filenames in backticks
Hoping I've caught them all, but not claiming completeness.
Wiki: various grammar and spelling fixes
Wiki: always use fully qualified links
GH Actions/publish-wiki: auto-generate table of contents (#6)
This commit adds steps to the workflow to auto-generate a GitHub wiki compatible table of contents in most wiki pages.
This reduces the risk of a TOC being out-of-date or containing incorrectly formatted links, as well as reduces the maintenance burden.
This action uses the `doctoc` pages to generate the table of contents and this can be tested locally using the same steps as used in the GH Actions workflow:
```
npm install -g doctoc
cp -v -a wiki _wiki
doctoc ./_wiki/ --github --maxlevel 4 --update-only
doctoc ./_wiki/Version-4.0-User-Upgrade-Guide.md --github --maxlevel 3 --update-only
```
Notes:
* The files are copied to a `_wiki` directory - which is `.gitignore`d - before pre-processing to reduce the risk of the source files being accidentally updated (and committed), which would undo the automation.
* The `--github` flag puts the TOC generation in GitHub compatible mode.
* The `--update-only` flag means that only markdown files containing the `<!-- START doctoc -->` and `<!-- END doctoc -->` markers will be updated and files without those markers will be left alone.
* By default, the TOC will contain all headers up to the indicated `--maxlevel`.
For the V 4.0 Dev upgrade guide, this looked weird, what with some "Upgrading" headers being at level 4 and some at level 5.
To mitigate this, a couple of headers have been turned into "bold phrases" instead.
Along the same lines, for the V 4.0 User upgrade guide, the level 4 headers were always "Upgrading". Those belong with their parent heading and IMO do not need to be separately called out in the TOC, which explains the second call to `doctoc` to overrule the TOC for that file specifically with a `--maxlevel 3` setting.
* The start/end markers have been added to all files which contained a TOC, except for one: `Reporting.md`.
The reason for this exception is that the section order in the file does not match the current TOC order, with the existing TOC order making sense from a TOC point of view, while the section order makes sense from a "types of reports most used" point of view.
Whether this page should be re-organized or not, is outside the scope of this PR.
To allow contributors to review the resulting pre-processed wiki files, the files are uploaded as an artifact when a PR dry-run is being executed and a comment is posted on the PR requesting the contributor to review the pre-processed files.
Includes adding a TOC to the Coding Standards Tutorial page and adding "back to top" links within the page.
Ref:
* https://github.com/thlorenz/doctoc
GH Actions: add a workflow to automatically deploy the wiki
This commit introduces a workflow, which will:
* Automatically deploy the wiki files to the [PHP_CodeSniffer repo wiki](https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki) on every push to the `main` branch.
* Will do a dry-run, without actually deploying, whenever a PR is created which would update the wiki files.
This way, the wiki is opened up to contributions via pull requests and is no longer limited to only edits made by committers.
A prominent warning is automatically added as a (hidden) comment at the top of each wiki file to warn committers not to edit the wiki file in the GitHub wiki interface.
Any edits made via the GitHub wiki interface or by directly pushing to the wiki repository, will be lost and overwritten via this workflow the next time a change is pushed to the `main` branch of this repo.
This commit also adds a `_Footer.md` file, which will automatically be displayed at the bottom of each wiki page to point out that the wiki is editable via PRs to this repo.
Notes:
* The files are copied to a `_wiki` directory - which is `.gitignore`d - before pre-processing to reduce the risk of the source files being accidentally updated (and committed), which would undo the automation.
* Commits for "push" events to the `main` branch will get the same commit message for the wiki as the _last_ commit on the `main` branch.
For that reason, merge commits are not allowed in this repo and PRs with only one commit are strongly preferred.
* Dry-run commits for PR events and commits triggered by other events, will get a simplified message referencing the sha of the last commit.
* If the net effect of a commit results in no changes to the wiki files (CI changes and such), no commit will be made to the wiki.
* The workflow is set up to fail if GitHub has an outage for git operations.
That should protect the wiki from going down by a broken/partial commit and allows for retriggering a deploy once the outage has passed by re-running the failed build.
Future scope (upcoming):
* Automate generation of the Table of Contents for wiki pages.
* Automate re-generation of output examples used in the wiki pages.
Refs:
* https://github.com/Andrew-Chen-Wang/github-wiki-action
* https://github.com/crazy-max/ghaction-github-status
Update/add table of contents for various pages
Generated table of contents using https://bitdowntoc.derlin.ch/
Includes adding additional "back to top" links.
jrfnl
committed
May 8, 2025
CS/markdownlint: various whitespace fixes
jrfnl
committed
May 8, 2025
CS/markdownlint: improve table style
jrfnl
committed
May 8, 2025
Customisable Sniff Properties: fix incorrect property type
... for the `PSR12.ControlStructures.BooleanOperatorPlacement` sniff.
jrfnl
committed
Nov 20, 2024
Add "back to top" links under each section
... on long pages which contain a table of contents.
jrfnl
committed
Nov 12, 2023
Use highlighted blocks for important information
Ref: https://github.com/orgs/community/discussions/16925
jrfnl
committed
Nov 12, 2023
Updated Customisable Sniff Properties (markdown)
Updated Customisable Sniff Properties (markdown)
Updated Customisable Sniff Properties (markdown)
Updated Customisable Sniff Properties (markdown)
Updated Customisable Sniff Properties (markdown)
Updated Customisable Sniff Properties (markdown)
Updated Customisable Sniff Properties (markdown)
Updated Customisable Sniff Properties (markdown)
Updated Customisable Sniff Properties (markdown)
Updated Customisable Sniff Properties (markdown)
Updated Customisable Sniff Properties (markdown)
Updated Customisable Sniff Properties (markdown)
Updated Customisable Sniff Properties (markdown)
Updated Customisable Sniff Properties (markdown)
Added docs for PSR12.Operators.OperatorSpacing
Added ignoreSpacingBeforeAssignments property for Squiz.WhiteSpace.OperatorSpacing (ref #2515)
Updated Customisable Sniff Properties (markdown)
Added properties for Generic.Formatting.SpaceAfterCast
Documented new props for Generic.Formatting.SpaceAfterNot