Skip to content

Commit c634ee2

Browse files
committed
feat: 🎉 Add Mobile Menu Footer and Sidebar components for improved navigation
feat: 📚 Create content configuration for documentation collections feat: 📖 Add API overview documentation with detailed endpoint descriptions feat: 🏗️ Introduce architecture documentation outlining ByteBox structure feat: 💾 Document backup and portability strategies for data safety chore: 📝 Add changelog highlights for major ByteBox milestones docs: 🌐 Create Cloudflare Pages deployment guide for documentation site docs: 🤝 Add contributing guidelines for community involvement docs: 🔑 Document core concepts of ByteBox data model and UX behavior docs: 📊 Create data model documentation detailing entities and relationships docs: 🛠️ Add developer guide for local development workflow and scripts docs: 🐳 Document Docker deployment process for production setup docs: 💻 Create Electron desktop app documentation for native experience docs: 🚀 Add getting started guide for local setup of ByteBox docs: 📄 Create index page for ByteBox documentation with navigation cards docs: 🏃‍♂️ Document running ByteBox in different runtime modes docs: 🎨 Add theming and appearance documentation for customization options docs: 🛠️ Create troubleshooting guide for common issues and recovery steps style: 🎨 Add custom styles for ByteBox documentation site chore: 🔧 Add TypeScript configuration for strict type checking chore: 🌍 Create Wrangler configuration for Cloudflare Pages deployment
1 parent f913946 commit c634ee2

36 files changed

Lines changed: 8542 additions & 2 deletions

.github/workflows/release.yml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# Made with ❤️ by Pink Pixel
33
#
44
# Triggers on any tag that looks like a version: v2.4.0, v3.0.0-beta.1, etc.
5+
# Can also be triggered manually via workflow_dispatch.
56
#
67
# Produces:
78
# • Windows → NSIS installer (.exe) — built on windows-latest
@@ -18,6 +19,11 @@ on:
1819
push:
1920
tags:
2021
- "v*"
22+
workflow_dispatch:
23+
inputs:
24+
tag:
25+
description: "Release tag to upload to (e.g. v2.4.0)"
26+
required: true
2127

2228
permissions:
2329
contents: write # needed to upload release assets
@@ -28,6 +34,12 @@ jobs:
2834
name: Windows installer
2935
runs-on: windows-latest
3036

37+
# Use bash for all run steps — the npm scripts in package.json use
38+
# Unix pipes (grep) that break under cmd.exe / PowerShell.
39+
defaults:
40+
run:
41+
shell: bash
42+
3143
steps:
3244
- name: Checkout
3345
uses: actions/checkout@v4
@@ -46,13 +58,18 @@ jobs:
4658
DATABASE_URL: "file:./dev.db"
4759
run: npx prisma generate
4860

61+
# Run next build directly instead of `npm run build` — the npm script
62+
# pipes through `grep` which can fail on Windows even under bash.
63+
# The env vars below replicate what scripts/next-with-env.cjs sets.
4964
- name: Build Next.js
5065
env:
5166
DATABASE_URL: "file:./dev.db"
5267
NEXT_TELEMETRY_DISABLED: "1"
5368
NODE_ENV: production
5469
PORT: "1334"
55-
run: npm run build
70+
BROWSERSLIST_IGNORE_OLD_DATA: "1"
71+
BASELINE_BROWSER_MAPPING_IGNORE_OLD_DATA: "1"
72+
run: npx next build
5673

5774
- name: Compile Electron main process
5875
run: npm run electron:compile
@@ -65,6 +82,7 @@ jobs:
6582
- name: Upload to GitHub Release
6683
uses: softprops/action-gh-release@v2
6784
with:
85+
tag_name: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.tag || github.ref_name }}
6886
files: release/**/*.exe
6987
fail_on_unmatched_files: true
7088
env:

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,5 @@ glass_theming_guide.md
5151
# other
5252
buildsinfo.md
5353
R2.txt
54-
s3api.md
54+
s3api.md
55+
release copy.yml

