diff --git a/astro.config.mjs b/astro.config.mjs
index ca82598..34c038e 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -7,6 +7,7 @@ import { markdownConfig } from "./src/config/io/markdown.ts";
// https://astro.build/config
export default defineConfig({
+ markdown: markdownConfig,
integrations: [
solidJs({
devtools: true,
@@ -14,5 +15,4 @@ export default defineConfig({
mdx(),
pagefind(),
],
- markdown: markdownConfig,
});
diff --git a/src/config/io/markdown.ts b/src/config/io/markdown.ts
index f5c6c52..374a0d8 100644
--- a/src/config/io/markdown.ts
+++ b/src/config/io/markdown.ts
@@ -1,7 +1,7 @@
import type { Parent, Node } from "unist";
import { visit, CONTINUE, SKIP } from "unist-util-visit";
import { fromHtml } from "hast-util-from-html";
-import type { Root, Element } from "hast";
+import type { Root } from "hast";
import type {
AstroMarkdownOptions,
MarkdownProcessor,
@@ -69,34 +69,22 @@ const rehypeRewriteTypelinks: RehypePlugin<[]> = () => {
};
};
-const shikiRewriteTypelinks = (): ShikiTransformer => {
- return {
- name: "rewrite-typelinks",
- preprocess(code, _options) {
- const qtRegExp = /QT_(\w+)/g;
- const qsRegExp = /QS_(\w+)/g;
- // WARN: need to change the code link identifier to this
- // const hasTypelinks = code.search(/TYPE99(\w+.)99TYPE/g) !== -1;
- const hasQTLink = code.search(qtRegExp) !== -1;
- const hasQSLink = code.search(qsRegExp) !== -1;
+const shikiRewriteTypelinks: ShikiTransformer = {
+ name: "rewrite-typelinks",
+ postprocess(code, _options) {
+ // WARN: need to change the code link identifier to this
+ const regExp = /TYPE99(\w+.)99TYPE/g;
+ const hasTypelinks = code.search(regExp) !== -1;
+ console.log(hasTypelinks);
- if (hasQTLink) {
- code.replace(qtRegExp, (_full: string, match: string) => {
- const linkObject = getQMLTypeLinkObject(match);
- const link = getQMLTypeLink(linkObject);
- return `${linkObject.name ?? ""}`;
- });
- }
-
- if (hasQSLink) {
- code.replace(qsRegExp, (_full: string, match: string) => {
- const linkObject = getQMLTypeLinkObject(match);
- const link = getQMLTypeLink(linkObject);
- return `${linkObject.name ?? ""}`;
- });
- }
- },
- };
+ if (hasTypelinks) {
+ code.replace(regExp, (_full: string, match: string) => {
+ const linkObject = getQMLTypeLinkObject(match);
+ const link = getQMLTypeLink(linkObject);
+ return `${linkObject.name ?? ""}`;
+ });
+ }
+ },
};
export const markdownConfig: AstroMarkdownOptions = {
@@ -104,7 +92,7 @@ export const markdownConfig: AstroMarkdownOptions = {
shikiConfig: {
theme: "material-theme-ocean",
wrap: true,
- transformers: [shikiRewriteTypelinks()],
+ transformers: [shikiRewriteTypelinks],
},
remarkPlugins: [[remarkAlert, { legacyTitle: true }]],
rehypePlugins: [
diff --git a/src/pages/docs/configuration/index.mdx b/src/pages/docs/configuration/index.mdx
index 247fe5d..a8286d7 100644
--- a/src/pages/docs/configuration/index.mdx
+++ b/src/pages/docs/configuration/index.mdx
@@ -3,9 +3,11 @@ layout: "@layouts/ConfigLayout.astro"
title: "Configuration"
description: "Configuring the shell"
---
-import MD_Title from "@components/MD_Title.tsx"
+
+import MD_Title from "@components/MD_Title.tsx";
# {frontmatter.title}
+
You should start with the [Introduction](./configuration/intro) which will guide you
through the basics of QML by creating a simple topbar with a clock.