مولد های سایت استاتیک

از ویکی‌پدیا، دانشنامهٔ آزاد

مولد های سایت استاتیک موتورهایی هستند که از فایل های ورودی متنی ( مانند Markdown و reStructuredText و AsciiDoc) استفاده میکنند تا صفحه های استاتیک بسازند.سایت های استاتیک ساخته شده با مولدهای سایت استاتیک بعد اینکه به backend نیاز ندارند و همین اونها را در شبکه های تحویل محتوا اولویت قرار میدهد .برخی از محبوب ترین مولد های سای استاتیک عبارتند از Jekyll و Hugo و Next.js(JavaScript).مولد های سایت استاتیک معمولا برای تغیرات اندک و محتوای سازنده مانند سایت فروش محصولات و سایت اخبار و اطلاعات و راهنماها و وبلاگ ها میباشد

تاریخچه[ویرایش]

قبل از فراگیر شدن الگوی مولد های سایت استاتیک ویکی پدیا یک مولد سایت استاتیک پیشرو بود که از علامت گذاری برای ارائه مقالات دایره المعارف ایستا استفاده می کرد. اولین مولد سایت استاتیک مدرن Jekyll بود که درسال 2008 توسط Tom Preston-Werner ساخته شده بود یکی از بنیانگذاران Github که سیستمی را رایج کرد که:

  • ورودی های علامت گذاری متن مسطح را برای محتوا می گیرد
  • قالب و محتوا را در یک ساختار ذخیره می کند

معماری[ویرایش]

مولد های سایت استاتیک معمولا از قالب هایی که در HTML با سیستم قالب بندی نوشته شده اند تشکیل شده که عبارتند از لیکویید (Jekyll) یا قالب Go مانند Hugo. همان ساختار شامل محتوایی از قالب متن ساده مانند markdown وreStructuredText میباشد.

یک فایل واحد اغلب با یک صفحه وب منفرد مطابقت دارد .تنظیمات متغیر وب سایت در یک فایل پیکربندی متن مسطح ذخیره می شود.فایل‌های صفحه معمولاً با یک مقدمه YAML، TOML یا JSON برای تعریف متغیرهایی مانند عنوان، پیوند ثابت، تاریخ و غیره شروع می‌شوند.فایل‌هایی با نام‌هایی که با زیرخط (_) شروع می‌شوند، مانندindex.md_ (برخلاف index.md) الگو یا کهن الگو در نظر گرفته می‌شوند و بنابراین به‌عنوان خود صفحه ارائه نمی‌شوند.

مثال[ویرایش]

تاکنون صد ها مولد سایت استاتیک ثبت شده اکثریتب با زبان‌هایی نوشته شده‌اند که قبلاً در وب برجسته هستند

مانند Python و Go و JavaScript

مقایسه با سیستم های سمت سرور[ویرایش]

بسیاری از سیستم های سمت سرور، گزینه ای برای انتشار صفحات خروجی در سرور دارند که در آن صفحات منتشر شده ثابت هستند

این در سیستم های مدیریت محتوا ، مانند Vignette ، رایج است اما تولید خارج از سرور در نظر گرفته نمی شود در اکثر موارد، این "گزینه انتشار" با سیستم قالب تداخلی ندارد و می تواند توسط نرم افزارهای خارجی مانند Wget ساخته شود

مردم شروع به استفاده از صفحات پویا سمت سرور کردند که از قالب‌هایی با نرم‌افزارهایی که از قبل برای کار موجود بودند اقتباس شده بودند.این نرم افزار اولیه، پیش پردازنده ها و زبان های ماکرو بود که برای استفاده در وب سازگار شده بود و روی CGI اجرا می شد.در مرحله بعد، یک فناوری ساده اما مرتبط، اجرای مستقیم روی ماژول های افزونه بود که با SSI شروع شد

منابع[ویرایش]

Static site generator