diff --git a/README.md b/README.md index 7b90d0d..4a8f72c 100644 --- a/README.md +++ b/README.md @@ -77,13 +77,15 @@ Abandoned - Development Halted `๐Ÿšซ` - Potentially abandoned -`๐Ÿ›‘` - Potentially closed source +`๐Ÿ”’` - Potentially closed source -`โ‰๏ธ` - Suspicious license +`๐Ÿ›‘` - Development paused -`๐ŸŸฅ` - Corporate influence +`โš ๏ธ` - Suspicious license -`๐Ÿ”บ` - Commercial +`๐Ÿฆ` - Corporate influence + +`๐Ÿ’ฐ` - Commercial `๐Ÿงช` - Experimental (Pre-Alpha) @@ -460,7 +462,7 @@ Abandoned - Development Halted | Name | Description | Platform | Stars | | --- | --- | --- | --- | -| [Signal](https://github.com/signalapp) | A private messenger. | `Cross` | | +| [Signal](https://github.com/signalapp/Signal-Android) | A private messenger. | `Cross` | ![GitHub Repo stars](https://img.shields.io/github/stars/signalapp/Signal-Android?style=for-the-badge&label=%20&color=white) | | [SimpleX](https://github.com/simplex-chat/simplex-chat) | SimpleX - the first messaging network operating without user identifiers of any kind - 100% private by design! iOS, Android and desktop apps ๐Ÿ“ฑ! | `Cross` `CLI` `CLI+` | ![GitHub Repo stars](https://img.shields.io/github/stars/simplex-chat/simplex-chat?style=for-the-badge&label=%20&color=white) | | [Telegram Desktop](https://github.com/telegramdesktop/tdesktop) | Telegram Desktop messaging app | `Cross` | ![GitHub Repo stars](https://img.shields.io/github/stars/telegramdesktop/tdesktop?style=for-the-badge&label=%20&color=white) | diff --git a/readmes/linux.md b/readmes/linux.md index a8f84c2..45970a9 100644 --- a/readmes/linux.md +++ b/readmes/linux.md @@ -9,13 +9,15 @@ `๐Ÿšซ` - Potentially abandoned -`๐Ÿ›‘` - Potentially closed source +`๐Ÿ”’` - Potentially closed source -`โ‰๏ธ` - Suspicious license +`๐Ÿ›‘` - Development paused -`๐ŸŸฅ` - Corporate influence +`โš ๏ธ` - Suspicious license -`๐Ÿ”บ` - Commercial +`๐Ÿฆ` - Corporate influence + +`๐Ÿ’ฐ` - Commercial `๐Ÿงช` - Experimental (Pre-Alpha) @@ -369,7 +371,7 @@ | Name | Description | Platform | Stars | | --- | --- | --- | --- | -| [Signal](https://github.com/signalapp) | A private messenger. | `Cross` | | +| [Signal](https://github.com/signalapp/Signal-Android) | A private messenger. | `Cross` | ![GitHub Repo stars](https://img.shields.io/github/stars/signalapp/Signal-Android?style=for-the-badge&label=%20&color=white) | | [SimpleX](https://github.com/simplex-chat/simplex-chat) | SimpleX - the first messaging network operating without user identifiers of any kind - 100% private by design! iOS, Android and desktop apps ๐Ÿ“ฑ! | `Cross` `CLI` `CLI+` | ![GitHub Repo stars](https://img.shields.io/github/stars/simplex-chat/simplex-chat?style=for-the-badge&label=%20&color=white) | | [Telegram Desktop](https://github.com/telegramdesktop/tdesktop) | Telegram Desktop messaging app | `Cross` | ![GitHub Repo stars](https://img.shields.io/github/stars/telegramdesktop/tdesktop?style=for-the-badge&label=%20&color=white) | diff --git a/readmes/macos.md b/readmes/macos.md index 778a52b..ea7ff31 100644 --- a/readmes/macos.md +++ b/readmes/macos.md @@ -9,13 +9,15 @@ `๐Ÿšซ` - Potentially abandoned -`๐Ÿ›‘` - Potentially closed source +`๐Ÿ”’` - Potentially closed source -`โ‰๏ธ` - Suspicious license +`๐Ÿ›‘` - Development paused -`๐ŸŸฅ` - Corporate influence +`โš ๏ธ` - Suspicious license -`๐Ÿ”บ` - Commercial +`๐Ÿฆ` - Corporate influence + +`๐Ÿ’ฐ` - Commercial `๐Ÿงช` - Experimental (Pre-Alpha) @@ -370,7 +372,7 @@ | Name | Description | Platform | Stars | | --- | --- | --- | --- | -| [Signal](https://github.com/signalapp) | A private messenger. | `Cross` | | +| [Signal](https://github.com/signalapp/Signal-Android) | A private messenger. | `Cross` | ![GitHub Repo stars](https://img.shields.io/github/stars/signalapp/Signal-Android?style=for-the-badge&label=%20&color=white) | | [SimpleX](https://github.com/simplex-chat/simplex-chat) | SimpleX - the first messaging network operating without user identifiers of any kind - 100% private by design! iOS, Android and desktop apps ๐Ÿ“ฑ! | `Cross` `CLI` `CLI+` | ![GitHub Repo stars](https://img.shields.io/github/stars/simplex-chat/simplex-chat?style=for-the-badge&label=%20&color=white) | | [Telegram Desktop](https://github.com/telegramdesktop/tdesktop) | Telegram Desktop messaging app | `Cross` | ![GitHub Repo stars](https://img.shields.io/github/stars/telegramdesktop/tdesktop?style=for-the-badge&label=%20&color=white) | diff --git a/readmes/selfhost.md b/readmes/selfhost.md index 228a91f..efe3c88 100644 --- a/readmes/selfhost.md +++ b/readmes/selfhost.md @@ -9,13 +9,15 @@ `๐Ÿšซ` - Potentially abandoned -`๐Ÿ›‘` - Potentially closed source +`๐Ÿ”’` - Potentially closed source -`โ‰๏ธ` - Suspicious license +`๐Ÿ›‘` - Development paused -`๐ŸŸฅ` - Corporate influence +`โš ๏ธ` - Suspicious license -`๐Ÿ”บ` - Commercial +`๐Ÿฆ` - Corporate influence + +`๐Ÿ’ฐ` - Commercial `๐Ÿงช` - Experimental (Pre-Alpha) diff --git a/readmes/windows.md b/readmes/windows.md index 1cb6181..5ab91f4 100644 --- a/readmes/windows.md +++ b/readmes/windows.md @@ -9,13 +9,15 @@ `๐Ÿšซ` - Potentially abandoned -`๐Ÿ›‘` - Potentially closed source +`๐Ÿ”’` - Potentially closed source -`โ‰๏ธ` - Suspicious license +`๐Ÿ›‘` - Development paused -`๐ŸŸฅ` - Corporate influence +`โš ๏ธ` - Suspicious license -`๐Ÿ”บ` - Commercial +`๐Ÿฆ` - Corporate influence + +`๐Ÿ’ฐ` - Commercial `๐Ÿงช` - Experimental (Pre-Alpha) @@ -369,7 +371,7 @@ | Name | Description | Platform | Stars | | --- | --- | --- | --- | -| [Signal](https://github.com/signalapp) | A private messenger. | `Cross` | | +| [Signal](https://github.com/signalapp/Signal-Android) | A private messenger. | `Cross` | ![GitHub Repo stars](https://img.shields.io/github/stars/signalapp/Signal-Android?style=for-the-badge&label=%20&color=white) | | [SimpleX](https://github.com/simplex-chat/simplex-chat) | SimpleX - the first messaging network operating without user identifiers of any kind - 100% private by design! iOS, Android and desktop apps ๐Ÿ“ฑ! | `Cross` `CLI` `CLI+` | ![GitHub Repo stars](https://img.shields.io/github/stars/simplex-chat/simplex-chat?style=for-the-badge&label=%20&color=white) | | [Telegram Desktop](https://github.com/telegramdesktop/tdesktop) | Telegram Desktop messaging app | `Cross` | ![GitHub Repo stars](https://img.shields.io/github/stars/telegramdesktop/tdesktop?style=for-the-badge&label=%20&color=white) | diff --git a/source/components/tags.md b/source/components/tags.md index afd4afb..2f18296 100644 --- a/source/components/tags.md +++ b/source/components/tags.md @@ -5,13 +5,15 @@ `๐Ÿšซ` - Potentially abandoned -`๐Ÿ›‘` - Potentially closed source +`๐Ÿ”’` - Potentially closed source -`โ‰๏ธ` - Suspicious license +`๐Ÿ›‘` - Development paused -`๐ŸŸฅ` - Corporate influence +`โš ๏ธ` - Suspicious license -`๐Ÿ”บ` - Commercial +`๐Ÿฆ` - Corporate influence + +`๐Ÿ’ฐ` - Commercial `๐Ÿงช` - Experimental (Pre-Alpha) diff --git a/source/data/archive.json b/source/data/archive.json new file mode 100644 index 0000000..e69de29 diff --git a/source/data/categories.json b/source/data/categories.json index e7f2b9f..7a12588 100644 --- a/source/data/categories.json +++ b/source/data/categories.json @@ -2,82 +2,82 @@ "categories": [ { - "Name": "Artificial Intelligence (AI)", + "name": "Artificial Intelligence (AI)", "id": "ai", "description": "" }, { - "Name": "Communication", + "name": "Communication", "id": "communication", "description": "" }, { - "Name": "Data", + "name": "Data", "id": "data", "description": "" }, { - "Name": "Development", + "name": "Development", "id": "development", "description": "" }, { - "Name": "Entertainment", + "name": "Entertainment", "id": "entertainment", "description": "" }, { - "Name": "Extensions", + "name": "Extensions", "id": "extensions", "description": "" }, { - "Name": "Internet", + "name": "Internet", "id": "internet", "description": "" }, { - "Name": "Media", + "name": "Media", "id": "media", "description": "" }, { - "Name": "Server", + "name": "Server", "id": "server", "description": "" }, { - "Name": "Operating System", + "name": "Operating System", "id": "os", "description": "" }, { - "Name": "Organization", + "name": "Organization", "id": "organization", "description": "" }, { - "Name": "Productivity", + "name": "Productivity", "id": "productivity", "description": "" }, { - "Name": "Security/Privacy", + "name": "Security/Privacy", "id": "security", "description": "" }, { - "Name": "Terminal", + "name": "Terminal", "id": "terminal", "description": "" }, { - "Name": "Text", + "name": "Text", "id": "text", "description": "" }, { - "Name": "Utilities", + "name": "Utilities", "id": "utilities", "description": "" } @@ -85,589 +85,589 @@ "subcategories": [ { - "Name": "Agent", + "name": "Agent", "id": "agent", "parent": "ai", "description": "" }, { - "Name": "AI Image GUI", + "name": "AI Image GUI", "id": "ai-image-gui", "parent": "ai", "description": "" }, { - "Name": "AI Utilities", + "name": "AI Utilities", "id": "ai-utilities", "parent": "ai", "description": "" }, { - "Name": "All In One", + "name": "All In One", "id": "all-in-one", "parent": "ai", "description": "" }, { - "Name": "Assistant", + "name": "Assistant", "id": "assistant", "parent": "ai", "description": "" }, { - "Name": "Information Processing", + "name": "Information Processing", "id": "information-processing", "parent": "ai", "description": "" }, { - "Name": "LLM GUI", + "name": "LLM GUI", "id": "llm-gui", "parent": "ai", "description": "" }, { - "Name": "Manager", + "name": "Manager", "id": "manager", "parent": "ai", "description": "" }, { - "Name": "Model Tools", + "name": "Model Tools", "id": "model-tools", "parent": "ai", "description": "" }, { - "Name": "RAG", + "name": "RAG", "id": "rag", "parent": "ai", "description": "" }, { - "Name": "Research", + "name": "Research", "id": "research", "parent": "ai", "description": "" }, { - "Name": "Chat", + "name": "Chat", "id": "chat", "parent": "communication", "description": "" }, { - "Name": "Collaboration", + "name": "Collaboration", "id": "collaboration", "parent": "communication", "description": "" }, { - "Name": "Mail", + "name": "Mail", "id": "mail", "parent": "communication", "description": "" }, { - "Name": "Video Conference", + "name": "Video Conference", "id": "video-conference", "parent": "communication", "description": "" }, { - "Name": "Backup", + "name": "Backup", "id": "backup", "parent": "data", "description": "" }, { - "Name": "Storage", + "name": "Storage", "id": "storage", "parent": "data", "description": "" }, { - "Name": "Sync", + "name": "Sync", "id": "sync", "parent": "data", "description": "" }, { - "Name": "Code Assistant", + "name": "Code Assistant", "id": "code-assistant", "parent": "development", "description": "" }, { - "Name": "Code Editor", + "name": "Code Editor", "id": "code-editor", "parent": "development", "description": "" }, { - "Name": "Dev Tools", + "name": "Dev Tools", "id": "dev-tools", "parent": "development", "description": "" }, { - "Name": "Game Engine", + "name": "Game Engine", "id": "game-engine", "parent": "development", "description": "" }, { - "Name": "Git GUI", + "name": "Git GUI", "id": "git-gui", "parent": "development", "description": "" }, { - "Name": "IDE", + "name": "IDE", "id": "ide", "parent": "development", "description": "" }, { - "Name": "Language Package Manager", + "name": "Language Package Manager", "id": "language-package-manager", "parent": "development", "description": "" }, { - "Name": "Game Launcher", + "name": "Game Launcher", "id": "game-launcher", "parent": "entertainment", "description": "" }, { - "Name": "Games", + "name": "Games", "id": "games", "parent": "entertainment", "description": "" }, { - "Name": "Browser Extensions", + "name": "Browser Extensions", "id": "browser-extensions", "parent": "extensions", "description": "" }, { - "Name": "EMACS Packages", + "name": "EMACS Packages", "id": "emacs-packages", "parent": "extensions", "description": "" }, { - "Name": "Neovim Extensions", + "name": "Neovim Extensions", "id": "neovim-extensions", "parent": "extensions", "description": "" }, { - "Name": "Browser", + "name": "Browser", "id": "browser", "parent": "internet", "description": "" }, { - "Name": "Download Manager", + "name": "Download Manager", "id": "download-manager", "parent": "internet", "description": "" }, { - "Name": "Search Engine", + "name": "Search Engine", "id": "search-engine", "parent": "internet", "description": "" }, { - "Name": "Audio Editor", + "name": "Audio Editor", "id": "audio-editor", "parent": "media", "description": "" }, { - "Name": "Audio Player", + "name": "Audio Player", "id": "audio-player", "parent": "media", "description": "" }, { - "Name": "Graphics", + "name": "Graphics", "id": "graphics", "parent": "media", "description": "" }, { - "Name": "Image Processing", + "name": "Image Processing", "id": "image-processing", "parent": "media", "description": "" }, { - "Name": "Media Downloader", + "name": "Media Downloader", "id": "media-downloader", "parent": "media", "description": "" }, { - "Name": "Screen Recording", + "name": "Screen Recording", "id": "screen-recording", "parent": "media", "description": "" }, { - "Name": "Video Editing", + "name": "Video Editing", "id": "video-editing", "parent": "media", "description": "" }, { - "Name": "Video Player", + "name": "Video Player", "id": "video-player", "parent": "media", "description": "" }, { - "Name": "Video Transcoder", + "name": "Video Transcoder", "id": "video-transcoder", "parent": "media", "description": "" }, { - "Name": "Arr", + "name": "Arr", "id": "arr", "parent": "server", "description": "" }, { - "Name": "Dashboard", + "name": "Dashboard", "id": "dashboard", "parent": "server", "description": "" }, { - "Name": "Home Automation", + "name": "Home Automation", "id": "home-automation", "parent": "server", "description": "" }, { - "Name": "Home Server", + "name": "Home Server", "id": "home-server", "parent": "server", "description": "" }, { - "Name": "Media Management", + "name": "Media Management", "id": "media-management", "parent": "server", "description": "" }, { - "Name": "Surveillance", + "name": "Surveillance", "id": "surveillance", "parent": "server", "description": "" }, { - "Name": "Windows", + "name": "Windows", "id": "windows", "parent": "os", "description": "" }, { - "Name": "MacOS", + "name": "MacOS", "id": "macos", "parent": "os", "description": "" }, { - "Name": "Linux", + "name": "Linux", "id": "linux", "parent": "os", "description": "" }, { - "Name": "Operating System", + "name": "Operating System", "id": "operating-system", "parent": "os", "description": "" }, { - "Name": "Bookmark Manager", + "name": "Bookmark Manager", "id": "bookmark-manager", "parent": "organization", "description": "" }, { - "Name": "Document Manager", + "name": "Document Manager", "id": "document-manager", "parent": "organization", "description": "" }, { - "Name": "Calendar", + "name": "Calendar", "id": "calendar", "parent": "productivity", "description": "" }, { - "Name": "Document Modifier", + "name": "Document Modifier", "id": "document-modifier", "parent": "productivity", "description": "" }, { - "Name": "Finance", + "name": "Finance", "id": "finance", "parent": "productivity", "description": "" }, { - "Name": "Knowledge Base", + "name": "Knowledge Base", "id": "knowledge-base", "parent": "productivity", "description": "" }, { - "Name": "Project Management", + "name": "Project Management", "id": "project-management", "parent": "productivity", "description": "" }, { - "Name": "Task Management", + "name": "Task Management", "id": "task-management", "parent": "productivity", "description": "" }, { - "Name": "Time Management", + "name": "Time Management", "id": "time-management", "parent": "productivity", "description": "" }, { - "Name": "AD Blocker", + "name": "AD Blocker", "id": "ad-blocker", "parent": "security", "description": "" }, { - "Name": "Antivirus", + "name": "Antivirus", "id": "antivirus", "parent": "security", "description": "" }, { - "Name": "Authentication", + "name": "Authentication", "id": "authentication", "parent": "security", "description": "" }, { - "Name": "Firewall", + "name": "Firewall", "id": "firewall", "parent": "security", "description": "" }, { - "Name": "Password Manager", + "name": "Password Manager", "id": "password-manager", "parent": "security", "description": "" }, { - "Name": "VPN", + "name": "VPN", "id": "vpn", "parent": "security", "description": "" }, { - "Name": "Shell", + "name": "Shell", "id": "shell", "parent": "terminal", "description": "" }, { - "Name": "Terminal Emulator", + "name": "Terminal Emulator", "id": "terminal-emulator", "parent": "terminal", "description": "" }, { - "Name": "Terminal Multiplexer", + "name": "Terminal Multiplexer", "id": "terminal-multiplexer", "parent": "terminal", "description": "" }, { - "Name": "Terminal Utilities", + "name": "Terminal Utilities", "id": "terminal-utilities", "parent": "terminal", "description": "" }, { - "Name": "Document Editor", + "name": "Document Editor", "id": "document-editor", "parent": "text", "description": "" }, { - "Name": "Markdown Editor", + "name": "Markdown Editor", "id": "markdown-editor", "parent": "text", "description": "" }, { - "Name": "Note Taking", + "name": "Note Taking", "id": "note-taking", "parent": "text", "description": "" }, { - "Name": "Office Suite", + "name": "Office Suite", "id": "office-suite", "parent": "text", "description": "" }, { - "Name": "Proofreading", + "name": "Proofreading", "id": "proofreading", "parent": "text", "description": "" }, { - "Name": "Spreadsheet", + "name": "Spreadsheet", "id": "spreadsheet", "parent": "text", "description": "" }, { - "Name": "Text Editor", + "name": "Text Editor", "id": "text-editor", "parent": "text", "description": "" }, { - "Name": "Wiki", + "name": "Wiki", "id": "wiki", "parent": "text", "description": "" }, { - "Name": "Automation", + "name": "Automation", "id": "automation", "parent": "utilities", "description": "" }, { - "Name": "Cleaner", + "name": "Cleaner", "id": "cleaner", "parent": "utilities", "description": "" }, { - "Name": "Clipboard Manager", + "name": "Clipboard Manager", "id": "clipboard-manager", "parent": "utilities", "description": "" }, { - "Name": "Containers", + "name": "Containers", "id": "containers", "parent": "utilities", "description": "" }, { - "Name": "Dotfiles Manager", + "name": "Dotfiles Manager", "id": "dotfiles-manager", "parent": "utilities", "description": "" }, { - "Name": "File Manager", + "name": "File Manager", "id": "file-manager", "parent": "utilities", "description": "" }, { - "Name": "File Sharing", + "name": "File Sharing", "id": "file-sharing", "parent": "utilities", "description": "" }, { - "Name": "Keyboard Manager", + "name": "Keyboard Manager", "id": "keyboard-manager", "parent": "utilities", "description": "" }, { - "Name": "Launcher", + "name": "Launcher", "id": "launcher", "parent": "utilities", "description": "" }, { - "Name": "Package Manager", + "name": "Package Manager", "id": "package-manager", "parent": "utilities", "description": "" }, { - "Name": "Remote Desktop", + "name": "Remote Desktop", "id": "remote-desktop", "parent": "utilities", "description": "" }, { - "Name": "System Monitoring", + "name": "System Monitoring", "id": "system-monitoring", "parent": "utilities", "description": "" }, { - "Name": "System", + "name": "System", "id": "system", "parent": "utilities", "description": "" }, { - "Name": "Tools", + "name": "Tools", "id": "tools", "parent": "utilities", "description": "" }, { - "Name": "Version Manager", + "name": "Version Manager", "id": "version-manager", "parent": "utilities", "description": "" }, { - "Name": "Virtual Machine", + "name": "Virtual Machine", "id": "virtual-machine", "parent": "utilities", "description": "" }, { - "Name": "Window Management", + "name": "Window Management", "id": "window-management", "parent": "utilities", "description": "" }, { - "Name": "Other", + "name": "Other", "id": "other", "parent": "other", "description": "" }, { - "Name": "Uncategorized", + "name": "Uncategorized", "id": "uncategorized", "parent": "other", "description": "" diff --git a/source/data/tags.json b/source/data/tags.json new file mode 100644 index 0000000..1100fed --- /dev/null +++ b/source/data/tags.json @@ -0,0 +1,90 @@ +{ + "tags": + [ + { + "emoji": "๐ŸŸก", + "id": "si-minor", + "description": "Minor Security Incident" + }, + { + "emoji": "๐ŸŸ ", + "id": "si-moderate", + "description": "Moderate Security Incident" + }, + { + "emoji": "๐Ÿ”ด", + "id": "si-major", + "description": "Major Security Incident" + }, + { + "emoji": "โญ•", + "id": "si-critical", + "description": "Critical Security Incident" + }, + { + "emoji": "๐Ÿšซ", + "id": "abandoned", + "description": "Potentially Abandoned" + }, + { + "emoji": "๐Ÿ›‘", + "id": "paused", + "description": "Development Paused" + }, + { + "emoji": "๐Ÿ”’", + "id": "closed-source", + "description": "Potentially Closed Source" + }, + { + "emoji": "โš ๏ธ", + "id": "suspicious-license", + "description": "Suspicious License" + }, + { + "emoji": "๐Ÿฆ", + "id": "corporate-influence", + "description": "Corporate Influence" + }, + { + "emoji": "๐Ÿ’ฐ", + "id": "commercial", + "description": "Commercial" + }, + { + "emoji": "๐Ÿงช", + "id": "experimental", + "description": "Experimental (Pre-Alpha)" + }, + { + "emoji": "๐Ÿšง", + "id": "unstable", + "description": "Critically Unstable/Buggy" + }, + { + "emoji": "โŒ", + "id": "removal", + "description": "On Watch For Removal" + }, + { + "emoji": "๐Ÿ’ฅ", + "id": "disruptive", + "description": "disruptive" + }, + { + "emoji": "๐ŸŒ", + "id": "influential", + "description": "Influential" + }, + { + "emoji": "๐ŸŒŸ", + "id": "pioneering", + "description": "Pioneering" + }, + { + "emoji": "๐Ÿ’ก", + "id": "innovative", + "description": "Innovative" + } + ] +} diff --git a/source/scripts/generators/contents_generator.py b/source/scripts/generators/contents_generator.py index 30184b6..f8e8e91 100644 --- a/source/scripts/generators/contents_generator.py +++ b/source/scripts/generators/contents_generator.py @@ -23,14 +23,14 @@ def generate_contents(platform="all"): applications = app_data.get("applications", []) # Map parent categories id to corresponding name - parent_map = {cat["id"]: cat["Name"] for cat in categories} + parent_map = {cat["id"]: cat["name"] for cat in categories} # Group subcategories by their parent subcat_by_parent = {} for sub in subcategories: parent = sub.get("parent", "other") subcat_by_parent.setdefault(parent, []).append({ - "Name": sub["Name"], + "Name": sub["name"], "id": sub["id"] }) # Sort subcategories alphabetically in each parent group diff --git a/source/scripts/generators/tableofcontents_generator.py b/source/scripts/generators/tableofcontents_generator.py index c950431..eff375d 100644 --- a/source/scripts/generators/tableofcontents_generator.py +++ b/source/scripts/generators/tableofcontents_generator.py @@ -12,7 +12,7 @@ def generate_table_of_contents(): subcategories = data.get("subcategories", []) # Build the alphabetical list (ignoring parent categories) - subcat_names = [sub["Name"] for sub in subcategories] + subcat_names = [sub["name"] for sub in subcategories] subcat_names.sort(key=lambda x: x.lower()) alphabetical_md = "" for name in subcat_names: @@ -20,12 +20,12 @@ def generate_table_of_contents(): # Build the categorized list # Create a mapping from parent id to parent name - parent_map = {cat["id"]: cat["Name"] for cat in categories} + parent_map = {cat["id"]: cat["name"] for cat in categories} # Group subcategories by their parent id grouped = {} for sub in subcategories: parent = sub.get("parent", "other") - grouped.setdefault(parent, []).append(sub["Name"]) + grouped.setdefault(parent, []).append(sub["name"]) # Sort each group's subcategories alphabetically for key in grouped: grouped[key].sort(key=lambda x: x.lower())