diff --git a/web/app/docs/hardware/install-coral-tpu-host/page.tsx b/web/app/docs/hardware/install-coral-tpu-host/page.tsx
index dc4be4c..a6990dd 100644
--- a/web/app/docs/hardware/install-coral-tpu-host/page.tsx
+++ b/web/app/docs/hardware/install-coral-tpu-host/page.tsx
@@ -10,58 +10,79 @@ export default function InstallCoralTPUHost() {
return (
Install Coral TPU on the Host
-
-
Before using Coral TPU inside an LXC container, the drivers must first be installed on the Proxmox VE host. This script automates that process, ensuring the necessary setup is completed.
- This guide explains how to install and configure Google Coral TPU drivers on a Proxmox VE host using ProxMenux.
- This setup enables hardware acceleration for AI-based applications that leverage Coral TPU.
+
+
+ Before using Coral TPU inside an LXC container, the drivers must first be installed on the Proxmox VE host. This script automates that process, ensuring the necessary setup is completed.
+
+ This guide explains how to install and configure Google Coral TPU drivers on a Proxmox VE host using ProxMenux. This setup enables hardware acceleration for AI-based applications that leverage Coral TPU.
-
+
Overview
The script automates the following steps:
- Prompts for confirmation before proceeding with installation.
- Verifies and configures necessary repositories on the host.
- - Installs required dependencies for driver compilation.
+ - Installs required build dependencies and kernel headers for driver compilation.
- Clones the Coral TPU driver repository and builds the drivers.
- Installs the compiled Coral TPU drivers.
- Prompts for a system restart to apply changes.
-
+
Implementation Steps
The script prompts the user for confirmation before proceeding, as a system restart is required after installation.
+
The script verifies and configures required repositories:
- Adds the pve-no-subscription repository if not present.
- Adds non-free-firmware repositories for required packages.
- - Runs an update to fetch the latest package lists.
+ - Runs
apt-get update
to fetch the latest package lists.
+
- The script installs and compiles the required drivers:
+ The script installs and compiles the required Coral TPU drivers:
- - Installs dependencies such as git, dkms, devscripts, and kernel headers.
- - Clones the gasket-driver repository from Google.
- - Builds the Coral TPU driver packages.
- - Installs the compiled drivers on the host.
+ - Installs the following packages:
+
+ git
+ devscripts
+ dh-dkms
+ dkms
+ pve-headers-$(uname -r)
(Proxmox kernel headers)
+
+ - Clones the Coral TPU driver source from:
+
+ https://github.com/google/gasket-driver
+
+ - Builds the driver using
debuild
and installs it using dpkg -i
.
+
+
+
The script prompts the user to restart the server to apply the changes.
-
+
Expected Results
- The Coral TPU drivers are installed successfully on the Proxmox VE host.
- Required repositories and dependencies are configured properly.
- A system restart is performed to complete the installation.
-
-
)
}
diff --git a/web/app/rss.xml/route.ts b/web/app/rss.xml/route.ts
index 51f4501..6a0d54c 100644
--- a/web/app/rss.xml/route.ts
+++ b/web/app/rss.xml/route.ts
@@ -10,6 +10,31 @@ interface ChangelogEntry {
title: string
}
+// Function to clean and format markdown content for RSS
+function formatContentForRSS(content: string): string {
+ return (
+ content
+ // Convert ### headers to bold text
+ .replace(/^### (.+)$/gm, "**$1**")
+ // Convert ** bold ** to simple bold
+ .replace(/\*\*(.*?)\*\*/g, "$1")
+ // Clean code blocks - remove ``` and format nicely
+ .replace(/```[\s\S]*?```/g, (match) => {
+ const code = match.replace(/```/g, "").trim()
+ return `\n${code}\n`
+ })
+ // Convert - bullet points to •
+ .replace(/^- /gm, "• ")
+ // Clean up multiple newlines
+ .replace(/\n{3,}/g, "\n\n")
+ // Remove backslashes used for line breaks
+ .replace(/\\\s*$/gm, "")
+ // Clean up extra spaces
+ .replace(/\s+/g, " ")
+ .trim()
+ )
+}
+
async function parseChangelog(): Promise