#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
构建创作思维路径可视化 - 分层版本
基于原版样式,改为从上到下分层布局,去掉动画
"""
import json
import sys
from pathlib import Path
# 项目路径
project_root = Path(__file__).parent.parent.parent
sys.path.insert(0, str(project_root))
from script.data_processing.path_config import PathConfig
HTML_TEMPLATE = '''
创作思维路径可视化
'''
def main():
import argparse
parser = argparse.ArgumentParser(description='构建创作思维路径可视化(分层布局)')
parser.add_argument('input_dir', nargs='?', help='输入目录路径(可选,默认使用 PathConfig)')
args = parser.parse_args()
if args.input_dir:
input_dir = Path(args.input_dir)
print(f"输入目录: {input_dir}")
else:
config = PathConfig()
input_dir = config.intermediate_dir / "creation_pattern"
print(f"账号: {config.account_name}")
print(f"输入目录: {input_dir}")
if not input_dir.exists():
print(f"错误: 目录不存在!")
sys.exit(1)
# 查找所有创作模式文件
pattern_files = sorted(input_dir.glob("*_创作模式.json"))
print(f"找到 {len(pattern_files)} 个创作模式文件")
if not pattern_files:
print("错误: 没有找到创作模式文件!")
sys.exit(1)
# 为每个文件生成 HTML
for pattern_file in pattern_files:
post_id = pattern_file.stem.replace("_创作模式", "")
print(f"\n处理: {post_id}")
# 读取数据
with open(pattern_file, "r", encoding="utf-8") as f:
data = json.load(f)
# 生成 HTML
data_json = json.dumps(data, ensure_ascii=False)
html_content = HTML_TEMPLATE.replace("__DATA_PLACEHOLDER__", data_json)
# 输出文件
output_file = input_dir / f"{post_id}_分层图谱.html"
with open(output_file, "w", encoding="utf-8") as f:
f.write(html_content)
print(f"输出: {output_file}")
print("\n完成!")
if __name__ == "__main__":
main()