diff options
author | 2021-04-08 15:17:00 -0400 | |
---|---|---|
committer | 2021-04-08 15:17:00 -0400 | |
commit | 72ae661e9e6f7b32adf9e6a47cdc6352dfa2a27d (patch) | |
tree | 3bc185025ee58360d05e509eb0873d796e9cb7a5 /src/compiler/optimize/index.ts | |
parent | 2b346d7a4c08b2c6ab6276751a8a984ba050656f (diff) | |
download | astro-72ae661e9e6f7b32adf9e6a47cdc6352dfa2a27d.tar.gz astro-72ae661e9e6f7b32adf9e6a47cdc6352dfa2a27d.tar.zst astro-72ae661e9e6f7b32adf9e6a47cdc6352dfa2a27d.zip |
Add support for syntax highlighting of code blocks (#65)
* Add support for syntax highlighting of code blocks
* Escape usage of backtick strings
* Add workspace root for snowpack
* Use prismjs/components as an external module
Diffstat (limited to 'src/compiler/optimize/index.ts')
-rw-r--r-- | src/compiler/optimize/index.ts | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/compiler/optimize/index.ts b/src/compiler/optimize/index.ts index a7bf828e0..fcbd6e950 100644 --- a/src/compiler/optimize/index.ts +++ b/src/compiler/optimize/index.ts @@ -7,6 +7,7 @@ import { walk } from 'estree-walker'; import optimizeStyles from './styles.js'; import optimizeDoctype from './doctype.js'; import optimizeModuleScripts from './module-scripts.js'; +import optimizeCodeBlocks from './prism.js'; interface VisitorCollection { enter: Map<string, VisitorFn[]>; @@ -57,7 +58,7 @@ function walkAstWithVisitors(tmpl: TemplateNode, collection: VisitorCollection) if (collection.enter.has(node.type)) { const fns = collection.enter.get(node.type)!; for (let fn of fns) { - fn(node, parent, key, index); + fn.call(this, node, parent, key, index); } } }, @@ -65,7 +66,7 @@ function walkAstWithVisitors(tmpl: TemplateNode, collection: VisitorCollection) if (collection.leave.has(node.type)) { const fns = collection.leave.get(node.type)!; for (let fn of fns) { - fn(node, parent, key, index); + fn.call(this, node, parent, key, index); } } }, @@ -83,7 +84,7 @@ export async function optimize(ast: Ast, opts: OptimizeOptions) { const cssVisitors = createVisitorCollection(); const finalizers: Array<() => Promise<void>> = []; - const optimizers = [optimizeStyles(opts), optimizeDoctype(opts), optimizeModuleScripts(opts)]; + const optimizers = [optimizeStyles(opts), optimizeDoctype(opts), optimizeModuleScripts(opts), optimizeCodeBlocks(ast.module)]; for (const optimizer of optimizers) { collectVisitors(optimizer, htmlVisitors, cssVisitors, finalizers); |