Skip to content

Migrate guideline notes/tips/exceptions to markdown callouts#407

Merged
dennisdoomen merged 4 commits into
mainfrom
copilot/update-callouts-for-notes-tips
May 17, 2026
Merged

Migrate guideline notes/tips/exceptions to markdown callouts#407
dennisdoomen merged 4 commits into
mainfrom
copilot/update-callouts-for-notes-tips

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 16, 2026

This updates the remaining guideline rules that still used inline **Tip:** / **Note:** / **Exception:** markers to the newer markdown callout format already used by rule 0105. It also preserves readable rendering for both site and PDF output, including a consistent treatment for exception-style callouts.

  • Content migration

    • Converted legacy inline callout labels across _rules/*.md to markdown alerts.
    • Updated multiline examples so code blocks remain part of the callout.
    • Standardized exception-style guidance as IMPORTANT alerts while retaining an Exception / Exceptions heading in rendered output.
  • Site rendering

    • Added lightweight client-side transformation for Jekyll-rendered pages, where the markdown engine does not natively style GitHub alert syntax.
    • Added callout styling for note/tip/important/warning/caution variants.
    • Styled exception callouts distinctly without introducing a nonstandard alert type.
  • PDF/build compatibility

    • Added alert translation in Build/Build.cs so the Pandoc-based document build renders callouts as readable blockquotes with headings instead of raw [!TIP] markers.
  • Repo hygiene

    • Extended .gitignore for Build/bin and Build/obj so generated build artifacts are not picked up by future changes.

Example of the migrated rule format:

> [!TIP]
> Deconstruction also works in `foreach` loops:
>
> ```csharp
> foreach ((int key, int value) in dictionary)
> {
>     Console.WriteLine($"{key}: {value}");
> }
> ```

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=6845 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/com.google.Chrome.scoped_dir.D3V9mB --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,9592831306724523143,12243666612889944347,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,3815473962287697219,9040442960276991393,4 --trace-process-track-uuid=3190708989122997041 -I y-3.2.0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --headless --disable-gpu --no-sandbox --screenshot=/tmp/callout-demo.png --window-size=1200,900 file:///tmp/callout-demo.html by-3.2.0 -I kward -I -gcc -qui�� 86_64-linux-gnu/1 uby-3.2.0/ruby/b1 e/ruby/3.2.0/gem/var/log/sysstat /usr/include/rubgit e/ruby/3.2.0/gem--no-pager E=3 u/13/collect2 (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=6845 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/com.google.Chrome.scoped_dir.D3V9mB --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,9592831306724523143,12243666612889944347,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,3815473962287697219,9040442960276991393,4 --trace-process-track-uuid=3190708989122997041 -I y-3.2.0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --headless --disable-gpu --no-sandbox --screenshot=/tmp/callout-demo.png --window-size=1200,900 file:///tmp/callout-demo.html by-3.2.0 -I kward -I -gcc -qui�� 86_64-linux-gnu/1 uby-3.2.0/ruby/b1 e/ruby/3.2.0/gem/var/log/sysstat /usr/include/rubgit e/ruby/3.2.0/gem--no-pager E=3 u/13/collect2 (dns block)
  • clientservices.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=6845 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/com.google.Chrome.scoped_dir.D3V9mB --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,9592831306724523143,12243666612889944347,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,3815473962287697219,9040442960276991393,4 --trace-process-track-uuid=3190708989122997041 -I y-3.2.0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --headless --disable-gpu --no-sandbox --screenshot=/tmp/callout-demo.png --window-size=1200,900 file:///tmp/callout-demo.html by-3.2.0 -I kward -I -gcc -qui�� 86_64-linux-gnu/1 uby-3.2.0/ruby/b1 e/ruby/3.2.0/gem/var/log/sysstat /usr/include/rubgit e/ruby/3.2.0/gem--no-pager E=3 u/13/collect2 (dns block)
  • https://api.github.com/repos/dennisdoomen/csharpguidelines/pages
    • Triggering command: /usr/bin/ruby3.2 ruby3.2 /home/REDACTED/work/CSharpGuidelines/CSharpGuidelines/vendor/bundle/ruby/3.2.0/bin/jekyll build --gdwarf-5 --64 -o pipe.o /tmp/ccQ4Wd8b.s -I s/prism-1.9.0/ext lines/vendor/bun. as -I ruby-3.2.0 ackward by/3.2.0/bin/as p=BUILDDIR=. y-3.2.0/ruby/bac-I otection y-3.2.0 (http block)
    • Triggering command: /usr/bin/ruby3.2 ruby3.2 /home/REDACTED/work/CSharpGuidelines/CSharpGuidelines/vendor/bundle/ruby/3.2.0/bin/jekyll build --config _config.yml,/tmp/csharpguidelines-no-github.yml . ruby-3.2.0 ackward p=BUILDDIR=. r-strong otection as ecur�� . 4.7 by-3.2.0 -I kward -I y-3.2.0 (http block)
  • redirector.gvt1.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=6845 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/com.google.Chrome.scoped_dir.D3V9mB --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,9592831306724523143,12243666612889944347,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,3815473962287697219,9040442960276991393,4 --trace-process-track-uuid=3190708989122997041 -I y-3.2.0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --headless --disable-gpu --no-sandbox --screenshot=/tmp/callout-demo.png --window-size=1200,900 file:///tmp/callout-demo.html by-3.2.0 -I kward -I -gcc -qui�� 86_64-linux-gnu/1 uby-3.2.0/ruby/b1 e/ruby/3.2.0/gem/var/log/sysstat /usr/include/rubgit e/ruby/3.2.0/gem--no-pager E=3 u/13/collect2 (dns block)
  • safebrowsingohttpgateway.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=6845 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/com.google.Chrome.scoped_dir.D3V9mB --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,9592831306724523143,12243666612889944347,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,3815473962287697219,9040442960276991393,4 --trace-process-track-uuid=3190708989122997041 -I y-3.2.0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --headless --disable-gpu --no-sandbox --screenshot=/tmp/callout-demo.png --window-size=1200,900 file:///tmp/callout-demo.html by-3.2.0 -I kward -I -gcc -qui�� 86_64-linux-gnu/1 uby-3.2.0/ruby/b1 e/ruby/3.2.0/gem/var/log/sysstat /usr/include/rubgit e/ruby/3.2.0/gem--no-pager E=3 u/13/collect2 (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=6845 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/com.google.Chrome.scoped_dir.D3V9mB --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,9592831306724523143,12243666612889944347,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,3815473962287697219,9040442960276991393,4 --trace-process-track-uuid=3190708989122997041 -I y-3.2.0 (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --headless --disable-gpu --no-sandbox --screenshot=/tmp/callout-demo.png --window-size=1200,900 file:///tmp/callout-demo.html by-3.2.0 -I kward -I -gcc -qui�� 86_64-linux-gnu/1 uby-3.2.0/ruby/b1 e/ruby/3.2.0/gem/var/log/sysstat /usr/include/rubgit e/ruby/3.2.0/gem--no-pager E=3 u/13/collect2 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI linked an issue May 16, 2026 that may be closed by this pull request
Copilot AI and others added 2 commits May 16, 2026 19:45
Agent-Logs-Url: https://github.com/dennisdoomen/CSharpGuidelines/sessions/2204c2c3-0c9b-4950-bc91-79931ab96c96

Co-authored-by: dennisdoomen <572734+dennisdoomen@users.noreply.github.com>
Agent-Logs-Url: https://github.com/dennisdoomen/CSharpGuidelines/sessions/2204c2c3-0c9b-4950-bc91-79931ab96c96

Co-authored-by: dennisdoomen <572734+dennisdoomen@users.noreply.github.com>
Copilot AI changed the title [WIP] Update notes and tips to use markdown-style callouts Migrate guideline notes/tips/exceptions to markdown callouts May 16, 2026
Copilot AI requested a review from dennisdoomen May 16, 2026 19:48
Agent-Logs-Url: https://github.com/dennisdoomen/CSharpGuidelines/sessions/2204c2c3-0c9b-4950-bc91-79931ab96c96

Co-authored-by: dennisdoomen <572734+dennisdoomen@users.noreply.github.com>
@dennisdoomen dennisdoomen force-pushed the copilot/update-callouts-for-notes-tips branch from 7fc2be6 to aa88041 Compare May 17, 2026 06:40
@dennisdoomen dennisdoomen marked this pull request as ready for review May 17, 2026 06:40
@dennisdoomen dennisdoomen merged commit 72def1f into main May 17, 2026
1 check passed
@dennisdoomen dennisdoomen deleted the copilot/update-callouts-for-notes-tips branch May 17, 2026 06:41
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.

Use callouts for notes, tips, etc

2 participants