/blog/2022-10-01... > _
แƒ‘แƒšแƒแƒ’แƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜แƒ— - 11ty

แƒแƒ•แƒแƒฌแƒงแƒแƒ— แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜ แƒ‘แƒšแƒแƒ’แƒ˜แƒ— (แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜ แƒฏแƒแƒ•แƒแƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”)

แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜

แƒ แƒ แƒ’แƒแƒœแƒแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒก แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ  แƒกแƒแƒ˜แƒขแƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒ™แƒฃแƒ แƒ˜แƒกแƒ’แƒแƒœ? แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒแƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒ™แƒแƒ“แƒ˜แƒ— แƒแƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ”แƒœ แƒ›แƒแƒ แƒ™แƒแƒžแƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”. แƒคแƒ แƒแƒœแƒขแƒ”แƒœแƒ“ แƒคแƒ แƒ”แƒ˜แƒ›แƒ•แƒแƒ แƒฅแƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ React, Angular แƒ“แƒ Vue แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒœ แƒฏแƒแƒ•แƒแƒกแƒ™แƒ แƒ˜แƒžแƒขแƒก, แƒ แƒแƒ› แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒ™แƒฃแƒ แƒแƒ“ แƒแƒแƒ’แƒแƒœ HTML แƒ“แƒ CSS แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒจแƒ˜. แƒฎแƒจแƒ˜แƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, HTML แƒกแƒแƒฌแƒงแƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜ (แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ›แƒ˜แƒšแƒ˜แƒกแƒ”แƒ™แƒฃแƒœแƒ“แƒจแƒ˜, แƒ แƒแƒชแƒ แƒ›แƒแƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ’แƒแƒฎแƒกแƒœแƒ˜แƒก) แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก, แƒ›แƒแƒก แƒฏแƒแƒ•แƒแƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒแƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒก โ€“ แƒ”แƒก แƒ”แƒ แƒ—แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒแƒœแƒ˜ แƒ•แƒ”แƒ‘ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒ แƒ“แƒแƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒ”แƒšแƒ˜. แƒแƒ›แƒแƒกแƒ—แƒแƒœแƒแƒ•แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ›แƒฎแƒ แƒ˜แƒ“แƒแƒœ แƒ“แƒแƒ แƒ”แƒœแƒ“แƒ”แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒแƒ˜แƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“ PHP-แƒกแƒ แƒแƒœ NodeJS-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ”แƒœ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก, แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒแƒœ แƒกแƒแƒžแƒแƒกแƒฃแƒฎแƒแƒ“ แƒ›แƒแƒ แƒ™แƒแƒžแƒก แƒ“แƒ แƒ›แƒแƒก แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ”แƒœ. แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒแƒ˜แƒขแƒ”แƒ‘แƒ˜, แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก แƒกแƒแƒžแƒ˜แƒ แƒ˜แƒกแƒžแƒ˜แƒ แƒแƒ“, แƒแƒ แƒ˜แƒก แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒ’แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ“แƒ แƒฃแƒชแƒ•แƒšแƒ”แƒšแƒ˜ (แƒแƒœแƒฃ แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜) แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜. แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒแƒ˜แƒขแƒ˜ แƒฃแƒคแƒ แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ“แƒ แƒกแƒ แƒฌแƒ แƒแƒคแƒ˜ แƒแƒกแƒแƒฌแƒงแƒแƒ‘แƒ˜แƒ, แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒแƒช แƒ‘แƒ”แƒ•แƒ  แƒฎแƒแƒ แƒฏแƒก แƒแƒ  แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก. แƒ˜แƒก แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒคแƒ แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ SEO-แƒกแƒ—แƒ•แƒ˜แƒก (Search Engine Optimization). แƒ แƒแƒชแƒ แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒ แƒแƒฆแƒแƒช แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒ แƒแƒ› แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ˜แƒงแƒแƒก, แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒแƒ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ›แƒซแƒ˜แƒ›แƒ” แƒแƒ แƒขแƒ˜แƒšแƒ”แƒ แƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒ“แƒแƒแƒ แƒ”แƒœแƒ“แƒ”แƒ แƒ”แƒ‘แƒก แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ  แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒก.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— 11ty-แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒแƒกแƒแƒฌแƒงแƒแƒ‘แƒแƒ“, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒช แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ— แƒ‘แƒšแƒแƒ’แƒก. แƒฉแƒ•แƒ”แƒœ แƒกแƒแƒ˜แƒขแƒก แƒšแƒแƒ˜แƒ•แƒ–แƒ” แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒ”แƒ‘แƒ— Netlify-แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒ˜แƒ—แƒฐแƒแƒ‘แƒ˜แƒก แƒ แƒ”แƒžแƒแƒ–แƒ˜แƒขแƒแƒ แƒ˜แƒแƒกแƒ—แƒแƒœ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ แƒงแƒแƒ•แƒ”แƒš แƒแƒฎแƒแƒš แƒฅแƒแƒ›แƒ˜แƒ—แƒ–แƒ” แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒก แƒ—แƒแƒ•แƒ˜แƒกแƒ˜แƒ— แƒ“แƒแƒแƒ แƒ”แƒœแƒ“แƒ”แƒ แƒ”แƒ‘แƒก. แƒแƒกแƒ” แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒซแƒšแƒ”แƒ‘แƒ— แƒ แƒ”แƒžแƒแƒ–แƒ˜แƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒแƒฎแƒแƒšแƒ˜ แƒ‘แƒšแƒแƒ’-แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒแƒก แƒ›แƒแƒ แƒ™แƒ“แƒแƒฃแƒœแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœแƒแƒช แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒแƒฎแƒแƒš แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ  แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒก.

แƒกแƒฎแƒ•แƒแƒ—แƒแƒจแƒแƒ แƒ˜แƒก, แƒ”แƒก แƒกแƒแƒ˜แƒขแƒ˜แƒช, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒช แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ› แƒขแƒ”แƒฅแƒกแƒขแƒก แƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒแƒ‘แƒ—, 11ty-แƒ˜แƒ— แƒแƒ แƒ˜แƒก แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒ˜!

แƒ’แƒแƒ•แƒแƒ›แƒ–แƒแƒ“แƒแƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜

แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒแƒฎแƒแƒšแƒ˜ แƒคแƒแƒšแƒ“แƒ”แƒ แƒ˜ แƒ“แƒ แƒ›แƒแƒกแƒจแƒ˜ แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒแƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

npm init -y
git init

แƒแƒฅแƒ•แƒ” แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— .gitignore แƒคแƒแƒ˜แƒšแƒ˜, แƒกแƒแƒ“แƒแƒช แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒก แƒ“แƒแƒ•แƒแƒ˜แƒ’แƒœแƒแƒ แƒ”แƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ— แƒแƒ แƒแƒกแƒแƒญแƒ˜แƒ แƒ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒก:

/.gitignore

node_modules
public

แƒ“แƒแƒ•แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— 11ty-แƒ˜แƒก แƒžแƒแƒ™แƒ”แƒขแƒ˜.

npm i --save-dev @11ty/eleventy

แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ package.json-แƒจแƒ˜ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒ’แƒแƒ•แƒแƒ›แƒ–แƒแƒ“แƒแƒ—:

/package.json

{
  "scripts": {
    "start": "eleventy --serve",
    "build": "eleventy"
  }
}

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒกแƒแƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ›แƒ”แƒœแƒขแƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก แƒ’แƒแƒฃแƒจแƒ•แƒ”แƒ‘แƒก, แƒ แƒแƒ—แƒ แƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ“แƒแƒ แƒ”แƒคแƒ แƒ”แƒจแƒ“แƒ”แƒก แƒงแƒแƒ•แƒ”แƒš แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒแƒ–แƒ”. แƒ›แƒ”แƒแƒ แƒ” แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒแƒแƒ’แƒ”แƒ‘แƒก แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒก โ€“ แƒแƒ› แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒแƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒก Netlify แƒ แƒแƒชแƒ แƒกแƒแƒ˜แƒขแƒก แƒšแƒแƒ˜แƒ•แƒจแƒ˜ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ—.

