Generator situs statis untuk situs asosiasi musik mahasiswa Delft Krashna Musika, dibangun dengan React dan Gatsby.js.
Untuk memulai, Anda memerlukan lingkungan Node.js dan manajer paket Yarn. Setelah Anda menginstalnya, jalankan perintah berikut dari direktori root repo ini:
yarn
yarn global add gatsby-cli
Untuk memulai server pengembangan (dengan live-reload), jalankan:
yarn develop
Sekarang akan ada server yang mendengarkan di localhost:8000!
Untuk membuat bundel produksi, jalankan:
yarn build
Perubahan pada cabang master
secara otomatis diterapkan ke situs langsung (di krashna.nl), melalui layanan build Netlify.
Secara umum, proyek ini mengikuti struktur folder Gatsby.js yang umum:
/src/pages
. Nama file setiap file JS (tidak termasuk ekstensi .js
) digunakan sebagai URL halaman terkait./src/templates
./src/components
.Namun, ada beberapa perbedaan dalam menawarkan internasionalisasi dan fitur lainnya:
/src/locales
. Setiap sub-folder berisi salinan setiap file definisi terjemahan, dalam bahasa tertentu. File terjemahan ini dikompilasi menjadi JSON, yang disajikan bersama konten lainnya dan secara dinamis dimasukkan ke dalam halaman saat runtime. Kami menggunakan perpustakaan react-intl
, yang diintegrasikan oleh gatsby-plugin-intl
, untuk penerjemahan./src/data
.Menambahkan konten dapat dilakukan dengan mudah dengan menambahkan teks atau beberapa data lain ke file yang telah ditentukan sebelumnya, beberapa contoh diberikan di bawah ini. Semua konten ditulis dalam penurunan harga. Jika Anda belum familiar dengan Markdown, atau butuh bantuan, lihat tautan praktis ini
Untuk menambahkan halaman...
/src/pages
dengan nama URL tempat Anda ingin meletakkan halaman itu. Jika ragu tentang cara menyusun file ini, lihat halaman lain yang ada di folder itu./src/locales
. Lihat halaman dan terjemahan yang ada untuk contoh bagaimana seseorang dapat mengakses kunci terjemahan tersebut di file halaman dan bagaimana hal ini dapat didefinisikan dalam file terjemahan. Untuk menambahkan konser...
/src/data/concerts.yaml
mengikuti format yang sama dengan entri lainnya.concerts.yaml
di folder /src/locales
, dalam kedua bahasa. Untuk menambahkan postingan berita...
/src/data/news.yaml
mengikuti format yang sama dengan entri lainnya.news.yaml
di folder /src/locales
, dalam kedua bahasa.