Deploying to gh-pages from @ qmk/qmk_firmware@32204095e5 🚀

This commit is contained in:
QMK Bot 2025-05-07 14:42:53 +00:00
parent 61423d7e47
commit dd160b8fed
221 changed files with 795 additions and 737 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import { R as RawTheme } from "./chunks/theme.ifR0jxm1.js"; import { R as RawTheme } from "./chunks/theme.Cmq9zxIH.js";
import { V as inBrowser, a9 as useUpdateHead, aa as RouterSymbol, ab as initData, ac as dataSymbol, ad as Content, ae as ClientOnly, af as siteDataRef, ag as createSSRApp, ah as createRouter, ai as pathToFile, d as defineComponent, u as useData, k as onMounted, y as watchEffect, aj as usePrefetch, ak as useCopyCode, al as useCodeGroups, am as h } from "./chunks/framework.Cauyuiy8.js"; import { V as inBrowser, a9 as useUpdateHead, aa as RouterSymbol, ab as initData, ac as dataSymbol, ad as Content, ae as ClientOnly, af as siteDataRef, ag as createSSRApp, ah as createRouter, ai as pathToFile, d as defineComponent, u as useData, k as onMounted, y as watchEffect, aj as usePrefetch, ak as useCopyCode, al as useCodeGroups, am as h } from "./chunks/framework.Cauyuiy8.js";
function resolveThemeExtends(theme) { function resolveThemeExtends(theme) {
if (theme.extends) { if (theme.extends) {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2,8 +2,8 @@ var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
import { Y as __vitePreload, j as ref, x as watch, an as unrefElement, ao as tryOnScopeDispose, d as defineComponent, G as shallowRef, ap as computedAsync, h as computed, aq as useSessionStorage, ar as useLocalStorage, y as watchEffect, as as watchDebounced, k as onMounted, S as nextTick, R as onKeyStroke, a6 as useRouter, at as useEventListener, Z as useScrollLock, V as inBrowser, au as onBeforeUnmount, o as openBlock, b as createBlock, l as createBaseVNode, a2 as withModifiers, m as unref, av as withDirectives, aw as vModelText, ax as isRef, c as createElementBlock, n as normalizeClass, e as createCommentVNode, E as renderList, F as Fragment, a as createTextVNode, t as toDisplayString, ay as Teleport, p as pushScopeId, q as popScopeId, az as markRaw, aA as createApp, ac as dataSymbol, ai as pathToFile, aB as escapeRegExp, _ as _export_sfc } from "./framework.Cauyuiy8.js"; import { Y as __vitePreload, j as ref, x as watch, an as unrefElement, ao as tryOnScopeDispose, d as defineComponent, G as shallowRef, ap as computedAsync, h as computed, aq as useSessionStorage, ar as useLocalStorage, y as watchEffect, as as watchDebounced, k as onMounted, S as nextTick, R as onKeyStroke, a6 as useRouter, at as useEventListener, Z as useScrollLock, V as inBrowser, au as onBeforeUnmount, o as openBlock, b as createBlock, l as createBaseVNode, a2 as withModifiers, m as unref, av as withDirectives, aw as vModelText, ax as isRef, c as createElementBlock, n as normalizeClass, e as createCommentVNode, E as renderList, F as Fragment, a as createTextVNode, t as toDisplayString, ay as Teleport, p as pushScopeId, q as popScopeId, az as markRaw, aA as createApp, ac as dataSymbol, ai as pathToFile, aB as escapeRegExp, _ as _export_sfc } from "./framework.Cauyuiy8.js";
import { u as useData, c as createSearchTranslate } from "./theme.ifR0jxm1.js"; import { u as useData, c as createSearchTranslate } from "./theme.Cmq9zxIH.js";
const localSearchIndex = { "root": () => __vitePreload(() => import("./@localSearchIndexroot.BnaG7nt7.js"), true ? [] : void 0) }; const localSearchIndex = { "root": () => __vitePreload(() => import("./@localSearchIndexroot.C-kLcIAm.js"), true ? [] : void 0) };
/*! /*!
* tabbable 6.2.0 * tabbable 6.2.0
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE

View File

@ -1,4 +1,4 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.Hd59mJiM.js","assets/chunks/framework.Cauyuiy8.js"])))=>i.map(i=>d[i]); const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.ziTlHYe8.js","assets/chunks/framework.Cauyuiy8.js"])))=>i.map(i=>d[i]);
import { d as defineComponent, o as openBlock, c as createElementBlock, r as renderSlot, n as normalizeClass, a as createTextVNode, t as toDisplayString, b as createBlock, w as withCtx, e as createCommentVNode, T as Transition, _ as _export_sfc, u as useData$1, i as isExternal, f as treatAsHtml, g as withBase, h as computed, j as ref, k as onMounted, l as createBaseVNode, m as unref, p as pushScopeId, q as popScopeId, s as isActive, v as useMediaQuery, x as watch, y as watchEffect, z as onUnmounted, A as watchPostEffect, B as onUpdated, C as getScrollOffset, D as resolveComponent, F as Fragment, E as renderList, G as shallowRef, H as onContentUpdated, I as createVNode, J as resolveDynamicComponent, K as EXTERNAL_URL_RE, L as useRoute, M as mergeProps, N as inject, O as useWindowSize, P as normalizeStyle, Q as onClickOutside, R as onKeyStroke, S as nextTick, U as useWindowScroll, V as inBrowser, W as readonly, X as defineAsyncComponent, Y as __vitePreload, Z as useScrollLock, $ as provide, a0 as toHandlers, a1 as withKeys, a2 as withModifiers, a3 as useSlots, a4 as reactive, a5 as toRef, a6 as useRouter, a7 as onBeforeMount } from "./framework.Cauyuiy8.js"; import { d as defineComponent, o as openBlock, c as createElementBlock, r as renderSlot, n as normalizeClass, a as createTextVNode, t as toDisplayString, b as createBlock, w as withCtx, e as createCommentVNode, T as Transition, _ as _export_sfc, u as useData$1, i as isExternal, f as treatAsHtml, g as withBase, h as computed, j as ref, k as onMounted, l as createBaseVNode, m as unref, p as pushScopeId, q as popScopeId, s as isActive, v as useMediaQuery, x as watch, y as watchEffect, z as onUnmounted, A as watchPostEffect, B as onUpdated, C as getScrollOffset, D as resolveComponent, F as Fragment, E as renderList, G as shallowRef, H as onContentUpdated, I as createVNode, J as resolveDynamicComponent, K as EXTERNAL_URL_RE, L as useRoute, M as mergeProps, N as inject, O as useWindowSize, P as normalizeStyle, Q as onClickOutside, R as onKeyStroke, S as nextTick, U as useWindowScroll, V as inBrowser, W as readonly, X as defineAsyncComponent, Y as __vitePreload, Z as useScrollLock, $ as provide, a0 as toHandlers, a1 as withKeys, a2 as withModifiers, a3 as useSlots, a4 as reactive, a5 as toRef, a6 as useRouter, a7 as onBeforeMount } from "./framework.Cauyuiy8.js";
const _sfc_main$Z = /* @__PURE__ */ defineComponent({ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
__name: "VPBadge", __name: "VPBadge",
@ -2223,7 +2223,7 @@ const _hoisted_3$6 = {
const _sfc_main$l = /* @__PURE__ */ defineComponent({ const _sfc_main$l = /* @__PURE__ */ defineComponent({
__name: "VPNavBarSearch", __name: "VPNavBarSearch",
setup(__props) { setup(__props) {
const VPLocalSearchBox = defineAsyncComponent(() => __vitePreload(() => import("./VPLocalSearchBox.Hd59mJiM.js"), true ? __vite__mapDeps([0,1]) : void 0)); const VPLocalSearchBox = defineAsyncComponent(() => __vitePreload(() => import("./VPLocalSearchBox.ziTlHYe8.js"), true ? __vite__mapDeps([0,1]) : void 0));
const VPAlgoliaSearchBox = () => null; const VPAlgoliaSearchBox = () => null;
const { theme: theme2 } = useData(); const { theme: theme2 } = useData();
const loaded = ref(false); const loaded = ref(false);

View File

@ -1,15 +0,0 @@
import { _ as _export_sfc, c as createElementBlock, o as openBlock, a8 as createStaticVNode } from "./chunks/framework.Cauyuiy8.js";
const __pageData = JSON.parse('{"title":"QMK CLI","description":"","frontmatter":{},"headers":[],"relativePath":"cli.md","filePath":"cli.md","lastUpdated":null}');
const _sfc_main = { name: "cli.md" };
const _hoisted_1 = /* @__PURE__ */ createStaticVNode('<h1 id="qmk-cli" tabindex="-1">QMK CLI <a class="header-anchor" href="#qmk-cli" aria-label="Permalink to &quot;QMK CLI {#qmk-cli}&quot;"></a></h1><h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview {#overview}&quot;"></a></h2><p>The QMK CLI (command line interface) makes building and working with QMK keyboards easier. We have provided a number of commands to simplify and streamline tasks such as obtaining and compiling the QMK firmware, creating keymaps, and more.</p><h3 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to &quot;Requirements {#requirements}&quot;"></a></h3><p>QMK requires Python 3.7 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in <a href="https://github.com/qmk/qmk_firmware/blob/master/requirements.txt" target="_blank" rel="noreferrer"><code>requirements.txt</code></a>. These are installed automatically when you install the QMK CLI.</p><h3 id="install-using-homebrew" tabindex="-1">Install Using Homebrew (macOS, some Linux) <a class="header-anchor" href="#install-using-homebrew" aria-label="Permalink to &quot;Install Using Homebrew (macOS, some Linux) {#install-using-homebrew}&quot;"></a></h3><p>If you have installed <a href="https://brew.sh" target="_blank" rel="noreferrer">Homebrew</a> you can tap and install QMK:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span>brew install qmk/qmk/qmk</span></span>\n<span class="line"><span>export QMK_HOME=&#39;~/qmk_firmware&#39; # Optional, set the location for `qmk_firmware`</span></span>\n<span class="line"><span>qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment</span></span></code></pre></div><h3 id="install-using-easy_install-or-pip" tabindex="-1">Install Using pip <a class="header-anchor" href="#install-using-easy_install-or-pip" aria-label="Permalink to &quot;Install Using pip {#install-using-easy_install-or-pip}&quot;"></a></h3><p>If your system is not listed above you can install QMK manually. First ensure that you have Python 3.7 (or later) installed and have installed pip. Then install QMK with this command:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span>python3 -m pip install qmk</span></span>\n<span class="line"><span>export QMK_HOME=&#39;~/qmk_firmware&#39; # Optional, set the location for `qmk_firmware`</span></span>\n<span class="line"><span>qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment</span></span></code></pre></div><h3 id="packaging-for-other-operating-systems" tabindex="-1">Packaging For Other Operating Systems <a class="header-anchor" href="#packaging-for-other-operating-systems" aria-label="Permalink to &quot;Packaging For Other Operating Systems {#packaging-for-other-operating-systems}&quot;"></a></h3><p>We are looking for people to create and maintain a <code>qmk</code> package for more operating systems. If you would like to create a package for your OS please follow these guidelines:</p><ul><li>Follow best practices for your OS when they conflict with these guidelines <ul><li>Document why in a comment when you do deviate</li></ul></li><li>Install using a virtualenv</li><li>Instruct the user to set the environment variable <code>QMK_HOME</code> to have the firmware source checked out somewhere other than <code>~/qmk_firmware</code>.</li></ul>', 14);
const _hoisted_15 = [
_hoisted_1
];
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return openBlock(), createElementBlock("div", null, _hoisted_15);
}
const cli = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export {
__pageData,
cli as default
};

15
assets/cli.md.RQFsgcLF.js Normal file
View File

@ -0,0 +1,15 @@
import { _ as _export_sfc, c as createElementBlock, o as openBlock, a8 as createStaticVNode } from "./chunks/framework.Cauyuiy8.js";
const __pageData = JSON.parse('{"title":"QMK CLI","description":"","frontmatter":{},"headers":[],"relativePath":"cli.md","filePath":"cli.md","lastUpdated":null}');
const _sfc_main = { name: "cli.md" };
const _hoisted_1 = /* @__PURE__ */ createStaticVNode('<h1 id="qmk-cli" tabindex="-1">QMK CLI <a class="header-anchor" href="#qmk-cli" aria-label="Permalink to &quot;QMK CLI {#qmk-cli}&quot;"></a></h1><h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview {#overview}&quot;"></a></h2><p>The QMK CLI (command line interface) makes building and working with QMK keyboards easier. We have provided a number of commands to simplify and streamline tasks such as obtaining and compiling the QMK firmware, creating keymaps, and more.</p><h3 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to &quot;Requirements {#requirements}&quot;"></a></h3><p>QMK requires Python 3.7 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in <a href="https://github.com/qmk/qmk_firmware/blob/master/requirements.txt" target="_blank" rel="noreferrer"><code>requirements.txt</code></a>. These are installed automatically when you install the QMK CLI.</p><h3 id="install-using-homebrew" tabindex="-1">Install Using Homebrew (macOS, some Linux) <a class="header-anchor" href="#install-using-homebrew" aria-label="Permalink to &quot;Install Using Homebrew (macOS, some Linux) {#install-using-homebrew}&quot;"></a></h3><p>If you have installed <a href="https://brew.sh" target="_blank" rel="noreferrer">Homebrew</a> you can tap and install QMK:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span>brew install qmk/qmk/qmk</span></span>\n<span class="line"><span>export QMK_HOME=&#39;~/qmk_firmware&#39; # Optional, set the location for `qmk_firmware`</span></span>\n<span class="line"><span>qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment</span></span></code></pre></div><h3 id="install-using-uv" tabindex="-1">Install Using uv <a class="header-anchor" href="#install-using-uv" aria-label="Permalink to &quot;Install Using uv {#install-using-uv}&quot;"></a></h3><p>If you have installed <a href="https://docs.astral.sh/uv/" target="_blank" rel="noreferrer">uv</a>, the QMK CLI can be installed and managed as a uv tool:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span>uv tool install qmk</span></span>\n<span class="line"><span>export QMK_HOME=&#39;~/qmk_firmware&#39; # Optional, set the location for `qmk_firmware`</span></span>\n<span class="line"><span>qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment</span></span></code></pre></div><p>This installation can be updated via <code>uv tool upgrade qmk</code>. See <a href="https://docs.astral.sh/uv/guides/tools/#upgrading-tools" target="_blank" rel="noreferrer">Upgrading tools</a> for more information.</p><h3 id="install-using-easy_install-or-pip" tabindex="-1">Install Using pip <a class="header-anchor" href="#install-using-easy_install-or-pip" aria-label="Permalink to &quot;Install Using pip {#install-using-easy_install-or-pip}&quot;"></a></h3><p>If your system is not listed above you can install QMK manually. First ensure that you have Python 3.7 (or later) installed and have installed pip. Then install QMK with this command:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span>python3 -m pip install qmk</span></span>\n<span class="line"><span>export QMK_HOME=&#39;~/qmk_firmware&#39; # Optional, set the location for `qmk_firmware`</span></span>\n<span class="line"><span>qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment</span></span></code></pre></div><h3 id="packaging-for-other-operating-systems" tabindex="-1">Packaging For Other Operating Systems <a class="header-anchor" href="#packaging-for-other-operating-systems" aria-label="Permalink to &quot;Packaging For Other Operating Systems {#packaging-for-other-operating-systems}&quot;"></a></h3><p>We are looking for people to create and maintain a <code>qmk</code> package for more operating systems. If you would like to create a package for your OS please follow these guidelines:</p><ul><li>Follow best practices for your OS when they conflict with these guidelines <ul><li>Document why in a comment when you do deviate</li></ul></li><li>Install using a virtualenv</li><li>Instruct the user to set the environment variable <code>QMK_HOME</code> to have the firmware source checked out somewhere other than <code>~/qmk_firmware</code>.</li></ul>', 18);
const _hoisted_19 = [
_hoisted_1
];
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return openBlock(), createElementBlock("div", null, _hoisted_19);
}
const cli = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export {
__pageData,
cli as default
};

View File

@ -1,12 +1,12 @@
import { _ as _export_sfc, c as createElementBlock, o as openBlock, a8 as createStaticVNode } from "./chunks/framework.Cauyuiy8.js"; import { _ as _export_sfc, c as createElementBlock, o as openBlock, a8 as createStaticVNode } from "./chunks/framework.Cauyuiy8.js";
const __pageData = JSON.parse('{"title":"QMK CLI","description":"","frontmatter":{},"headers":[],"relativePath":"cli.md","filePath":"cli.md","lastUpdated":null}'); const __pageData = JSON.parse('{"title":"QMK CLI","description":"","frontmatter":{},"headers":[],"relativePath":"cli.md","filePath":"cli.md","lastUpdated":null}');
const _sfc_main = { name: "cli.md" }; const _sfc_main = { name: "cli.md" };
const _hoisted_1 = /* @__PURE__ */ createStaticVNode("", 14); const _hoisted_1 = /* @__PURE__ */ createStaticVNode("", 18);
const _hoisted_15 = [ const _hoisted_19 = [
_hoisted_1 _hoisted_1
]; ];
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return openBlock(), createElementBlock("div", null, _hoisted_15); return openBlock(), createElementBlock("div", null, _hoisted_19);
} }
const cli = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); const cli = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export { export {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -251,7 +251,33 @@ const _hoisted_26 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_27 = /* @__PURE__ */ createBaseVNode("h4", { const _hoisted_27 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("Alternatively, install the QMK CLI as a "),
/* @__PURE__ */ createBaseVNode("a", {
href: "https://docs.astral.sh/uv/",
target: "_blank",
rel: "noreferrer"
}, "uv"),
/* @__PURE__ */ createTextVNode(" managed tool, kept isolated in a virtual environment (requires uv to be installed):")
], -1);
const _hoisted_28 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code",
class: "copy"
}),
/* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "sh"),
/* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [
/* @__PURE__ */ createBaseVNode("code", null, [
/* @__PURE__ */ createBaseVNode("span", { class: "line" }, [
/* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, "uv"),
/* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#032F62", "--shiki-dark": "#9ECBFF" } }, " tool"),
/* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#032F62", "--shiki-dark": "#9ECBFF" } }, " install"),
/* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#032F62", "--shiki-dark": "#9ECBFF" } }, " qmk")
])
])
])
], -1);
const _hoisted_29 = /* @__PURE__ */ createBaseVNode("h4", {
id: "community-packages", id: "community-packages",
tabindex: "-1" tabindex: "-1"
}, [ }, [
@ -262,9 +288,9 @@ const _hoisted_27 = /* @__PURE__ */ createBaseVNode("h4", {
"aria-label": 'Permalink to "Community Packages"' "aria-label": 'Permalink to "Community Packages"'
}, "") }, "")
], -1); ], -1);
const _hoisted_28 = /* @__PURE__ */ createBaseVNode("p", null, "These packages are maintained by community members, so may not be up to date or completely functional. If you encounter problems, please report them to their respective maintainers.", -1); const _hoisted_30 = /* @__PURE__ */ createBaseVNode("p", null, "These packages are maintained by community members, so may not be up to date or completely functional. If you encounter problems, please report them to their respective maintainers.", -1);
const _hoisted_29 = /* @__PURE__ */ createBaseVNode("p", null, "On Arch-based distros you can install the CLI from the official repositories (NOTE: at the time of writing this package marks some dependencies as optional that should not be):", -1); const _hoisted_31 = /* @__PURE__ */ createBaseVNode("p", null, "On Arch-based distros you can install the CLI from the official repositories (NOTE: at the time of writing this package marks some dependencies as optional that should not be):", -1);
const _hoisted_30 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_32 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -281,12 +307,12 @@ const _hoisted_30 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_31 = /* @__PURE__ */ createBaseVNode("p", null, [ const _hoisted_33 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("You can also try the "), /* @__PURE__ */ createTextVNode("You can also try the "),
/* @__PURE__ */ createBaseVNode("code", null, "qmk-git"), /* @__PURE__ */ createBaseVNode("code", null, "qmk-git"),
/* @__PURE__ */ createTextVNode(" package from AUR:") /* @__PURE__ */ createTextVNode(" package from AUR:")
], -1); ], -1);
const _hoisted_32 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_34 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -302,7 +328,7 @@ const _hoisted_32 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_33 = /* @__PURE__ */ createBaseVNode("h4", { const _hoisted_35 = /* @__PURE__ */ createBaseVNode("h4", {
id: "installation-3", id: "installation-3",
tabindex: "-1" tabindex: "-1"
}, [ }, [
@ -313,8 +339,8 @@ const _hoisted_33 = /* @__PURE__ */ createBaseVNode("h4", {
"aria-label": 'Permalink to "Installation"' "aria-label": 'Permalink to "Installation"'
}, "") }, "")
], -1); ], -1);
const _hoisted_34 = /* @__PURE__ */ createBaseVNode("p", null, "Install the FreeBSD package for QMK CLI by running:", -1); const _hoisted_36 = /* @__PURE__ */ createBaseVNode("p", null, "Install the FreeBSD package for QMK CLI by running:", -1);
const _hoisted_35 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_37 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -331,12 +357,12 @@ const _hoisted_35 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_36 = /* @__PURE__ */ createBaseVNode("p", null, [ const _hoisted_38 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("NOTE: remember to follow the instructions printed at the end of installation (use "), /* @__PURE__ */ createTextVNode("NOTE: remember to follow the instructions printed at the end of installation (use "),
/* @__PURE__ */ createBaseVNode("code", null, 'pkg info -Dg "py*-qmk"'), /* @__PURE__ */ createBaseVNode("code", null, 'pkg info -Dg "py*-qmk"'),
/* @__PURE__ */ createTextVNode(" to show them again).") /* @__PURE__ */ createTextVNode(" to show them again).")
], -1); ], -1);
const _hoisted_37 = /* @__PURE__ */ createBaseVNode("h2", { const _hoisted_39 = /* @__PURE__ */ createBaseVNode("h2", {
id: "set-up-qmk", id: "set-up-qmk",
tabindex: "-1" tabindex: "-1"
}, [ }, [
@ -347,8 +373,8 @@ const _hoisted_37 = /* @__PURE__ */ createBaseVNode("h2", {
"aria-label": 'Permalink to "3. Run QMK Setup {#set-up-qmk}"' "aria-label": 'Permalink to "3. Run QMK Setup {#set-up-qmk}"'
}, "") }, "")
], -1); ], -1);
const _hoisted_38 = /* @__PURE__ */ createBaseVNode("p", null, "Open QMK MSYS and run the following command:", -1); const _hoisted_40 = /* @__PURE__ */ createBaseVNode("p", null, "Open QMK MSYS and run the following command:", -1);
const _hoisted_39 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_41 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -363,13 +389,13 @@ const _hoisted_39 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_40 = /* @__PURE__ */ createBaseVNode("p", null, [ const _hoisted_42 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("In most situations you will want to answer "), /* @__PURE__ */ createTextVNode("In most situations you will want to answer "),
/* @__PURE__ */ createBaseVNode("code", null, "y"), /* @__PURE__ */ createBaseVNode("code", null, "y"),
/* @__PURE__ */ createTextVNode(" to all of the prompts.") /* @__PURE__ */ createTextVNode(" to all of the prompts.")
], -1); ], -1);
const _hoisted_41 = /* @__PURE__ */ createBaseVNode("p", null, "Open Terminal and run the following command:", -1); const _hoisted_43 = /* @__PURE__ */ createBaseVNode("p", null, "Open Terminal and run the following command:", -1);
const _hoisted_42 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_44 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -384,13 +410,13 @@ const _hoisted_42 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_43 = /* @__PURE__ */ createBaseVNode("p", null, [ const _hoisted_45 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("In most situations you will want to answer "), /* @__PURE__ */ createTextVNode("In most situations you will want to answer "),
/* @__PURE__ */ createBaseVNode("code", null, "y"), /* @__PURE__ */ createBaseVNode("code", null, "y"),
/* @__PURE__ */ createTextVNode(" to all of the prompts.") /* @__PURE__ */ createTextVNode(" to all of the prompts.")
], -1); ], -1);
const _hoisted_44 = /* @__PURE__ */ createBaseVNode("p", null, "Open your preferred terminal app and run the following command:", -1); const _hoisted_46 = /* @__PURE__ */ createBaseVNode("p", null, "Open your preferred terminal app and run the following command:", -1);
const _hoisted_45 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_47 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -405,12 +431,12 @@ const _hoisted_45 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_46 = /* @__PURE__ */ createBaseVNode("p", null, [ const _hoisted_48 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("In most situations you will want to answer "), /* @__PURE__ */ createTextVNode("In most situations you will want to answer "),
/* @__PURE__ */ createBaseVNode("code", null, "y"), /* @__PURE__ */ createBaseVNode("code", null, "y"),
/* @__PURE__ */ createTextVNode(" to all of the prompts.") /* @__PURE__ */ createTextVNode(" to all of the prompts.")
], -1); ], -1);
const _hoisted_47 = /* @__PURE__ */ createBaseVNode("div", { class: "info custom-block" }, [ const _hoisted_49 = /* @__PURE__ */ createBaseVNode("div", { class: "info custom-block" }, [
/* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "Note on Debian, Ubuntu and their derivatives:"), /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "Note on Debian, Ubuntu and their derivatives:"),
/* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("It's possible, that you will get an error saying something like: "), /* @__PURE__ */ createTextVNode("It's possible, that you will get an error saying something like: "),
@ -433,8 +459,8 @@ const _hoisted_47 = /* @__PURE__ */ createBaseVNode("div", { class: "info custom
/* @__PURE__ */ createBaseVNode("code", null, `echo 'PATH="$HOME/.local/bin:$PATH"' >> $HOME/.bashrc && source $HOME/.bashrc`) /* @__PURE__ */ createBaseVNode("code", null, `echo 'PATH="$HOME/.local/bin:$PATH"' >> $HOME/.bashrc && source $HOME/.bashrc`)
]) ])
], -1); ], -1);
const _hoisted_48 = /* @__PURE__ */ createBaseVNode("p", null, "Open your preferred terminal app and run the following command:", -1); const _hoisted_50 = /* @__PURE__ */ createBaseVNode("p", null, "Open your preferred terminal app and run the following command:", -1);
const _hoisted_49 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_51 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -449,12 +475,12 @@ const _hoisted_49 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_50 = /* @__PURE__ */ createBaseVNode("p", null, [ const _hoisted_52 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("In most situations you will want to answer "), /* @__PURE__ */ createTextVNode("In most situations you will want to answer "),
/* @__PURE__ */ createBaseVNode("code", null, "y"), /* @__PURE__ */ createBaseVNode("code", null, "y"),
/* @__PURE__ */ createTextVNode(" to all of the prompts.") /* @__PURE__ */ createTextVNode(" to all of the prompts.")
], -1); ], -1);
const _hoisted_51 = /* @__PURE__ */ createStaticVNode('<div class="tip custom-block"><p class="custom-block-title">TIP</p><p>The qmk home folder can be specified at setup with <code>qmk setup -H &lt;path&gt;</code>, and modified afterwards using the <a href="./cli_configuration#single-key-example">cli configuration</a> and the variable <code>user.qmk_home</code>. For all available options run <code>qmk setup --help</code>.</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>If you already know how to use GitHub, <a href="./getting_started_github">we recommend that you follow these instructions</a> and use <code>qmk setup &lt;github_username&gt;/qmk_firmware</code> to clone your personal fork. If you don&#39;t know what that means you can safely ignore this message.</p></div><h2 id="_4-test-your-build-environment" tabindex="-1">4. Test Your Build Environment <a class="header-anchor" href="#_4-test-your-build-environment" aria-label="Permalink to &quot;4. Test Your Build Environment&quot;"></a></h2><p>Now that your QMK build environment is set up, you can build a firmware for your keyboard. Start by trying to build the keyboard&#39;s default keymap. You should be able to do that with a command in this format:</p><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">qmk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compile</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -kb</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> &lt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">keyboar</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">d</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&gt;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -km</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> default</span></span></code></pre></div><p>For example, to build a firmware for a Clueboard 66% you would use:</p><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">qmk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compile</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -kb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> clueboard/66/rev3</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -km</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> default</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>The keyboard option is the path relative to the keyboard directory, the above example would be found in <code>qmk_firmware/keyboards/clueboard/66/rev3</code>. If you&#39;re unsure you can view a full list of supported keyboards with <code>qmk list-keyboards</code>.</p></div><p>When it is done you should have a lot of output that ends similar to this:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span>Linking: .build/clueboard_66_rev3_default.elf [OK]</span></span>\n<span class="line"><span>Creating load file for flashing: .build/clueboard_66_rev3_default.hex [OK]</span></span>\n<span class="line"><span>Copying clueboard_66_rev3_default.hex to qmk_firmware folder [OK]</span></span>\n<span class="line"><span>Checking file size of clueboard_66_rev3_default.hex [OK]</span></span>\n<span class="line"><span> * The firmware size is fine - 26356/28672 (2316 bytes free)</span></span></code></pre></div><h1 id="creating-your-keymap" tabindex="-1">Creating Your Keymap <a class="header-anchor" href="#creating-your-keymap" aria-label="Permalink to &quot;Creating Your Keymap&quot;"></a></h1><p>You are now ready to create your own personal keymap! Move on to <a href="./newbs_building_firmware">Building Your First Firmware</a> for that.</p>', 12); const _hoisted_53 = /* @__PURE__ */ createStaticVNode('<div class="tip custom-block"><p class="custom-block-title">TIP</p><p>The qmk home folder can be specified at setup with <code>qmk setup -H &lt;path&gt;</code>, and modified afterwards using the <a href="./cli_configuration#single-key-example">cli configuration</a> and the variable <code>user.qmk_home</code>. For all available options run <code>qmk setup --help</code>.</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>If you already know how to use GitHub, <a href="./getting_started_github">we recommend that you follow these instructions</a> and use <code>qmk setup &lt;github_username&gt;/qmk_firmware</code> to clone your personal fork. If you don&#39;t know what that means you can safely ignore this message.</p></div><h2 id="_4-test-your-build-environment" tabindex="-1">4. Test Your Build Environment <a class="header-anchor" href="#_4-test-your-build-environment" aria-label="Permalink to &quot;4. Test Your Build Environment&quot;"></a></h2><p>Now that your QMK build environment is set up, you can build a firmware for your keyboard. Start by trying to build the keyboard&#39;s default keymap. You should be able to do that with a command in this format:</p><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">qmk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compile</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -kb</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> &lt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">keyboar</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">d</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&gt;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -km</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> default</span></span></code></pre></div><p>For example, to build a firmware for a Clueboard 66% you would use:</p><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">qmk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compile</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -kb</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> clueboard/66/rev3</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -km</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> default</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>The keyboard option is the path relative to the keyboard directory, the above example would be found in <code>qmk_firmware/keyboards/clueboard/66/rev3</code>. If you&#39;re unsure you can view a full list of supported keyboards with <code>qmk list-keyboards</code>.</p></div><p>When it is done you should have a lot of output that ends similar to this:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span>Linking: .build/clueboard_66_rev3_default.elf [OK]</span></span>\n<span class="line"><span>Creating load file for flashing: .build/clueboard_66_rev3_default.hex [OK]</span></span>\n<span class="line"><span>Copying clueboard_66_rev3_default.hex to qmk_firmware folder [OK]</span></span>\n<span class="line"><span>Checking file size of clueboard_66_rev3_default.hex [OK]</span></span>\n<span class="line"><span> * The firmware size is fine - 26356/28672 (2316 bytes free)</span></span></code></pre></div><h1 id="creating-your-keymap" tabindex="-1">Creating Your Keymap <a class="header-anchor" href="#creating-your-keymap" aria-label="Permalink to &quot;Creating Your Keymap&quot;"></a></h1><p>You are now ready to create your own personal keymap! Move on to <a href="./newbs_building_firmware">Building Your First Firmware</a> for that.</p>', 12);
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
const _component_PluginTabsTab = resolveComponent("PluginTabsTab"); const _component_PluginTabsTab = resolveComponent("PluginTabsTab");
const _component_PluginTabs = resolveComponent("PluginTabs"); const _component_PluginTabs = resolveComponent("PluginTabs");
@ -497,62 +523,64 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
_hoisted_29, _hoisted_29,
_hoisted_30, _hoisted_30,
_hoisted_31, _hoisted_31,
_hoisted_32 _hoisted_32,
_hoisted_33,
_hoisted_34
]), ]),
_: 1 _: 1
}), }),
createVNode(_component_PluginTabsTab, { label: "FreeBSD" }, { createVNode(_component_PluginTabsTab, { label: "FreeBSD" }, {
default: withCtx(() => [ default: withCtx(() => [
_hoisted_33,
_hoisted_34,
_hoisted_35, _hoisted_35,
_hoisted_36 _hoisted_36,
_hoisted_37,
_hoisted_38
]), ]),
_: 1 _: 1
}) })
]), ]),
_: 1 _: 1
}), }),
_hoisted_37, _hoisted_39,
createVNode(_component_PluginTabs, null, { createVNode(_component_PluginTabs, null, {
default: withCtx(() => [ default: withCtx(() => [
createVNode(_component_PluginTabsTab, { label: "Windows" }, { createVNode(_component_PluginTabsTab, { label: "Windows" }, {
default: withCtx(() => [ default: withCtx(() => [
_hoisted_38, _hoisted_40,
_hoisted_39, _hoisted_41,
_hoisted_40 _hoisted_42
]), ]),
_: 1 _: 1
}), }),
createVNode(_component_PluginTabsTab, { label: "macOS" }, { createVNode(_component_PluginTabsTab, { label: "macOS" }, {
default: withCtx(() => [ default: withCtx(() => [
_hoisted_41, _hoisted_43,
_hoisted_42, _hoisted_44,
_hoisted_43 _hoisted_45
]), ]),
_: 1 _: 1
}), }),
createVNode(_component_PluginTabsTab, { label: "Linux/WSL" }, { createVNode(_component_PluginTabsTab, { label: "Linux/WSL" }, {
default: withCtx(() => [ default: withCtx(() => [
_hoisted_44,
_hoisted_45,
_hoisted_46, _hoisted_46,
_hoisted_47 _hoisted_47,
_hoisted_48,
_hoisted_49
]), ]),
_: 1 _: 1
}), }),
createVNode(_component_PluginTabsTab, { label: "FreeBSD" }, { createVNode(_component_PluginTabsTab, { label: "FreeBSD" }, {
default: withCtx(() => [ default: withCtx(() => [
_hoisted_48, _hoisted_50,
_hoisted_49, _hoisted_51,
_hoisted_50 _hoisted_52
]), ]),
_: 1 _: 1
}) })
]), ]),
_: 1 _: 1
}), }),
_hoisted_51 _hoisted_53
]); ]);
} }
const newbs_getting_started = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); const newbs_getting_started = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);

