meshtastic/docusaurus.config.js

196 lines
5.3 KiB
JavaScript
Raw Normal View History

2021-12-21 03:44:01 -08:00
// @ts-check
2021-12-22 22:22:01 -08:00
require("dotenv").config();
2021-12-21 03:44:01 -08:00
/** @type {import('@docusaurus/types').Config} */
const config = {
title: "Meshtastic",
tagline: "Open Source hiking, pilot, skiing and secure GPS mesh communicator",
url: "https://meshtastic.org",
baseUrl: "/",
onBrokenLinks: "throw",
onBrokenMarkdownLinks: "warn",
2021-12-22 06:53:13 -08:00
favicon: "design/web/favicon.ico",
2021-12-21 03:44:01 -08:00
organizationName: "meshtastic",
projectName: "meshtastic",
2022-03-17 03:06:28 -07:00
ssrTemplate: `<!DOCTYPE html>
<html <%~ it.htmlAttributes %>>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Docusaurus v<%= it.version %>">
<% if (it.noIndex) { %>
<meta name="robots" content="noindex, nofollow" />
<% } %>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"url": "https://meshtastic.org",
"logo": "https://meshtastic.org/design/logo/logo.svg"
}
</script>
<%~ it.headTags %>
<% it.metaAttributes.forEach((metaAttribute) => { %>
<%~ metaAttribute %>
<% }); %>
<% it.stylesheets.forEach((stylesheet) => { %>
<link rel="stylesheet" href="<%= it.baseUrl %><%= stylesheet %>" />
<% }); %>
<% it.scripts.forEach((script) => { %>
<link rel="preload" href="<%= it.baseUrl %><%= script %>" as="script">
<% }); %>
</head>
<body <%~ it.bodyAttributes %>>
<%~ it.preBodyTags %>
<div id="__docusaurus">
<%~ it.appHtml %>
</div>
<% it.scripts.forEach((script) => { %>
<script src="<%= it.baseUrl %><%= script %>"></script>
<% }); %>
<%~ it.postBodyTags %>
</body>
</html>`,
2021-12-21 03:44:01 -08:00
themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ {
colorMode: {
respectPrefersColorScheme: true,
},
navbar: {
title: "Meshtastic",
hideOnScroll: true,
logo: {
alt: "Meshtastic Logo",
2021-12-22 06:53:13 -08:00
src: "design/logo/svg/Mesh_Logo_Black.svg",
srcDark: "design/logo/svg/Mesh_Logo_White.svg",
2021-12-21 03:44:01 -08:00
},
2022-01-10 17:57:10 -08:00
2021-12-21 03:44:01 -08:00
items: [
/*
2022-01-08 17:03:14 -08:00
{
label: "Start Here",
to: "docs/academy",
activeBasePath: "docs/academy",
},
2022-02-11 22:38:30 -08:00
*/
{
label: "About Meshtastic",
to: "docs/about",
activeBasePath: "docs/about",
},
/*
2022-02-11 22:38:55 -08:00
{
label: "Showcase",
to: "showcase",
activeBasePath: "showcase",
},
2022-02-23 08:35:41 -08:00
*/
2022-01-19 11:32:54 -08:00
{
label: "Documentation",
items: [
{
label: "Getting Started",
to: "docs/getting-started",
},
2022-02-23 10:10:14 -08:00
// FIXME create configuration & settings landing page and adjust path below
2022-01-19 11:32:54 -08:00
{
2022-02-23 10:10:14 -08:00
label: "Configuration & Settings",
2022-01-19 11:32:54 -08:00
to: "docs/settings",
},
{
label: "Hardware Details",
to: "docs/hardware",
},
/*
2022-02-23 10:10:22 -08:00
{
label: "Mesh Radio Details",
to: "docs/mesh"
},
*/
2022-02-23 08:35:28 -08:00
{
label: "Meshtastic Software",
to: "docs/software",
},
],
},
{
label: "Contribute",
items: [
2022-01-19 11:32:54 -08:00
{
2022-02-23 10:10:14 -08:00
label: "Developers",
2022-01-19 11:32:54 -08:00
to: "docs/developers",
},
{
label: "Maintaining Documentation",
to: "docs/developers/maintaining-documentation/overview",
2022-01-19 11:32:54 -08:00
},
{
label: "Legal",
to: "docs/legal",
},
],
},
2021-12-21 03:44:01 -08:00
{
label: "Downloads",
to: "downloads",
activeBasePath: "downloads",
2021-12-21 03:44:01 -08:00
},
{
href: "https://meshtastic.discourse.group",
label: "Forum",
position: "left",
},
{
href: "https://github.com/meshtastic/meshtastic",
position: "right",
className: "header-github-link",
"aria-label": "GitHub repository",
},
],
},
footer: {
copyright: `<a href="https://vercel.com/?utm_source=meshtastic&utm_campaign=oss" style="color: var(--ifm-footer-color)">Powered by ▲ Vercel</a> | Meshtastic® is a registered trademark of Geeksville Industries LLC`,
2021-12-21 03:44:01 -08:00
},
algolia: {
appId: "IG2GQB8L3V",
apiKey: "2e4348812173ec7ea6f7879c7032bb21",
2021-12-21 03:44:01 -08:00
indexName: "meshtastic",
contextualSearch: false,
searchPagePath: "search",
2021-12-21 03:44:01 -08:00
},
},
plugins: [
() => {
return {
name: "docusaurus-tailwindcss",
configurePostCss(postcssOptions) {
// Appends TailwindCSS and AutoPrefixer.
postcssOptions.plugins.push(require("tailwindcss"));
postcssOptions.plugins.push(require("autoprefixer"));
return postcssOptions;
},
};
},
],
2021-12-21 03:44:01 -08:00
presets: [
[
"@docusaurus/preset-classic",
/** @type {import('@docusaurus/preset-classic').Options} */
{
docs: {
sidebarPath: require.resolve("./sidebars.js"),
editUrl: "https://github.com/meshtastic/meshtastic/edit/master/",
},
theme: {
customCss: require.resolve("./src/css/custom.css"),
},
},
],
],
2021-12-22 22:22:01 -08:00
customFields: {
API_URL: process.env.API_URL,
},
2021-12-21 03:44:01 -08:00
};
module.exports = config;