Hugo Boilerplate สำหรับการสร้างเว็บไซต์ที่ทันสมัย?
แผ่นหม้อไอน้ำนี้ห่อหุ้มฮังโกะด้วยอึกขณะที่การพัฒนาในพื้นที่ของคุณสร้างท่อส่ง
POSTCSS และ WebPack + Babel ใช้สำหรับ CSS และ JS Compiling & Transpiling
Browsersync ใช้สำหรับมอบประสบการณ์การพัฒนาท้องถิ่นที่ทันสมัยช่วยให้คุณสามารถดูตัวอย่างไซต์ของคุณบนอุปกรณ์หลายเครื่องที่ซิงค์
เบราว์เซอร์ลิสต์ใช้สำหรับการกำหนดค่าการสนับสนุนเบราว์เซอร์
SVG Sprite ใช้เพื่อสร้างสไปรต์ SVG
ในการใช้อึกคุณต้องติดตั้งโหนดและ NPM
เมื่อมีการติดตั้งสิ่งที่จำเป็นต้องมี
npm install
สิ่งนี้จะติดตั้ง Hugo รวมถึงการพึ่งพาโหนดทั้งหมดที่จำเป็นในการเรียกใช้สภาพแวดล้อม Hugo ของคุณ อาจใช้เวลาสักครู่!
งานการพัฒนาทั้งหมดดำเนินการโดยใช้ NPM Run ดู "scripts"
ใน package.json สำหรับรายการคำสั่งทั้งหมด
การพัฒนาในท้องถิ่นใช้พลังงานจาก Browsersync คุณจะสามารถพัฒนาเว็บไซต์ได้อย่างรวดเร็ว:
http://localhost:3000/
การรันเซิร์ฟเวอร์การพัฒนาในพื้นที่นั้นง่ายเหมือนการทำงาน:
npm start
สิ่งนี้จะแสดงเนื้อหาทั้งหมดในอนาคตหรือเนื้อหาที่หมดอายุซึ่งไม่รวมอยู่ในการสร้างการผลิตของคุณ
หากคุณต้องการพัฒนากับไซต์ตามที่ปรากฏในการผลิต Run:
npm run preview
ในการสร้างการสร้างการผลิตขั้นสุดท้ายบนเครื่องในพื้นที่ของคุณคุณสามารถเรียกใช้:
npm run build
การผลิตใหม่ของเว็บไซต์ของคุณจะจบลงใน dist/
Directory
คำสั่ง CLI ของ Hugo ทั้งหมดสามารถเรียกใช้ผ่าน NPM ได้โดยเรียกใช้:
npm run hugo -- <command> --<param>
ตัวอย่างเช่น:
npm run hugo -- new posts/example-post.md
// => creates a new post at hugo/content/posts/example-post.md
.
├── .tmp/ // Temporary directory for development server
├── dist/ // The production build
├── hugo/ // The Hugo project; content, data and static files
| ├── .forestry/ // Contains Forestry.io configuration files
| ├── content/ // Where all site content is stored
| ├── data/ // TOML, YAML or JSON files containing site data
| ├── layouts/ // Your site's layouts
| | ├── partials/ // Your site's partials
| | └── shortcodes/ // Your site's shortcodes
| ├── static/ // Where all static files live
| | ├── css/ // Where compiled CSS files live
| | ├── js/ // Where compiled JS files live
| | └── uploads/ // Where user uploads are stored
| └── config.toml // The Hugo configuration file
└─── src/
├── css // CSS/SCSS source files to be compiled to /css/
└── js // JS source files to be compiled to /js/
SVG ใด ๆ ที่พบใน src/img/
จะรวมกันเป็นสไปรต์ SVG เดียวที่ hugo/static/svg/sprite.symbol.svg
แผ่นหม้อไอน้ำนี้มาพร้อมกับบางส่วนง่าย ๆ สำหรับการใช้ SVGs ในเลย์เอาต์ของคุณ คุณสามารถเลือก SVG โดยผ่าน ID ของมัน
{{/* Using a logo stored at src/img/github.svg */}}
{{ partial "svg" (dict "id" "github" "class" "optional-class" "width" 32 "height" 32) -}}
หมายเหตุ: พารามิเตอร์ class
width
และ height
เป็นทางเลือก
แผ่นหม้อไอน้ำนี้มาพร้อมกับการกำหนดค่า ESLINT และ StyleLint ที่จะเป็นมาตรฐาน CSS และ JS ของคุณสำหรับข้อผิดพลาดหรือปัญหาสไตล์ทั่วไปซึ่งทำงานกับ IDE ที่ได้รับความนิยมมากที่สุด
การทดสอบสามารถเรียกใช้จากบรรทัดคำสั่ง:
npm run eslint
npm run stylelint
หากคุณต้องการแก้ไขข้อผิดพลาดของผ้าสำลีโดยอัตโนมัติคุณสามารถทำได้จากบรรทัดคำสั่งเช่นกัน:
npm run eslint:fix
npm run stylelint:fix
แผ่นหม้อต้มนี้เป็นการทำความสะอาดตัวเองและจะลบการผลิต dist/
และการพัฒนา .tmp/
โฟลเดอร์ทุกครั้งที่คำสั่งทำงานเพื่อให้แน่ใจว่าเนื้อหาของพวกเขาเป็นข้อมูลล่าสุดเสมอ
หากคุณต้องการทำความสะอาดด้วยตนเอง Run:
npm run clean
งานสร้างทั้งหมดได้รับการจัดการโดยอึกและตั้งอยู่ใน gulpfile.babel.js
ทุกส่วนของบิลด์สามารถกำหนดค่าได้ในไฟล์ที่ไม่ต่อเนื่องเพื่อให้การจัดการง่ายขึ้น
เส้นทางการสร้างและเส้นทางปลายทางทั้งหมดสามารถกำหนดค่าได้จาก gulp.config.js
คำสั่ง build สำหรับ Hugp สามารถกำหนดค่าได้จาก gulp.config.js
คำสั่ง build ถูกตั้งค่าตามตัวแปรสภาพแวดล้อม NODE_ENV
คุณสามารถเลือกโหลด args ที่แตกต่างกันโดยใช้ตัวแปรสภาพแวดล้อม GENERATOR_ARGS
มีสี่ตัวเลือก:
default
: คำสั่ง build เริ่มต้นที่ทำงานอยู่เสมอdevelopment
: คำสั่ง build เพิ่มเติมสำหรับเซิร์ฟเวอร์การพัฒนาpreview
: คำสั่ง build เพิ่มเติมสำหรับเซิร์ฟเวอร์การพัฒนาการผลิตproduction
: คำสั่งบิลด์เพิ่มเติมสำหรับการผลิต การกำหนดค่าสำหรับ Browsersync พบได้ใน .browsersyncrc.js
การกำหนดค่าสำหรับ postcss พบได้ใน .postcssrc.js
การกำหนดค่าสำหรับ webpack พบได้ใน .webpackrc.js
ทั้ง postcss และ webpack ใช้ .browserslistrc
เพื่อตัดสินใจเกี่ยวกับการสนับสนุนเบราว์เซอร์เมื่อรวบรวม
hugo/static/
Folder เนื่องจากควรปรากฏในไซต์ที่สร้างขึ้น เช่นไฟล์ CNAME ควรเก็บไว้ที่ hugo/static/CNAME
เพื่อเป็น /CNAME
src/js/
to js/{filename}.js
require()
และคำสั่ง import
จากแพ็คเกจ NPM และไฟล์ JS ในเครื่องsrc/css/
ถึง css/{filename}.css
hugo/
Folder นั้นมีความมุ่งมั่นเสมอ{{ getenv "HUGO_ENV" }}
development
production
staging
พื้นที่เก็บข้อมูลนี้มาพร้อมกับตัวอย่างเนื้อหาพื้นฐานที่กำหนดค่าไว้ล่วงหน้าเพื่อทำงานกับป่าไม้ซึ่งคุณสามารถใช้เพื่อเริ่มสร้างเว็บไซต์ของคุณ
hugo
ยินดีต้อนรับการมีส่วนร่วมทั้งหมด! โปรดดูแนวทางปฏิบัติด้านจรรยาบรรณและการสนับสนุนของเรา
โครงการ Boilerplate นี้เปิดตัวภายใต้ใบอนุญาต MIT