如何利用Jekyll自動產生文章創建時間,輕鬆提升部落格更新頻率?

当你准备使用傑奇来撰写文章时,你肯定不愿意烦心地手动创建文件、修改文件后缀名,再在文本开头添加yml语法了吧?

所以你可能會想到Jekyll新建文章,要簡化這一切,寫個腳本豈不是順理成章?

程式設計師不都是為了懶惰而寫程式碼嗎?這時,Rake就可以派上用場了。

如何利用Jekyll自動產生文章?

鑑於Jekyll對md標題、yaml格式的嚴格要求,每次都要手動書寫yaml顯得太過繁瑣,因此利用腳本來輸出內容是個不錯的選擇。

如何利用Jekyll自動產生文章創建時間,輕鬆提升部落格更新頻率?

首先,檢查是否已安裝了rake:

gem list rake

如果沒有安裝,那就安裝一下吧:

gem install rake

接著,建立一個Rakefile文件,並將其放置在jekyll的根目錄下。

然後,將以下程式碼複製到Rakefile檔案中:

require 'rake'
require 'yaml'

SOURCE = "."
CONFIG = {
'posts' => File.join(SOURCE, "_posts"),
'post_ext' => "md",
}

# Usage: rake post title="A Title"
desc "Begin a new post in #{CONFIG['posts']}"
task :post do
abort("rake aborted: '#{CONFIG['posts']}' directory not found.") unless FileTest.directory?(CONFIG['posts'])
title = ENV["title"] || "new-post"
slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
filename = File.join(CONFIG['posts'], "#{Time.now.strftime('%Y-%m-%d')}-#{slug}.#{CONFIG['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 "category: "
post.puts "tags: []"
post.puts "---"
end
end # task :post
  • 這只是一個簡略的版本。

最後,在命令列中輸入:

rake post title="article name"

咻地一聲,你就會在 _post 資料夾中,看到一篇新的文章,檔案名為年-月-日-文章标题.md

希望陳溈亮博客( https://www.chenweiliang.com/ ) 分享的《如何利用Jekyll自动生成文章创建时间,轻松提升博客更新频率?》,对您有帮助。

歡迎分享本文鏈接:https://www.chenweiliang.com/cwl-31597.html

歡迎加入陳溈亮博客的Telegram 頻道,獲取最新更新!

🔔 率先在頻道置頂目錄獲取寶貴的《ChatGPT 內容行銷AI 工具使用指南》! 🌟
📚 這份指南蘊含價值巨大,🌟難逢的機遇,切勿錯失良機! ⏰⌛💨
喜歡就分享和按贊!
您的分享和按贊,是我們持續的動力!

 

發表評論

您的電子郵箱地址不會被公開。 必填項已用 * 標註

滾動到頂部