Question

So I have a database called development.sqlite3 and it is in the same directory as my config.rb.

When I go into IRB and type in the following:

require 'data_mapper'
DataMapper.setup :default, "sqlite://#{Dir.pwd}/development.sqlite3"

class Post
      include DataMapper::Resource
      property :title,      String
      property :slug_url,   String, :key => true
      property :desc,       String
      property :content,    Text
      property :project,    String
      property :target_url, Text
      property :trackback,  Integer
      property :updated_at, String
      property :created_at, DateTime  # A DateTime, for any date you might like.
end


DataMapper.finalize
DataMapper.auto_upgrade!
posts = Post.all 
puts post.slug_url

And this kicks out all the slug_urls like I would expect. Here is what I have at the beginning of of config.rb file.

require 'data_mapper'
require 'builder'
require 'maruku'

DataMapper.setup :default, "sqlite://#{Dir.pwd}/development.sqlite3"

class Post
  include DataMapper::Resource
  property :title,      String
  property :slug_url,   String, :key => true
  property :desc,       String
  property :content,    Text
  property :project,    String
  property :target_url, Text
  property :trackback,  Integer
  property :updated_at, String
  property :created_at, DateTime  # A DateTime, for any date you might like.
end

DataMapper.finalize
DataMapper.auto_upgrade!

posts = Post.all 

posts.each do |post|
  page "/kw/#{post.slug_url}.haml", :proxy => "/kw/template.haml" do
    @slug_url = post.slug_url
  end
end

and my template.haml just has the following in it: = @slug_url

When I run middleman build I get no errors, and it seems to work fine, but it doesn't create the kw directory or any of the files that it should. Any ideas on what I am doing wrong here?

Was it helpful?

Solution

Firstly, "page" takes output paths, not templates paths in the current version (3.0 beta support both formats).

So you'd want to do something like:

page "/kw/#{post.slug_url}.html", :proxy => "/kw/template.html" do
  @slug_url = post.slug_url
end

Where you have a /source/kw/template.html.haml file for dealing with the data.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top