Skip to content

Commit a9bcb87

Browse files
committed
added manifold pocket page, minor updates to other pages
1 parent 796713f commit a9bcb87

11 files changed

Lines changed: 172 additions & 22 deletions

File tree

CLAUDE.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Project Overview
6+
7+
This is a Docusaurus v3 documentation site for Weston Robot products, built with TypeScript and React. The site serves as comprehensive documentation for robot platforms, peripherals, systems, software, and tutorials.
8+
9+
## Common Development Commands
10+
11+
### Development
12+
```bash
13+
# Install dependencies
14+
npm install
15+
16+
# Start development server (available at http://localhost:3000)
17+
npm run start
18+
19+
# Build for production
20+
npm run build
21+
22+
# Type checking
23+
npm run typecheck
24+
25+
# Serve production build locally
26+
npm run serve
27+
28+
# Clear Docusaurus cache
29+
npm run clear
30+
```
31+
32+
### Docker Development
33+
```bash
34+
# Run with Docker Compose
35+
docker compose up
36+
37+
# Or use the convenience script
38+
./run_docs.sh
39+
```
40+
41+
## High-Level Architecture
42+
43+
### Documentation Structure
44+
The site uses Docusaurus's multi-instance documentation pattern with six separate documentation sections, each with its own routing and sidebar configuration:
45+
46+
- **General** (`/general/*`) - Operational safety and maintenance guides - configured in `sidebars-general.ts`
47+
- **Robot** (`/robot/*`) - Documentation for UGVs, quadrupeds, humanoids, and manipulators - configured in `sidebars-robot.ts`
48+
- **Peripheral** (`/peripheral/*`) - Power regulators, network equipment, computers - configured in `sidebars-peripheral.ts`
49+
- **System** (`/system/*`) - Integrated systems like UGV development kits - configured in `sidebars-system.ts`
50+
- **Software** (`/software/*`) - SDKs, toolboxes, and installation guides - configured in `sidebars-software.ts`
51+
- **Tutorial** (`/tutorial/*`) - Step-by-step guides and how-tos - configured in `sidebars-tutorial.ts`
52+
53+
Each section is configured as a separate plugin instance in `docusaurus.config.ts` with its own path, route base, and sidebar configuration.
54+
55+
### Key Configuration Files
56+
- `docusaurus.config.ts` - Main configuration defining plugins, themes, navbar, and multi-docs setup
57+
- `sidebars-*.ts` - Individual sidebar configurations for each documentation section
58+
- `src/pages/index.tsx` - Custom landing page with interactive decision tree navigation using React hooks
59+
60+
### Content Organization
61+
- Documentation content is written in Markdown/MDX files in respective directories
62+
- Each section has an `intro.md` entry point
63+
- Images are stored in `img/` subdirectories within each section
64+
- Category metadata is managed through `_category_.json` files
65+
66+
### Search & Navigation
67+
- Uses `docusaurus-lunr-search` plugin for client-side search functionality
68+
- Custom interactive decision tree on the homepage guides users to appropriate documentation sections
69+
- Navbar provides direct access to all major documentation categories
70+
71+
### Styling & Theming
72+
- Custom CSS in `src/css/custom.css`
73+
- Supports Mermaid diagrams through `@docusaurus/theme-mermaid`
74+
- Uses Prism for syntax highlighting with GitHub light and Dracula dark themes

peripheral/computer/cm4.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ import CM4_IMG from '../img/westonrobot/cm4_sbc.jpg';
88

99
This onboard computer is based on Raspberry Pi Computer Module 4 (CM4). We extended the board with CAN and RS485 ports for interfacing with the robot bases and sensors.
1010

11+
<div style={{textAlign: 'center'}}>
1112
<img src={CM4_IMG} alt="Ranger Mini robot" style={{width: 350}} />
13+
</div>
1214

1315
## Key Specifications
1416

peripheral/computer/nanopc.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ import NANOPC_PORTS from '../img/westonrobot/nanopc_industrial_ports.png';
99

