博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
create new post for jekyll
阅读量:5818 次
发布时间:2019-06-18

本文共 1549 字,大约阅读时间需要 5 分钟。

<!DOCTYPE html>

Dec 23, 2014 • CoderSimple 原文传送阵

如何在 jekyll 下面通过命令新建一篇文章?通过查找并没有发现相关的命令,玩过 octopress 的人都知道,octopress 通过 rake new_post [title] 就可以新建一篇文章,而 octopress 也是基于 jekyll 的,那么 octopress 里面是怎么做到的呢?通过查找相关资料了解到,当我们在 octopress 工程目录下执行 rake new_post [title] 的时候是在执行该目录下 Rakefile 中定义的方法而已,因此我就把 octopress 的工程克隆下来,找到其中的 Rakefile,拷贝到自己的 jekyll 工程目录下,并做简单的修改。

需要库 stringex,如何安装引用库请看

修改后文件如下:

require "stringex"posts_dir       = "_posts"new_post_ext    = "md"task :new_post, :title do |t, args|  if args.title    title = args.title  else    title = get_stdin("Enter a title for your post: ")  end  mkdir_p "#{posts_dir}"  filename = "#{posts_dir}/#{Time.now.strftime('%Y-%m-%d')}-#{title.to_url}.#{new_post_ext}"  if File.exist?(filename)    abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'  end  puts "Creating new post: #{filename}"  open(filename, 'w') do |post|    post.puts "---"    post.puts "layout: post"    post.puts "title: \"#{title.gsub(/&/,'&')}\""    post.puts "date: #{Time.now.strftime('%Y-%m-%d %H:%M:%S')}"    post.puts "published: true"    post.puts "categories: "    post.puts "---"  endenddef get_stdin(message)  print message  STDIN.gets.chompenddef ask(message, valid_options)  if valid_options    answer = get_stdin("#{message} #{valid_options.to_s.gsub(/"/, '').gsub(/, /,'/')} ") while !valid_options.include?(answer)  else    answer = get_stdin(message)  end  answerend
 
 

转载于:https://www.cnblogs.com/codersimple/p/4200212.html

你可能感兴趣的文章
红黑树
查看>>
UIImagePickerController拍照与摄像
查看>>
python调用windows api
查看>>
Linux内核中的printf实现【转】
查看>>
第四章 mybatis批量insert
查看>>
Java并发框架——什么是AQS框架
查看>>
【数据库】
查看>>
Win配置Apache+mod_wsgi+django环境+域名
查看>>
第四届中国汽车产业信息化技术创新峰会将于6月在沪召开
查看>>
linux清除文件内容
查看>>
WindowManager.LayoutParams 详解
查看>>
find的命令的使用和文件名的后缀
查看>>
Android的Aidl安装方法
查看>>
Linux中rc的含义
查看>>
曾鸣:区块链的春天还没有到来| 阿里内部干货
查看>>
如何通过Dataworks禁止MaxCompute 子账号跨Project访问
查看>>
js之无缝滚动
查看>>
Django 多表联合查询
查看>>
logging模块学习:basicConfig配置文件
查看>>
Golang 使用 Beego 与 Mgo 开发的示例程序
查看>>