#!/usr/bin/env python ''' tag_generator.py Copyright 2017 Long Qian Contact: lqian8@jhu.edu This script creates tags for your Jekyll blog hosted by Github page. No plugins required. ''' import glob import os post_dir = '_pages/' tag_dir = 'tag/' filenames = glob.glob(post_dir + '*html') total_tags = [] for filename in filenames: f = open(filename, 'r') crawl = False for line in f: if crawl: current_tags = line.strip().split() if current_tags[0] == 'tags:': total_tags.extend(current_tags[1:]) crawl = False break if line.strip() == '---': if not crawl: crawl = True else: crawl = False break f.close() total_tags = set(total_tags) old_tags = glob.glob(tag_dir + '*.html') for tag in old_tags: os.remove(tag) if not os.path.exists(tag_dir): os.makedirs(tag_dir) for tag in total_tags: tag_filename = tag_dir + tag + '.html' f = open(tag_filename, 'a') write_str = '---\nlayout: tagpage\ntitle: \"Tag: #' + tag + '\"\ntag: \"' + tag + '\"\ndescription: \"Tutti i post del tag: '+ tag +'\"\nrobots: noindex\n---\n' f.write(write_str) f.close() print("Tags generated, count", total_tags.__len__())