VS Code extension to help migrate deprecated legacy RPF markdown block syntax to the new blockquote alert style.
- Scans markdown files and warns when deprecated legacy blocks are used.
- Suggests replacements using blockquote alert syntax (for example
> [!TASK]). - Provides quick fixes for straightforward single-block migrations.
--- task ---->> [!TASK]--- hint ---->> [!HINT]--- challenge ---->> [!CHALLENGE]--- save ---->> [!SAVE]--- no-print ---->> [!NOPRINT]--- print-only ---->> [!PRINTONLY]--- collapse ---->> [!ACCORDION](best-effort title parsing fromtitle:metadata)--- code ----> fenced code blocks with info-string attributes--- hints ---grouped wrapper -> flattened into individual> [!HINT]blocks--- quiz ----> removed (quizzes are deprecated)- custom HTML tags (for example
<div>,<iframe>,<video>) -> warning only (no quick fix)
When available, use the lightbulb quick fix on a warning to rewrite the full deprecated block into blockquote syntax:
- inserts an alert header (
> [!LABEL]) - preserves block body content
- rewrites body lines as quoted markdown lines
- for
--- code ---, rewrites metadata to fenced code attributes (for exampleline_numbers="true")
You can also run fix-all flows:
- Current file: use Source Action -> Fix All to apply all auto-fixable lints in the file.
- Workspace/folder: run
RPF Markdown Linter: Fix All Auto-fixable Issues in Workspacefrom the Command Palette.
- Download the latest
.vsixfile from the Releases page - Open Visual Studio Code
- Press Command+Shift+P to open the command menu and search for "Extensions: Install from VSIX" and select it
- When the file browser opens, find where you downloaded the
.vsixfile from step 1 and open it. - The extension should be installed.
- Open a
.mdmarkdown file - you should see lint errors, along with options to quick fix them by pressing Command+fullstop, or hovering on the error squiggles. - You can quick fix an entire folder by pressing Command+Shift+P and searching for
RPF Markdown Linter: Fix All Auto-fixable Issues in Workspace.
The following are intentionally out of scope for v1.1 and are not auto-migrated:
- automatic HTML-to-markdown conversion
rpfMarkdownLinter.allowedHtmlSnippets: list of HTML snippets that should not raise warnings.- Default allowlist includes:
<br class="page-break"/><br class="page-break" />
- Matching is case-insensitive and normalizes repeated whitespace.
yarn compileto buildyarn lintto run lintingyarn testto run extension tests
- Open a PR and increment the version number in
package.json - Merge the PR
- Create a Release with a tag for the version
- Once the Release is created, the .vsix file should be uploaded to the release shortly after.