jekyll 自动创建post文件

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 < Thor


  desc "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')

    category = options[:category]
    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(/&/,'&amp;')}\""
      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 "在此处编辑......"

    end


    system(options[:editor], filename)
  end


end

4、命令

thor post:new "title"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值