mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-02-23 19:49:43 +01:00
## Summary of the Pull Request This PR enables MarkDig extensions on MarkdownTextBlocks to enable pipe tables and to enable advanced emphasis (like strikethrough). - Sets `UsePipeTables` and `UseEmphasisExtras` to true. - Adds pipe table and HTML table to samples. <img width="1728" height="1506" alt="image" src="https://github.com/user-attachments/assets/bf3aae5f-d8cc-492e-91e8-83b507ccca08" /> <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #41984 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
212 lines
3.9 KiB
C#
212 lines
3.9 KiB
C#
// Copyright (c) Microsoft Corporation
|
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
|
// See the LICENSE file in the project root for more information.
|
|
|
|
using Microsoft.CommandPalette.Extensions;
|
|
using Microsoft.CommandPalette.Extensions.Toolkit;
|
|
|
|
namespace SamplePagesExtension;
|
|
|
|
internal sealed partial class SampleMarkdownPage : ContentPage
|
|
{
|
|
public static readonly string SampleMarkdownText = @"
|
|
# Markdown Guide
|
|
|
|
Markdown is a lightweight markup language with plain text formatting syntax. It's often used to format readme files, for writing messages in online forums, and to create rich text using a simple, plain text editor.
|
|
|
|
## Basic Markdown Formatting
|
|
|
|
### Headings
|
|
|
|
# This is an <h1> tag
|
|
## This is an <h2> tag
|
|
### This is an <h3> tag
|
|
#### This is an <h4> tag
|
|
##### This is an <h5> tag
|
|
###### This is an <h6> tag
|
|
|
|
### Emphasis
|
|
|
|
*This text will be italic*
|
|
_This will also be italic_
|
|
|
|
**This text will be bold**
|
|
__This will also be bold__
|
|
|
|
_You **can** combine them_
|
|
|
|
Result:
|
|
|
|
*This text will be italic*
|
|
|
|
_This will also be italic_
|
|
|
|
**This text will be bold**
|
|
|
|
__This will also be bold__
|
|
|
|
_You **can** combine them_
|
|
|
|
### Lists
|
|
|
|
**Unordered:**
|
|
|
|
* Milk
|
|
* Bread
|
|
* Whole grain
|
|
* Butter
|
|
|
|
Result:
|
|
|
|
* Milk
|
|
* Bread
|
|
* Whole grain
|
|
* Butter
|
|
|
|
**Ordered:**
|
|
|
|
1. Tidy the kitchen
|
|
2. Prepare ingredients
|
|
3. Cook delicious things
|
|
|
|
Result:
|
|
|
|
1. Tidy the kitchen
|
|
2. Prepare ingredients
|
|
3. Cook delicious things
|
|
|
|
### Images
|
|
|
|

|
|
|
|
Result:
|
|
|
|

|
|
|
|
### Links
|
|
|
|
[example](http://example.com)
|
|
|
|
Result:
|
|
|
|
[example](http://example.com)
|
|
|
|
### Blockquotes
|
|
|
|
As Albert Einstein said:
|
|
|
|
> If we knew what it was we were doing,
|
|
> it would not be called research, would it?
|
|
|
|
Result:
|
|
|
|
As Albert Einstein said:
|
|
|
|
> If we knew what it was we were doing,
|
|
> it would not be called research, would it?
|
|
|
|
### Horizontal Rules
|
|
|
|
```markdown
|
|
---
|
|
```
|
|
|
|
Result:
|
|
|
|
---
|
|
|
|
### Code Snippets
|
|
|
|
Indenting by 4 spaces will turn an entire paragraph into a code-block.
|
|
|
|
Result:
|
|
|
|
.my-link {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
### Reference Lists & Titles
|
|
|
|
**The quick brown [fox][1], jumped over the lazy [dog][2].**
|
|
|
|
[1]: https://en.wikipedia.org/wiki/Fox ""Wikipedia: Fox""
|
|
[2]: https://en.wikipedia.org/wiki/Dog ""Wikipedia: Dog""
|
|
|
|
Result:
|
|
|
|
**The quick brown [fox][1], jumped over the lazy [dog][2].**
|
|
|
|
[1]: https://en.wikipedia.org/wiki/Fox ""Wikipedia: Fox""
|
|
[2]: https://en.wikipedia.org/wiki/Dog ""Wikipedia: Dog""
|
|
|
|
### Escaping
|
|
|
|
\*literally\*
|
|
|
|
Result:
|
|
|
|
\*literally\*
|
|
|
|
## Tables
|
|
|
|
### Pipe table
|
|
|
|
[Markdig - Pipe Table specs](https://github.com/xoofx/markdig/blob/master/src/Markdig.Tests/Specs/PipeTableSpecs.md)
|
|
|
|
| Right | Left | Default | Center |
|
|
|------:|:-----|---------|:------:|
|
|
| 12 | 12 | 12 | 12 |
|
|
| 123 | 123 | 123 | 123 |
|
|
| 1 | 1 | 1 | 1 |
|
|
|
|
### HTML table
|
|
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style=""text-align: left;"">a</th>
|
|
<th style=""text-align: center;"">b</th>
|
|
<th style=""text-align: right;"">c</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style=""text-align: left;"">0</td>
|
|
<td style=""text-align: center;"">1</td>
|
|
<td style=""text-align: right;"">2</td>
|
|
</tr>
|
|
<tr>
|
|
<td style=""text-align: left;"">3</td>
|
|
<td style=""text-align: center;"">4</td>
|
|
<td style=""text-align: right;"">5</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
|
|
## Advanced Markdown
|
|
|
|
[Markdig - emphasis extensions](https://github.com/xoofx/markdig/blob/master/src/Markdig.Tests/Specs/EmphasisExtraSpecs.md)
|
|
|
|
Note: Some syntax which is not standard to native Markdown. They're extensions of the language.
|
|
|
|
### Strike-throughs
|
|
|
|
~~deleted words~~
|
|
|
|
Result:
|
|
|
|
~~deleted words~~
|
|
|
|
|
|
";
|
|
|
|
public SampleMarkdownPage()
|
|
{
|
|
Icon = new IconInfo(string.Empty);
|
|
Name = "Sample Markdown Page";
|
|
}
|
|
|
|
public override IContent[] GetContent() => [new MarkdownContent(SampleMarkdownText)];
|
|
}
|