middleman / middleman-syntax

Code syntax highlighting plugin via Rouge for Middleman
https://middlemanapp.com
MIT License
179 stars 57 forks source link

undefined method `markdown_engine' for Middleman::Application::MiddlemanApplication1:Class #21

Closed jashmenn closed 11 years ago

jashmenn commented 11 years ago

Hey guys, I'm getting a really weird error trying to get middleman-syntax working.

Using a fresh middleman version 3.0.6.

In config.rb

activate :syntax
set :markdown_engine, :kramdown

In Gemfile

gem "middleman"
gem "kramdown"
gem "middleman-syntax"

Then running bundle exec middleman server gives:

/Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-syntax-1.2.0/lib/middleman-syntax/extension.rb:17:in `registered': undefined method `markdown_engine' for Middleman::Application::MiddlemanApplication1:Class (NoMethodError)
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/core_extensions/extensions.rb:92:in `register'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/core_extensions/extensions.rb:119:in `activate'
    from /Users/nmurray/projects/writing/intuition/config.rb:44:in `initialize'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/core_extensions/extensions.rb:137:in `instance_eval'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/core_extensions/extensions.rb:137:in `initialize'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/core_extensions/ruby_encoding.rb:22:in `initialize'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/core_extensions/data.rb:35:in `initialize'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/application.rb:188:in `initialize'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/core_extensions/request.rb:56:in `new'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/core_extensions/request.rb:56:in `inst'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/preview_server.rb:72:in `new_app'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/preview_server.rb:155:in `mount_instance'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/preview_server.rb:18:in `start'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/cli/server.rb:68:in `server'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/thor-0.15.4/lib/thor/task.rb:27:in `run'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/thor-0.15.4/lib/thor/invocation.rb:120:in `invoke_task'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/thor-0.15.4/lib/thor.rb:275:in `dispatch'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/thor-0.15.4/lib/thor/base.rb:425:in `start'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/cli.rb:77:in `method_missing'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/thor-0.15.4/lib/thor/task.rb:29:in `run'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/thor-0.15.4/lib/thor/task.rb:126:in `run'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/thor-0.15.4/lib/thor/invocation.rb:120:in `invoke_task'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/thor-0.15.4/lib/thor.rb:275:in `dispatch'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/thor-0.15.4/lib/thor/base.rb:425:in `start'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/lib/middleman-core/cli.rb:22:in `start'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/gems/middleman-core-3.0.6/bin/middleman:18:in `<top (required)>'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/bin/middleman:19:in `load'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/bin/middleman:19:in `<main>'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/bin/ruby_noexec_wrapper:14:in `eval'
    from /Users/nmurray/.rvm/gems/ruby-1.9.3-p392@intuition/bin/ruby_noexec_wrapper:14:in `<main>'

I'm a missing something obvious? Thanks!

joshwlewis commented 11 years ago

I'm getting the same error, middleman 3.0.5, middleman-sytax 1.2.0. However, I'm using

set markdown_engine, :redcarpet

joshwlewis commented 11 years ago

If you are still looking for a solution, switching my Gemfile version worked just fine.

gem "middleman-syntax", "= 1.1.1"

EDIT I take that back, only a few pages were fixed with that.

jashmenn commented 11 years ago

Thanks - that works if I use redcarpet.

bardware commented 11 years ago

I cannot gem install middleman-syntax -v 1.1.1on cygwin as posix-spawndoes not exists :(

bhollis commented 11 years ago

Hi guys,

Could you try a couple things with the 1.2.0 version? First, try the newest middleman gem. 3.0.5 and 3.0.6 are very old. Second, try putting your set :markdown_engine statement before activate :syntax.

bhollis commented 11 years ago

@bardware pygments.rb requires posix-spawn, which is why I switched this gem to use rouge in 1.2.0.

joshwlewis commented 11 years ago

@bhollis I updated to 3.0.14 last night, and it is not working with middleman-syntax 1.2.0 (same error as above). The middleman init command gave me a Gemfile with 3.0.5 originally.

And yes, set :markdown_engine is at the top of config.rb where activate :syntax is at the bottom (just like in the generated version).

Sample app here -- joshwlewis/presentation just uncomment the activate :syntax line and run the server to get the error.

bhollis commented 11 years ago

OK, 1.2.1 is released that fixes this problem. This is what I get for only testing against Middleman's master branch.

joshwlewis commented 11 years ago

Thanks for the quick fix, works great!