1010
This onboard computer is based on NanoPC-T6. We extended the board with industrial ports for easy and reliable interfacing with commonly used sensors and robot bases. Drivers to the ports are pre-configured under Ubuntu 22.04.
1111

12+
<div style={{textAlign: 'center'}}>
1213
<img src={NANOPC_IMG} alt="NanoPC-T6" style={{width: 350}} />
14+
</div>
1315

1416
## Key Specifications
1517

peripheral/img/manifold/pocket.png

22.5 KB
Loading

peripheral/network/industrial_5g_router.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ import ROUTER_5G_IMG from '../img/westonrobot/5g_router/industrial_5g_wifi_route
66

77
# Industrial 5G Router
88

9+
<div style={{textAlign: 'center'}}>
910
<img src={ROUTER_5G_IMG} alt="Ranger Mini robot" style={{width: 350}} />
11+
</div>
1012

1113
## 1. Key Specifications
1214

peripheral/sensor/_category_.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"label": "Sensors",
3+
"position": 4,
4+
"link": {
5+
"type": "generated-index",
6+
"description": "Sensors."
7+
}
8+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
sidebar_position: 1
3+
---
4+
5+
6+
import MANIFOLD_POCKET_SCANNER_IMG from '../img/manifold/pocket.png';
7+
8+
# Manifold Pocket Scanner
9+
10+
## 1. Overview
11+
12+
<div style={{textAlign: 'center'}}>
13+
<img src={MANIFOLD_POCKET_SCANNER_IMG} alt="Manifold Pocket Scanner" style={{width: 350}} />
14+
</div>
15+
16+
The Pocket is a highly compact and modular 3D data collection device, purpose‑built for seamless integration into handheld workflows and robotic platforms. It combines dual industrial-grade fisheye cameras with global shutter capability for true‑color imaging, alongside a 40‑line LiDAR system delivering dense, real‑time point clouds. The system supports live preview and on‑the‑fly edits through the MindCloud‑GO app, all housed within a lightweight (560 g), palm‑sized enclosure with approximately 2 hours of battery life.
17+
18+
## 2. Specifications
19+
20+
| Specification | Value |
21+
|--------------|-------|
22+
| Laser Wavelength | 905nm |
23+
| Laser Range | Up to 40m @ 10% reflectivity, 70 m @ 80% reflectivity |
24+
| LiDAR Point Cloud Density | 40 lines |
25+
| LiDAR Point Rate | 200,000 points/s (first return) |
26+
| LiDAR Frame Rate | 10 Hz |
27+
| Cameras | Dual Fisheye 5 Megapixel Global Shutter Camera |
28+
| Battery Life | 2 hours |
29+
| Dimensions (Main Unit) | 115 mm X 110 mm X 83 mm |
30+
| Weight (Main Unit) | 560 g |
31+
32+
## 3. Resources
33+
34+
* MindCloud GO User Manual: [PDF](https://tangrobot.sharepoint.com/:b:/s/Public-Outgoing/EXVPAz1fy0dEmuplUSErgX8BZrLj6EK2IC621P0m_sSpow?e=cWhO5P)
35+
* MindCloud User Manual: [PDF](https://tangrobot.sharepoint.com/:b:/s/Public-Outgoing/EQCjHhhVamtNuHzNLNt-J1oBzEU-H3OIJ6Gbclk3GRVqZA?e=avRo4H)
36+
* MindCloud Go (Android APK): [Download](https://www.manifoldtech.cloud/download/?file=MindCloudGo_0.3.0.apk)
37+
* MindCloud (Windows): [Download](https://www.manifoldtech.cloud/download/?file=MindCloud_0.1.9.exe)

sidebars-peripheral.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ const sidebarsPeripheral: SidebarsConfig = {
2222
items: [
2323
'power/power_regulator_v2'],
2424
},
25+
{
26+
type: 'category',
27+
label: 'Sensors',
28+
items: [
29+
'sensor/manifold_pocket'],
30+
},
2531
],
2632
};
2733

src/css/custom.css

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,26 +29,29 @@
2929

3030
/* For readability concerns, you should choose a lighter palette in dark mode. */
3131
[data-theme='dark'] {
32-
--ifm-color-primary: #3b7caf;
33-
--ifm-color-primary-dark: #356f9e;
34-
--ifm-color-primary-darker: #326995;
35-
--ifm-color-primary-darkest: #29577b;
36-
--ifm-color-primary-light: #4189c0;
37-
--ifm-color-primary-lighter: #4b90c5;
38-
--ifm-color-primary-lightest: #67a2ce;
32+
--ifm-color-primary: #67b588;
33+
--ifm-color-primary-dark: #5aa77a;
34+
--ifm-color-primary-darker: #53a073;
35+
--ifm-color-primary-darkest: #44855f;
36+
--ifm-color-primary-light: #74c396;
37+
--ifm-color-primary-lighter: #7bc99d;
38+
--ifm-color-primary-lightest: #90d7b2;
3939
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
40-
--ifm-background-color: #111827;
41-
--ifm-hero-background-color: #1f2937;
42-
--ifm-navbar-background-color: rgba(17, 24, 39, 0.95);
43-
--ifm-card-background-color: #1f2937;
44-
--ifm-footer-background-color: #0f172a;
45-
--ifm-color-emphasis-700: #9ca3af;
46-
--ifm-color-emphasis-800: #d1d5db;
47-
--ifm-color-emphasis-900: #f3f4f6;
40+
--ifm-background-color: #1e1e1e;
41+
--ifm-hero-background-color: #282c34;
42+
--ifm-navbar-background-color: rgba(30, 30, 30, 0.95);
43+
--ifm-card-background-color: #282c34;
44+
--ifm-footer-background-color: #161618;
45+
--ifm-color-emphasis-100: #2e333d;
46+
--ifm-color-emphasis-200: #3e4451;
47+
--ifm-color-emphasis-700: #abb2bf;
48+
--ifm-color-emphasis-800: #c8cdd7;
49+
--ifm-color-emphasis-900: #e6e9ef;
50+
--ifm-font-color-base: #abb2bf;
4851

49-
/* Custom link colors for dark mode */
50-
--ifm-link-color: #60a5fa;
51-
--ifm-link-hover-color: #93c5fd;
52+
/* Custom link colors for dark mode - soft green accent */
53+
--ifm-link-color: #67b588;
54+
--ifm-link-hover-color: #7bc99d;
5255
--ifm-link-decoration: none;
5356
}
5457

src/pages/index.module.css

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@
172172
}
173173

174174
.questionBox {
175-
background-color: var(--ifm-color-primary);
175+
background: linear-gradient(135deg, var(--ifm-color-primary), var(--ifm-color-primary-dark));
176176
color: white;
177177
padding: 1.5rem 2rem;
178178
border-radius: 8px;
@@ -200,16 +200,18 @@
200200

201201
.optionCard {
202202
background-color: var(--ifm-card-background-color);
203+
border: 1px solid var(--ifm-color-emphasis-200);
203204
border-radius: 8px;
204205
overflow: hidden;
205-
transition: transform 0.2s ease, box-shadow 0.2s ease;
206+
transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
206207
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
207208
position: relative;
208209
}
209210

210211
.optionCard:hover {
211212
transform: translateY(-4px);
212-
box-shadow: 0 12px 20px rgba(0, 0, 0, 0.1);
213+
box-shadow: 0 12px 20px rgba(0, 0, 0, 0.15);
214+
border-color: var(--ifm-color-primary);
213215
}
214216

215217
.optionLink,
@@ -261,6 +263,12 @@
261263
.backButton {
262264
grid-column: 1 / -1;
263265
background-color: var(--ifm-color-emphasis-100);
266+
border-color: var(--ifm-color-emphasis-200);
267+
}
268+
269+
[data-theme='dark'] .backButton {
270+
background-color: var(--ifm-color-emphasis-100);
271+
border-color: var(--ifm-color-emphasis-200);
264272
}
265273

266274
.backButton .optionButton {

0 commit comments

Comments
 (0)