meshtastic/docusaurus.config.js

152 lines
4.2 KiB
JavaScript
Raw Normal View History

2021-12-21 03:44:01 -08:00
// @ts-check
2022-04-02 06:17:50 -07:00
require('dotenv').config();
2021-12-22 22:22:01 -08:00
2021-12-21 03:44:01 -08:00
/** @type {import('@docusaurus/types').Config} */
const config = {
2022-04-02 06:17:50 -07:00
title: 'Meshtastic',
tagline: 'Open Source hiking, pilot, skiing and secure GPS mesh communicator',
url: 'https://meshtastic.org',
baseUrl: '/',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
favicon: 'design/web/favicon.ico',
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,
},
2022-05-07 06:51:02 -07:00
docs: {
sidebar: {
autoCollapseCategories: true,
},
},
2021-12-21 03:44:01 -08:00
navbar: {
2022-04-02 06:17:50 -07:00
title: 'Meshtastic',
2021-12-21 03:44:01 -08:00
hideOnScroll: true,
logo: {
2022-04-02 06:17:50 -07:00
alt: 'Meshtastic Logo',
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
{
2022-04-08 07:29:34 -07:00
label: 'Docs',
2022-01-19 11:32:54 -08:00
items: [
{
2022-04-02 06:17:50 -07:00
label: 'Getting Started',
to: 'docs/getting-started',
2022-01-19 11:32:54 -08:00
},
{
2022-04-08 07:29:34 -07:00
label: 'Configuration',
2022-04-02 06:17:50 -07:00
to: 'docs/settings',
2022-01-19 11:32:54 -08:00
},
{
2022-04-08 07:29:34 -07:00
label: 'Hardware',
2022-04-02 06:17:50 -07:00
to: 'docs/hardware',
2022-01-19 11:32:54 -08:00
},
2022-02-23 08:35:28 -08:00
{
2022-04-08 07:29:34 -07:00
label: 'Software',
2022-04-02 06:17:50 -07:00
to: 'docs/software',
2022-02-23 08:35:28 -08:00
},
2022-01-19 11:32:54 -08:00
{
label: 'Developers',
to: 'docs/developers',
2022-01-19 11:32:54 -08:00
},
],
},
{
label: 'Downloads',
to: 'downloads',
},
2021-12-21 03:44:01 -08:00
],
},
footer: {
2022-04-08 07:29:34 -07:00
copyright: `<a href="https://vercel.com/?utm_source=meshtastic&utm_campaign=oss">Powered by ▲ Vercel</a> | Meshtastic® is a registered trademark of Geeksville Industries LLC. | <a href="/docs/legal">Legal Information</a>.`,
2021-12-21 03:44:01 -08:00
},
algolia: {
2022-04-02 06:17:50 -07:00
appId: 'IG2GQB8L3V',
apiKey: '2e4348812173ec7ea6f7879c7032bb21',
indexName: 'meshtastic',
2021-12-21 03:44:01 -08:00
contextualSearch: false,
2022-04-02 06:17:50 -07:00
searchPagePath: 'search',
2021-12-21 03:44:01 -08:00
},
},
plugins: [
() => {
return {
2022-04-02 06:17:50 -07:00
name: 'docusaurus-tailwindcss',
configurePostCss(postcssOptions) {
// Appends TailwindCSS and AutoPrefixer.
2022-04-02 06:17:50 -07:00
postcssOptions.plugins.push(require('tailwindcss'));
postcssOptions.plugins.push(require('autoprefixer'));
return postcssOptions;
},
};
},
],
2021-12-21 03:44:01 -08:00
presets: [
[
2022-04-02 06:17:50 -07:00
'@docusaurus/preset-classic',
2021-12-21 03:44:01 -08:00
/** @type {import('@docusaurus/preset-classic').Options} */
{
docs: {
2022-04-02 06:17:50 -07:00
sidebarPath: require.resolve('./sidebars.js'),
editUrl: 'https://github.com/meshtastic/meshtastic/edit/master/',
2022-04-08 07:29:34 -07:00
breadcrumbs: false,
showLastUpdateAuthor: true,
2021-12-21 03:44:01 -08:00
},
theme: {
2022-04-02 06:17:50 -07:00
customCss: require.resolve('./src/css/custom.css'),
2021-12-21 03:44:01 -08:00
},
},
],
],
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;