CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
readme.md787 linesDownload Raw Back to lowlight
1<!--lint disable no-html-->2 3# lowlight4 5[![Build][build-badge]][build]6[![Coverage][coverage-badge]][coverage]7[![Downloads][downloads-badge]][downloads]8[![Size][size-badge]][size]9 10Virtual syntax highlighting for virtual DOMs and non-HTML things based on11[`highlight.js`][highlight-js].12 13## Contents14 15* [What is this?](#what-is-this)16* [When should I use this?](#when-should-i-use-this)17* [Install](#install)18* [Use](#use)19* [API](#api)20  * [`all`](#all)21  * [`common`](#common)22  * [`createLowlight([grammars])`](#createlowlightgrammars)23  * [`lowlight.highlight(language, value[, options])`](#lowlighthighlightlanguage-value-options)24  * [`lowlight.highlightAuto(value[, options])`](#lowlighthighlightautovalue-options)25  * [`lowlight.listLanguages()`](#lowlightlistlanguages)26  * [`lowlight.register(grammars)`](#lowlightregistergrammars)27  * [`lowlight.registerAlias(aliases)`](#lowlightregisteraliasaliases)28  * [`lowlight.registered(aliasOrlanguage)`](#lowlightregisteredaliasorlanguage)29  * [`AutoOptions`](#autooptions)30  * [`LanguageFn`](#languagefn)31  * [`Options`](#options)32* [Examples](#examples)33  * [Example: serializing hast as html](#example-serializing-hast-as-html)34  * [Example: turning hast into preact, react, etc](#example-turning-hast-into-preact-react-etc)35* [Types](#types)36* [Data](#data)37* [CSS](#css)38* [Compatibility](#compatibility)39* [Security](#security)40* [Related](#related)41* [Projects](#projects)42* [Contribute](#contribute)43* [License](#license)44 45## What is this?46 47This package uses [`highlight.js`][highlight-js] for syntax highlighting and48outputs objects (ASTs) instead of a string of HTML.49It can support 190+ programming languages.50 51## When should I use this?52 53This package is useful when you want to perform syntax highlighting in a place54where serialized HTML wouldn’t work or wouldn’t work well.55For example, you can use lowlight when you want to show code in a CLI by56rendering to ANSI sequences, when you’re using virtual DOM frameworks (such as57React or Preact) so that diffing can be performant, or when you’re working with58ASTs (rehype).59 60You can use the similar [`refractor`][refractor] if you want to use [Prism][]61grammars instead.62If you’re looking for a *really good* (but rather heavy) alternative, use63[`starry-night`][starry-night].64 65## Install66 67This package is [ESM only][esm].68In Node.js (version 16+), install with [npm][]:69 70```sh71npm install lowlight72```73 74In Deno with [`esm.sh`][esmsh]:75 76```js77import {all, common, createLowlight} from 'https://esm.sh/lowlight@3'78```79 80In browsers with [`esm.sh`][esmsh]:81 82```html83<script type="module">84  import {all, common, createLowlight} from 'https://esm.sh/lowlight@3?bundle'85</script>86```87 88## Use89 90```js91import {common, createLowlight} from 'lowlight'92 93const lowlight = createLowlight(common)94 95const tree = lowlight.highlight('js', '"use strict";')96 97console.dir(tree, {depth: undefined})98```99 100Yields:101 102```js103{104  type: 'root',105  children: [106    {107      type: 'element',108      tagName: 'span',109      properties: {className: ['hljs-meta']},110      children: [{type: 'text', value: '"use strict"'}]111    },112    {type: 'text', value: ';'}113  ],114  data: {language: 'js', relevance: 10}115}116```117 118## API119 120This package exports the identifiers [`all`][api-all],121[`common`][api-common], and122[`createLowlight`][api-create-lowlight].123There is no default export.124 125### `all`126 127Map of all (±190) grammars ([`Record<string, LanguageFn>`][api-language-fn]).128 129### `common`130 131Map of common (37) grammars ([`Record<string, LanguageFn>`][api-language-fn]).132 133### `createLowlight([grammars])`134 135Create a `lowlight` instance.136 137###### Parameters138 139* `grammars` ([`Record<string, LanguageFn>`][api-language-fn], optional)140  — grammars to add141 142###### Returns143 144Lowlight (`Lowlight`).145 146### `lowlight.highlight(language, value[, options])`147 148Highlight `value` (code) as `language` (name).149 150###### Parameters151 152* `language` (`string`)153  — programming language [name][names]154* `value` (`string`)155  — code to highlight156* `options` ([`Options`][api-options], optional)157  — configuration158 159###### Returns160 161Tree ([`Root`][hast-root]); with the following `data` fields: `language`162(`string`), detected programming language name; `relevance` (`number`), how163sure lowlight is that the given code is in the language.164 165###### Example166 167```js168import {common, createLowlight} from 'lowlight'169 170const lowlight = createLowlight(common)171 172console.log(lowlight.highlight('css', 'em { color: red }'))173```174 175Yields:176 177```js178{type: 'root', children: [Array], data: {language: 'css', relevance: 3}}179```180 181### `lowlight.highlightAuto(value[, options])`182 183Highlight `value` (code) and guess its programming language.184 185###### Parameters186 187* `value` (`string`)188  — code to highlight189* `options` ([`AutoOptions`][api-auto-options], optional)190  — configuration191 192###### Returns193 194Tree ([`Root`][hast-root]); with the following `data` fields: `language`195(`string`), detected programming language name; `relevance` (`number`), how196sure lowlight is that the given code is in the language.197 198###### Example199 200```js201import {common, createLowlight} from 'lowlight'202 203const lowlight = createLowlight(common)204 205console.log(lowlight.highlightAuto('"hello, " + name + "!"'))206```207 208Yields:209 210```js211{type: 'root', children: [Array], data: {language: 'arduino', relevance: 2}}212```213 214### `lowlight.listLanguages()`215 216List registered languages.217 218###### Returns219 220[Names][] of registered language (`Array<string>`).221 222###### Example223 224```js225import {createLowlight} from 'lowlight'226import markdown from 'highlight.js/lib/languages/markdown'227 228const lowlight = createLowlight()229 230console.log(lowlight.listLanguages()) // => []231 232lowlight.register({markdown})233 234console.log(lowlight.listLanguages()) // => ['markdown']235```236 237### `lowlight.register(grammars)`238 239Register languages.240 241###### Signatures242 243* `register(name, grammar)`244* `register(grammars)`245 246###### Parameters247 248* `name` (`string`)249  — programming language [name][names]250* `grammar` ([`LanguageFn`][api-language-fn])251  — grammar252* `grammars` ([`Record<string, LanguageFn>`][api-language-fn], optional)253  — grammars254 255###### Returns256 257Nothing (`undefined`).258 259###### Example260 261```js262import {createLowlight} from 'lowlight'263import xml from 'highlight.js/lib/languages/xml'264 265const lowlight = createLowlight()266 267lowlight.register({xml})268 269// Note: `html` is an alias for `xml`.270console.log(lowlight.highlight('html', '<em>Emphasis</em>'))271```272 273Yields:274 275```js276{type: 'root', children: [Array], data: {language: 'html', relevance: 2}}277```278 279### `lowlight.registerAlias(aliases)`280 281Register aliases.282 283###### Signatures284 285* `registerAlias(aliases)`286* `registerAlias(name, alias)`287 288###### Parameters289 290* `aliases` (`Record<string, Array<string> | string>`)291  — map of programming language [names][] to one or more aliases292* `name` (`string`)293  — programming language [name][names]294* `alias` (`Array<string> | string`)295  — one or more aliases for the programming language296 297###### Returns298 299Nothing (`undefined`).300 301###### Example302 303```js304import {createLowlight} from 'lowlight'305import markdown from 'highlight.js/lib/languages/markdown'306 307const lowlight = createLowlight()308 309lowlight.register({markdown})310 311// lowlight.highlight('mdown', '<em>Emphasis</em>')312// ^ would throw: Error: Unknown language: `mdown` is not registered313 314lowlight.registerAlias({markdown: ['mdown', 'mkdn', 'mdwn', 'ron']})315lowlight.highlight('mdown', '<em>Emphasis</em>')316// ^ Works!317```318 319### `lowlight.registered(aliasOrlanguage)`320 321Check whether an alias or name is registered.322 323###### Parameters324 325* `aliasOrlanguage` (`string`)326  — [name][names] of a language or alias for one327 328###### Returns329 330Whether `aliasOrName` is registered (`boolean`).331 332###### Example333 334```js335import {createLowlight} from 'lowlight'336import javascript from 'highlight.js/lib/languages/javascript'337 338const lowlight = createLowlight({javascript})339 340console.log(lowlight.registered('funkyscript')) // => `false`341 342lowlight.registerAlias({javascript: 'funkyscript'})343console.log(lowlight.registered('funkyscript')) // => `true`344```345 346### `AutoOptions`347 348Configuration for `highlightAuto` (TypeScript type).349 350###### Fields351 352* `prefix` (`string`, default: `'hljs-'`)353  — class prefix354* `subset` (`Array<string>`, default: all registered languages)355  — list of allowed languages356 357### `LanguageFn`358 359Highlight.js grammar (TypeScript type).360 361###### Type362 363```ts364type {LanguageFn} from 'highlight.js'365```366 367### `Options`368 369Configuration for `highlight` (TypeScript type).370 371###### Fields372 373* `prefix` (`string`, default: `'hljs-'`)374  — class prefix375 376## Examples377 378### Example: serializing hast as html379 380hast trees as returned by lowlight can be serialized with381[`hast-util-to-html`][hast-util-to-html]:382 383```js384import {common, createLowlight} from 'lowlight'385import {toHtml} from 'hast-util-to-html'386 387const lowlight = createLowlight(common)388 389const tree = lowlight.highlight('js', '"use strict";')390 391console.log(toHtml(tree))392```393 394Yields:395 396```html397<span class="hljs-meta">"use strict"</span>;398```399 400### Example: turning hast into preact, react, etc401 402hast trees as returned by lowlight can be turned into nodes of any framework403that supports JSX, such as preact, react, solid, svelte, vue, and more, with404[`hast-util-to-jsx-runtime`][hast-util-to-jsx-runtime]:405 406```js407import {toJsxRuntime} from 'hast-util-to-jsx-runtime'408// @ts-expect-error: react types don’t type these.409import {Fragment, jsx, jsxs} from 'react/jsx-runtime'410import {common, createLowlight} from 'lowlight'411 412const lowlight = createLowlight(common)413 414const tree = lowlight.highlight('js', '"use strict";')415 416console.log(toJsxRuntime(tree, {Fragment, jsx, jsxs}))417```418 419Yields:420 421```js422{423  $$typeof: Symbol(react.element),424  type: Symbol(react.fragment),425  key: null,426  ref: null,427  props: {children: [[Object], ';']},428  _owner: null,429  _store: {}430}431```432 433## Types434 435This package is fully typed with [TypeScript][].436It exports the additional types437[`AutoOptions`][api-auto-options],438[`LanguageFn`][api-language-fn], and439[`Options`][api-options].440 441It also registers `root.data` with `@types/hast`.442If you’re working with the data fields, make sure to import this package443somewhere in your types, as that registers the new fields on the file.444 445```js446/**447 * @import {Root} from 'hast'448 * @import {} from 'lowlight'449 */450 451import {VFile} from 'vfile'452 453/** @type {Root} */454const root = {type: 'root', children: []}455 456console.log(root.data?.language) //=> TS now knows that this is a `string?`.457```458 459<!--Old name of the following section:-->460 461<a name="syntaxes"></a>462 463## Data464 465If you’re using `createLowlight()`, no syntaxes are included yet.466You can import `all` or `common` and pass them, such as with467`createLowlight(all)`.468Checked syntaxes are included in `common`.469All syntaxes are included in `all`.470 471You can also manually import syntaxes from `highlight.js/lib/languages/xxx`,472where `xxx` is the name, such as `'highlight.js/lib/languages/wasm'`.473 474<!--support start-->475 476* [ ] `1c` — 1C:Enterprise477* [ ] `abnf` — Augmented Backus-Naur Form478* [ ] `accesslog` — Apache Access Log479* [ ] `actionscript` (`as`) — ActionScript480* [ ] `ada` — Ada481* [ ] `angelscript` (`asc`) — AngelScript482* [ ] `apache` (`apacheconf`) — Apache config483* [ ] `applescript` (`osascript`) — AppleScript484* [ ] `arcade` — ArcGIS Arcade485* [x] `arduino` (`ino`) — Arduino486* [ ] `armasm` (`arm`) — ARM Assembly487* [ ] `asciidoc` (`adoc`) — AsciiDoc488* [ ] `aspectj` — AspectJ489* [ ] `autohotkey` (`ahk`) — AutoHotkey490* [ ] `autoit` — AutoIt491* [ ] `avrasm` — AVR Assembly492* [ ] `awk` — Awk493* [ ] `axapta` (`x++`) — X++494* [x] `bash` (`sh`, `zsh`) — Bash495* [ ] `basic` — BASIC496* [ ] `bnf` — Backus–Naur Form497* [ ] `brainfuck` (`bf`) — Brainfuck498* [x] `c` (`h`) — C499* [ ] `cal` — C/AL500* [ ] `capnproto` (`capnp`) — Cap’n Proto501* [ ] `ceylon` — Ceylon502* [ ] `clean` (`icl`, `dcl`) — Clean503* [ ] `clojure` (`clj`, `edn`) — Clojure504* [ ] `clojure-repl` — Clojure REPL505* [ ] `cmake` (`cmake.in`) — CMake506* [ ] `coffeescript` (`coffee`, `cson`, `iced`) — CoffeeScript507* [ ] `coq` — Coq508* [ ] `cos` (`cls`) — Caché Object Script509* [x] `cpp` (`cc`, `c++`, `h++`, `hpp`, `hh`, `hxx`, `cxx`) — C++510* [ ] `crmsh` (`crm`, `pcmk`) — crmsh511* [ ] `crystal` (`cr`) — Crystal512* [x] `csharp` (`cs`, `c#`) — C#513* [ ] `csp` — CSP514* [x] `css` — CSS515* [ ] `d` — D516* [ ] `dart` — Dart517* [ ] `delphi` (`dpr`, `dfm`, `pas`, `pascal`) — Delphi518* [x] `diff` (`patch`) — Diff519* [ ] `django` (`jinja`) — Django520* [ ] `dns` (`bind`, `zone`) — DNS Zone521* [ ] `dockerfile` (`docker`) — Dockerfile522* [ ] `dos` (`bat`, `cmd`) — Batch file (DOS)523* [ ] `dsconfig` — undefined524* [ ] `dts` — Device Tree525* [ ] `dust` (`dst`) — Dust526* [ ] `ebnf` — Extended Backus-Naur Form527* [ ] `elixir` (`ex`, `exs`) — Elixir528* [ ] `elm` — Elm529* [ ] `erb` — ERB530* [ ] `erlang` (`erl`) — Erlang531* [ ] `erlang-repl` — Erlang REPL532* [ ] `excel` (`xlsx`, `xls`) — Excel formulae533* [ ] `fix` — FIX534* [ ] `flix` — Flix535* [ ] `fortran` (`f90`, `f95`) — Fortran536* [ ] `fsharp` (`fs`, `f#`) — F#537* [ ] `gams` (`gms`) — GAMS538* [ ] `gauss` (`gss`) — GAUSS539* [ ] `gcode` (`nc`) — G-code (ISO 6983)540* [ ] `gherkin` (`feature`) — Gherkin541* [ ] `glsl` — GLSL542* [ ] `gml` — GML543* [x] `go` (`golang`) — Go544* [ ] `golo` — Golo545* [ ] `gradle` — Gradle546* [x] `graphql` (`gql`) — GraphQL547* [ ] `groovy` — Groovy548* [ ] `haml` — HAML549* [ ] `handlebars` (`hbs`, `html.hbs`, `html.handlebars`, `htmlbars`) — Handlebars550* [ ] `haskell` (`hs`) — Haskell551* [ ] `haxe` (`hx`) — Haxe552* [ ] `hsp` — HSP553* [ ] `http` (`https`) — HTTP554* [ ] `hy` (`hylang`) — Hy555* [ ] `inform7` (`i7`) — Inform 7556* [x] `ini` (`toml`) — TOML, also INI557* [ ] `irpf90` — IRPF90558* [ ] `isbl` — ISBL559* [x] `java` (`jsp`) — Java560* [x] `javascript` (`js`, `jsx`, `mjs`, `cjs`) — JavaScript561* [ ] `jboss-cli` (`wildfly-cli`) — JBoss CLI562* [x] `json` (`jsonc`) — JSON563* [ ] `julia` — Julia564* [ ] `julia-repl` (`jldoctest`) — Julia REPL565* [x] `kotlin` (`kt`, `kts`) — Kotlin566* [ ] `lasso` (`ls`, `lassoscript`) — Lasso567* [ ] `latex` (`tex`) — LaTeX568* [ ] `ldif` — LDIF569* [ ] `leaf` — Leaf570* [x] `less` — Less571* [ ] `lisp` — Lisp572* [ ] `livecodeserver` — LiveCode573* [ ] `livescript` (`ls`) — LiveScript574* [ ] `llvm` — LLVM IR575* [ ] `lsl` — LSL (Linden Scripting Language)576* [x] `lua` (`pluto`) — Lua577* [x] `makefile` (`mk`, `mak`, `make`) — Makefile578* [x] `markdown` (`md`, `mkdown`, `mkd`) — Markdown579* [ ] `mathematica` (`mma`, `wl`) — Mathematica580* [ ] `matlab` — Matlab581* [ ] `maxima` — Maxima582* [ ] `mel` — MEL583* [ ] `mercury` (`m`, `moo`) — Mercury584* [ ] `mipsasm` (`mips`) — MIPS Assembly585* [ ] `mizar` — Mizar586* [ ] `mojolicious` — Mojolicious587* [ ] `monkey` — Monkey588* [ ] `moonscript` (`moon`) — MoonScript589* [ ] `n1ql` — N1QL590* [ ] `nestedtext` (`nt`) — Nested Text591* [ ] `nginx` (`nginxconf`) — Nginx config592* [ ] `nim` — Nim593* [ ] `nix` (`nixos`) — Nix594* [ ] `node-repl` — Node REPL595* [ ] `nsis` — NSIS596* [x] `objectivec` (`mm`, `objc`, `obj-c`, `obj-c++`, `objective-c++`) — Objective-C597* [ ] `ocaml` (`ml`) — OCaml598* [ ] `openscad` (`scad`) — OpenSCAD599* [ ] `oxygene` — Oxygene600* [ ] `parser3` — Parser3601* [x] `perl` (`pl`, `pm`) — Perl602* [ ] `pf` (`pf.conf`) — Packet Filter config603* [ ] `pgsql` (`postgres`, `postgresql`) — PostgreSQL604* [x] `php` — undefined605* [x] `php-template` — PHP template606* [x] `plaintext` (`text`, `txt`) — Plain text607* [ ] `pony` — Pony608* [ ] `powershell` (`pwsh`, `ps`, `ps1`) — PowerShell609* [ ] `processing` (`pde`) — Processing610* [ ] `profile` — Python profiler611* [ ] `prolog` — Prolog612* [ ] `properties` — .properties613* [ ] `protobuf` (`proto`) — Protocol Buffers614* [ ] `puppet` (`pp`) — Puppet615* [ ] `purebasic` (`pb`, `pbi`) — PureBASIC616* [x] `python` (`py`, `gyp`, `ipython`) — Python617* [x] `python-repl` (`pycon`) — undefined618* [ ] `q` (`k`, `kdb`) — Q619* [ ] `qml` (`qt`) — QML620* [x] `r` — R621* [ ] `reasonml` (`re`) — ReasonML622* [ ] `rib` — RenderMan RIB623* [ ] `roboconf` (`graph`, `instances`) — Roboconf624* [ ] `routeros` (`mikrotik`) — MikroTik RouterOS script625* [ ] `rsl` — RenderMan RSL626* [x] `ruby` (`rb`, `gemspec`, `podspec`, `thor`, `irb`) — Ruby627* [ ] `ruleslanguage` — Oracle Rules Language628* [x] `rust` (`rs`) — Rust629* [ ] `sas` — SAS630* [ ] `scala` — Scala631* [ ] `scheme` (`scm`) — Scheme632* [ ] `scilab` (`sci`) — Scilab633* [x] `scss` — SCSS634* [x] `shell` (`console`, `shellsession`) — Shell Session635* [ ] `smali` — Smali636* [ ] `smalltalk` (`st`) — Smalltalk637* [ ] `sml` (`ml`) — SML (Standard ML)638* [ ] `sqf` — SQF639* [x] `sql` — SQL640* [ ] `stan` (`stanfuncs`) — Stan641* [ ] `stata` (`do`, `ado`) — Stata642* [ ] `step21` (`p21`, `step`, `stp`) — STEP Part 21643* [ ] `stylus` (`styl`) — Stylus644* [ ] `subunit` — SubUnit645* [x] `swift` — Swift646* [ ] `taggerscript` — Tagger Script647* [ ] `tap` — Test Anything Protocol648* [ ] `tcl` (`tk`) — Tcl649* [ ] `thrift` — Thrift650* [ ] `tp` — TP651* [ ] `twig` (`craftcms`) — Twig652* [x] `typescript` (`ts`, `tsx`, `mts`, `cts`) — TypeScript653* [ ] `vala` — Vala654* [x] `vbnet` (`vb`) — Visual Basic .NET655* [ ] `vbscript` (`vbs`) — VBScript656* [ ] `vbscript-html` — VBScript in HTML657* [ ] `verilog` (`v`, `sv`, `svh`) — Verilog658* [ ] `vhdl` — VHDL659* [ ] `vim` — Vim Script660* [x] `wasm` — WebAssembly661* [ ] `wren` — Wren662* [ ] `x86asm` — Intel x86 Assembly663* [ ] `xl` (`tao`) — XL664* [x] `xml` (`html`, `xhtml`, `rss`, `atom`, `xjb`, `xsd`, `xsl`, `plist`, `wsf`, `svg`) — HTML, XML665* [ ] `xquery` (`xpath`, `xq`, `xqm`) — XQuery666* [x] `yaml` (`yml`) — YAML667* [ ] `zephir` (`zep`) — Zephir668 669<!--support end-->670 671## CSS672 673`lowlight` does not inject CSS for the syntax highlighted code (because well,674lowlight doesn’t have to be turned into HTML and might not run in a browser!).675If you are in a browser, you can use any `highlight.js` theme.676For example, to get GitHub Dark from cdnjs:677 678```html679<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.0/styles/github-dark.min.css">680```681 682## Compatibility683 684This package is compatible with maintained versions of Node.js.685 686When we cut a new major release, we drop support for unmaintained versions of687Node.688This means we try to keep the current release line,689`lowlight@^3`, compatible with Node.js 16.690 691## Security692 693This package is safe.694 695## Related696 697* [`refractor`][refractor]698  — the same as lowlight but with [Prism][]699* [`starry-night`][starry-night]700  — similar but like GitHub and really good701 702## Projects703 704* [`emphasize`](https://github.com/wooorm/emphasize)705  — syntax highlighting in ANSI (for the terminal)706* [`react-lowlight`](https://github.com/rexxars/react-lowlight)707  — syntax highlighter for [React][]708* [`react-syntax-highlighter`](https://github.com/conorhastings/react-syntax-highlighter)709  — [React][] component for syntax highlighting710* [`rehype-highlight`](https://github.com/rehypejs/rehype-highlight)711  — [**rehype**](https://github.com/rehypejs/rehype) plugin to highlight code712  blocks713* [`jstransformer-lowlight`](https://github.com/ai/jstransformer-lowlight)714  — syntax highlighting for [JSTransformers](https://github.com/jstransformers)715  and [Pug](https://pugjs.org/language/filters.html)716 717## Contribute718 719Yes please!720See [How to Contribute to Open Source][contribute].721 722## License723 724[MIT][license] © [Titus Wormer][author]725 726<!-- Definitions -->727 728[build-badge]: https://github.com/wooorm/lowlight/workflows/main/badge.svg729 730[build]: https://github.com/wooorm/lowlight/actions731 732[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/lowlight.svg733 734[coverage]: https://codecov.io/github/wooorm/lowlight735 736[downloads-badge]: https://img.shields.io/npm/dm/lowlight.svg737 738[downloads]: https://www.npmjs.com/package/lowlight739 740[size-badge]: https://img.shields.io/bundlephobia/minzip/lowlight.svg741 742[size]: https://bundlephobia.com/result?p=lowlight743 744[npm]: https://docs.npmjs.com/cli/install745 746[esmsh]: https://esm.sh747 748[license]: license749 750[author]: https://wooorm.com751 752[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c753 754[typescript]: https://www.typescriptlang.org755 756[contribute]: https://opensource.guide/how-to-contribute/757 758[hast-root]: https://github.com/syntax-tree/hast#root759 760[highlight-js]: https://github.com/highlightjs/highlight.js761 762[names]: https://github.com/highlightjs/highlight.js/blob/main/SUPPORTED_LANGUAGES.md763 764[react]: https://facebook.github.io/react/765 766[prism]: https://github.com/PrismJS/prism767 768[refractor]: https://github.com/wooorm/refractor769 770[starry-night]: https://github.com/wooorm/starry-night771 772[hast-util-to-html]: https://github.com/syntax-tree/hast-util-to-html773 774[hast-util-to-jsx-runtime]: https://github.com/syntax-tree/hast-util-to-jsx-runtime775 776[api-all]: #all777 778[api-auto-options]: #autooptions779 780[api-common]: #common781 782[api-create-lowlight]: #createlowlightgrammars783 784[api-language-fn]: #languagefn785 786[api-options]: #options787 
basant307/AI_Governance_Project · CoolFace