سایت‌سازهای استاتیک#

در این مجموعه آموزشی با سایت‌سازهای استاتیک و کاربردهای آن‌ها آشنا می‌شوید. سایت‌ساز استاتیک ابزاری است که به شما اجازه می‌دهد صفحات وب را به صورت فایل‌های ساده (مانند Markdown یا HTML) ایجاد و سپس آن‌ها را به یک وب‌سایت کامل تبدیل کنید. این صفحات نهایی، بدون نیاز به پایگاه داده یا پردازش سمت سرور، به صورت فایل‌های ثابت (Static) روی هاست قرار می‌گیرند.

چرا سایت‌ساز استاتیک؟#

  • سادگی و سرعت: صفحات به صورت فایل‌های ساده ذخیره می‌شوند و بارگذاری آن‌ها بسیار سریع است.

  • امنیت بالا: به دلیل نبود پایگاه داده و کدهای سمت سرور، احتمال حملات امنیتی بسیار کمتر است.

  • هزینه پایین: می‌توانید سایت خود را روی سرویس‌های رایگان مانند GitHub Pages یا Netlify منتشر کنید.

  • قابلیت کنترل نسخه: با استفاده از گیت (Git) می‌توانید تغییرات سایت را مدیریت و نسخه‌بندی کنید.


دسته‌بندی سایت‌سازهای استاتیک و پوسته‌ها#

سایت‌سازهای استاتیک معمولاً به دو دسته تقسیم می‌شوند:

۱. موتورهای سایت‌ساز (Static Site Generators)#

این ابزارها فایل‌های متنی (مانند Markdown) را به صفحات HTML تبدیل می‌کنند:

  • MkDocs — مخصوص مستندسازی پروژه‌ها با Markdown. (زبان: Python)

  • GitBook — ساخت مستندات و کتاب‌های آنلاین. (زبان: Node.js/JavaScript)

  • Docusaurus — مناسب برای مستندسازی و وب‌سایت‌های پروژه‌های متن‌باز. (زبان: Node.js/React)

  • Jekyll — محبوب و سازگار با GitHub Pages. (زبان: Ruby)

  • Jupyter Book — ساخت کتاب و مستندات علمی با پشتیبانی از نوت‌بوک‌های ژوپیتری. (زبان: Python)

  • Hugo — سریع و قدرتمند با زبان Go. (زبان: Go)

  • Hexo — مناسب برای وبلاگ‌نویسی و مبتنی بر Node.js. (زبان: Node.js)

  • Pelican — مبتنی بر Python. (زبان: Python)

۲. پوسته‌ها و قالب‌های آماده#

برخی ابزارها یا قالب‌ها بر پایه سایت‌سازهای بالا ساخته شده‌اند و ظاهر و امکانات خاصی را ارائه می‌دهند:

  • Just-the-docs — قالب ساده و زیبا برای مستندسازی، قابل استفاده با Jekyll.

  • Alfolio — قالب حرفه‌ای برای Jekyll، مناسب برای رزومه و سایت شخصی.

  • Make-the-docs — قالبی برای مستندسازی با MkDocs.

برای مشاهده فهرست کامل سایت‌سازها و قالب‌ها به jamstack.org/generators مراجعه کنید.


نمونه سایت‌های ساخته‌شده با سایت‌سازهای استاتیک#


نمونه‌هایی از برنامه درسی و درس‌ها با سایت‌سازهای مختلف#

نمونه درس‌ها#

میزبانی در وب‌سایتهای داخلی#

  • وقتی فایلهای HTML آماده باشن، در هر سایتی، منجمله هاست‌های داخلی میزبانی شوند. مثلا برخی مطالب درسی را در runflare قرار داده‌ام.

  • در هنگام عدم دسترسی به اینترنت بین الملل برای مشاهده درست فرمولهای ریاضی باید اسکریپت‌های لازمه در کنار فایل‌های HTML‌قرار داده شوند و فایلهای HTML، اصلاح شوند. در فایلهای بالا اسکریپت‌های MathJax را قرار داده‌ام و با یک برنامه پایتون پچ را انجام داده‌ام.


References#

[DHS00]

Richard O. Duda, Peter E. Hart, and David G. Stork. Pattern Classification (2nd Edition). Wiley-Interscience, 2 edition, November 2000. ISBN 0471056693. URL: https://file.fouladi.ir/courses/pr/books/%5BDuda%5D_PatternClassification.pdf.

[LJC+23]

Pablo Lemos, Niall Jeffrey, Miles Cranmer, Shirley Ho, and Peter Battaglia. Rediscovering orbital mechanics with machine learning. Machine Learning: Science and Technology, 4(4):045002, oct 2023. URL: https://dx.doi.org/10.1088/2632-2153/acfa63, doi:10.1088/2632-2153/acfa63.