import fs from "fs" import path from "path" import matter from "gray-matter" import Link from "next/link" import { Play, MessageCircle, Users, Book, Database, Code, BookOpen } from "lucide-react" import Footer2 from "@/components/footer2" const guidesDirectory = path.join(process.cwd(), "..", "guides") interface Guide { title: string description: string slug: string } function getGuides(): Guide[] { const guides: Guide[] = [] function findGuides(dir: string, basePath = "") { fs.readdirSync(dir, { withFileTypes: true }).forEach((entry) => { const fullPath = path.join(dir, entry.name) const relativePath = path.join(basePath, entry.name) if (entry.isDirectory()) { findGuides(fullPath, relativePath) } else if (entry.isFile() && entry.name.endsWith(".md")) { const slug = relativePath.replace(/\.md$/, "") const fileContents = fs.readFileSync(fullPath, "utf8") const { data } = matter(fileContents) guides.push({ title: data.title || slug.replace(/_/g, " "), description: data.description || "No description available.", slug, }) } }) } findGuides(guidesDirectory) return guides } export default function GuidesPage() { const guides = getGuides() return (
Complementary guides to make the most of your Proxmox VE.
{/* Dynamic Guides */}{guide.description}
))}User-submitted guides for Proxmox VE from the community Helper-Scripts.
Comprehensive Proxmox VE documentation and administration guide available.
Proxmox VE Helper-Scripts is a set of tools for simplifying the installation of applications and the management of Proxmox VE, maintained by the community.
A collection of useful resources for learning Linux commands, security practices, monitoring tools, and more.