feat: Implement metadata system and reorganize project structure

 Features:
- Add comprehensive metadata system with YAML/JSON support
- Implement hierarchical metadata inheritance from parent folders
- Support plot-specific metadata overrides
- Add metadata caching for performance optimization

🗂️ Code Organization:
- Move Python orchestration code to orchestration/ folder
- Move validation utilities to tests/ folder
- Move documentation to docs/ folder
- Separate metadata functionality into dedicated module

🔧 Infrastructure:
- Add automatic asset copying to web directory
- Fix asset path resolution for nested directories
- Update template to use dynamic asset paths
- Add MetadataConfig class with inheritance options

📚 Documentation:
- Add comprehensive metadata usage guide (METADATA_USAGE.md)
- Add implementation documentation (METADATA_IMPLEMENTATION.md)
- Include example metadata files in examples/
- Add metadata validation utility script

🐛 Bug Fixes:
- Fix breadcrumb navigation and JavaScript functionality
- Resolve asset path issues in nested directories
- Update template imports for modular CSS/JS structure

This commit introduces a flexible metadata system that allows users to add
rich metadata to plots and folders using YAML or JSON files, with full
hierarchical inheritance and plot-specific overrides. The project structure
is now better organized with clear separation of concerns.
This commit is contained in:
Kylian Schmidt
2025-07-08 12:33:49 +02:00
parent 716e1c95fe
commit 72ebc5e103
13 changed files with 645 additions and 2017 deletions
+2 -2
View File
@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<title>{{ title }}</title>
<link rel="stylesheet" href="assets/css/main.css">
<link rel="stylesheet" href="{{ assets_path }}/css/main.css">
</head>
<body>
<!-- Main Content -->
@@ -184,6 +184,6 @@
</script>
<!-- Main JavaScript Application -->
<script type="module" src="assets/js/main.js"></script>
<script type="module" src="{{ assets_path }}/js/main.js"></script>
</body>
</html>