迁移到Github Page后,一直没有把之前文章的存档迁移到现在的平台。今天尝试写了一个python脚本批量转换了一下,遇到了一些问题,在此记录一下
首先由于之前是突然被删库的,很多文章都没来得及保存,这个找不回来了(sigh)。
然后是很多文章都没有保存时间,但是由于我保存的是独立文件的MarkDown档案,只需要使用python获取每个文件的创建时间就好了,然后hexo的标题机制也和之前的完全不一样,导致只能用一些手段把文章开头的MarkDown大标题去掉,直接找到第一组‘=’、‘-’这种特殊符号段删掉就好了,但是一开始对于一些没有标题的文章也会误伤,非常Hack。。。。
最后就是文章图片缺失标签缺失,分割缺失,这个就不是能够自动化解决的问题了,坑得一点点手动补上。
最后附上迁移的代码,以作备忘
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 
 | 
 import time
 import datetime
 import os
 import re
 
 def main():
 for filename in os.listdir('./'):
 title, extension = os.path.splitext(filename)
 if extension not in ['.md', '.MD']:
 continue
 mtime = os.path.getmtime(filename)
 datestr = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(mtime))
 print(datestr)
 with open(filename, 'r+') as fd:
 cont = fd.read()
 fd.seek(0, 0)
 cont = cont.split('===', 1)[-1]
 cont = cont.strip('=')
 temp = cont.split('---', 1)
 if len(temp) > 1 and len(temp[0]) < 50:
 cont = temp[-1]
 cont = cont.strip('-')
 cont = cont.strip()
 cont = "---\ntitle: %s\ndate: %s\n---\n"%(title, datestr) + cont
 fd.write(cont)
 
 main()
 
 |