| Type: | Package | 
| Title: | Server-Side Syntax Highlighting | 
| Version: | 2.1.0 | 
| Description: | Prism https://prismjs.com/ is a lightweight, extensible syntax highlighter, built with modern web standards in mind. This package provides server-side rendering in R using 'V8' such that no JavaScript library is required in the resulting HTML documents. Over 400 languages are supported. | 
| License: | MIT + file LICENSE | 
| URL: | https://ropensci.r-universe.dev/prismjs https://docs.ropensci.org/prismjs/ | 
| BugReports: | https://github.com/ropensci/prismjs/issues | 
| Encoding: | UTF-8 | 
| Imports: | V8, xml2 | 
| RoxygenNote: | 7.2.1 | 
| Language: | en-US | 
| NeedsCompilation: | no | 
| Packaged: | 2025-01-07 14:37:44 UTC; jeroen | 
| Author: | Jeroen Ooms | 
| Maintainer: | Jeroen Ooms <jeroenooms@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-01-07 18:50:01 UTC | 
Prism Syntax Highlighter
Description
The prism_highlight_text function takes a string with a single code snippet
and returns an html fragment with syntax classes. This html gets colorized by
the prism stylesheet when both are inserted
in an HTML document.
Usage
prism_highlight_text(txt, language = "r")
prism_highlight_document(
  input,
  output = NULL,
  include_css = FALSE,
  preview = interactive()
)
prism_process_xmldoc(doc)
prism_languages()
Arguments
| txt | string with code that you want to highlight | 
| language | the language that  | 
| input | literal html string, connection, or file path, passed to xml2::read_html | 
| output | path to file or connection to write to, passed to xml2::write_html. Set
 | 
| include_css | insert the Prism css style (with the default theme) into the html header. | 
| preview | opens the generated output html in a browser | 
| doc | an xml2 document that will be modified in place
such that all  | 
Details
The function prism_highlight_document processes an entire HTML document,
similar to how PrismJS works in a browser. It automatically finds all
<code class="language-xyz"> elements in the document and substitutes these
with highlighted html elements. Again, CSS is needed to actually colorize the
html, you can use include_css to automatically inject the CSS in the html
header if your input document does not have this yet.
Value
html with classes that can be colorized using a prims stylesheet
Examples
html <- prism_highlight_text('p { color: red }', language = 'css')
cat(html)
prism_languages()