Hoe gebruik je Jekyll om automatisch de aanmaaktijd van artikelen te genereren en eenvoudig de updatefrequentie van de blog te verhogen?

wanneer u klaar bent voor gebruikJekyllWanneer je een artikel schrijft, wil je zeker niet de moeite nemen om handmatig bestanden te maken, bestandsextensies te wijzigen en vervolgens de yml-syntaxis aan het begin van de tekst toe te voegen, toch?

Zo zou je denkenJekyll nieuw artikelZou het, om dit allemaal te vereenvoudigen, niet logisch zijn om een ​​script te schrijven?

Schrijven programmeurs niet allemaal code alleen maar om lui te zijn? Op dit moment kan Rake van pas komen.

Hoe gebruik je Jekyll om automatisch artikelen te genereren?

Met het oog op de strenge eisen van Jekyll voor de md-titel en het yaml-formaat, is het te omslachtig om elke keer handmatig yaml te schrijven, dus het gebruik van scripts om inhoud uit te voeren is een goede keuze.

Hoe gebruik je Jekyll om automatisch de aanmaaktijd van artikelen te genereren en eenvoudig de updatefrequentie van de blog te verhogen?

Controleer eerst of de hark is geïnstalleerd:

gem list rake

Als het niet is geïnstalleerd, installeer het dan:

gem install rake

Maak vervolgens een Rakefile en plaats deze in de hoofdmap van jekyll.

Kopieer vervolgens de volgende code naar het 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
  • Dit is slechts een vereenvoudigde versie.

Voer ten slotte op de opdrachtregel in:

rake post title="article name"

Met een whoosh ben je er _post In de map zag ik een nieuw artikel met de bestandsnaam年-月-日-文章标题.md.

发表 评论

Uw e-mailadres wordt niet gepubliceerd. 必填 项 已 用 * 标注

Scroll naar boven