-
-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Providing a default language for fenced code blocks #66
Comments
Big +1 from me on this; it's mainly why I switched to prism in the meantime. |
Hmm—#52 is shipping with 4.1.0. Is this one still necessary? docs are in the advanced options details on https://www.11ty.dev/docs/plugins/syntaxhighlight/#installation |
Oh, maybe not! It sounds like this should be possible with the |
Just to be clear, I mean something like:
|
Oh, yup, that should work! Thanks. |
Code blocks without language are still rendered without a language, even with this:
Am I doing something wrong?
and my preAttributes-class-function is never called. The function is called on code blocks with a language specified though. For convenience, I'd even prefer the Edit: I "solved" this problem for myself by using https://github.com/jGleitz/markdown-it-prism instead of this plugin. It supports specifying a defaultLanguage, and I already had a custom markdown-it configuration, so the integration worked easy for me. I'd prefer to use your plugin, but this is an important feature to me. |
Because of no support for setting a default language: 11ty/eleventy-plugin-syntaxhighlight#66 However, line count support doesn't work anymore now.
I see the same as @andreas-mausch - code blocks with languages already defined get the pre-attributes, but those with no languages defined get nothing. |
Yeah, same here. In the meantime, my personal workaround (short of switching over to Prism) is using the pre:not([class*="language-"]):has(code) {
// CSS equivalent to <pre> tag styled by language-plain here
} |
Use case
In many markdown editors, I can write a fenced code blog and receive plaintext code styling without specifying a language.
E.g. writing this in GitHub markdown:
Looks like this:
Currently, when no language is specified on a fenced code block, this plugin outputs plain
<pre>
and<code>
tags without a"language-*"
class applied. In many Prism themes, such as the prism-okaidia theme shown in the plugin docs, this means the code block will not receive any styling. This is unexpected behavior for me.Proposed Solution
To avoid breaking changes, I propose adding a
defaultLanguage
plugin option, which users may want to set to"plain"
. That way a generic code block like this:could be rendered as
Additional Context
Initially I thought I could set default languages like so:
However, as brought up in #52 this does not work. Resolving that issue could also resolve this one.
The text was updated successfully, but these errors were encountered: