View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0034124 | mantisbt | markdown | public | 2024-03-17 03:53 | 2024-10-28 13:27 |
Reporter | hotzeplotz | Assigned To | community | ||
Priority | low | Severity | feature | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Product Version | 2.26.1 | ||||
Target Version | 2.27.0 | Fixed in Version | 2.27.0 | ||
Summary | 0034124: Add syntax highlighting to markdown codeblocks | ||||
Description | Having nice syntax highlighting in codeblocks. As an additional to 0034040 | ||||
Tags | No tags attached. | ||||
As stated by @atrol in this comment, prismjs needs to be tracked to avoid using a third party that is not maintained. |
|
Also take in consideration my remark in PR 1976:
|
|
Have created a PR to show how it could work.
is currently not respected, not yet.
Autoloading works very fine so far. Allowing to pick defaults, means "packaging" of a default file. Will do it later if it seems good in general. |
|
Added, works fine. The themes are reduced to the basic ones, because only the base themes are delivered by "https://cdnjs.com/libraries/prism/1.29.0" |
|
MantisBT: master 1b3ca867 2024-07-26 19:10 Committer: community Details Diff |
Syntax highlighting for code blocks This improves the MantisCoreFormatting plugin by adding syntax highlighting for code blocks. This implementation is based on Prism.js, using a single js file, to make it easier to replace it with an other solution if needed in the future. Features: - activate or deactivate syntax highlighting completely - select a theme from those provided by the Prism.js main repository - activate one or more plugins (see below) - autoload languages as needed (i.e. ```xxxx will load language xxxx); with $g_cdn_enabled = ON; the resources are loaded from [1] - nothing is loaded if there are no <code> blocks Bundled plugins: - copy-to-clipboard: https://prismjs.com/plugins/copy-to-clipboard/ - show-language: https://prismjs.com/plugins/show-language/ - show-invisibles: https://prismjs.com/plugins/show-invisibles/ - line-numbers: https://prismjs.com/plugins/line-numbers/ - normalize-whitespace (default): https://prismjs.com/plugins/normalize-whitespace/ - match-braces (with "rainbow braces"): https://prismjs.com/plugins/match-braces/ - diff-highlight: https://prismjs.com/plugins/diff-highlight/ - inline-color: https://prismjs.com/plugins/inline-color/ - previewers: https://prismjs.com/plugins/previewers/ Fixes 0034124, PR https://github.com/mantisbt/mantisbt/pull/1986 [1]: https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js Signed-off-by: Damien Regad <dregad@mantisbt.org> |
Affected Issues 0034124 |
|
mod - css/ace-mantis.css | Diff File | ||
mod - plugins/MantisCoreFormatting/MantisCoreFormatting.php | Diff File | ||
mod - plugins/MantisCoreFormatting/files/markdown.css | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/README.md | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-abap.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-abnf.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-actionscript.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-ada.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-agda.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-al.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-antlr4.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-apacheconf.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-apex.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-apl.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-applescript.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-aql.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-arduino.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-arff.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-armasm.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-arturo.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-asciidoc.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-asm6502.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-asmatmel.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-aspnet.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-autohotkey.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-autoit.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-avisynth.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-avro-idl.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-awk.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-bash.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-basic.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-batch.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-bbcode.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-bbj.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-bicep.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-birb.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-bison.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-bnf.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-bqn.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-brainfuck.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-brightscript.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-bro.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-bsl.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-c.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-cfscript.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-chaiscript.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-cil.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-cilkc.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-cilkcpp.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-clike.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-clojure.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-cmake.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-cobol.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-coffeescript.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-concurnas.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-cooklang.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-coq.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-core.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-cpp.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-crystal.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-csharp.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-cshtml.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-csp.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-css-extras.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-css.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-csv.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-cue.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-cypher.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-d.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-dart.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-dataweave.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-dax.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-dhall.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-diff.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-django.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-dns-zone-file.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-docker.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-dot.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-ebnf.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-editorconfig.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-eiffel.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-ejs.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-elixir.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-elm.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-erb.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-erlang.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-etlua.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-excel-formula.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-factor.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-false.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-firestore-security-rules.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-flow.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-fortran.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-fsharp.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-ftl.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-gap.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-gcode.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-gdscript.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-gedcom.min.js | Diff File | ||
add - plugins/MantisCoreFormatting/files/syntax-highlighting/components/prism-gettext.min.js | Diff File |