私は仲買人と私が持っているすべての可能性に不慣れです。プロジェクト内のナビゲーションを高速化するために、すべてのページ タイプを一覧表示するインデックス ページとして機能する非常に単純な haml スクリプトを作成したいと考えています。
コードは次のとおりです。
---
layout: no_layout
---
- resources = sitemap.resources.sort {|a,b| a.url <=> b.url}
- pages = Array.new
- resources.each do |resource|
- metadata = resource.metadata[:page]
- if resource.mime_type.match(/^text\/html/) && metadata["title"]
- element = Hash.new
- element["url"] = resource.url
- element["title"] = metadata["title"]
- element["desc"] = metadata["desc"]
- if element["url"].start_with?('/')
- element["url"].slice!(0)
- pages.push(element)
%h1 Page elements
- if pages.length > 0
%ul
- pages.each do |page|
%li
%a{:href => page["url"]} #{page["title"]}
- if page["desc"]
%br
= page["desc"]
- else
No pages found.
悲しいことに、Middleman は次のエラーを生成します。
NoMethodError at /
undefined method `mime_type' for #<Middleman::Sitemap::Resource:0x000000069df020>
しかし、Middleman Documentation によると、Resources オブジェクトにはメソッドが含まれており、そのように機能するサンプル コードもいくつかあります。
誰かが私が間違っていることを教えてもらえますか?
前もって感謝します