#!/usr/bin/env python3 """检查笔记frontmatter属性规范""" import os import re from pathlib import Path root = Path('.') issues_date = [] issues_none = [] ok_count = 0 for f in root.rglob('*.md'): if '.workbuddy' in str(f): continue try: with open(f, 'r', encoding='utf-8') as file: content = file.read() if content.startswith('---'): # 找到frontmatter结束位置 end_match = re.search(r'^---\s*$', content[3:], re.MULTILINE) if end_match: fm = content[3:end_match.start() + 3] if 'created:' in fm: ok_count += 1 elif 'date:' in fm: issues_date.append(str(f)) else: issues_none.append(str(f)) else: issues_none.append(str(f)) except: pass print('[属性检查结果]') print(f' 使用 created: {ok_count} 个 [OK]') print(f' 使用 date: {len(issues_date)} 个 [需要修复]') print(f' 无日期字段: {len(issues_none)} 个 [需要添加]') if issues_date: print('\n[使用date的文件](需要改为created)') for f in issues_date[:10]: print(f' - {f}') if issues_none: print('\n[缺少日期字段的文件]') for f in issues_none[:10]: print(f' - {f}')