سایت مستندات پلاگیننویسی برای Ghost IDE — دو زبانه (فارسی/English)، کاملاً استاتیک، بدون نیاز به build یا npm.
محتوا مستقیم از خواندن کد ماژولهای plugin-api، ide-api، ide-ui-api و سیستم بارگذاری .gpl نوشته شده.
index.html پوستهی اصلی سایت
assets/css/styles.css کل استایل
assets/js/nav.js ساختار سایدبار (مستقل از زبان)
assets/js/content.fa.js محتوای فارسی
assets/js/content.en.js محتوای انگلیسی
assets/js/app.js روتر + رندر + سرچ + سوییچ زبان
tools/gen-llms.js مولد فایلهای llms (برای دسترسی سریع AI)
llms.txt ایندکس فهرست برای AI/webfetch
llms-full.fa.txt همهی مستندات فارسی در یک فایل متنی
llms-full.en.txt همهی مستندات انگلیسی در یک فایل متنی
.github/workflows/deploy.yml دیپلوی خودکار روی GitHub Pages
هیچ مرحلهی build ای در کار نیست؛ فایلها همانطور که هستند سرو میشوند.
سایت یک SPA سمت-کلاینت است؛ webfetch (یا هر crawler بدون JS) روی index.html
فقط پوسته را میبیند. برای اینکه AI و خود opencode داکیومنت را در یک fetch کامل
بخواند، سه فایل متنی ساده در ریشه سرو میشود:
llms.txt— ایندکس کوتاه: یک webfetch بزن و لینک فایل کامل را بگیر.llms-full.fa.txt— کل مستندات فارسی.llms-full.en.txt— کل مستندات انگلیسی.
بعد از هر تغییر در content.*.js یا nav.js، یکبار این را اجرا کن تا فایلها بازتولید شوند:
node tools/gen-llms.jsراه ۱ — بدون Actions (سادهترین):
- این پوشه را همینطوری داخل ریشهی یک ریپو پوش کن.
Settings → Pages → Build and deployment → Source: Deploy from a branchرا انتخاب کن، برنچmainو پوشهی/ (root)را بزن.- چند ثانیه بعد آدرس سایت زیر همین تنظیمات نمایش داده میشود.
راه ۲ — با Actions (خودکار روی هر push):
Settings → Pages → Build and deployment → Source: GitHub Actionsرا انتخاب کن.- ورکفلوی آمادهی
.github/workflows/deploy.ymlبا هر پوش بهmainسایت را خودش میسازد و دیپلوی میکند.
- آدرس گیتهاب — در
assets/js/app.jsمقدارSITE.githubUrlرا با آدرس واقعی ریپوی خودت جایگزین کن (همهی لینکهای گیتهاب سایت از همین یک مقدار خوانده میشوند)؛ الان یک مقدار حدسی است. - شماره نسخه — مقدار
SITE.versionدرassets/js/app.js، پایین سایدبار نمایش داده میشود.
- یک slug تازه به گروه موردنظر در
assets/js/nav.jsاضافه کن. - همان slug را هم در
pagesو هم درnav.pagesهر دو فایلcontent.fa.jsوcontent.en.jsتعریف کن (اگر یکی از دو زبان جا بیفتد، آن صفحه در آن زبان ۴۰۴ نشان میدهد).
انواع بلاک محتوا: p, h2, h3, code, note (با variant: 'info'|'tip'|'warn'), table, list, modulemap.