summaryrefslogtreecommitdiff
path: root/packages/markdown/remark/src/remark-prism.ts
diff options
context:
space:
mode:
authorGravatar natemoo-re <natemoo-re@users.noreply.github.com> 2021-10-29 19:47:01 +0000
committerGravatar GitHub Actions <actions@github.com> 2021-10-29 19:47:01 +0000
commita5c6f922fa743c55c74882bda5d2d68cc3674600 (patch)
treed57f2d47668c81c54d42631d98671a7a59aa403a /packages/markdown/remark/src/remark-prism.ts
parent34e03cf912161abd5ca66fd12ce458d51d011855 (diff)
downloadastro-a5c6f922fa743c55c74882bda5d2d68cc3674600.tar.gz
astro-a5c6f922fa743c55c74882bda5d2d68cc3674600.tar.zst
astro-a5c6f922fa743c55c74882bda5d2d68cc3674600.zip
[ci] yarn format
Diffstat (limited to 'packages/markdown/remark/src/remark-prism.ts')
-rw-r--r--packages/markdown/remark/src/remark-prism.ts27
1 files changed, 12 insertions, 15 deletions
diff --git a/packages/markdown/remark/src/remark-prism.ts b/packages/markdown/remark/src/remark-prism.ts
index d8dd8d922..d7a4ff996 100644
--- a/packages/markdown/remark/src/remark-prism.ts
+++ b/packages/markdown/remark/src/remark-prism.ts
@@ -4,26 +4,24 @@ import { addAstro } from '@astrojs/prism';
import loadLanguages from 'prismjs/components/index.js';
const noVisit = new Set(['root', 'html', 'text']);
-const languageMap = new Map([
- ['ts', 'typescript']
-]);
+const languageMap = new Map([['ts', 'typescript']]);
function runHighlighter(lang: string, code: string) {
- let classLanguage = `language-${lang}`
+ let classLanguage = `language-${lang}`;
if (lang == null) {
lang = 'plaintext';
}
const ensureLoaded = (lang: string) => {
- if(lang && !Prism.languages[lang]) {
+ if (lang && !Prism.languages[lang]) {
loadLanguages([lang]);
}
};
- if(languageMap.has(lang)) {
+ if (languageMap.has(lang)) {
ensureLoaded(languageMap.get(lang)!);
- } else if(lang === 'astro') {
+ } else if (lang === 'astro') {
ensureLoaded('typescript');
addAstro(Prism);
} else {
@@ -31,7 +29,7 @@ function runHighlighter(lang: string, code: string) {
ensureLoaded(lang);
}
- if(lang && !Prism.languages[lang]) {
+ if (lang && !Prism.languages[lang]) {
console.warn(`Unable to load the language: ${lang}`);
}
@@ -48,26 +46,25 @@ type MaybeString = string | null | undefined;
/** */
function transformer(className: MaybeString) {
- return function(tree: any) {
+ return function (tree: any) {
const visitor = (node: any) => {
- let {lang, value} = node;
+ let { lang, value } = node;
node.type = 'html';
let { html, classLanguage } = runHighlighter(lang, value);
let classes = [classLanguage];
- if(className) {
+ if (className) {
classes.push(className);
}
node.value = `<pre class="${classes.join(' ')}"><code data-astro-raw class="${classLanguage}">${html}</code></pre>`;
return node;
};
- return visit(tree, 'code', visitor)
- }
+ return visit(tree, 'code', visitor);
+ };
}
-
function plugin(className: MaybeString) {
return transformer.bind(null, className);
}
-export default plugin; \ No newline at end of file
+export default plugin;