Hugo Boilerplate untuk membangun situs web modern?
Boilerplate ini membungkus Hugo dengan Gulp sebagai pipa pembangunan lokal Anda.
PostCSS dan Webpack + Babel digunakan untuk CSS dan JS mengkompilasi & mentranspiling.
Browsersync digunakan untuk memberikan pengalaman pengembangan lokal modern, memungkinkan Anda untuk mempratinjau situs Anda di beberapa perangkat yang disinkronkan.
BrowserSlist digunakan untuk mengkonfigurasi dukungan browser.
SVG Sprite digunakan untuk menghasilkan sprite SVG.
Untuk menggunakan Gulp, Anda harus menginstal Node dan NPM.
Setelah prasyarat dipasang, klon repositori ke mesin lokal Anda, dan kemudian jalankan:
npm install
Ini akan menginstal Hugo serta semua dependensi simpul yang diperlukan untuk menjalankan lingkungan Hugo Anda. Ini mungkin butuh beberapa saat!
Semua tugas pengembangan dilakukan dengan menggunakan NPM Run. Lihat "scripts"
di package.json untuk daftar lengkap perintah.
Pengembangan lokal didukung oleh Browsersync, Anda akan dapat mengembangkan situs dengan cepat melalui:
http://localhost:3000/
.Menjalankan server pengembangan lokal sesederhana berjalan:
npm start
Ini akan menampilkan semua konten draft, tanggal di masa depan, atau kedaluwarsa, yang tidak termasuk dalam pembangunan produksi Anda.
Jika Anda ingin berkembang dengan situs karena akan muncul dalam produksi, jalankan:
npm run preview
Untuk menghasilkan build produksi akhir di mesin lokal Anda dapat Anda jalankan:
npm run build
Bangunan produksi baru dari situs Anda akan berakhir di dist/
Direktori.
Semua perintah CLI Hugo dapat dijalankan melalui NPM dengan menjalankan:
npm run hugo -- <command> --<param>
Misalnya:
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 apa pun yang ditemukan dalam src/img/
akan digabungkan menjadi sprite SVG tunggal di hugo/static/svg/sprite.symbol.svg
.
Boilerplate ini hadir dengan parsial sederhana untuk menggunakan SVG di tata letak Anda. Anda dapat memilih SVG dengan menyerahkan ID ID.
{{/* Using a logo stored at src/img/github.svg */}}
{{ partial "svg" (dict "id" "github" "class" "optional-class" "width" 32 "height" 32) -}}
Catatan: Param class
, width
, dan height
adalah opsional
Boilerplate ini hadir dengan konfigurasi Eslint dan Stylelint standar yang akan meletakkan CSS dan JS Anda untuk kesalahan atau masalah gaya umum, yang bekerja dengan IDE paling populer.
Tes juga dapat dijalankan dari baris perintah:
npm run eslint
npm run stylelint
Jika Anda ingin secara otomatis memperbaiki kesalahan serat, Anda dapat melakukan ini dari baris perintah juga:
npm run eslint:fix
npm run stylelint:fix
Boilerplate ini membersihkan sendiri, dan akan menghapus produksi produksi dist/
dan pengembangan .tmp/
folder setiap kali perintah dijalankan untuk memastikan bahwa isinya selalu terkini.
Jika Anda ingin membersihkan secara manual, jalankan:
npm run clean
Semua tugas membangun ditangani oleh Gulp dan terletak di gulpfile.babel.js
. Semua bagian build dapat dikonfigurasi dalam file diskrit untuk memudahkan manajemen.
Semua jalur pembuatan dan jalur tujuan dapat dikonfigurasi dari gulp.config.js
.
Perintah build untuk hugp dapat dikonfigurasi dari gulp.config.js
. Perintah build diatur berdasarkan variabel lingkungan NODE_ENV
. Anda secara opsional dapat memuat arg yang berbeda menggunakan variabel lingkungan GENERATOR_ARGS
.
Empat opsi tersedia:
default
: perintah build default yang selalu dijalankandevelopment
: Perintah Bangunan Tambahan untuk Server Pengembanganpreview
: Perintah pembuatan tambahan untuk server pengembangan produksiproduction
: Perintah Bangunan Tambahan untuk Bangunan Produksi Konfigurasi untuk browsersync ditemukan di .browsersyncrc.js
Konfigurasi untuk postcss ditemukan di .postcssrc.js
Konfigurasi untuk Webpack ditemukan di .webpackrc.js
Baik postcss dan Webpack menggunakan .browserslistrc
untuk memutuskan dukungan browser saat menyusun.
hugo/static/
folder seperti yang harus muncul di situs yang dibangun misalnya, file cname harus disimpan di hugo/static/CNAME
untuk menjadi /CNAME
src/js/
TO js/{filename}.js
require()
dan pernyataan import
dari paket NPM dan file JS lokalsrc/css/
ke css/{filename}.css
hugo/
folder selalu berkomitmen{{ getenv "HUGO_ENV" }}
development
production
staging
Repositori ini dilengkapi dengan konten contoh dasar yang telah dikonfigurasi sebelumnya untuk bekerja dengan kehutanan, yang dapat Anda gunakan untuk mulai membangun situs Anda.
hugo
Semua kontribusi dipersilakan! Silakan lihat Pedoman Kode Perilaku & Dukungan kami.
Proyek boilerplate ini dirilis di bawah lisensi MIT.