Quantcast
Channel: Active questions tagged jekyll - Stack Overflow
Viewing all articles
Browse latest Browse all 326

Jekyll Hooks for category gives "post['category'].reject { |t| t.empty? }" error

$
0
0

I am using Hooks for category and tags for my site. Following code for tags works just fine:

Jekyll::Hooks.register :posts, :post_write do |post|  all_existing_tags = Dir.entries("./src/_tags")    .map { |t| t.match(/(.*).md/) }    .compact.map { |m| m[1] }  tags = post['tags'].reject { |t| t.empty? }  tags.each do |tag|    generate_tag_file(tag) if !all_existing_tags.include?(tag)  endenddef generate_tag_file(tag)  File.open("./src/_tags/#{tag}.md", "wb") do |file|    file << "---\nlayout: tags\ntag-name: #{tag}\n---\n"  endend

But if I use similar code for category it doesn't:

Jekyll::Hooks.register :posts, :post_write do |post|  all_existing_category = Dir.entries("./src/_category")    .map { |t| t.match(/(.*).md/) }    .compact.map { |m| m[1] }  category = post['category'].reject { |t| t.empty? }  category.each do |category|    generate_category_file(category) if !all_existing_category.include?(category)  endenddef generate_category_file(category)  File.open("./src/_category/#{category}.md", "wb") do |file|    file << "---\nlayout: category\ncategory-name: #{category}\n---\n"  endend

I get the following error:

src/_plugins/category_generator.rb:6:in `block in <top (required)>': undefined method `reject' for "test":String (NoMethodError)  tags = post['category'].reject { |t| t.empty? }

Any suggestion is highly appreciated.

I have tried it for tags but for category it doesn't work


Viewing all articles
Browse latest Browse all 326

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>