11ty แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒแƒ•แƒแƒ“ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒแƒ“แƒแƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ แƒฎแƒจแƒ˜แƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ‘แƒ”แƒ•แƒ  แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒกแƒแƒช แƒแƒ  แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒก. แƒ›แƒ˜แƒกแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒคแƒแƒšแƒ“แƒ”แƒ แƒ˜แƒก แƒ–แƒ”แƒ“แƒ แƒ“แƒแƒœแƒ”แƒ–แƒ” แƒฃแƒœแƒ“ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ“แƒ”แƒก, แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ— .eleventy.js (แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒ— แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜!).

/.eleventy.js

module.exports = function (eleventyConfig) {
  return {
    dir: {
      input: "src",
      output: "public",
    },
  };
};

แƒฉแƒ•แƒ”แƒœ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก แƒ•แƒแƒ”แƒฅแƒกแƒžแƒแƒ แƒขแƒ”แƒ‘แƒ—. แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ eleventyConfig แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒซแƒšแƒแƒ•แƒ แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ›แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ—. แƒแƒ›แƒฏแƒ”แƒ แƒแƒ“ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒ— แƒ•แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒก, แƒกแƒแƒ“แƒแƒช แƒ›แƒ˜แƒ•แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ—, แƒ แƒแƒ› แƒ™แƒแƒ“แƒ˜แƒก แƒฌแƒงแƒแƒ แƒ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ src แƒคแƒแƒšแƒ“แƒ”แƒ แƒ˜ แƒ“แƒ eleventy แƒแƒ› แƒ™แƒแƒ“แƒ˜แƒกแƒ’แƒแƒœ แƒ“แƒแƒแƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒก แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ  แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒก public แƒคแƒแƒšแƒ“แƒ”แƒ แƒจแƒ˜ (แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ _site แƒคแƒแƒšแƒ“แƒ”แƒ แƒจแƒ˜). แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒ› แƒฃแƒ™แƒแƒœแƒแƒกแƒ™แƒœแƒ”แƒšแƒก แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒกแƒแƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ›แƒ”แƒœแƒขแƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒ“แƒ, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, Netlify, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒก แƒฐแƒแƒกแƒขแƒแƒ•แƒก.

แƒ—แƒ”แƒ›แƒคแƒšแƒ”แƒ˜แƒ—แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— nunjucks-แƒก, แƒ—แƒฃแƒ›แƒชแƒ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒแƒ“ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ—แƒ”แƒ›แƒคแƒšแƒ”แƒ˜แƒ—แƒ˜แƒก แƒ”แƒœแƒ. แƒ›แƒแƒ—แƒ˜ แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ 11ty-แƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜แƒก แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒช! แƒ›แƒฎแƒแƒšแƒแƒ“ HTML-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒฃแƒแƒ–แƒ แƒ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ˜แƒœแƒ“แƒ eleventy-แƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒ™แƒฃแƒ แƒแƒ“ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ˜แƒœแƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜.

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ: แƒ—แƒฃ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— vscode-แƒก, แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— แƒคแƒšแƒแƒ’แƒ˜แƒœแƒ˜ โ€œNunjucks Templateโ€.

/src/index.njk

---
title: "Home"
---

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <h1>Hello World!</h1>
  </body>
</html>

แƒฏแƒ”แƒ แƒฏแƒ”แƒ แƒแƒ‘แƒ˜แƒ— แƒœแƒแƒœแƒฏแƒแƒ™แƒกแƒ˜แƒก แƒกแƒ˜แƒœแƒขแƒแƒฅแƒกแƒ˜ แƒแƒ  แƒ’แƒแƒ›แƒแƒ’แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ’แƒ˜แƒก แƒ“แƒ แƒแƒช แƒ›แƒแƒ•แƒ! แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ–แƒ”แƒ›แƒแƒ— แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒ”.แƒฌ โ€œfront matterโ€ แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช 11ty แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ“แƒ แƒ’แƒแƒ“แƒแƒแƒฅแƒชแƒ”แƒ•แƒก แƒฏแƒแƒ•แƒแƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒแƒ“. แƒ˜แƒ’แƒ˜ แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒแƒจแƒ˜. Front matter แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• YAML แƒคแƒแƒ แƒ›แƒแƒขแƒ˜แƒกแƒแƒ, แƒ—แƒฃแƒ›แƒชแƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— JSON แƒคแƒแƒ แƒ›แƒแƒขแƒ˜แƒก แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒแƒช แƒ—แƒฃแƒ™แƒ˜ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ“แƒ”แƒคแƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ›แƒ”แƒฃแƒšแƒก แƒ›แƒ˜แƒฃแƒฌแƒ”แƒ แƒ— json-แƒก:

---json
{
    "title": "Home"
}
---

แƒ•แƒชแƒแƒ“แƒแƒ— แƒ“แƒ แƒ“แƒแƒ•แƒ‘แƒ˜แƒšแƒ“แƒแƒ— แƒกแƒแƒ˜แƒขแƒ˜:

npm run start

แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜ แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒจแƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒก.

แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒ”แƒ‘แƒ˜

แƒแƒฎแƒšแƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— 11ty-แƒก แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒ”แƒ‘แƒ˜. 11ty แƒ—แƒ”แƒ›แƒคแƒšแƒ”แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœ แƒแƒกแƒžแƒ”แƒฅแƒขแƒก แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก, แƒ›แƒ˜แƒกแƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ”แƒ แƒ—แƒ’แƒแƒœ แƒ’แƒแƒœแƒ•แƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ— แƒ›แƒแƒ แƒ™แƒแƒžแƒ˜ แƒ“แƒ แƒ˜แƒก แƒ‘แƒ”แƒ•แƒ  แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒแƒ“แƒ’แƒ˜แƒšแƒแƒก แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ—. แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— _includes แƒคแƒแƒšแƒ“แƒ”แƒ แƒ˜ แƒ“แƒ แƒ›แƒแƒกแƒจแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜ base.njk. แƒ”แƒก แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒ˜.