View File

@ -251,7 +251,33 @@ const _hoisted_26 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_27 = /* @__PURE__ */ createBaseVNode("h4", { const _hoisted_27 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("Alternatively, install the QMK CLI as a "),
/* @__PURE__ */ createBaseVNode("a", {
href: "https://docs.astral.sh/uv/",
target: "_blank",
rel: "noreferrer"
}, "uv"),
/* @__PURE__ */ createTextVNode(" managed tool, kept isolated in a virtual environment (requires uv to be installed):")
], -1);
const _hoisted_28 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code",
class: "copy"
}),
/* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "sh"),
/* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [
/* @__PURE__ */ createBaseVNode("code", null, [
/* @__PURE__ */ createBaseVNode("span", { class: "line" }, [
/* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, "uv"),
/* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#032F62", "--shiki-dark": "#9ECBFF" } }, " tool"),
/* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#032F62", "--shiki-dark": "#9ECBFF" } }, " install"),
/* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#032F62", "--shiki-dark": "#9ECBFF" } }, " qmk")
])
])
])
], -1);
const _hoisted_29 = /* @__PURE__ */ createBaseVNode("h4", {
id: "community-packages", id: "community-packages",
tabindex: "-1" tabindex: "-1"
}, [ }, [
@ -262,9 +288,9 @@ const _hoisted_27 = /* @__PURE__ */ createBaseVNode("h4", {
"aria-label": 'Permalink to "Community Packages"' "aria-label": 'Permalink to "Community Packages"'
}, "") }, "")
], -1); ], -1);
const _hoisted_28 = /* @__PURE__ */ createBaseVNode("p", null, "These packages are maintained by community members, so may not be up to date or completely functional. If you encounter problems, please report them to their respective maintainers.", -1); const _hoisted_30 = /* @__PURE__ */ createBaseVNode("p", null, "These packages are maintained by community members, so may not be up to date or completely functional. If you encounter problems, please report them to their respective maintainers.", -1);
const _hoisted_29 = /* @__PURE__ */ createBaseVNode("p", null, "On Arch-based distros you can install the CLI from the official repositories (NOTE: at the time of writing this package marks some dependencies as optional that should not be):", -1); const _hoisted_31 = /* @__PURE__ */ createBaseVNode("p", null, "On Arch-based distros you can install the CLI from the official repositories (NOTE: at the time of writing this package marks some dependencies as optional that should not be):", -1);
const _hoisted_30 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_32 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -281,12 +307,12 @@ const _hoisted_30 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_31 = /* @__PURE__ */ createBaseVNode("p", null, [ const _hoisted_33 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("You can also try the "), /* @__PURE__ */ createTextVNode("You can also try the "),
/* @__PURE__ */ createBaseVNode("code", null, "qmk-git"), /* @__PURE__ */ createBaseVNode("code", null, "qmk-git"),
/* @__PURE__ */ createTextVNode(" package from AUR:") /* @__PURE__ */ createTextVNode(" package from AUR:")
], -1); ], -1);
const _hoisted_32 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_34 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -302,7 +328,7 @@ const _hoisted_32 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_33 = /* @__PURE__ */ createBaseVNode("h4", { const _hoisted_35 = /* @__PURE__ */ createBaseVNode("h4", {
id: "installation-3", id: "installation-3",
tabindex: "-1" tabindex: "-1"
}, [ }, [
@ -313,8 +339,8 @@ const _hoisted_33 = /* @__PURE__ */ createBaseVNode("h4", {
"aria-label": 'Permalink to "Installation"' "aria-label": 'Permalink to "Installation"'
}, "") }, "")
], -1); ], -1);
const _hoisted_34 = /* @__PURE__ */ createBaseVNode("p", null, "Install the FreeBSD package for QMK CLI by running:", -1); const _hoisted_36 = /* @__PURE__ */ createBaseVNode("p", null, "Install the FreeBSD package for QMK CLI by running:", -1);
const _hoisted_35 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_37 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -331,12 +357,12 @@ const _hoisted_35 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_36 = /* @__PURE__ */ createBaseVNode("p", null, [ const _hoisted_38 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("NOTE: remember to follow the instructions printed at the end of installation (use "), /* @__PURE__ */ createTextVNode("NOTE: remember to follow the instructions printed at the end of installation (use "),
/* @__PURE__ */ createBaseVNode("code", null, 'pkg info -Dg "py*-qmk"'), /* @__PURE__ */ createBaseVNode("code", null, 'pkg info -Dg "py*-qmk"'),
/* @__PURE__ */ createTextVNode(" to show them again).") /* @__PURE__ */ createTextVNode(" to show them again).")
], -1); ], -1);
const _hoisted_37 = /* @__PURE__ */ createBaseVNode("h2", { const _hoisted_39 = /* @__PURE__ */ createBaseVNode("h2", {
id: "set-up-qmk", id: "set-up-qmk",
tabindex: "-1" tabindex: "-1"
}, [ }, [
@ -347,8 +373,8 @@ const _hoisted_37 = /* @__PURE__ */ createBaseVNode("h2", {
"aria-label": 'Permalink to "3. Run QMK Setup {#set-up-qmk}"' "aria-label": 'Permalink to "3. Run QMK Setup {#set-up-qmk}"'
}, "") }, "")
], -1); ], -1);
const _hoisted_38 = /* @__PURE__ */ createBaseVNode("p", null, "Open QMK MSYS and run the following command:", -1); const _hoisted_40 = /* @__PURE__ */ createBaseVNode("p", null, "Open QMK MSYS and run the following command:", -1);
const _hoisted_39 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_41 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -363,13 +389,13 @@ const _hoisted_39 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_40 = /* @__PURE__ */ createBaseVNode("p", null, [ const _hoisted_42 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("In most situations you will want to answer "), /* @__PURE__ */ createTextVNode("In most situations you will want to answer "),
/* @__PURE__ */ createBaseVNode("code", null, "y"), /* @__PURE__ */ createBaseVNode("code", null, "y"),
/* @__PURE__ */ createTextVNode(" to all of the prompts.") /* @__PURE__ */ createTextVNode(" to all of the prompts.")
], -1); ], -1);
const _hoisted_41 = /* @__PURE__ */ createBaseVNode("p", null, "Open Terminal and run the following command:", -1); const _hoisted_43 = /* @__PURE__ */ createBaseVNode("p", null, "Open Terminal and run the following command:", -1);
const _hoisted_42 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_44 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -384,13 +410,13 @@ const _hoisted_42 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_43 = /* @__PURE__ */ createBaseVNode("p", null, [ const _hoisted_45 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("In most situations you will want to answer "), /* @__PURE__ */ createTextVNode("In most situations you will want to answer "),
/* @__PURE__ */ createBaseVNode("code", null, "y"), /* @__PURE__ */ createBaseVNode("code", null, "y"),
/* @__PURE__ */ createTextVNode(" to all of the prompts.") /* @__PURE__ */ createTextVNode(" to all of the prompts.")
], -1); ], -1);
const _hoisted_44 = /* @__PURE__ */ createBaseVNode("p", null, "Open your preferred terminal app and run the following command:", -1); const _hoisted_46 = /* @__PURE__ */ createBaseVNode("p", null, "Open your preferred terminal app and run the following command:", -1);
const _hoisted_45 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_47 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -405,12 +431,12 @@ const _hoisted_45 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_46 = /* @__PURE__ */ createBaseVNode("p", null, [ const _hoisted_48 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("In most situations you will want to answer "), /* @__PURE__ */ createTextVNode("In most situations you will want to answer "),
/* @__PURE__ */ createBaseVNode("code", null, "y"), /* @__PURE__ */ createBaseVNode("code", null, "y"),
/* @__PURE__ */ createTextVNode(" to all of the prompts.") /* @__PURE__ */ createTextVNode(" to all of the prompts.")
], -1); ], -1);
const _hoisted_47 = /* @__PURE__ */ createBaseVNode("div", { class: "info custom-block" }, [ const _hoisted_49 = /* @__PURE__ */ createBaseVNode("div", { class: "info custom-block" }, [
/* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "Note on Debian, Ubuntu and their derivatives:"), /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "Note on Debian, Ubuntu and their derivatives:"),
/* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("It's possible, that you will get an error saying something like: "), /* @__PURE__ */ createTextVNode("It's possible, that you will get an error saying something like: "),
@ -433,8 +459,8 @@ const _hoisted_47 = /* @__PURE__ */ createBaseVNode("div", { class: "info custom
/* @__PURE__ */ createBaseVNode("code", null, `echo 'PATH="$HOME/.local/bin:$PATH"' >> $HOME/.bashrc && source $HOME/.bashrc`) /* @__PURE__ */ createBaseVNode("code", null, `echo 'PATH="$HOME/.local/bin:$PATH"' >> $HOME/.bashrc && source $HOME/.bashrc`)
]) ])
], -1); ], -1);
const _hoisted_48 = /* @__PURE__ */ createBaseVNode("p", null, "Open your preferred terminal app and run the following command:", -1); const _hoisted_50 = /* @__PURE__ */ createBaseVNode("p", null, "Open your preferred terminal app and run the following command:", -1);
const _hoisted_49 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [ const _hoisted_51 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh vp-adaptive-theme" }, [
/* @__PURE__ */ createBaseVNode("button", { /* @__PURE__ */ createBaseVNode("button", {
title: "Copy Code", title: "Copy Code",
class: "copy" class: "copy"
@ -449,12 +475,12 @@ const _hoisted_49 = /* @__PURE__ */ createBaseVNode("div", { class: "language-sh
]) ])
]) ])
], -1); ], -1);
const _hoisted_50 = /* @__PURE__ */ createBaseVNode("p", null, [ const _hoisted_52 = /* @__PURE__ */ createBaseVNode("p", null, [
/* @__PURE__ */ createTextVNode("In most situations you will want to answer "), /* @__PURE__ */ createTextVNode("In most situations you will want to answer "),
/* @__PURE__ */ createBaseVNode("code", null, "y"), /* @__PURE__ */ createBaseVNode("code", null, "y"),
/* @__PURE__ */ createTextVNode(" to all of the prompts.") /* @__PURE__ */ createTextVNode(" to all of the prompts.")
], -1); ], -1);
const _hoisted_51 = /* @__PURE__ */ createStaticVNode("", 12); const _hoisted_53 = /* @__PURE__ */ createStaticVNode("", 12);
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
const _component_PluginTabsTab = resolveComponent("PluginTabsTab"); const _component_PluginTabsTab = resolveComponent("PluginTabsTab");
const _component_PluginTabs = resolveComponent("PluginTabs"); const _component_PluginTabs = resolveComponent("PluginTabs");
@ -497,62 +523,64 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
_hoisted_29, _hoisted_29,
_hoisted_30, _hoisted_30,
_hoisted_31, _hoisted_31,
_hoisted_32 _hoisted_32,
_hoisted_33,
_hoisted_34
]), ]),
_: 1 _: 1
}), }),
createVNode(_component_PluginTabsTab, { label: "FreeBSD" }, { createVNode(_component_PluginTabsTab, { label: "FreeBSD" }, {
default: withCtx(() => [ default: withCtx(() => [
_hoisted_33,
_hoisted_34,
_hoisted_35, _hoisted_35,
_hoisted_36 _hoisted_36,
_hoisted_37,
_hoisted_38
]), ]),
_: 1 _: 1
}) })
]), ]),
_: 1 _: 1
}), }),
_hoisted_37, _hoisted_39,
createVNode(_component_PluginTabs, null, { createVNode(_component_PluginTabs, null, {
default: withCtx(() => [ default: withCtx(() => [
createVNode(_component_PluginTabsTab, { label: "Windows" }, { createVNode(_component_PluginTabsTab, { label: "Windows" }, {
default: withCtx(() => [ default: withCtx(() => [
_hoisted_38, _hoisted_40,
_hoisted_39, _hoisted_41,
_hoisted_40 _hoisted_42
]), ]),
_: 1 _: 1
}), }),
createVNode(_component_PluginTabsTab, { label: "macOS" }, { createVNode(_component_PluginTabsTab, { label: "macOS" }, {
default: withCtx(() => [ default: withCtx(() => [
_hoisted_41, _hoisted_43,
_hoisted_42, _hoisted_44,
_hoisted_43 _hoisted_45
]), ]),
_: 1 _: 1
}), }),
createVNode(_component_PluginTabsTab, { label: "Linux/WSL" }, { createVNode(_component_PluginTabsTab, { label: "Linux/WSL" }, {
default: withCtx(() => [ default: withCtx(() => [
_hoisted_44,
_hoisted_45,
_hoisted_46, _hoisted_46,
_hoisted_47 _hoisted_47,
_hoisted_48,
_hoisted_49
]), ]),
_: 1 _: 1
}), }),
createVNode(_component_PluginTabsTab, { label: "FreeBSD" }, { createVNode(_component_PluginTabsTab, { label: "FreeBSD" }, {
default: withCtx(() => [ default: withCtx(() => [
_hoisted_48, _hoisted_50,
_hoisted_49, _hoisted_51,
_hoisted_50 _hoisted_52
]), ]),
_: 1 _: 1
}) })
]), ]),
_: 1 _: 1
}), }),
_hoisted_51 _hoisted_53
]); ]);
} }
const newbs_getting_started = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); const newbs_getting_started = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More