1、gem install thor
2、gem install stringex
3、创建jekyll.thor文件,如下:
因为ruby默认为utf-8编码,所以在windows下文件另存为utf-8编码格式
注意:要使生成的文件格式也为utf-8,光“w:utf-8”还不够,一定要写入中文的字符,否则生成的文件格式仍是gbk
require "stringex"
class Post < Thordesc "new", "create a new post"
method_option :editor, :default => "vim"
method_option :date
method_option :category, :default => "blog"
def new(*title)
title = title.join(" ")
date = options[:date] || Time.now.strftime('%Y-%m-%d')
time = Time.now.strftime('%Y-%m-%d %H:%M:%S')
layout = options[:category] == 'blog' ? 'post' : 'project'
filename = "_posts/#{date}-#{title.to_url}.md"
if File.exist?(filename)
abort("#{filename} already exists!")
end
puts "Creating new post: #{filename}"
open(filename, 'w:utf-8') do |post|
post.puts "---"
post.puts "layout: #{layout}"
post.puts "title: \"#{title.gsub(/&/,'&')}\""
post.puts "date: #{time}"
post.puts "tags:"
post.puts "categories: #{category}"
if category == 'projects'
post.puts "images:"
post.puts " - type: desktop"
post.puts " src: -desktop.jpg"
post.puts " - type: tablet"
post.puts " src: -tablet.jpg"
post.puts " - type: mobile"
post.puts " src: -mobile.jpg"
end
post.puts "---"
post.puts "在此处编辑......"
endsystem(options[:editor], filename)
end
end
4、命令
thor post:new "title"