Closed Nerian closed 13 years ago
You need to create an alias for rake in your .zshrc. Like this:
alias rake="noglob rake"
With that in place you'll be good to go.
Thanks @zan5hin! I should add that to the setup docs!
If you don't feel like not globbing, the following works fairly well, too:
rake "new_post[Zombie Ninjas Attack: A Pastafarian's Retrospective]"
It probably dies on a lot of characters, but if you're in a bind, it's better than nothing.
Had the same problem, the .zshrc fix did not work, but @NSError comment worked.
That's pretty awful. Perhaps I should ditch the inline variable and make it a dialog?
rake new_post
Enter a post title:
I like that idea
I think a dialog prompt would be better as well. It seems to be unhappy with a bunch of the character combinations I've tried.
For example, post titles with commas in them generate files that are truncated after the comma, likely as a result of how the [] expression is parsed. Unless I'm just too stupid to figure out how to properly escape it...
I'm sorry for the annoyance, I didn't realize rake was so poor at arguments. This is on the list of coming attractions.
I'm not able to create a posting with a comma either. Using a \ to escape the comma didn't help. If you do add a prompt for the post name, could that be optional? I.e., if I enter rake new_post["Some title"]
have it work as it does not, but if I just enter rake new_post
have it prompt me for the title?
Yeah I don't want everyone to have to relearn how to post. If the args are empty it'll ask for a title. Good thought.
Calling downcase
on the title when making the filename might be a good idea, too. ;-)
I'm having the same trouble, and if I write rake new_post
it just creates a new post titled "New post" and doesn't ask for the title as @imathis suggested... Any idea on when will it be implemented? :)
I'm currently working full steam on getting the 2.1 release ready. It's going to be in there. Sorry for the delay. I'm hoping to have it up this weekend.
Oh, nice to hear that! I'll wait, then :)
Still not working without the external quotes. :-1:
btw tks @NSError
Sooooo what's the news on this?
Hmm... for my part I can say it all works for me with alias rake='noglob rake' I have the latest Octopress. The old dialog is still in place.
The alias fixed it for me as well, but it would be nice for Cctopress to support zsh without us having to alias things in our shell. Just thought I'd give this issue a bump.
http://www.faqs.org/faqs/unix-faq/shell/zsh/
http://www.scottw.com/zsh-rake-parameters
The problem isn't Octopress, per se. The problem is globbing. I just tried to google the size of the problem, and found it virtually non-existent. So, I started looking at zsh more closely and happened upon this:
http://zsh.sourceforge.net/Doc/Release/Expansion.html#Filename-Generation
If a word contains an unquoted instance of one of the characters ‘’, ‘(’, ‘|’, ‘<’, *‘[’**, or ‘?’, it is regarded as a pattern for filename generation, unless the GLOB option is unset.
The issue is Octopress' rake command "rake new_post['his is a new post?']" contains an unquoted instance of [
Perhaps Octopress should have a command like?
rake new_post="This is a new post?"
But no, if you look at http://rake.rubyforge.org/files/doc/rakefile_rdoc.html (Tasks with Options) you see...
Just a few words of caution. The rake task name and its arguments need to be a single command line argument to rake. This generally means no spaces. If spaces are needed, then the entire rake + argument string should be quoted. Something like this:
rake "name[billy bob, smith]"
So, even if zsh weren't a problem, it appears the proper command in Rake syntax should be:
rake "new_post[This is a new post?]"
Not only would that be canonical, it should also get around the zsh glob issue as the left square brace would be in quotes.
We are a victim of Rake's syntax, not Octopresses, I'm afraid. But, I like my non-globbed overlord.
I like the idea of a dialog/prompt for this; the resulting syntax is much more Rake-like and is much easier to remember.
rake new_post\["This is New Post"\]
good work for me
I wrote a function to side-step this issue (and just do new-post "title"). https://gist.github.com/2708914 Handles the globbing issue too.
This tops the results on Google for "octopress and zsh" (and it's where I figured out how to resolve my problem), so I figured I'd leave this here for the benefit of future searchers. For everybody else, sorry about the notification spam!
I've just added bfa5255 which asks for a post title from stein if you run new_post without a value.
Definitely appreciate the .zshrc alias comment. Fixed the issue for me, too.
@imathis per your bfa5255 commit, I tried, rake new_post
and was not prompted for a title, but rather the title was automatically "new post" and the file was <date>-new-post.markdown
.
Did you change this?
@westonplatter Rake new_post has had defaults for a long time.
Latest version, used here with oh-my-zsh, some issues still persist:
➜ .octopress git:(master) ✗ rake new_post[\"test"\]
dquote>
➜ .octopress git:(master) ✗ rake "new_post[test]"
mkdir -p source/_posts
Creating new post: source/_posts/2012-09-11-test.markdown
➜ .octopress git:(master) ✗ rm source/_posts/2012-09-11-*
➜ .octopress git:(master) ✗ rake "new_post[karida loaded!]"
zsh: event not found: ]
➜ .octopress git:(master) ✗ rake "new_post[karida loaded]"
mkdir -p source/_posts
Creating new post: source/_posts/2012-09-11-karida-loaded.markdown
➜ .octopress git:(master) ✗
I can't put special chars like: $!@#%^&.. in the title. But it's okay...
Try creating an alias like this alias rake="noglob rake"
.
Already did that.
+1 for zsh support.
the alias rake="noglob rake"
worked for me with iterm2 (zsh)
bundle exec rake "new_post[no special characters]"
was what i needed to run with rake 0.9.6 (using a oh-my-zsh and iterm2)
Had the same problem, the .zshrc fix did not work, but @NSError comment worked.thanks.
thanks good work for me
I have the same problem, but using the alias rake="noglob rake"
works fine. Putting this suggestion in the doc may be helpful for many folks :-)
Hello,
The Rake task for creating a new post seems to be not compatible with Zsh.