aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederic Hemberger <mail@frederic-hemberger.de>2011-12-10 14:48:35 +0100
committerFrederic Hemberger <mail@frederic-hemberger.de>2011-12-10 14:48:35 +0100
commite220fcc610a98d9be4ff801c834cca705bd8737c (patch)
tree2617b9c00861996381e322fde86e2d1273308da6
parent254cdd35d62b968fdbe4905eec863d84c6a8a98d (diff)
parente5c262cb8f2dbcf6be409251b45eee642f45c7c0 (diff)
downloadmy_new_personal_website-e220fcc610a98d9be4ff801c834cca705bd8737c.tar.xz
my_new_personal_website-e220fcc610a98d9be4ff801c834cca705bd8737c.zip
Merge branch 'master' of github.com:imathis/octopress
-rw-r--r--Rakefile23
1 files changed, 15 insertions, 8 deletions
diff --git a/Rakefile b/Rakefile
index 0275b681..34479d25 100644
--- a/Rakefile
+++ b/Rakefile
@@ -115,14 +115,21 @@ desc "Create a new page in #{source_dir}/(filename)/index.#{new_page_ext}"
task :new_page, :filename do |t, args|
raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir)
args.with_defaults(:filename => 'new-page')
- page_dir = source_dir
- if args.filename =~ /(^.+\/)?([\w_-]+)(\.)?(.+)?/
- page_dir += $4 ? "/#{$1}" : "/#{$1}#{$2}/"
- name = $4 ? $2 : "index"
- extension = $4 || "#{new_page_ext}"
- filename = "#{name}.#{extension}"
+ page_dir = [source_dir]
+ if args.filename.downcase =~ /(^.+\/)?(.+)/
+ filename, dot, extension = $2.rpartition('.').reject(&:empty?) # Get filename and extension
+ title = filename
+ page_dir.concat($1.downcase.sub(/^\//, '').split('/')) unless $1.nil? # Add path to page_dir Array
+ if extension.nil?
+ page_dir << filename
+ filename = "index"
+ end
+ extension ||= new_page_ext
+ page_dir = page_dir.map! { |d| d = d.to_url }.join('/') # Sanitize path
+ filename = filename.downcase.to_url
+
mkdir_p page_dir
- file = page_dir + filename
+ file = "#{page_dir}/#{filename}.#{extension}"
if File.exist?(file)
abort("rake aborted!") if ask("#{file} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
end
@@ -130,7 +137,7 @@ task :new_page, :filename do |t, args|
open(file, 'w') do |page|
page.puts "---"
page.puts "layout: page"
- page.puts "title: \"#{$2.gsub(/[-_]/, ' ')}\""
+ page.puts "title: \"#{title}\""
page.puts "date: #{Time.now.strftime('%Y-%m-%d %H:%M')}"
page.puts "comments: true"
page.puts "sharing: true"