site pages page new files data jekyll

pages - jekyll static files



PublicaciĆ³n de Jekyll no generada (7)

He escrito pruebas Rspec para mi blog que expresan estas reglas:

require ''spec_helper'' require ''yaml'' # Documented at https://jekyllrb.com/news/2017/03/02/jekyll-3-4-1-released/ post_regex = %r!^(?:.+/)*(/d{2,4}-/d{1,2}-/d{1,2})-(.*)(/.[^.]+)$! def date_in_front_matter(date) return date if date.is_a?(Date) return date.to_date if date.is_a?(Time) return Date.parse(date) if date.is_a?(String) end describe ''posts'' do Dir.glob("_posts/*md").each do |file| basename = File.basename(file) context basename do front_matter = YAML.load(File.read(file).split(/---/)[1]) it ''filename must match documented post regex'' do expect(basename).to match post_regex end it ''date in file name same day as date in front matter'' do date_in_file_name = Date.parse(post_regex.match(basename).captures[0]) expect(date_in_front_matter(front_matter[''date''])).to eq date_in_file_name end it ''title in front matter should not contain a colon'' do expect(front_matter[''title'']).to_not match /:/ end it ''front matter should not have published: false'' do expect(front_matter[''published'']).to_not be false end end end end

Esto puede ser útil para otros, ya que estaba perdiendo mucho tiempo debido a errores tipográficos en la fecha, etc.

Estas pruebas junto con el resto de la configuración Rspec se pueden ver en contexto here .

Estoy tratando de agregar una nueva publicación a mi sitio Jekyll, pero no puedo verla en las páginas generadas cuando ejecuto jekyll serve .

¿Cuáles son algunas de las razones comunes por las que no se genera una publicación de Jekyll?


Mi publicación tampoco apareció y el error fue que en mi nombre usé un punto, por ejemplo, 2017-10-18-test.2.md .
Esto no es aceptado, debe usar 2017-10-18-test2.md .


O también puede ser caché del navegador si no está buscando en la carpeta _site sino directamente en la página principal del blog con la lista de publicaciones.


Puede usar jekyll build --verbose para ver el proceso de compilación en detalle.

Salida de ejemplo:

Logging at level: debug Configuration file: /home/fangxing/fffx.github.io/_config.yml Logging at level: debug Requiring: jekyll-archives Requiring: jekyll-livereload Requiring: kramdown Source: /home/fangxing/fffx.github.io Destination: /home/fangxing/fffx.github.io/_site Incremental build: enabled Generating... EntryFilter: excluded /Gemfile EntryFilter: excluded /Gemfile.lock Reading: _posts/2018-01-14-new-post.md Reading: _posts/2014-01-01-example-content.md Reading: _posts/2014-01-02-introducing-lanyon.md Reading: _posts/2017-11-21-welcome-to-jekyll.markdown Reading: _posts/2018-01-14-boot-android-on-charge.md Reading: _posts/2013-12-31-whats-jekyll.md Skipping: _posts/2018-01-14-boot-android-on-charge.md has a future date Generating: Jekyll::Archives::Archives finished in 0.000122873 seconds. Generating: JekyllFeed::Generator finished in 0.000468846 seconds. ...

del registro que encontré jeklly se saltó 2018-01-14-boot-android-on-charge.md porque tiene una fecha futura.


Solo para agregar una razón más, cuando mueves un artículo de _drafts a _post , a veces necesitas eliminar el _site para que el artículo se regenere.

En mi caso, a menudo sucede que _site no se eliminará por completo antes de la _site , por lo que el nuevo artículo no aparecerá.

De todos modos rm -rf _site y bundle exec jekyll serve works :)


Una posible razón es que la date especificada en el asunto inicial no contiene un desplazamiento de zona horaria, en cuyo caso se establece de manera predeterminada en UTC, no en la zona horaria de la máquina local como podría esperarse. Perdí una hora en esto hasta que UTC "se puso al día" con mi zona horaria local actual, BST.

No he encontrado una respuesta definitiva a esto, pero creo que la fecha en el asunto principal debe darse en UTC con un desplazamiento de zona horaria (que se omite por defecto si se omite).

Así que la date: 2018-05-03 12:34:27 está en UTC, independientemente de en qué parte del mundo se encuentre, e independientemente de la configuración de la timezone en _config.yml .

Así que tenga cuidado de especificar fechas como esta:

date: 2018-05-03 12:34:27 +0100