Skip to content

History / About Standards for PHP_CodeSniffer

Revisions

  • Wiki: various grammar and spelling fixes

    @github-actions github-actions[bot] committed Jul 15, 2025
  • 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

    @github-actions github-actions[bot] committed Jul 15, 2025
  • 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

    @github-actions github-actions[bot] committed Jul 14, 2025
  • Update schema URL in example code

    @jrfnl jrfnl committed May 19, 2025
  • About Standards: add section about how PHPCS determines the standard to use

    @jrfnl jrfnl committed May 9, 2025
  • 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 jrfnl committed May 8, 2025
  • CS/markdownlint: various whitespace fixes

    @jrfnl jrfnl committed May 8, 2025
  • CS/markdownlint: consistent list item indentation

    @jrfnl jrfnl committed May 8, 2025
  • CS/markdownlint: code blocks should always specify language When the code block contains plain text, use `text`.

    @jrfnl jrfnl committed May 8, 2025
  • Update new "About Standards" page Make it explicit that a category should not be called "Sniffs".

    @jrfnl jrfnl committed Feb 7, 2025
  • Update new "About Standards" page * Syntax highlighting PHP samples. * Make it clearer which examples are invalid. * Spelling/grammar fixes.

    @jrfnl jrfnl committed Feb 5, 2025
  • Add new "About Standards" page This new page contains more generic information about: * The difference between a project ruleset and a standard. * Requirements for a standard. * Naming conventions for sniffs.

    @jrfnl jrfnl committed Feb 5, 2025