1

これに似た投稿がいくつかありますが、問題の解決方法がわかりません。

ruby 1.9.3-p392 がインストールされた rbenv があり、jekyll --server を実行すると次のエラーが表示されます。

Configuration from /Users/seiju/Sites/a8os/_config.yml
Building site: /Users/seiju/Sites/a8os -> /Users/seiju/Sites/a8os/_site
Liquid Exception: undefined method `xmlschema' for nil:NilClass in sitemap.xml
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/filters.rb:57:in `date_to_xmlschema'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/strainer.rb:43:in `invoke'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/context.rb:75:in `invoke'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/variable.rb:50:in `block in render'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/variable.rb:38:in `each'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/variable.rb:38:in `inject'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/variable.rb:38:in `render'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/block.rb:106:in `block in render_all'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/block.rb:93:in `each'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/block.rb:93:in `render_all'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/block.rb:82:in `render'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/template.rb:124:in `render'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/template.rb:132:in `render!'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/convertible.rb:79:in `do_layout'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/page.rb:100:in `render'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/site.rb:204:in `block in render'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/site.rb:203:in `each'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/site.rb:203:in `render'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/site.rb:41:in `process'
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/bin/jekyll:264:in `<top (required)>'
/Users/seiju/.rbenv/versions/1.9.3-p392/bin/jekyll:23:in `load'
/Users/seiju/.rbenv/versions/1.9.3-p392/bin/jekyll:23:in `<main>'
Build Failed

私はとても混乱しており、この問題の修正をどこから始めればよいかわかりません。jekyll バージョン (0.12.1) も使用しています。

以下は私のsitemap.xmlです:

---
---

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/sitemap.xsl"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">    
<url>
<loc>http://aceeightofspades.com/</loc>
<lastmod>{{ site.time | date_to_xmlschema }}</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>http://aceeightofspades.com{{ post.url }}/</loc>
<lastmod>{{ post.date | date_to_xmlschema }}</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
4

1 に答える 1

3

<url>存在しない最上位postオブジェクトのエントリを作成しようとしているようです。あなたが望むと思うのは、投稿をループして、それぞれのエントリを作成することです。

このようなもの:

{% for post in site.posts %}
<url>
  <loc>http://aceeightofspades.com{{ post.url }}/</loc>
  <lastmod>{{ post.date | date_to_xmlschema }}</lastmod>
  <changefreq>weekly</changefreq>
  <priority>0.8</priority>
</url>
{% endfor %}

<url>これにより、2 番目のブロックが{% for post in site.posts %}andでラップ{% endfor %}されるため、そのブロック内postは null ではなくなります。

于 2013-05-01T16:59:57.250 に答える