Skip to content

Commit d19f172

Browse files
ndooclaude
andcommitted
Scaffold MeshMY Docusaurus site with home, about, and events pages
Sets up a Docusaurus classic site (docs/blog disabled, pages-only) branded for the MeshMY community, plus a GitHub Actions workflow to build and deploy to GitHub Pages on push to main. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
0 parents  commit d19f172

21 files changed

Lines changed: 20464 additions & 0 deletions

.github/workflows/deploy.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
14+
concurrency:
15+
group: pages
16+
cancel-in-progress: false
17+
18+
jobs:
19+
build:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
25+
- name: Set up Node.js
26+
uses: actions/setup-node@v4
27+
with:
28+
node-version: 20
29+
cache: npm
30+
31+
- name: Install dependencies
32+
run: npm ci
33+
34+
- name: Build website
35+
run: npm run build
36+
37+
- name: Upload build artifact
38+
uses: actions/upload-pages-artifact@v3
39+
with:
40+
path: build
41+
42+
deploy:
43+
needs: build
44+
runs-on: ubuntu-latest
45+
environment:
46+
name: github-pages
47+
url: ${{ steps.deployment.outputs.page_url }}
48+
steps:
49+
- name: Deploy to GitHub Pages
50+
id: deployment
51+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Dependencies
2+
/node_modules
3+
4+
# Production
5+
/build
6+
7+
# Generated files
8+
.docusaurus
9+
.cache-loader
10+
11+
# Misc
12+
.DS_Store
13+
.env.local
14+
.env.development.local
15+
.env.test.local
16+
.env.production.local
17+
18+
npm-debug.log*
19+
yarn-debug.log*
20+
yarn-error.log*

README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# meshmy.github.io
2+
3+
The [MeshMY](https://meshmy.github.io) community website, built with [Docusaurus](https://docusaurus.io/).
4+
5+
## Installation
6+
7+
```bash
8+
npm install
9+
```
10+
11+
**Note**: feel free to use the package manager of your choice.
12+
13+
## Local Development
14+
15+
```bash
16+
npm run start
17+
```
18+
19+
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
20+
21+
## Build
22+
23+
```bash
24+
npm run build
25+
```
26+
27+
This command generates static content into the `build` directory and can be served using any static contents hosting service.
28+
29+
## Deployment
30+
31+
Pushes to `main` are automatically built and deployed to GitHub Pages via the workflow in `.github/workflows/deploy.yml`.

docusaurus.config.js

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
// @ts-check
2+
// `@type` JSDoc annotations allow editor autocompletion and type checking
3+
// (when paired with `@ts-check`).
4+
// There are various equivalent ways to declare your Docusaurus config.
5+
// See: https://docusaurus.io/docs/api/docusaurus-config
6+
7+
import {themes as prismThemes} from 'prism-react-renderer';
8+
9+
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
10+
11+
/** @type {import('@docusaurus/types').Config} */
12+
const config = {
13+
title: 'MeshMY',
14+
tagline: 'Building the Meshtastic mesh network community',
15+
favicon: 'img/favicon.ico',
16+
17+
// Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future
18+
future: {
19+
v4: true, // Improve compatibility with the upcoming Docusaurus v4
20+
},
21+
22+
// Set the production url of your site here
23+
url: 'https://meshmy.github.io',
24+
// Set the /<baseUrl>/ pathname under which your site is served
25+
// For GitHub pages deployment, it is often '/<projectName>/'
26+
baseUrl: '/',
27+
28+
// GitHub pages deployment config.
29+
// If you aren't using GitHub pages, you don't need these.
30+
organizationName: 'meshmy', // Usually your GitHub org/user name.
31+
projectName: 'meshmy.github.io', // Usually your repo name.
32+
deploymentBranch: 'gh-pages',
33+
34+
onBrokenLinks: 'throw',
35+
36+
// Even if you don't use internationalization, you can use this field to set
37+
// useful metadata like html lang. For example, if your site is Chinese, you
38+
// may want to replace "en" with "zh-Hans".
39+
i18n: {
40+
defaultLocale: 'en',
41+
locales: ['en'],
42+
},
43+
44+
presets: [
45+
[
46+
'classic',
47+
/** @type {import('@docusaurus/preset-classic').Options} */
48+
({
49+
docs: false,
50+
blog: false,
51+
theme: {
52+
customCss: './src/css/custom.css',
53+
},
54+
}),
55+
],
56+
],
57+
58+
themeConfig:
59+
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
60+
({
61+
// Replace with your project's social card
62+
image: 'img/docusaurus-social-card.jpg',
63+
colorMode: {
64+
respectPrefersColorScheme: true,
65+
},
66+
navbar: {
67+
title: 'MeshMY',
68+
logo: {
69+
alt: 'MeshMY Logo',
70+
src: 'img/logo.svg',
71+
},
72+
items: [
73+
{to: '/', label: 'Home', position: 'left'},
74+
{to: '/about', label: 'About', position: 'left'},
75+
{to: '/events', label: 'Events', position: 'left'},
76+
{
77+
href: 'https://github.com/meshmy',
78+
label: 'GitHub',
79+
position: 'right',
80+
},
81+
],
82+
},
83+
footer: {
84+
style: 'dark',
85+
links: [
86+
{
87+
title: 'Site',
88+
items: [
89+
{label: 'Home', to: '/'},
90+
{label: 'About', to: '/about'},
91+
{label: 'Events', to: '/events'},
92+
],
93+
},
94+
{
95+
title: 'Community',
96+
items: [
97+
{
98+
label: 'GitHub',
99+
href: 'https://github.com/meshmy',
100+
},
101+
{
102+
label: 'Meshtastic Project',
103+
href: 'https://meshtastic.org',
104+
},
105+
],
106+
},
107+
],
108+
copyright: `Copyright © ${new Date().getFullYear()} MeshMY. Built with Docusaurus.`,
109+
},
110+
prism: {
111+
theme: prismThemes.github,
112+
darkTheme: prismThemes.dracula,
113+
},
114+
}),
115+
};
116+
117+
export default config;

0 commit comments

Comments
 (0)