CommunityToolkit / CommunityToolkit/ColorCode-Universal

Wrap source code in code tags

Open
#35 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
265
Forks
57
PR merge metrics
No merged PRs in 30d

Description

Referencing [this issue on markdown-colorcode](https://github.com/wbaldoumas/markdown-colorcode/issues/83), this package overwrites some of the [behavior used in Markdig](https://github.com/xoofx/markdig/blob/203cfd6508d4f8fca510edd2f66f229ada2c25ad/src/Markdig.Benchmarks/spec.md#fenced-code-blocks) that appears to be in line with [the CommonMark spec](https://spec.commonmark.org/0.30/#example-142), that is, this package does not wrap code using a `code` element. Additionally, if a language is present, the spec specifies a `class="language-[lang]"` attribute as well.

I have not started a fork because I am not sure whether this would be a breaking change or not, however, the general change seems rather simple, adding the following methods to `HtmlClassFormatter` and then wrapping the inner text in `WriteHeader` and `WriteFooter`.

```csharp
private void WriteHeaderCodeStart(ILanguage language)
{
WriteElementStart("code", language.CssClassName);
}

private void WriteHeaderCodeEnd()
{
WriteElementEnd("code");
}
```

In my case, this would make it easier to enforce consistent styling across my app.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.