Skip to content

Commit f71c8bd

Browse files
authored
Add a link to project github repository and documentation (#56)
- This adds below line to the "WHAT" section of each of the individual project page. "Learn more about Patina on our [GitHub repository] and check out the [Documentation] page." - Also include a `Readme.md` to document the instructions for building and launching the website for local development Signed-off-by: Vineel Kovvuri[MSFT] <[email protected]>
1 parent be0deae commit f71c8bd

File tree

5 files changed

+69
-7
lines changed

5 files changed

+69
-7
lines changed

Readme.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# OpenDevicePartnership.github.io
2+
3+
Website for the Open Device Partnership, built with Rust, Leptos, and Trunk.
4+
5+
## Prerequisites
6+
7+
Before running this project, ensure you have the following installed:
8+
9+
1. **Rust** - Install from [https://rustup.rs/](https://rustup.rs/)
10+
11+
2. **Trunk** - Build tool for Rust web applications
12+
13+
```cmd
14+
cargo binstall trunk or
15+
cargo install trunk
16+
```
17+
18+
3. **WebAssembly target** - Required for compiling to WASM
19+
20+
```cmd
21+
rustup target add wasm32-unknown-unknown
22+
```
23+
24+
## Development
25+
26+
To run the development server:
27+
28+
```cmd
29+
trunk serve
30+
```
31+
32+
This will:
33+
34+
- Build the project in debug mode
35+
- Start a development server at <http://127.0.0.1:3000>
36+
- Watch for file changes and auto-reload the browser
37+
38+
## Production Build
39+
40+
To build for production:
41+
42+
```cmd
43+
trunk build --release
44+
```
45+
46+
The optimized output will be generated in the `dist/` directory.
47+
48+
## Project Structure
49+
50+
- `src/` - Rust source code
51+
- `components/` - Reusable UI components
52+
- `pages/` - Page components
53+
- `style/` - CSS files (Tailwind)
54+
- `public/` - Static assets (images, etc.)
55+
- `index.html` - Main HTML template
56+
- `Trunk.toml` - Trunk configuration
57+
- `Cargo.toml` - Rust dependencies
58+
59+
## Technology Stack
60+
61+
- **Leptos** - Reactive web framework for Rust
62+
- **Trunk** - WASM web application bundler
63+
- **Tailwind CSS** - Utility-first CSS framework

src/components/project_introduction.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ pub fn ProjectIntroduction(
7171
display: block;
7272
text-align: left;
7373
"
74+
inner_html=project_what
7475
>
75-
{project_what}
7676
</span>
7777
{/* WHY label */}
7878
<span

src/pages/boot_firmware.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,8 @@ pub fn BootFirmware() -> impl IntoView {
4040
let project_title = "Patina";
4141
let project_summary = "Modern Boot Firmware";
4242

43-
let project_what = "Patina is a UEFI compatible firmware interface written in the Rust language with a focus on memory safety and composition. For Patina, we re-evaluated the good and the bad from todays UEFI boot firmware and used this opportunity to embrace new language capabilities, software architecture, programming paradigms, and industry supported tooling. Patina isn't designed to replace everything necessary for system boot but instead to provide a sustainable path forward with high return on investment";
43+
let project_what = r#"Patina is a UEFI compatible firmware interface written in the Rust language with a focus on memory safety and composition. For Patina, we re-evaluated the good and the bad from today's UEFI boot firmware and used this opportunity to embrace new language capabilities, software architecture, programming paradigms, and industry supported tooling. Patina isn't designed to replace everything necessary for system boot but instead to provide a sustainable path forward with high return on investment. Learn more about Patina on our <a href="https://github.com/OpenDevicePartnership/patina" target="_blank" rel="noopener noreferrer" class="underline hover:no-underline">GitHub repository</a> and check out the <a href="https://opendevicepartnership.github.io/patina/" target="_blank" rel="noopener noreferrer" class="underline hover:no-underline">Documentation</a> page."#;
4444
let project_why = "A lot has changed in the last quarter century. UEFI boot firmware has scaled remarkably well, seamlessly ushering in new generations of hardware for PCs, but as active maintainers of UEFI we know the systemic problems that can’t be addressed without significant change. We understand the challenges of supporting a vast, diverse ecosystem of hardware devices as unique as each user. We see the nuance in our industry's partnerships and the supply chains critical for their success. For this reason, we started the Patina project to build a future and a coalition ready for the next set of challenges.";
45-
4645
let nodes_data = r#"[{"id": 0, "name": "patina-readiness-tool", "url": "https://github.com/OpenDevicePartnership/patina-readiness-tool", "classification": "tooling", "order": 1}, {"id": 1, "name": "patina-fw-patcher", "url": "https://github.com/OpenDevicePartnership/patina-fw-patcher", "classification": "tooling", "order": 1}, {"id": 2, "name": "patina-qemu", "url": "https://github.com/OpenDevicePartnership/patina-qemu", "classification": "platform firmware (uefi rom)", "order": 2}, {"id": 3, "name": "patina-dxe-core-qemu", "url": "https://github.com/OpenDevicePartnership/patina-dxe-core-qemu", "classification": "qemu patina dxe core (binary)", "order": 3}, {"id": 4, "name": "patina (patina_dxe_core)", "url": "https://github.com/OpenDevicePartnership/patina", "classification": "patina dxe core (library)", "order": 4}, {"id": 5, "name": "patina (core)", "url": "https://github.com/OpenDevicePartnership/patina", "classification": "core (library)", "order": 5}, {"id": 6, "name": "patina (components)", "url": "https://github.com/OpenDevicePartnership/patina", "classification": "components (library)", "order": 6}, {"id": 7, "name": "patina (sdk)", "url": "https://github.com/OpenDevicePartnership/patina", "classification": "sdk (library)", "order": 7}, {"id": 8, "name": "patina-mtrr", "url": "https://github.com/OpenDevicePartnership/patina-mtrr", "classification": "general purpose (library)", "order": 8}, {"id": 9, "name": "patina-paging", "url": "https://github.com/OpenDevicePartnership/patina-paging", "classification": "general purpose (library)", "order": 8}]"#;
4746
let links_data = r#"[{"source": 0, "target": 5}, {"source": 0, "target": 7}, {"source": 3, "target": 4}, {"source": 3, "target": 5}, {"source": 3, "target": 6}, {"source": 3, "target": 7}, {"source": 4, "target": 5}, {"source": 4, "target": 6}, {"source": 4, "target": 7}, {"source": 4, "target": 8}, {"source": 4, "target": 9}, {"source": 5, "target": 6}, {"source": 5, "target": 7}, {"source": 5, "target": 9}, {"source": 6, "target": 7}]"#;
4847

src/pages/embedded_controller.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ pub fn EmbeddedController() -> impl IntoView {
3939

4040
let project_title = "Secure Embedded Controller";
4141
let project_summary = "A hardened firmware platform for modern embedded controllers";
42-
let project_what = "The ODP Secure EC stack is a Rust-based firmware platform for modern embedded controllers, supporting both discrete and integrated ECs.
42+
let project_what = r#"The ODP Secure EC stack is a Rust-based firmware platform for modern embedded controllers, supporting both discrete and integrated ECs.
4343
4444
It provides modular subsystems for power sequencing, thermal policy, event routing, and more.
4545
Components are defined by traits, composed into devices, and managed by a shared runtime that drives platform behavior.
46-
Built for portability and testability, it supports both std and no-std builds and integrates cleanly with real-time runtimes like Embassy.";
46+
Built for portability and testability, it supports both std and no-std builds and integrates cleanly with real-time runtimes like Embassy. Learn more about Secure EC on our <a href="https://github.com/OpenDevicePartnership/embedded-services" target="_blank" rel="noopener noreferrer" class="underline hover:no-underline">GitHub repository</a> and check out the <a href="https://opendevicepartnership.github.io/documentation/tracks/embedded_controller/track_overview.html" target="_blank" rel="noopener noreferrer" class="underline hover:no-underline">Documentation</a> page."#;
4747

4848
let project_why = "Embedded Controllers do more than ever — yet many EC stacks are stuck in the past.
4949
The ODP EC firmware rethinks the EC as a secure, modular orchestrator for power, telemetry, and system policy. With clearly scoped components and Rust’s safety guarantees, it helps you move faster, catch bugs earlier, and support diverse platforms with confidence.

src/pages/unified_ec_services.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ pub fn WindowsEcServices() -> impl IntoView {
3939

4040
let project_title = "Unified Embedded Controller Interface";
4141
let project_summary = "";
42-
let project_what = "The Unified Windows EC Service interface defines runtime coordination between firmware components using async message-passing.
42+
let project_what = r#"The Unified Windows EC Service interface defines runtime coordination between firmware components using async message-passing.
4343
Each service manages a domain — like power, battery, or host communication — and exposes a structured protocol.
4444
Components register with services and receive commands for events, capabilities, and state changes.
45-
This model enables loosely coupled subsystems, observability, and test injection — without sacrificing platform coherence.";
45+
This model enables loosely coupled subsystems, observability, and test injection — without sacrificing platform coherence. Learn more about EC Services on our <a href="https://github.com/OpenDevicePartnership/haf-ec-service" target="_blank" rel="noopener noreferrer" class="underline hover:no-underline">GitHub repository</a> and check out the <a href="https://opendevicepartnership.github.io/documentation/guide/intro/concepts/EC_Services.html" target="_blank" rel="noopener noreferrer" class="underline hover:no-underline">Documentation</a> page."#;
4646
let project_why = "Without a common interface, EC firmware becomes tangled and brittle.
4747
Unified EC Services -- designed for Windows Platforms -- bring structure and predictability by defining how components interact at runtime.
4848
With async protocols and policy-aware life cycles, they support clean separation of concerns and cross-subsystem coordination.

0 commit comments

Comments
 (0)