Merge pull request #560 from aluzzardi/docs-syntax-highlight
docs syntax highlight for CUE
This commit is contained in:
commit
fd31afeda0
@ -1,62 +1,61 @@
|
|||||||
const path = require('path');
|
const path = require("path");
|
||||||
|
|
||||||
/** @type {import('@docusaurus/types').DocusaurusConfig} */
|
/** @type {import('@docusaurus/types').DocusaurusConfig} */
|
||||||
module.exports = {
|
module.exports = {
|
||||||
title: 'Dagger',
|
title: "Dagger",
|
||||||
tagline: 'Dagger is a programmable deployment system',
|
tagline: "Dagger is a programmable deployment system",
|
||||||
url: 'https://docs.dagger.io',
|
url: "https://docs.dagger.io",
|
||||||
baseUrl: '/',
|
baseUrl: "/",
|
||||||
onBrokenLinks: 'throw',
|
onBrokenLinks: "throw",
|
||||||
onBrokenMarkdownLinks: 'warn',
|
onBrokenMarkdownLinks: "warn",
|
||||||
favicon: 'img/favicon.png',
|
favicon: "img/favicon.png",
|
||||||
organizationName: 'Dagger',
|
organizationName: "Dagger",
|
||||||
projectName: 'Dagger',
|
projectName: "Dagger",
|
||||||
stylesheets: [
|
stylesheets: [
|
||||||
'https://fonts.gstatic.com',
|
"https://fonts.gstatic.com",
|
||||||
'https://fonts.googleapis.com/css2?family=Poppins:wght@700&display=swap',
|
"https://fonts.googleapis.com/css2?family=Poppins:wght@700&display=swap",
|
||||||
'https://fonts.googleapis.com/css2?family=Karla&family=Poppins:wght@700&display=swap'
|
"https://fonts.googleapis.com/css2?family=Karla&family=Poppins:wght@700&display=swap",
|
||||||
],
|
],
|
||||||
themeConfig: {
|
themeConfig: {
|
||||||
sidebarCollapsible: false,
|
sidebarCollapsible: false,
|
||||||
prism: {
|
prism: {
|
||||||
defaultLanguage: 'go',
|
theme: require("prism-react-renderer/themes/vsDark"),
|
||||||
},
|
},
|
||||||
navbar: {
|
navbar: {
|
||||||
logo: {
|
logo: {
|
||||||
alt: 'Dagger Logo',
|
alt: "Dagger Logo",
|
||||||
src: 'img/dagger-logo.png',
|
src: "img/dagger-logo.png",
|
||||||
srcDark: 'img/dagger_logo_dark.png',
|
srcDark: "img/dagger_logo_dark.png",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
algolia: {
|
algolia: {
|
||||||
apiKey: '66c9f1f7e6ba6617ec4e65194788bacd',
|
apiKey: "66c9f1f7e6ba6617ec4e65194788bacd",
|
||||||
indexName: 'docs_dagger'
|
indexName: "docs_dagger",
|
||||||
},
|
},
|
||||||
colorMode: {
|
colorMode: {
|
||||||
// "light" | "dark"
|
// "light" | "dark"
|
||||||
defaultMode: 'light',
|
defaultMode: "light",
|
||||||
|
|
||||||
switchConfig: {
|
switchConfig: {
|
||||||
darkIcon: "img/Icon_Night-mode.svg",
|
darkIcon: "img/Icon_Night-mode.svg",
|
||||||
lightIcon: 'img/Icon_Day-mode.svg',
|
lightIcon: "img/Icon_Day-mode.svg",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
presets: [
|
presets: [
|
||||||
[
|
[
|
||||||
'@docusaurus/preset-classic',
|
"@docusaurus/preset-classic",
|
||||||
{
|
{
|
||||||
docs: {
|
docs: {
|
||||||
sidebarPath: require.resolve('./sidebars.js'),
|
sidebarPath: require.resolve("./sidebars.js"),
|
||||||
editUrl:
|
editUrl: "https://github.com/dagger/dagger/blob/main",
|
||||||
'https://github.com/dagger/dagger/blob/main',
|
routeBasePath: "/",
|
||||||
routeBasePath: '/',
|
|
||||||
},
|
},
|
||||||
theme: {
|
theme: {
|
||||||
customCss: require.resolve('./src/css/custom.css'),
|
customCss: require.resolve("./src/css/custom.css"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
plugins: [path.resolve(__dirname, './custom_plugins')],
|
plugins: [path.resolve(__dirname, "./custom_plugins")],
|
||||||
};
|
};
|
24
tools/daggosaurus/src/theme/prism-include-languages.js
Normal file
24
tools/daggosaurus/src/theme/prism-include-languages.js
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
import ExecutionEnvironment from "@docusaurus/ExecutionEnvironment";
|
||||||
|
import siteConfig from "@generated/docusaurus.config";
|
||||||
|
|
||||||
|
const prismIncludeLanguages = (PrismObject) => {
|
||||||
|
if (ExecutionEnvironment.canUseDOM) {
|
||||||
|
const {
|
||||||
|
themeConfig: { prism: { additionalLanguages = [] } = {} },
|
||||||
|
} = siteConfig;
|
||||||
|
window.Prism = PrismObject;
|
||||||
|
additionalLanguages.forEach((lang) => {
|
||||||
|
require(`prismjs/components/prism-${lang}`); // eslint-disable-line
|
||||||
|
});
|
||||||
|
require("./prism.cue.js");
|
||||||
|
delete window.Prism;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default prismIncludeLanguages;
|
32
tools/daggosaurus/src/theme/prism.cue.js
Normal file
32
tools/daggosaurus/src/theme/prism.cue.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
Prism.languages.cue = Prism.languages.extend("clike", {
|
||||||
|
// https://github.com/PrismJS/prism/blob/master/components/prism-swift.js
|
||||||
|
string: {
|
||||||
|
pattern: /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,
|
||||||
|
greedy: true,
|
||||||
|
inside: {
|
||||||
|
interpolation: {
|
||||||
|
pattern: /\\\#*\((?:[^()]|\([^)]+\))+\)/,
|
||||||
|
inside: {
|
||||||
|
delimiter: {
|
||||||
|
pattern: /^\\\#*\(|\)$/,
|
||||||
|
alias: "variable",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
// https://cuelang.org/docs/references/spec/#values
|
||||||
|
keyword: /\b(?:package|import|if|else|for|in|let)\b/,
|
||||||
|
boolean: /\b(?:true|false)\b/,
|
||||||
|
constant: /\b(?:_\|_|_)\b/,
|
||||||
|
|
||||||
|
// https://github.com/PrismJS/prism/blob/master/components/prism-go.js
|
||||||
|
number: /(?:\b0x[a-f\d]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[-+]?\d+)?)i?/i,
|
||||||
|
operator:
|
||||||
|
/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,
|
||||||
|
|
||||||
|
// https://cuelang.org/docs/references/spec/#predeclared-identifiers
|
||||||
|
builtin:
|
||||||
|
/\b(?:len|null|bool|int|float|string|bytes|number|u?int(?:8|16|32|64|128)?|rune|float(?:32|64))\b/,
|
||||||
|
});
|
Reference in New Issue
Block a user