برنامه نویسی

ژنراتور سایت استاتیک – آموزش 11ty v3

من به دنبال راهی سریعتر برای ایجاد سایت های استاتیک بودم. من به Nuxt و سایر چارچوب های JS نگاه کرده ام – همه آنها جاوا اسکریپت زیادی را در صادرات بسته بندی می کنند و به همه سئو دوستانه نگاه نمی کنند و از آنها ساده نیستند. هوگو خیلی پیچیده به نظر می رسد و من جکیل را امتحان نکردم.

Eleventy چنین بسته ای بصری است که برای ایجاد سایت های استاتیک استفاده می شود.

نصب

یک پوشه درست کنید یا یک repo ایجاد کنید و سپس آن را به صورت محلی کلون کنید. یک پروژه گره را با:

npm init -y
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نصب بالایی:

npm install @11ty/eleventy
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

2 پوشه را در کنار بسته ایجاد کنید. json: site وت publicبشر

در package.json نوع به روزرسانی به ماژول ("type": "module") و این دستور را در قسمت Scripts اضافه کنید:

"scripts": {
    "dev": "npx @11ty/eleventy --input=./site --output=./public --serve --port=3000 --incremental"
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

با npm run dev 11tly به دنبال خواهد بود site دایرکتوری و صادر کردن سایت استاتیک در public دایرکتوری

صفحه اول

در site دایرکتوری ایجاد index.md پرونده ای که در آن می توانید این علامت گذاری را اضافه کنید:

# This will be parsed into an h1 tag
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

حالا برو به localhost:3000 و صفحه HTML ارائه شده را مشاهده خواهید کرد.

11 به H1 ارائه شد

آنچه دیوانه است این است که شما می توانید HTML را در پرونده .md با سبک CSS و برچسب های اسکریپت داشته باشید:

# این به یک برچسب H1 تجزیه می شود






    H1 {
        رنگ: قرمز؛
    }


"/assets/scripts.js">
    "/assets/some_other_scripts.js">

    </span>{{ title }}<span class="nt"/>
<span class="nt"/>

</span></span></span></span></span></code></pre>
<div class="highlight__panel js-actions-panel">
<div class="highlight__panel-action js-fullscreen-code-action">
    <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24" class="highlight-action crayons-icon highlight-action--fullscreen-on"><title>حالت تمام صفحه را وارد کنید
    

از حالت تمام صفحه خارج شوید

اگر تصاویر یا فیلم های دیگر دارید می توانید آنها را در پرونده های HTML مانند این اضافه کنید:

![the image](/assets/elevently.jpg) 
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

یا این:

 src="/assets/elevently.jpg" alt="">
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

11th بهترین SSG در جهان

چگونه می توان چندین یا چند سایت استاتیک را در VPS مستقر کرد؟

می توانید با استفاده از Docker و Caddy چندین سایت 11tly را در VPS مستقر کنید.

پوشه ای به نام وب سایت ها ایجاد کنید و در داخل آن پوشه دیگری با نام دامنه سایت استاتیک مورد نظر برای ارائه آن قرار دهید. محتوای تولید شده توسط 11 را در داخل کپی کنید websites/my-static-site

اکنون پرونده ای به نام ایجاد کنید Caddyfile و مطالب زیر را اضافه کنید:

mystaticsite.localhost {
    tls your-email-used-to-buy-domain@gmail.com
    root * /srv/websites/my-static-site
    push
    file_server browse
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در .localhost به شما امکان می دهد وب سایت را در LocalHost مشاهده کنید. در VPS آن را به دامنه ای که خریداری کرده اید تغییر دهید (مثال: mystaticsite.com).

یک پرونده docker-compose.yml ایجاد کنید:


services:

  proxy:
    container_name: multisite-apps-caddy-proxy
    image: caddy:2-alpine
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./websites:/srv/websites # here we mount the static sites
      - $PWD/Caddyfile:/etc/caddy/Caddyfile
      - caddy_data:/data
      - caddy_config:/config
    networks:
      - web

volumes:
  caddy_data:
  caddy_config:

networks:
  web:
    driver: bridge

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

باحال حالا انجام دهید docker compose up -d صبر کنید تا آن را بسازد و می توانید سایت (های) خود را در آن مشاهده کنید mystaticsite.localhost

شما می توانید حتی بیشتر با 11tly انجام دهید: صفحاتی از داده های JSON ایجاد کنید ، از چندین زبان پشتیبانی کنید ، تاریخ ها را بر اساس منطقه زمانی انجام دهید ، افزونه ها را برای بهینه سازی تصاویر و موارد دیگر اضافه کنید.

اسناد بیشتر را در 11ty.dev بررسی کنید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا