本站使用Hexo的fluid主题渲染 如果你也想使用Hexo渲染Linux中国的数据集,你需要:
一台使用Linux系统的电脑(虚拟机也行),内存大约5G就行
一颗性能较强的CPU 翻看微软文档及实际测试后发现,在windows系统下,你无法使用Hexo渲染如此大量的数据,如果你的CPU性能过于拉跨,也请不要尝试,可能会需要数个小时的等待才能渲染完成,本站使用149kf渲染大约用了15分钟,加上传文件和删删改改耗费了近一天的时间Hexo性能太烂了
修改数据 头图和大图
1 2 3 4 # 开启bash扩展功能globstar,使得**能匹配任意级目录下的文件 shopt -s globstar sed 's|largepic|banner_img|g' -i **/*.md sed 's|pic|index_img|g' -i **/*.md
如果没有头图:
1 2 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 osimport redef replace_content (dir_path ): for root, dirs, files in os.walk(dir_path): for file in files: if file.endswith('.md' ): file_path = os.path.join(root, file) with open (file_path, 'r+' , encoding='utf-8' ) as f: content = f.read() match_banner = re.search(r'banner_img:\s*(.*)' , content, re.IGNORECASE | re.MULTILINE) if match_banner: banner_img = match_banner.group(1 ).strip() match_index = re.search(r'index_img:\s*(.*)' , content, re.IGNORECASE | re.MULTILINE) if match_index and 'islctt: false' in content: new_content = re.sub(r'index_img:\s*.*?\n' , f'index_img: {banner_img} \n' , content, flags=re.IGNORECASE | re.MULTILINE) f.seek(0 ) f.truncate() f.write(new_content) replace_content('_posts' )
如果渲染是出现Error: EMFILE, too many open files
报错,执行
如果还报错就把这个数改大点
如果
1 ATAL ERROR : CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
可以使用 -c 参数限制构建的线程数 例如hexo g -c 8
参考资料 User Objects - Win32 apps | Microsoft Learn Home · Linux-CN/archive Wiki (github.com)
在此感谢Linux中国的全体贡献者,感谢他们创作/翻译了这么多优质的内容