MarkdownTextBlock: Complete 7x Feature Parity
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia confrontando l’implementazione attuale di MarkdownTextBlock con i riferimenti 7.1.2 collegati in MarkdownTextBlock.Properties.cs, Dimensions.cs e Methods.cs. Esamina le cinque funzionalità rimanenti, iniziando dai port delle proprietà a minore complessità e valutando separatamente l’integrazione dell’evidenziazione della sintassi. Il lavoro è completo quando le proprietà e i comportamenti mancanti forniscono la parità 7.x documentata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Overview
The Windows Community Toolkit 7.x MarkdownTextBlock had a richer feature set than the current 8.x implementation. This issue tracks completion of feature parity by restoring missing properties and functionality.
7.x had 61 properties, 8.x baseline had 43 properties (18 properties missing). With PR #729 and existing capabilities, we've restored most of the gap.
Completed
8.x Baseline (Pre-PR #729)
The 8.x implementation launched with 32 properties:
- Headers (18): Individual font sizes (H1-H6), font weights (H1-H6), margins (H1-H6)
- Inline code (7): Background, border (brush/thickness), font family, foreground, margin, padding
- New in 8.x (6): Config (MarkdownConfig), BaseUrl, ImageProvider/SVGRenderer, Padding, InternalMargin, CornerRadius
- Functionality (1): IsTextSelectionEnabled (already implemented, verified in
MarkdownTextBlock.Properties.cslines 114-127, 224-228)
PR #729 Restorations
PR #729 achieved comprehensive styling parity, restoring 33 properties across all major markdown elements:
- Code blocks (7): Background, border, font, foreground, margin, padding
- Quotes (6): Background, border, foreground, margin, padding
- Tables (4): Border, cell padding, margin
- Lists (3): Bullet spacing, gutter width, margin
- Paragraphs (2): Margin, line height
- Horizontal rules (3): Brush, margin, thickness
- Images (3): Max height/width, stretch mode
- Links (1): Foreground color
- Header colors (6): Individual foreground for H1-H6
- YAML (2): Border brush, thickness
Missing Features
The following 5 properties from 7.x remain to be ported:
Syntax Highlighting
- UseSyntaxHighlighting + CodeStyling (HIGH complexity)
- Enable/disable syntax highlighting with custom style configuration. Requires syntax highlighting engine integration.
- 7.x Reference:
MarkdownTextBlock.Properties.cslines 30-48, 361-378
Text Wrapping
- TextWrapping (LOW complexity)
- Control text wrap behavior in rendered markdown
- 7.x Reference:
MarkdownTextBlock.Dimensions.cslines 315-323, 658-662 |MarkdownTextBlock.Methods.csline 149
URI Customization
- UriPrefix + SchemeList (MEDIUM complexity)
- Custom URI prefix for relative links and allowed URI schemes for validation
- 7.x Reference:
MarkdownTextBlock.Properties.cslines 659-672 |MarkdownTextBlock.Methods.cslines 58-65
Emoji Font
- EmojiFontFamily (LOW complexity)
- Custom font family for emoji rendering
- 7.x Reference:
MarkdownTextBlock.Properties.cslines 475-479 |MarkdownTextBlock.Methods.csline 112
Code Block Wrapping
- WrapCodeBlock (LOW complexity)
- Enable/disable text wrapping in code blocks
- 7.x Reference:
MarkdownTextBlock.Properties.cslines 369-373 |MarkdownTextBlock.Methods.csline 154
Implementation Notes
Progress:
- 7.x baseline: 61 properties
- 8.x baseline: 43 properties (18 missing)
- After PR #729 + IsTextSelectionEnabled: ~57 properties restored
- Remaining: 5 properties for complete parity
Complexity: Only 1 HIGH complexity feature (syntax highlighting), 4 are straightforward property ports with LOW-MEDIUM complexity.
7.x Source: All references point to WindowsCommunityToolkit rel/7.1.2 for implementation guidance.
- Lingua principale
- C#
- Stelle
- 485
- Fork
- 88
- Merge medio
- 19h 46m
- PR unite (30g)
- 2
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CommunityToolkit/Labs-Windows
-
bug :bug:
Difficoltà 1/5 1-3 ore Idoneità per principianti 80/100
CommunityToolkit/Labs-Windows#815 ·
-
bug :bug:
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
CommunityToolkit/Labs-Windows#816 ·
-
bug :bug:
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
CommunityToolkit/Labs-Windows#814 ·
-
experiment :test_tube:
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
CommunityToolkit/Labs-Windows#812 ·
-
ux :paintbrush:
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
CommunityToolkit/Labs-Windows#808 · 1 commento ·
Tutte le issue di CommunityToolkit/Labs-Windows
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Facepunch/sbox-public#12305 ·
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
JiaFeiMiao-K-Cat/DiscImageStudio#205 ·
I maintainer di solito rispondono entro 1 giorno
-
bug keep-fresh
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Flow-Launcher/Flow.Launcher#4744 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
flyingpie/windows-terminal-quake#419 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100