update
[linguofeng.github.com.git] / _plugins / tag_gen.rb
blob1e651a52d9a0487d967b9e7b32ad93a4f2a35188
1 module Jekyll
2   
3   class TagGenerator < Generator
4     safe true
5    
6     def generate(site)
7         generateTag(site)
8         deleteNullTag(site)
9     end
11     # 生成Tag
12     def generateTag(site)
13       site.tags.keys.each do |tag|
14         _path = site.source + '/tag/' + tag
15         _file = _path + '/index.textile'
16         if !File.exist?(_file) then
17           FileUtils.mkdir_p _path
18           aFile = File.new(_file, 'w')
19             aFile.puts '---'
20             aFile.puts 'layout: tag'
21             aFile.puts 'title: ' + tag
22             aFile.puts 'tag: ' + tag
23             aFile.puts '---'
24           aFile.close
25         end
26       end
27     end
28     
29     # 删除不存在的Tag
30     def deleteNullTag(site)
31       Dir.foreach(site.source + '/tag/') {
32         |tagdir|
33         if '.' != tagdir && '..' != tagdir then
34           if !site.tags.keys.include?(tagdir) then
35             FileUtils.rm_rf site.source + '/tag/' + tagdir + '/'
36           end
37         end
38       }
39     end
40   end
42 end