/src/_includes/base.njk

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    {# แƒšแƒแƒ’แƒ #}
    <link rel="icon" type="image/png" href="/assets/icons/11ty-logo.png" />
    {# แƒกแƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜ #}
    <link rel="stylesheet" href="/styles/main.css" />
    <title>{{ title }}</title>
  </head>
  <body>
    <h1>แƒ”แƒก แƒขแƒ”แƒฅแƒกแƒขแƒ˜ แƒแƒ แƒ˜แƒก base.njk-แƒ“แƒแƒœ</h1>
    <main>{{ content | safe }}</main>
  </body>
</html>

index.njk-แƒจแƒ˜ แƒ›แƒ˜แƒ•แƒฃแƒ—แƒ˜แƒ—แƒแƒ—, แƒ แƒแƒ›แƒ”แƒš แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒจแƒ˜ แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒจแƒ”แƒคแƒ•แƒฃแƒ—แƒแƒ— แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒ แƒแƒช แƒแƒ› แƒคแƒแƒ˜แƒšแƒจแƒ˜ แƒ’แƒ•แƒ”แƒฅแƒœแƒ”แƒ‘แƒ.

---
layout: "base.njk"
title: "Home"
---

<div class="home-container">
  <h1>Hello World!</h1>
</div>

แƒ แƒแƒ“แƒ’แƒแƒœ index.njk-แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ layout-แƒก แƒ›แƒ˜แƒ•แƒ”แƒชแƒ˜แƒ— แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ, 11ty แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒก _includes แƒคแƒแƒšแƒ“แƒ”แƒ แƒจแƒ˜. แƒ˜แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฉแƒ•แƒ”แƒœ front matter-แƒจแƒ˜ แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ แƒแƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒจแƒ˜. แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒœแƒแƒœแƒฏแƒแƒ™แƒกแƒ˜แƒก แƒกแƒ˜แƒœแƒขแƒแƒฅแƒกแƒ˜แƒ—. แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜ แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒ›แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒ”แƒ— head-แƒจแƒ˜. content แƒแƒ แƒ˜แƒก แƒ’แƒšแƒแƒ‘แƒแƒšแƒฃแƒ แƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒแƒ แƒ˜แƒก index.njk-แƒก แƒจแƒ˜แƒ’แƒ—แƒแƒ•แƒกแƒ˜, แƒ“แƒแƒ™แƒแƒœแƒ•แƒ”แƒ แƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ HTML-แƒจแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒก safe แƒคแƒ˜แƒšแƒขแƒ แƒจแƒ˜ แƒ•แƒแƒขแƒแƒ แƒ”แƒ‘แƒ— |-แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒแƒ—แƒ˜, แƒ แƒแƒ—แƒ html แƒ˜แƒœแƒขแƒ”แƒ แƒžแƒ แƒ”แƒขแƒ˜แƒ แƒ“แƒ”แƒก. แƒกแƒฎแƒ•แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ›แƒแƒ แƒ™แƒแƒžแƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ“แƒแƒ แƒ”แƒœแƒ“แƒ”แƒ แƒ“แƒ”แƒ‘แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒขแƒ”แƒฅแƒกแƒขแƒ˜ (แƒ”แƒก แƒœแƒแƒœแƒฏแƒแƒ™แƒกแƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒ).

แƒ แƒ”แƒžแƒแƒ–แƒ˜แƒขแƒแƒ แƒ˜แƒ˜แƒ“แƒแƒœ แƒฉแƒแƒ›แƒแƒฌแƒ”แƒ แƒ”แƒ— แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒ’แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒ“แƒ แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒšแƒแƒ’แƒ. แƒกแƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— /src/styles/main.css-แƒจแƒ˜, แƒฎแƒแƒšแƒ แƒšแƒแƒ’แƒ โ€“ /src/assets/icons/11ty-logo.png. แƒฉแƒ•แƒ”แƒœ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒฅ แƒ›แƒแƒ’แƒ•แƒ˜แƒฌแƒ”แƒ•แƒก แƒกแƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒšแƒ˜แƒœแƒ™แƒ•แƒ แƒ“แƒ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ› แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒก แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก แƒกแƒขแƒ˜แƒšแƒ”แƒ‘แƒกแƒแƒช แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒก.

แƒแƒฅแƒ•แƒ” แƒ“แƒแƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ 11ty-แƒ˜แƒก แƒ•แƒฃแƒ—แƒฎแƒ แƒแƒ—, แƒ แƒแƒ› แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒแƒก public แƒคแƒแƒšแƒ“แƒ”แƒ แƒจแƒ˜, แƒ—แƒแƒ แƒ”แƒ› แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒแƒ•แƒแƒ“ แƒ—แƒ”แƒ›แƒคแƒšแƒ”แƒ˜แƒ—แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ“แƒ แƒ›แƒแƒก แƒกแƒฎแƒ•แƒ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒ’แƒแƒ“แƒแƒแƒฅแƒ•แƒก:

/.eleventy.js

module.exports = function (eleventyConfig) {
  // แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒก แƒแƒฆแƒœแƒ˜แƒจแƒœแƒฃแƒš แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒก public แƒคแƒแƒšแƒ“แƒ”แƒ แƒจแƒ˜
  eleventyConfig.addPassthroughCopy("./src/styles");
  eleventyConfig.addPassthroughCopy("./src/assets");

  return {
    dir: {
      input: "src",
      output: "public",
    },
  };
};

แƒแƒฎแƒšแƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜.

/src/_includes/header.njk

<header>
    <h3>My Blog</h3>
    <nav>
        <ul>
            <li><a href="/" class="{{ "active" if page.url === "/" }}">Home</a></li>
            <li><a href="/blog" class="{{ "active" if "/blog" in page.url }}">Blog</a></li>
        </ul>
    </nav>
</header>

11ty แƒ’แƒ•แƒแƒฌแƒ•แƒ“แƒ˜แƒก แƒ’แƒšแƒแƒ‘แƒแƒšแƒฃแƒ  แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒก page, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜ แƒšแƒ˜แƒœแƒ™แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ™แƒšแƒแƒกแƒ˜ แƒ›แƒ˜แƒ•แƒแƒœแƒ˜แƒญแƒแƒ— แƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒก. แƒ™แƒšแƒแƒกแƒกแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒœแƒแƒœแƒฏแƒแƒ™แƒกแƒ˜แƒก แƒกแƒ˜แƒœแƒขแƒแƒฅแƒกแƒ˜แƒก แƒ‘แƒ แƒญแƒงแƒแƒšแƒ”แƒ‘แƒก แƒ•แƒฎแƒกแƒœแƒ˜แƒ— แƒ“แƒ แƒ•แƒฌแƒ”แƒ แƒ— แƒšแƒแƒ’แƒ˜แƒ™แƒแƒก. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒ แƒแƒ› แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒฆแƒ˜แƒšแƒแƒ™แƒก แƒ›แƒ˜แƒ”แƒœแƒ˜แƒญแƒแƒก active แƒ™แƒšแƒแƒกแƒ˜, แƒ—แƒฃแƒ™แƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒšแƒ˜แƒœแƒ™แƒ˜ แƒแƒ แƒ˜แƒก โ€œ/โ€. แƒ›แƒ”แƒแƒ แƒ” แƒฆแƒ˜แƒšแƒแƒ™แƒ˜ แƒ™แƒ˜ แƒ›แƒแƒจแƒ˜แƒœ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜, แƒ—แƒฃแƒ™แƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒšแƒ˜แƒœแƒ™แƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก โ€œ/blogโ€-แƒก (แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— in แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒก). แƒ”แƒก แƒ˜แƒ›แƒแƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒฆแƒ˜แƒšแƒแƒ™แƒก active แƒ™แƒšแƒแƒกแƒ˜ แƒ›แƒแƒจแƒ˜แƒœแƒแƒช แƒ›แƒ˜แƒ”แƒœแƒ˜แƒญแƒ”แƒ‘แƒ, แƒ—แƒฃ แƒšแƒ˜แƒœแƒ™แƒ˜ แƒ–แƒฃแƒกแƒขแƒแƒ“ โ€œ/blogโ€ แƒแƒ  แƒแƒ แƒ˜แƒก (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“ โ€œ/blog/my-blog-titleโ€).

11ty-แƒจแƒ˜ แƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒฃแƒ™แƒ”แƒ— แƒ’แƒแƒกแƒแƒแƒ–แƒ แƒ”แƒ‘แƒšแƒแƒ“ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ”แƒชแƒœแƒแƒ— แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ  แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒก.

แƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— base.njk-แƒจแƒ˜.

/src/_includes/base.njk

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="icon" type="image/png" href="/assets/icons/11ty-logo.png" />
    <link rel="stylesheet" href="/styles/main.css" />
    <title>{{ title }}</title>
  </head>
  <body>
    {% include "header.njk" %}
    <main>{{ content | safe }}</main>
  </body>
</html>

แƒแƒฅแƒ•แƒ” แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— blog แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜. แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•, src-แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ แƒ แƒ—แƒ”แƒ›แƒคแƒšแƒ”แƒ˜แƒ— แƒคแƒแƒ˜แƒšแƒกแƒแƒช แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ˜แƒ—, แƒ’แƒแƒ“แƒแƒ˜แƒฅแƒชแƒ”แƒ•แƒ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒ’แƒ•แƒ”แƒ แƒ“แƒแƒ“ public แƒคแƒแƒšแƒ“แƒ”แƒ แƒจแƒ˜. แƒแƒฅแƒแƒช แƒฉแƒ•แƒ”แƒœ base.njk-แƒก แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒแƒ“ แƒ“แƒ แƒจแƒ”แƒ•แƒชแƒ•แƒšแƒ˜แƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒแƒ—แƒแƒฃแƒ แƒก.

/src/blog.njk

---
layout: "base.njk"
title: "Blog"
---

<div class="blogs">
  <h1>แƒแƒฅ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ‘แƒšแƒแƒ’-แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜</h1>
</div>

แƒแƒฎแƒšแƒ แƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒแƒจแƒ˜ Blog แƒฆแƒ˜แƒšแƒแƒ™แƒ›แƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ“แƒแƒ’แƒ•แƒ˜แƒงแƒ•แƒแƒœแƒแƒก แƒกแƒแƒ—แƒแƒœแƒแƒ“แƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ”, แƒฎแƒแƒšแƒ แƒ›แƒ˜แƒกแƒ˜ แƒคแƒ”แƒ แƒ˜ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒแƒก.

แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ - แƒ‘แƒšแƒแƒ’-แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜ markdown-แƒ˜แƒ—

แƒ›แƒแƒ แƒ™แƒ“แƒแƒฃแƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ—แƒฃ แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒชแƒ˜แƒ—, แƒ’แƒแƒ”แƒชแƒแƒœแƒ˜แƒ— แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒก. แƒฉแƒ•แƒ”แƒœ แƒ‘แƒšแƒแƒ’-แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒ”แƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒแƒ› แƒ›แƒแƒ แƒขแƒ˜แƒ• แƒ“แƒ แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒ แƒ™แƒแƒžแƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒแƒกแƒขแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒชแƒแƒšแƒ™แƒ”แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ“แƒ”แƒ‘แƒ front matter, แƒ แƒแƒ—แƒ 11ty-แƒ˜แƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ“แƒแƒ•แƒแƒ แƒ”แƒœแƒ“แƒ”แƒ แƒแƒ— แƒ“แƒ, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒ—แƒ•แƒ˜แƒ—แƒแƒœ แƒ›แƒแƒ แƒ™แƒ“แƒแƒฃแƒœแƒ˜ โ€“ แƒ‘แƒšแƒแƒ’แƒ˜แƒก แƒขแƒ”แƒฅแƒกแƒขแƒ˜. แƒ แƒแƒชแƒ แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒก แƒšแƒแƒ˜แƒ•แƒจแƒ˜ แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒ”แƒ‘แƒ—, แƒแƒฎแƒแƒšแƒ˜ แƒžแƒแƒกแƒขแƒ˜แƒก แƒ“แƒแƒกแƒแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ“ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒแƒฎแƒแƒš แƒ›แƒแƒ แƒ™แƒ“แƒแƒฃแƒœแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒก แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ— แƒ แƒ”แƒžแƒแƒ–แƒ˜แƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒ“แƒ แƒ“แƒแƒฅแƒแƒ›แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ Netlify แƒ“แƒ 11ty แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก แƒ—แƒแƒ•แƒ˜แƒกแƒ˜แƒ— แƒ›แƒแƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ”แƒœ.

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ˜แƒœแƒ“แƒ, แƒ แƒแƒ› แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜ แƒ›แƒแƒ”แƒฅแƒชแƒ”แƒก blog-แƒ˜แƒก แƒšแƒ˜แƒœแƒ™แƒ–แƒ” (website.com/blog/blogname), แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒคแƒแƒšแƒ“แƒ”แƒ แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒแƒ“ blog (src-แƒจแƒ˜) แƒ“แƒ แƒ˜แƒฅ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒแƒ แƒ™แƒ“แƒแƒฃแƒœแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜.

src แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ (แƒชแƒแƒขแƒแƒฎแƒœแƒ˜แƒ— แƒ“แƒแƒแƒ˜แƒ’แƒœแƒแƒ แƒ”แƒ— blog.json).

src
โ”œโ”€โ”€ assets
โ”‚   โ”œโ”€โ”€ icons
โ”‚   โ”‚   โ””โ”€โ”€ 11ty-logo.png
โ”‚   โ””โ”€โ”€ images              # แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒžแƒแƒกแƒขแƒจแƒ˜ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ—
โ”‚       โ”œโ”€โ”€ my-cat-1.jpg
โ”‚       โ”œโ”€โ”€ my-cat-2.jpg
โ”‚       โ””โ”€โ”€ my-cat-3.jpg
โ”œโ”€โ”€ blog
โ”‚   โ”œโ”€โ”€ blog.json           # แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜
โ”‚   โ”œโ”€โ”€ first-post.md
โ”‚   โ”œโ”€โ”€ second-post.md
โ”‚   โ””โ”€โ”€ third-post.md
โ”œโ”€โ”€ blog.njk
โ”œโ”€โ”€ _includes
โ”œโ”€โ”€ index.njk
โ””โ”€โ”€ styles
    โ””โ”€โ”€ main.css

แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒกแƒแƒ›แƒ˜ แƒžแƒ˜แƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒžแƒแƒกแƒขแƒ˜. แƒ›แƒแƒ—แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— 11ty แƒแƒแƒ’แƒ”แƒ‘แƒก แƒ‘แƒ›แƒฃแƒšแƒก, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒแƒ› แƒžแƒแƒกแƒขแƒก แƒ›แƒ˜แƒ•แƒแƒ’แƒœแƒ”แƒ‘แƒ—. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒžแƒแƒกแƒขแƒ˜แƒก แƒšแƒ˜แƒœแƒ™แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ localhost:8080/blog/first-post/.

แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ˜แƒ’แƒ—แƒแƒ•แƒกแƒ˜ แƒ“แƒ˜แƒ“แƒฌแƒ˜แƒšแƒแƒ“ แƒ”แƒ แƒ—แƒœแƒแƒ˜แƒ แƒ˜แƒ:

/src/blog/first-post.md

---
title: "First Post"
date: 2022-09-01
description: "This is the first post on my 11ty site"
image: "/assets/images/my-cat-1.jpg"
imageAlt: "Picture of a cat"
tags: ["featured", "cat"]
---

## Habet arisque nec puer ipse ab adflatuque

Lorem markdownum silvis cecidit magnis Bacchi, est tenebas; est atque ita videt
mensuraque senectus multis quoniam et! Digitos palato Epidauria ea illos
committere Phinea trepidantem quare; tempora corpus ipsoque! Primis aequantibus
leto blanditur, contigero dixerat templisque undas promisistis inque, dant.
Utrumque es suas attulerat incubuit sum fabula ungues et pectus Enipeus frigida!
Iaculum inpositum ululatibus geminos inplet secura Aetnaea, per turbam superos
linguam tenuere: et concolor nimium!

<!-- แƒขแƒ”แƒฅแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ... -->

front matter-แƒจแƒ˜ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒ•แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ—: แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜, แƒ—แƒแƒ แƒ˜แƒฆแƒ˜ (แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช 11ty Date แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒแƒ“ แƒ“แƒแƒแƒ™แƒแƒœแƒ•แƒ”แƒ แƒขแƒ˜แƒ แƒ”แƒ‘แƒก), แƒแƒฆแƒฌแƒ”แƒ แƒ, แƒกแƒฃแƒ แƒแƒ—แƒ˜, แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ แƒ“แƒ แƒ—แƒแƒ’แƒ”แƒ‘แƒ˜. แƒ—แƒแƒ’แƒ”แƒ‘แƒ˜ แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ™แƒแƒœแƒขแƒ”แƒœแƒขแƒ˜แƒก แƒ’แƒแƒกแƒแƒคแƒ˜แƒšแƒขแƒ แƒแƒ“. 11ty แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒ•แƒแƒซแƒšแƒ”แƒ•แƒก แƒ แƒแƒ› แƒ—แƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒแƒ•แƒ˜แƒฆแƒแƒ— แƒ“แƒ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ˜แƒ“แƒแƒœ แƒœแƒ˜แƒ•แƒ—แƒ”แƒ‘แƒ˜. แƒ—แƒฃ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒ แƒแƒ› แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒแƒ“ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒแƒก แƒ›แƒ˜แƒ”แƒœแƒ˜แƒญแƒแƒก, แƒแƒ แƒแƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒฌแƒ”แƒ แƒ front matter-แƒจแƒ˜. แƒจแƒ”แƒ’แƒ•แƒ˜แƒจแƒšแƒ˜แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒคแƒแƒšแƒ“แƒ”แƒ แƒจแƒ˜ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— (แƒคแƒแƒšแƒ“แƒ”แƒ แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ”) แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜:

/src/blog/blog.json

{
  "tags": "post"
}

แƒแƒ› แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒฃแƒ‘แƒœแƒ”แƒ‘แƒ˜แƒ— 11ty-แƒก, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒคแƒแƒ˜แƒšแƒก blog-แƒจแƒ˜, แƒ›แƒ˜แƒ”แƒœแƒ˜แƒญแƒแƒก แƒ—แƒแƒ’แƒ˜ โ€œpostโ€-แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒ—. แƒ แƒแƒชแƒ 11ty แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒ แƒ™แƒ“แƒแƒฃแƒœแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒแƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒ แƒžแƒแƒกแƒขแƒก แƒฉแƒแƒ•แƒฌแƒ•แƒ“แƒ”แƒ— แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒ› post แƒ—แƒแƒ’แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ แƒ™แƒ“แƒแƒฃแƒœแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒก แƒ”แƒฅแƒœแƒ”แƒ‘แƒ blogs แƒคแƒแƒšแƒ“แƒ”แƒ แƒจแƒ˜. แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— blog แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ” แƒžแƒแƒกแƒขแƒ˜แƒก แƒšแƒ˜แƒœแƒ™แƒ”แƒ‘แƒ˜, แƒ—แƒแƒ•แƒ˜แƒกแƒ˜ แƒ’แƒแƒ แƒ”แƒ™แƒแƒœแƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒ—, แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜แƒ—, แƒ—แƒแƒ แƒ˜แƒฆแƒ˜แƒ—แƒ แƒ“แƒ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒ—:

/src/blog.njk

---
layout: "base.njk"
title: "Blog"
---

<div class="blogs">
  <ul>
    {%- for post in collections.post | reverse -%}
    <li class="blog-preview">
      <img src="{{ post.data.image }}" alt="{{ post.data.imageAlt }}" />
      <div class="blog-preview__details">
        <div>
          <h1>{{ post.data.title }}</h1>
          <p class="blog-preview__date">{{ post.data.date }}</p>
          <p>{{ post.data.description }}</p>
        </div>
        <div class="blog-preview__actions">
          <a href="{{ post.url }}">
            <h3>READ</h3>
          </a>
        </div>
      </div>
    </li>
    {%- endfor -%}
  </ul>
</div>

แƒฉแƒ•แƒ”แƒœ แƒšแƒฃแƒžแƒก แƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ˜แƒก แƒกแƒ˜แƒแƒ–แƒ”. 11ty แƒ’แƒšแƒแƒ‘แƒแƒšแƒฃแƒ  แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒก (collections) แƒ˜แƒ› แƒ—แƒแƒ’แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ— แƒ›แƒ˜แƒฃแƒฉแƒ”แƒœแƒก แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ˜แƒก แƒกแƒ˜แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ front matter-แƒจแƒ˜, แƒแƒœ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ›แƒ˜แƒ•แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ—. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ blogs แƒคแƒแƒšแƒ“แƒ”แƒ แƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒแƒก แƒ’แƒแƒแƒฉแƒœแƒ˜แƒ post แƒ—แƒแƒ’แƒ˜, collections.post แƒ›แƒแƒ’แƒ•แƒแƒฌแƒ•แƒ“แƒ˜แƒก แƒกแƒ˜แƒแƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒ”แƒก แƒกแƒ˜แƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒ’แƒแƒขแƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ reverse แƒคแƒ˜แƒšแƒขแƒ แƒจแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒแƒ•แƒแƒ“ แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ แƒ“แƒแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฃแƒซแƒ•แƒ”แƒšแƒ”แƒกแƒ˜แƒ“แƒแƒœ แƒฃแƒแƒฎแƒšแƒ”แƒกแƒแƒ›แƒ“แƒ”, แƒฉแƒ•แƒ”แƒœ แƒ™แƒ˜ แƒžแƒ˜แƒ แƒ˜แƒฅแƒ˜แƒ— แƒ’แƒ•แƒ˜แƒœแƒ“แƒ โ€“ แƒฃแƒแƒฎแƒšแƒ”แƒกแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ—แƒแƒ•แƒจแƒ˜. แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒฃแƒš แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก แƒแƒ  แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ”แƒœ front matter-แƒจแƒ˜ (แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒ layout แƒ“แƒ tags), แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ data แƒคแƒ แƒแƒคแƒ”แƒ แƒ—แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“ แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒแƒกแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ post.data.title. แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ”แƒฎแƒ”แƒ‘แƒ แƒแƒฆแƒฌแƒ”แƒ แƒแƒกแƒ, แƒ—แƒแƒ แƒ˜แƒฆแƒก, แƒกแƒฃแƒ แƒแƒ—แƒกแƒ แƒ“แƒ แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒ™แƒฃแƒ แƒแƒ“ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ— แƒ—แƒ”แƒ›แƒคแƒšแƒ”แƒ˜แƒ—แƒจแƒ˜. แƒ แƒแƒฆแƒแƒชแƒ”แƒ‘แƒก 11ty แƒ—แƒแƒ•แƒ˜แƒกแƒ˜แƒ— แƒแƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒก, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ˜แƒก แƒšแƒ˜แƒœแƒ™แƒก (post.url) แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฉแƒ•แƒ”แƒœ a แƒ—แƒแƒ’แƒจแƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ แƒแƒ—แƒ แƒแƒ› แƒžแƒแƒกแƒขแƒ˜แƒก แƒšแƒ˜แƒœแƒ™แƒ–แƒ” แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ แƒจแƒ”แƒ•แƒซแƒšแƒแƒ—. แƒแƒ  แƒ“แƒแƒ’แƒแƒ•แƒ˜แƒฌแƒงแƒ“แƒ”แƒ—, แƒ แƒแƒ› แƒšแƒฃแƒžแƒ˜ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ˜แƒฎแƒฃแƒ แƒแƒก {%- endfor -%}-แƒ˜แƒ—.

แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ›แƒ”แƒขแƒ˜แƒก แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒแƒ“ แƒ’แƒแƒ”แƒชแƒแƒœแƒ˜แƒ— แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ  แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒก.

แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒแƒก แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ‘แƒ›แƒฃแƒšแƒ–แƒ” localhost:8080/blog/.

แƒชแƒฃแƒ“แƒ˜ แƒแƒ แƒแƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒแƒ แƒ˜แƒฆแƒ”แƒ‘แƒ˜, แƒชแƒแƒขแƒ แƒแƒ  แƒ˜แƒงแƒแƒก, แƒฃแƒจแƒœแƒแƒ. แƒแƒ›แƒแƒก แƒชแƒแƒขแƒ แƒฎแƒแƒœแƒจแƒ˜ แƒ›แƒแƒ•แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ—. แƒฏแƒ”แƒ  แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒฎแƒกแƒœแƒ แƒ“แƒ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ แƒ™แƒแƒ แƒ’แƒ˜. แƒกแƒแƒฅแƒ›แƒ” แƒ˜แƒกแƒแƒ, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜ แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒ”แƒ‘แƒก แƒแƒ  แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒžแƒแƒกแƒขแƒ›แƒ แƒ”แƒ แƒ—แƒ˜ แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒ˜ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก. แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒแƒฎแƒแƒšแƒ˜ แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒ˜:

/src/_includes/blog.njk

---
layout: "base.njk"
---

<article>
  <img src="{{ image }}" alt="{{ imageAlt }}" />
  <h1>{{ title }}</h1>
  {{ content | safe }}
</article>

แƒแƒฅ แƒ แƒแƒฆแƒแƒช แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒฎแƒ“แƒ”แƒ‘แƒ: แƒฉแƒ•แƒ”แƒœ แƒแƒฎแƒแƒš แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒจแƒ˜ แƒ›แƒ˜แƒ•แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ—, แƒ แƒแƒ› แƒ›แƒแƒœ, แƒ—แƒแƒ•แƒ˜แƒก แƒ›แƒฎแƒ แƒ˜แƒ•, แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก base.njk แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒ˜. แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒ”แƒขแƒ แƒ—แƒแƒ’แƒ”แƒ‘แƒ˜, body แƒ“แƒ main แƒ—แƒแƒ’แƒ”แƒ‘แƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒแƒ› แƒฃแƒ™แƒแƒœแƒแƒกแƒ™แƒœแƒ”แƒšแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ , แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒแƒ› main แƒ—แƒแƒ’แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒ˜แƒก แƒ˜แƒ› แƒฃแƒœแƒ˜แƒ™แƒแƒšแƒฃแƒ  แƒœแƒแƒฌแƒ˜แƒšแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ‘แƒšแƒแƒ’-แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ แƒแƒ—แƒ แƒ›แƒแƒ แƒ™แƒแƒžแƒ˜ แƒกแƒ”แƒ›แƒแƒœแƒขแƒ˜แƒ™แƒฃแƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก, แƒฉแƒ•แƒ”แƒœ แƒขแƒ”แƒฅแƒกแƒขแƒ˜ แƒฃแƒœแƒ“แƒ แƒ›แƒแƒ•แƒแƒฅแƒชแƒ˜แƒแƒ— article แƒ—แƒแƒ’แƒจแƒ˜. แƒแƒฅแƒ•แƒ” แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜ แƒ“แƒ แƒžแƒแƒกแƒขแƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒช.

แƒแƒฎแƒšแƒ blog แƒคแƒแƒšแƒ“แƒ”แƒ แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ›แƒ˜แƒ•แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒ˜:

/src/blog/blog.json

{
  "layout": "blog.njk",
  "tags": "post"
}

แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒแƒ“ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ•แƒซแƒšแƒแƒ— แƒกแƒ˜แƒ˜แƒ“แƒแƒœ แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒฎแƒกแƒœแƒ! แƒ แƒแƒ’แƒแƒ แƒช แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒ˜แƒ“แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒ—แƒ”แƒ›แƒคแƒšแƒ”แƒ˜แƒ—แƒจแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒ“แƒ แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜แƒช แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒ”แƒ— (แƒแƒกแƒ”แƒ•แƒ” แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒ—แƒแƒ•แƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜แƒก แƒขแƒแƒ‘แƒ–แƒ” แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒก). แƒ‘แƒšแƒแƒ’-แƒžแƒแƒกแƒขแƒ˜ แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒแƒ“ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก blog.njk-แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒขแƒ”แƒฅแƒกแƒขแƒก แƒแƒ›แƒแƒขแƒ”แƒ‘แƒก แƒกแƒฃแƒ แƒแƒ—แƒกแƒ แƒ“แƒ แƒกแƒแƒ—แƒแƒฃแƒ แƒก, แƒฎแƒแƒšแƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก article แƒ—แƒแƒ’แƒ”แƒ‘แƒจแƒ˜ แƒแƒฅแƒชแƒ”แƒ•แƒก. แƒ—แƒแƒ•แƒ˜แƒก แƒ›แƒฎแƒ แƒ˜แƒ• แƒ”แƒก แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒ˜ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก base.njk-แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒคแƒฃแƒ—แƒแƒ•แƒก แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก แƒกแƒฎแƒ•แƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒแƒ แƒ™แƒแƒžแƒ˜แƒ—.

แƒ›แƒแƒ“แƒ˜แƒ—, แƒ‘แƒแƒ แƒ”แƒ›, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ‘แƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ˜แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒœแƒ˜แƒ•แƒ—แƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ แƒชแƒแƒšแƒ™แƒ” แƒคแƒแƒ˜แƒšแƒจแƒ˜ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒขแƒแƒœแƒแƒ— แƒ“แƒ แƒ˜แƒกแƒ” แƒ“แƒแƒ•แƒแƒ˜แƒ›แƒžแƒแƒ แƒขแƒแƒ— blog.njk-แƒจแƒ˜. แƒแƒกแƒ” แƒจแƒ”แƒ•แƒซแƒšแƒ”แƒ‘แƒ— แƒ แƒแƒ› แƒ‘แƒšแƒแƒ’แƒ˜แƒก preview แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒแƒ“แƒ’แƒ˜แƒšแƒแƒก แƒ’แƒแƒ•แƒฎแƒแƒ“แƒแƒ— แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜.

/src/_includes/post-preview.njk

<li class="blog-preview">
  <img src="{{ post.data.image }}" alt="{{ post.data.imageAlt }}" />
  <div class="blog-preview__details">
    <div>
      <h1>{{ post.data.title }}</h1>
      <p class="blog-preview__date">{{ post.data.date | dateString }}</p>
      <p>{{ post.data.description }}</p>
    </div>
    <div class="blog-preview__actions">
      <a href="{{ post.url }}">
        <h3>READ</h3>
      </a>
    </div>
  </div>
</li>

/src/blog.njk

---
layout: "base.njk"
title: "Blog"
---

<div class="blogs">
    <ul>
        {%- for post in collections.post | reverse -%}
            {% include "post-preview.njk" %}
        {%- endfor -%}
    </ul>
</div>

แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒ›แƒ—แƒแƒ•แƒแƒ  แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ” แƒ’แƒ•แƒ˜แƒœแƒ“แƒ, แƒ แƒแƒ› แƒ˜แƒก แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒฎแƒ•แƒ แƒ—แƒแƒ’แƒ˜ แƒแƒฅแƒ•แƒก แƒ›แƒ˜แƒœแƒ˜แƒญแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, featured. แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ‘แƒšแƒแƒ’แƒก, แƒ—แƒฃ แƒ–แƒ”แƒ›แƒแƒ— แƒ’แƒแƒ“แƒแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ—, แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒ”แƒก แƒ—แƒแƒ’แƒ˜ แƒ›แƒ˜แƒ•แƒแƒœแƒ˜แƒญแƒ”แƒ—.

/src/index.njk

---
layout: "base.njk"
title: "Home"
---

<div class="home-container">
    <h1>Featured Posts</h1>
    <ul>
        {%- for post in collections.featured -%}
            {% include "post-preview.njk" %}
        {%- endfor -%}
    </ul>
</div>

แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ˜แƒ—, แƒ“แƒแƒ•แƒšแƒฃแƒžแƒแƒ— แƒแƒ›แƒฏแƒ”แƒ แƒแƒ“ featured แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒžแƒแƒกแƒขแƒ˜แƒ. แƒšแƒฃแƒžแƒจแƒ˜ แƒ“แƒแƒ•แƒแƒ˜แƒ›แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ— แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒก, แƒ แƒแƒกแƒแƒช แƒ‘แƒšแƒแƒ’แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— แƒ˜แƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒ”แƒ‘แƒก แƒ“แƒ แƒ‘แƒšแƒแƒ’แƒ˜แƒก preview-แƒก แƒ’แƒแƒแƒฉแƒ”แƒœแƒก.

Filters & Shortcodes

Filters

แƒแƒฎแƒšแƒ แƒฃแƒจแƒœแƒ แƒ—แƒแƒ แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ›แƒ˜แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ‘แƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒแƒจแƒ˜. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒคแƒ˜แƒšแƒขแƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ—แƒแƒ แƒ˜แƒฆแƒก แƒ’แƒแƒ แƒ“แƒแƒฅแƒ›แƒœแƒ˜แƒก.

/.eleventy.js

const { DateTime } = require("luxon");

module.exports = function (eleventyConfig) {
  eleventyConfig.addPassthroughCopy("./src/styles");
  eleventyConfig.addPassthroughCopy("./src/assets");

  // แƒ—แƒแƒ แƒ˜แƒฆแƒ˜แƒก แƒ’แƒแƒ แƒ“แƒแƒฅแƒ›แƒœแƒ˜แƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜
  eleventyConfig.addFilter("dateString", (dateObj) => {
    return DateTime.fromJSDate(dateObj).toLocaleString();
  });

  return {
    dir: {
      input: "src",
      output: "public",
    },
  };
};

luxon แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช 11ty-แƒก แƒ›แƒแƒงแƒ•แƒ”แƒ‘แƒ. แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒก แƒ•แƒแƒ˜แƒ›แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ— แƒ“แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก API-แƒก แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒ•แƒแƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒ— แƒแƒฎแƒแƒš แƒคแƒ˜แƒšแƒขแƒ แƒก. addFilter แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒแƒ“ แƒ˜แƒฆแƒ”แƒ‘แƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒก, แƒฎแƒแƒšแƒ แƒ›แƒ”แƒแƒ แƒ” แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒแƒ“ แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒแƒก แƒฅแƒแƒšแƒ‘แƒ”แƒฅ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒจแƒ˜. แƒฅแƒแƒšแƒ‘แƒ”แƒฅแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒกแƒแƒช แƒแƒ› แƒคแƒ˜แƒšแƒขแƒ แƒจแƒ˜ แƒ’แƒแƒ•แƒแƒขแƒแƒ แƒ”แƒ‘แƒ— แƒ—แƒ”แƒ›แƒคแƒšแƒ”แƒ˜แƒ—แƒ˜แƒ“แƒแƒœ. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ 11ty แƒฉแƒ•แƒ”แƒœ แƒ—แƒแƒ แƒ˜แƒฆแƒก Date แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒแƒ“ แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก, แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒ› แƒคแƒแƒ แƒ›แƒ˜แƒ— แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ›แƒแƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒจแƒ˜แƒช. แƒ“แƒแƒ˜แƒ›แƒžแƒแƒ แƒขแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒ— แƒ•แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ— แƒ’แƒแƒ แƒ“แƒแƒฅแƒ›แƒœแƒ˜แƒš แƒ—แƒแƒ แƒ˜แƒฆแƒก, แƒกแƒขแƒ แƒ˜แƒœแƒ’แƒ˜แƒก แƒคแƒแƒ แƒ›แƒ˜แƒ—.

แƒแƒฎแƒšแƒ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ”แƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ—:

/src/_includes/post-preview.njk

<li class="blog-preview">
  <img src="{{ post.data.image }}" alt="{{ post.data.imageAlt }}" />
  <div class="blog-preview__details">
    <div>
      <h1>{{ post.data.title }}</h1>
      <p class="blog-preview__date">{{ post.data.date | dateString }}</p>
      <p>{{ post.data.description }}</p>
    </div>
    <div class="blog-preview__actions">
      <a href="{{ post.url }}">
        <h3>READ</h3>
      </a>
    </div>
  </div>
</li>

post.data.date-แƒก |-แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒแƒ—แƒ˜ แƒ•แƒแƒขแƒแƒ แƒ”แƒ‘แƒ— แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ”แƒ  แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒš แƒคแƒ˜แƒšแƒขแƒ แƒจแƒ˜: dateString.

แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ—: แƒ แƒแƒชแƒ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ’แƒ•แƒแƒฅแƒ•แƒก .eleventy.js แƒคแƒแƒ˜แƒšแƒจแƒ˜, แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ“แƒแƒ แƒ”แƒกแƒขแƒแƒ แƒขแƒ”แƒ‘แƒ, แƒ แƒแƒ—แƒ แƒ”แƒก แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒแƒ˜แƒกแƒแƒฎแƒแƒก.

แƒแƒฎแƒšแƒ แƒžแƒแƒกแƒขแƒ˜แƒก แƒ—แƒแƒ แƒ˜แƒฆแƒ˜ แƒฃแƒ™แƒ”แƒ— แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒแƒ“แƒ”แƒก.

Shortcodes

แƒจแƒแƒ แƒ—แƒ™แƒแƒ“แƒ”แƒ‘แƒ˜ 11ty-แƒ˜แƒก แƒ›แƒแƒ แƒ˜แƒ’แƒ˜ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒฏแƒแƒ•แƒแƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒแƒฃแƒ—แƒคแƒฃแƒ—แƒ˜ แƒ’แƒแƒ›แƒแƒ•แƒกแƒแƒฎแƒแƒ— แƒ—แƒ”แƒ›แƒคแƒšแƒ”แƒ˜แƒ—แƒจแƒ˜. แƒ•แƒ—แƒฅแƒ•แƒแƒ— แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— footer-แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒฌแƒ”แƒšแƒก.

แƒฏแƒ”แƒ  แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒจแƒแƒ แƒ—แƒ™แƒแƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ’แƒ•แƒ˜แƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒฌแƒ”แƒšแƒก แƒกแƒขแƒ แƒ˜แƒœแƒ’แƒ˜แƒก แƒคแƒแƒ แƒ›แƒ˜แƒ—. แƒแƒ› แƒจแƒแƒ แƒ—แƒ™แƒแƒ“แƒก แƒ›แƒ˜แƒ•แƒแƒœแƒ˜แƒญแƒแƒ— แƒกแƒแƒฎแƒ”แƒšแƒ˜ year.

/.eleveny.js

module.exports = function (eleventyConfig) {
  // ... แƒกแƒฎแƒ•แƒ แƒ แƒแƒฆแƒแƒชแƒ”แƒ‘แƒ˜
  eleventyConfig.addShortcode("year", () => `${new Date().getFullYear()}`);

  return {
    dir: {
      input: "src",
      output: "public",
    },
  };
};

แƒแƒฎแƒšแƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒคแƒฃแƒขแƒ”แƒ แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜, แƒกแƒแƒ“แƒแƒช แƒแƒ› แƒจแƒแƒ แƒ—แƒ™แƒแƒ“แƒก แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ—:

/src/_includes/footer.njk

<footer>
  <span> &copy; แƒ•แƒ˜แƒฆแƒแƒช แƒ•แƒ˜แƒฆแƒแƒชแƒ˜แƒซแƒ” {% year %} </span>
</footer>

แƒ“แƒ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ”แƒก แƒคแƒฃแƒขแƒ”แƒ แƒ˜ แƒฉแƒ•แƒ”แƒœแƒก แƒ›แƒ—แƒแƒ•แƒแƒ  แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒจแƒ˜ (base.njk), body แƒ—แƒแƒ’แƒ˜แƒก แƒ“แƒแƒฎแƒฃแƒ แƒ•แƒแƒ›แƒ“แƒ”.

/src/_includes/base.njk

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="icon" type="image/png" href="/assets/icons/11ty-logo.png" />
    <link rel="stylesheet" href="/styles/main.css" />
    <title>{{ title }}</title>
  </head>
  <body>
    {% include "header.njk" %}
    <main>{{ content | safe }}</main>
    {% include "footer.njk" %}
  </body>
</html>

แƒ“แƒแƒ•แƒแƒ แƒ”แƒกแƒขแƒแƒ แƒขแƒแƒ— แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒ“แƒ แƒ“แƒแƒ•แƒขแƒ™แƒ‘แƒ”แƒ— แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜แƒ—!

SEO

แƒ แƒแƒ—แƒ แƒกแƒแƒซแƒ˜แƒ”แƒ‘แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ›แƒ แƒฃแƒ™แƒ”แƒ— แƒ“แƒแƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒแƒœ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜, แƒ™แƒแƒ แƒ’แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ—แƒฃ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒ”แƒขแƒ แƒ—แƒแƒ’แƒก แƒ“แƒแƒ•แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒ— แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒก. แƒ”แƒกแƒ”แƒœแƒ˜แƒ Open Graph Tags. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒชแƒแƒšแƒ™แƒ” แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜, แƒกแƒแƒ“แƒแƒช แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒ™แƒฃแƒ แƒแƒ“ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒแƒกแƒขแƒ˜แƒ“แƒแƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ—:

/src/_includes/og-tags.njk

<meta property="og:title" content="{{ title }}" />
<meta property="og:description" content="{{ description }}" />
<meta property="og:image" content="{{ image }}" />

แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ”แƒก แƒ“แƒแƒ•แƒแƒ˜แƒ›แƒžแƒแƒ แƒขแƒแƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒšแƒ”แƒ˜แƒแƒฃแƒ—แƒ˜แƒก head-แƒจแƒ˜.

/src/_includes/base.njk

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="icon" type="image/png" href="/assets/icons/11ty-logo.png" />
    <link rel="stylesheet" href="/styles/main.css" />
    {% include "og-tags.njk" %}
    <title>{{ title }}</title>
  </head>
  <body>
    {% include "header.njk" %}
    <main>{{ content | safe }}</main>
    {% include "footer.njk" %}
  </body>
</html>

แƒแƒกแƒ” แƒกแƒแƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒšแƒแƒ’แƒ˜แƒก แƒšแƒ˜แƒœแƒ™แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒแƒœ แƒšแƒแƒ›แƒแƒ– preview-แƒ”แƒ‘แƒก. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒฐแƒแƒกแƒขแƒ˜แƒšแƒ˜ แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒšแƒ˜แƒœแƒ™แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— Facebook Debugger-แƒ–แƒ”.

แƒแƒกแƒ”แƒ•แƒ”, แƒ™แƒแƒ แƒ’แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ, แƒ—แƒฃ แƒ›แƒ—แƒแƒ•แƒแƒ  แƒ’แƒ•แƒ”แƒ แƒ“แƒกแƒ แƒ“แƒ แƒ‘แƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒกแƒแƒช แƒ“แƒแƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒ— แƒ™แƒแƒ แƒ’ แƒแƒฆแƒฌแƒ”แƒ แƒแƒกแƒ แƒ“แƒ แƒกแƒฃแƒ แƒแƒ—แƒก. แƒแƒ› แƒกแƒแƒฅแƒ›แƒ”แƒก แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒแƒ’แƒแƒœแƒ“แƒแƒ‘แƒ—.

แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒ“แƒแƒฐแƒแƒกแƒขแƒ•แƒ แƒ“แƒ แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒแƒ— แƒแƒฎแƒแƒšแƒ˜ แƒžแƒแƒกแƒขแƒ˜? แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒ แƒ™แƒ“แƒแƒฃแƒœแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜ blog แƒคแƒแƒšแƒ“แƒ”แƒ แƒจแƒ˜ แƒแƒœ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒแƒ˜แƒœแƒช แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ แƒ•แƒแƒ แƒ—, แƒ“แƒแƒแƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ— แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜, แƒจแƒ”แƒฃแƒชแƒ•แƒแƒšแƒ”แƒ— แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒ“แƒ แƒจแƒ˜แƒ’แƒ—แƒแƒ•แƒกแƒ˜ แƒ“แƒ แƒจแƒ”แƒฎแƒ”แƒ“แƒ”แƒ— แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒก. แƒฌแƒ”แƒกแƒ˜แƒ—, แƒแƒฎแƒแƒšแƒ˜ แƒžแƒแƒกแƒขแƒ˜แƒก preview แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒก. แƒšแƒแƒ˜แƒ• แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ–แƒ”แƒช แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ˜แƒ— แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก.

แƒ”แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒจแƒ”แƒ•แƒ˜แƒœแƒแƒฎแƒแƒ— แƒ’แƒ˜แƒ—แƒฐแƒแƒ‘แƒ˜แƒก แƒ แƒ”แƒžแƒแƒ–แƒ˜แƒขแƒแƒ แƒ˜แƒแƒ–แƒ”. แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›, แƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒ’แƒแƒ•แƒ˜แƒแƒ แƒแƒ— Netlify-แƒ–แƒ” แƒ“แƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒแƒฎแƒแƒšแƒ˜ แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ“แƒแƒ•แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ— แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒ˜แƒ—แƒฐแƒแƒ‘แƒ˜แƒก แƒ แƒ”แƒžแƒแƒ–แƒ˜แƒขแƒแƒ แƒ˜แƒแƒก. Add a new site > import existing project > github > your_github_repo. แƒแƒฅ Netlify แƒฎแƒ•แƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ› 11ty-แƒก แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ“แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒก แƒ—แƒ•แƒ˜แƒ—แƒแƒœ แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก, แƒ—แƒฃแƒ›แƒชแƒ แƒ แƒแƒฆแƒแƒชแƒ”แƒ‘แƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒแƒ“ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒจแƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒจแƒ”แƒ•แƒแƒกแƒฌแƒแƒ แƒแƒ—: publish directory-แƒ˜แƒก แƒ’แƒ แƒแƒคแƒแƒจแƒ˜ _site-แƒก แƒ›แƒแƒ’แƒ˜แƒ•แƒ แƒแƒ“ แƒฉแƒแƒ•แƒฌแƒ”แƒ แƒแƒ— public, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒแƒ˜แƒขแƒ˜, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ›แƒแƒœแƒ“ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ. แƒ—แƒฃ แƒ”แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒจแƒ˜ แƒแƒ  แƒ›แƒ˜แƒ’แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒแƒ—, _site แƒ“แƒแƒขแƒแƒ•แƒ”แƒ—. แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒแƒแƒญแƒ˜แƒ แƒ”แƒ— deploy site-แƒก. 11ty แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ›แƒกแƒฃแƒ‘แƒฃแƒฅแƒ˜ แƒ“แƒ แƒกแƒฌแƒ แƒแƒคแƒ˜แƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› build-แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ“แƒ แƒ แƒแƒ  แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ.

แƒ›แƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ แƒแƒช แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒœแƒแƒจแƒ แƒแƒ›แƒ˜แƒ— แƒขแƒ™แƒ‘แƒแƒ‘แƒแƒก แƒ›แƒแƒ แƒฉแƒ”แƒ‘แƒ˜แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒฎแƒแƒšแƒ˜ แƒ‘แƒšแƒแƒ’แƒ˜แƒก แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒกแƒชแƒแƒ“แƒแƒ—. แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒšแƒแƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒ”แƒ“แƒ˜แƒขแƒแƒ แƒ˜แƒ— (แƒแƒœ แƒ—แƒฃแƒœแƒ“แƒแƒช แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ— แƒ’แƒ˜แƒ—แƒฐแƒแƒ‘แƒ˜แƒก แƒ แƒ”แƒžแƒแƒ–แƒ˜แƒขแƒแƒ แƒ˜แƒ แƒ“แƒ แƒ“แƒแƒแƒญแƒ˜แƒ แƒ”แƒ— .-แƒก แƒ แƒแƒ—แƒ remote editor แƒ’แƒแƒฎแƒกแƒœแƒแƒ—). blog แƒคแƒแƒšแƒ“แƒ”แƒ แƒจแƒ˜ แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒ แƒ™แƒ“แƒแƒฃแƒœแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜, แƒ“แƒแƒฌแƒ”แƒ แƒ”แƒ— แƒขแƒ”แƒฅแƒกแƒขแƒ˜, แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ— front matter-แƒจแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ˜แƒ›แƒแƒ•แƒ” แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒฎแƒ•แƒ แƒžแƒแƒกแƒขแƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒแƒแƒฅแƒแƒ›แƒ˜แƒ—แƒ”แƒ— แƒแƒฎแƒแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜:

git add .
git commit -m "added a new post"
git push

(แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— vscode-แƒ˜แƒ— git-แƒ˜แƒก แƒ›แƒ”แƒœแƒ˜แƒฃแƒ—แƒ˜ แƒ“แƒแƒแƒฅแƒแƒ›แƒ˜แƒ—แƒแƒ— แƒ“แƒ แƒ“แƒแƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒ˜แƒ แƒแƒ— แƒ แƒ”แƒžแƒแƒ–แƒ˜แƒขแƒแƒ แƒ˜แƒ)

แƒ แƒแƒชแƒ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒก แƒ’แƒ˜แƒ—แƒฐแƒแƒ‘แƒ–แƒ” แƒแƒกแƒแƒฎแƒแƒ•แƒ—, Netlify แƒแƒ› แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ“แƒแƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒก แƒ“แƒ แƒกแƒแƒ˜แƒขแƒก แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก build-แƒก, แƒแƒ›แƒฏแƒ”แƒ แƒแƒ“ แƒแƒฎแƒแƒšแƒ˜ แƒžแƒแƒกแƒขแƒ˜แƒ—. แƒแƒ›แƒแƒก Netlify แƒœแƒแƒฎแƒ”แƒ•แƒแƒ  แƒฌแƒฃแƒ—แƒกแƒแƒช แƒแƒ  แƒ›แƒแƒแƒœแƒ“แƒแƒ›แƒ”แƒ‘แƒก.

แƒแƒกแƒ” แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒแƒฌแƒงแƒแƒ— แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜ แƒ‘แƒšแƒแƒ’แƒ˜แƒ— แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒ“แƒ˜แƒ“แƒ˜ แƒ“แƒ แƒ›แƒซแƒ˜แƒ›แƒ” แƒคแƒ แƒ”แƒ˜แƒ›แƒ•แƒแƒ แƒฅแƒ”แƒ‘แƒ˜. Netlify แƒแƒกแƒ”แƒ•แƒ” แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ“แƒแƒแƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒ˜แƒ แƒแƒ— แƒ™แƒแƒœแƒขแƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ (CMS), แƒ แƒแƒ›แƒšแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—แƒแƒช แƒžแƒแƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ แƒ“แƒ แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒจแƒ˜แƒ•แƒ”. Netlify-แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒ›แƒ”แƒ˜แƒœแƒ˜แƒก แƒจแƒ”แƒซแƒ”แƒœแƒแƒช, แƒแƒœ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒแƒ›แƒ”แƒ˜แƒœแƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒแƒช. แƒแƒกแƒ”แƒ แƒแƒ›, แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒกแƒ แƒฃแƒšแƒคแƒแƒกแƒแƒ•แƒœแƒแƒ“ แƒแƒ’แƒ”แƒ‘แƒแƒกแƒ แƒ“แƒ แƒ“แƒ แƒฐแƒแƒกแƒขแƒ•แƒแƒก แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒฃแƒœแƒ“แƒ!

แƒ’แƒแƒ™แƒ•แƒ”แƒ—แƒ˜แƒšแƒ˜แƒก แƒ›แƒแƒกแƒแƒšแƒ

แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