website/.gitignore

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# build output
2+
dist/
3+
# generated types
4+
.astro/
5+
6+
# dependencies
7+
node_modules/
8+
9+
# logs
10+
npm-debug.log*
11+
yarn-debug.log*
12+
yarn-error.log*
13+
pnpm-debug.log*
14+
15+
16+
# environment variables
17+
.env
18+
.env.production
19+
20+
# macOS-specific files
21+
.DS_Store

website/README.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# ByteBox Documentation Site
2+
3+
Starlight-powered documentation for ByteBox.
4+
5+
## Local Development
6+
7+
```bash
8+
npm install
9+
npm run dev
10+
```
11+
12+
Dev server runs on `http://localhost:4321` by default.
13+
14+
## Build
15+
16+
```bash
17+
npm run build
18+
npm run preview
19+
```
20+
21+
## Cloudflare Pages Deploy
22+
23+
This project includes `wrangler.toml` and deploy scripts.
24+
25+
```bash
26+
npx wrangler login
27+
npm run build
28+
npm run cf:deploy
29+
```
30+
31+
## Key Files
32+
33+
- `astro.config.mjs` - Starlight config, sidebar, component overrides
34+
- `src/content/docs/` - docs content (`.md` and `.mdx`)
35+
- `src/components/starlight/` - custom Sidebar/Footer/MobileMenuFooter overrides
36+
- `src/components/docs/Endpoint.astro` - API callout block component
37+
- `src/styles/bytebox-docs.css` - ByteBox-themed visual layer
38+
- `wrangler.toml` - Cloudflare Pages config

website/astro.config.mjs

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
// @ts-check
2+
import { defineConfig } from 'astro/config';
3+
import starlight from '@astrojs/starlight';
4+
5+
// https://astro.build/config
6+
export default defineConfig({
7+
integrations: [
8+
starlight({
9+
title: 'ByteBox Docs',
10+
description: 'Official documentation for ByteBox: setup, operation, concepts, and API behavior.',
11+
logo: {
12+
src: './src/assets/logo_banner.png',
13+
alt: 'ByteBox',
14+
replacesTitle: true,
15+
},
16+
favicon: '/favicon.png',
17+
customCss: ['./src/styles/bytebox-docs.css'],
18+
social: [{ icon: 'github', label: 'GitHub', href: 'https://github.com/pinkpixel-dev/bytebox' }],
19+
components: {
20+
Sidebar: './src/components/starlight/Sidebar.astro',
21+
Footer: './src/components/starlight/Footer.astro',
22+
MobileMenuFooter: './src/components/starlight/MobileMenuFooter.astro',
23+
},
24+
sidebar: [
25+
{
26+
label: 'Foundations',
27+
items: [
28+
{ label: 'Getting Started', slug: 'getting-started' },
29+
{ label: 'Running ByteBox', slug: 'running-bytebox' },
30+
{ label: 'Architecture', slug: 'architecture' },
31+
{ label: 'Core Concepts', slug: 'core-concepts' },
32+
{ label: 'Data Model', slug: 'data-model' },
33+
{ label: 'Theming & Appearance', slug: 'theming-and-appearance' },
34+
],
35+
},
36+
{
37+
label: 'Integrations',
38+
items: [
39+
{ label: 'API Overview', slug: 'api-overview' },
40+
{ label: 'Backup & Portability', slug: 'backup-and-portability' },
41+
{ label: 'Docker Deployment', slug: 'docker-deployment' },
42+
{ label: 'Electron Desktop', slug: 'electron-desktop' },
43+
{ label: 'Cloudflare Pages', slug: 'cloudflare-pages' },
44+
],
45+
},
46+
{
47+
label: 'Development',
48+
items: [
49+
{ label: 'Developer Guide', slug: 'developer-guide' },
50+
{ label: 'Contributing', slug: 'contributing' },
51+
{ label: 'Troubleshooting', slug: 'troubleshooting' },
52+
{ label: 'Changelog Highlights', slug: 'changelog' },
53+
],
54+
},
55+
],
56+
}),
57+
],
58+
});

0 commit comments

Comments
 (0)