mirror of
https://github.com/zmkfirmware/zmk.git
synced 2026-03-20 13:05:20 -05:00
This deletes the Bash and PowerShell setup scripts in favor of using ZMK CLI. The old setup scripts are broken, since the config repo template uses ZMK version 0.3, while the setup scripts use hardware metadata from the main branch. ZMK CLI doesn't have this issue, because it clones the version of ZMK listed in the config repo to get hardware metadata. Much of the "Installing ZMK" page has been rewritten to give instructions for installing ZMK CLI and using it to create and modify a config repo. The previously-hidden page on ZMK CLI has been added to the sidebar and repurposed into general documentation for the tool.
231 lines
6.4 KiB
JavaScript
231 lines
6.4 KiB
JavaScript
const { execSync } = require("child_process");
|
|
const path = require("path");
|
|
const theme = require("./src/theme/prism/themes/github");
|
|
const darkTheme = require("./src/theme/prism/themes/github-dark-dimmed");
|
|
const { releaseVersions } = require("./zmk-release-versions.json");
|
|
|
|
const gitBranch =
|
|
process.env.BRANCH ||
|
|
execSync("git branch --show-current", { encoding: "utf-8" }).trim();
|
|
const isDevelopmentVersion =
|
|
gitBranch === "main" || !/^v\d+\.\d+-branch$/.test(gitBranch);
|
|
const versionNavbarItems = [
|
|
{
|
|
label: "Pre-Release",
|
|
description: "Current active development branch (main)",
|
|
href: "https://zmk.dev/docs/",
|
|
},
|
|
...releaseVersions.map((r) => ({
|
|
label: "v" + r,
|
|
description: "Stable release v" + r,
|
|
href: `https://v${r.replaceAll(".", "-")}-branch.zmk.dev/docs/`,
|
|
})),
|
|
];
|
|
|
|
const versionDropDownLabel = (
|
|
isDevelopmentVersion
|
|
? versionNavbarItems[0]
|
|
: versionNavbarItems.find((item) => {
|
|
return item.label === gitBranch.replace("-branch", "");
|
|
})
|
|
).label;
|
|
|
|
module.exports = {
|
|
title: "ZMK Firmware",
|
|
tagline: "Modern, open source keyboard firmware",
|
|
url: "https://zmk.dev",
|
|
baseUrl: "/",
|
|
favicon: "img/favicon.ico",
|
|
trailingSlash: "false",
|
|
organizationName: "zmkfirmware", // Usually your GitHub org/user name.
|
|
projectName: "zmk", // Usually your repo name.
|
|
customFields: {
|
|
isDevelopmentVersion,
|
|
releaseVersions,
|
|
},
|
|
plugins: [
|
|
"@docusaurus/theme-mermaid",
|
|
path.resolve(__dirname, "src/docusaurus-tree-sitter-plugin"),
|
|
path.resolve(__dirname, "src/hardware-metadata-collection-plugin"),
|
|
path.resolve(__dirname, "src/hardware-metadata-static-plugin"),
|
|
path.resolve(__dirname, "src/hardware-schema-typescript-plugin"),
|
|
],
|
|
themeConfig: {
|
|
colorMode: {
|
|
respectPrefersColorScheme: true,
|
|
},
|
|
prism: {
|
|
additionalLanguages: [
|
|
"bash",
|
|
"c",
|
|
"cmake",
|
|
"ini",
|
|
"linker-script",
|
|
"log",
|
|
"powershell",
|
|
"diff",
|
|
],
|
|
theme,
|
|
darkTheme,
|
|
},
|
|
// sidebarCollapsible: false,
|
|
navbar: {
|
|
title: "ZMK Firmware",
|
|
logo: {
|
|
alt: "ZMK Logo",
|
|
src: "img/zmk_logo.svg",
|
|
},
|
|
items: [
|
|
{
|
|
to: "docs",
|
|
activeBasePath: "docs",
|
|
label: "Docs",
|
|
position: "left",
|
|
},
|
|
isDevelopmentVersion
|
|
? { to: "blog", label: "Blog", position: "left" }
|
|
: { href: "https://zmk.dev/blog", label: "Blog", position: "left" },
|
|
{
|
|
type: "dropdown",
|
|
label: "Tools",
|
|
position: "left",
|
|
items: [
|
|
{
|
|
to: "power-profiler",
|
|
label: "Power Profiler",
|
|
},
|
|
{
|
|
to: "keymap-upgrader",
|
|
label: "Keymap Upgrader",
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: "dropdown",
|
|
label: versionDropDownLabel,
|
|
position: "right",
|
|
items: versionNavbarItems,
|
|
},
|
|
{
|
|
href: "https://zmk.studio/",
|
|
label: "ZMK Studio",
|
|
position: "right",
|
|
},
|
|
{
|
|
href: "https://github.com/zmkfirmware/zmk",
|
|
"aria-label": "ZMK GitHub Repository",
|
|
className: "header-github-link",
|
|
position: "right",
|
|
},
|
|
],
|
|
},
|
|
footer: {
|
|
style: "dark",
|
|
links: [
|
|
{
|
|
title: "Docs",
|
|
items: [
|
|
{
|
|
label: "Getting Started",
|
|
to: "docs/",
|
|
},
|
|
{
|
|
label: "Development",
|
|
to: "docs/development/contributing/clean-room",
|
|
},
|
|
],
|
|
},
|
|
{
|
|
title: "Community",
|
|
items: [
|
|
// {
|
|
// label: "Stack Overflow",
|
|
// href: "https://stackoverflow.com/questions/tagged/docusaurus",
|
|
// },
|
|
{
|
|
label: "Discord",
|
|
href:
|
|
(process.env.URL || "https://zmk.dev") +
|
|
"/community/discord/invite",
|
|
},
|
|
{
|
|
label: "Mastodon",
|
|
href: "https://fosstodon.org/@zmk",
|
|
},
|
|
{
|
|
label: "Twitter",
|
|
href: "https://twitter.com/ZMKFirmware",
|
|
},
|
|
],
|
|
},
|
|
{
|
|
title: "More",
|
|
items: [
|
|
{
|
|
label: "Blog",
|
|
to: "blog",
|
|
},
|
|
{
|
|
label: "GitHub",
|
|
href: "https://github.com/zmkfirmware/zmk",
|
|
},
|
|
{
|
|
html: `
|
|
<a href="https://www.netlify.com" target="_blank" rel="noreferrer noopener" aria-label="Deploys by Netlify">
|
|
<img src="https://www.netlify.com/img/global/badges/netlify-color-accent.svg" alt="Deploys by Netlify" />
|
|
</a>
|
|
`,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
copyright: `Copyright © ${new Date().getFullYear()} ZMK Project Contributors. <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/80x15.png" /></a>`,
|
|
},
|
|
algolia: {
|
|
appId: "USXLDJ14JE",
|
|
apiKey: "384a3bd2d50136c9dc8c8ddfe1b3a4b2",
|
|
indexName: "zmkfirmware",
|
|
},
|
|
},
|
|
presets: [
|
|
[
|
|
"@docusaurus/preset-classic",
|
|
{
|
|
googleAnalytics: {
|
|
trackingID: "UA-145201102-2",
|
|
anonymizeIP: true,
|
|
},
|
|
docs: {
|
|
// Removed (for now) until we have content for each level of the generated breadcrumbs
|
|
breadcrumbs: false,
|
|
// It is recommended to set document id as docs home page (`docs/` path).
|
|
sidebarPath: require.resolve("./sidebars.js"),
|
|
// Please change this to your repo.
|
|
editUrl: "https://github.com/zmkfirmware/zmk/edit/main/docs/",
|
|
},
|
|
blog: {
|
|
showReadingTime: true,
|
|
// Please change this to your repo.
|
|
editUrl: "https://github.com/zmkfirmware/zmk/edit/main/docs/",
|
|
blogSidebarCount: "ALL",
|
|
},
|
|
theme: {
|
|
customCss: [
|
|
require.resolve("./src/css/custom.css"),
|
|
require.resolve("./src/css/codes.css"),
|
|
],
|
|
},
|
|
},
|
|
],
|
|
],
|
|
markdown: {
|
|
format: "detect",
|
|
mermaid: true,
|
|
mdx1Compat: {
|
|
comments: false,
|
|
admonitions: false,
|
|
headingIds: true,
|
|
},
|
|
},
|
|
};
|