Saya mencoba menambahkan postingan baru ke situs Jekyll saya, tetapi saya tidak dapat melihatnya di halaman yang dibuat saat saya menjalankannya jekyll serve
.
Apa alasan umum posting Jekyll tidak dibuat?
_posts
direktori.YEAR-MONTH-DAY-title.MARKUP
( Perhatikan MARKUP
ekstensi , yang biasanya.md
atau.markdown
)future: true
di _config.yml
(dokumentasi)published: false
di bagian depannya. Setel ketrue
.:
karakter. Gantilah dengan:
. 3.8.3
(dan mungkin dalam rilis 'terbaru' lainnya).
future:true
tanpa spasi setelah:
di_config,yml
lead ke ERR: File konfigurasi: (INVALID).future: true
kebanyakan digunakan sebagai gantinya..markdown
ekstensi ke nama file. Saya tahu ini karena saya baru saja menyia-nyiakan 5 menit hidup saya karenanya.Anda dapat menggunakan
jekyll build --verbose
untuk melihat proses build secara detail.Keluaran contoh:
dari log saya menemukan jeklly dilewati
2018-01-14-boot-android-on-charge.md
karena memiliki tanggal di masa mendatang.sumber
Salah satu kemungkinan alasannya adalah bahwa
date
materi yang ditentukan di depan tidak berisi offset zona waktu, dalam hal ini defaultnya ke UTC, bukan zona waktu mesin lokal seperti yang Anda harapkan. Saya menyia-nyiakan satu jam untuk ini sampai UTC "mengejar" zona waktu lokal saya saat ini, BST.Saya belum menemukan jawaban pasti untuk ini tetapi saya pikir tanggal di bagian depan harus diberikan dalam UTC dengan offset zona waktu (yang defaultnya nol jika dihilangkan).
Begitu
date: 2018-05-03 12:34:27
juga di UTC terlepas dari di mana Anda berada, dan terlepas daritimezone
pengaturan di dalamnya_config.yml
.Jadi berhati-hatilah untuk menentukan waktu seperti ini:
sumber
date: 2018-05-03 12:34:27 +01:30
juga tampaknya berfungsi. Perhatikan titik dua tambahan.Atau bisa juga berupa cache browser jika Anda tidak mencari di folder _site, tetapi langsung di halaman utama blog dengan daftar postingan.
sumber
Saya telah menulis tes Rspec untuk blog saya yang menyatakan aturan ini:
Ini mungkin berguna bagi orang lain karena saya kehilangan banyak waktu karena kesalahan ketik pada tanggal, dll.
Tes ini bersama dengan konfigurasi Rspec lainnya dapat dilihat dalam konteks di sini .
sumber
Hanya untuk menambahkan satu alasan lagi, saat Anda memindahkan artikel dari
_drafts
ke_post
, terkadang Anda perlu menghapus_site
artikel agar dibuat ulang.Dalam kasus saya sering terjadi bahwa
_site
tidak akan sepenuhnya dihapus sebelum dibuat ulang sehingga artikel baru tidak akan muncul.Pokoknya
rm -rf _site
danbundle exec jekyll serve
berhasil :)sumber
Jika Anda tidak dapat melacak file dalam
--verbose
dan jika file tersebut diam-diam diabaikan kemudian mencoba menghapuscollections_dir
dalamconfig.yml
berkas. Itu memecahkan masalah saya.sumber
Posting saya juga tidak muncul kesalahan itu, bahwa dalam nama saya saya menggunakan titik, mis
2017-10-18-test.2.md
.Ini tidak diterima, Anda harus menggunakan
2017-10-18-test2.md
.sumber
Jika Anda telah memeriksa materi depan Anda, dan semuanya tampak baik-baik saja, dan bahkan
jekyll build --verbose
tidak mengungkapkan apa pun (dalam kasus saya, itu hanya bertindak seolah-olah file itu tidak ada sama sekali, bahkan tidak mencantumkannya sebagai dikecualikan), periksa pengkodean dari file Anda. Rupanya, itu harusUTF-8
tanpa tanda tangan. ItuUTF-8 BOM
(atauUTF-8 with Signature
seperti beberapa editor teks menyebutnya), maka itu akan diabaikan secara diam-diam. Lebih buruk lagi, beberapa editor akan menampilkan kedua jenis itu sebagai adilUTF-8
, membuat perbedaan lebih sulit untuk dikenali.sumber