mirror of
https://github.com/mustbeperfect/definitive-opensource.git
synced 2026-04-22 22:05:22 +02:00
Added dynamic project count and minor fixes
This commit is contained in:
25
source/scripts/mainheader_generator.py
Normal file
25
source/scripts/mainheader_generator.py
Normal file
@@ -0,0 +1,25 @@
|
||||
import json
|
||||
|
||||
def generate_mainheader():
|
||||
with open("source/data/applications.json", "r", encoding="utf-8") as f:
|
||||
data = json.load(f)
|
||||
|
||||
project_count = len(data.get("applications", []))
|
||||
|
||||
header_content = f"""
|
||||
<table align="center">
|
||||
<tr>
|
||||
<td>🇺🇦 v0.5.2-beta</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h1 align="center">[ definitive-opensource ] </h1>
|
||||
<p align="center">A definitive list of the best of everything open source</p>
|
||||
|
||||
<p align="center"><code>Status: Active</code> - <code>Projects: {project_count}</code></p>
|
||||
"""
|
||||
|
||||
return header_content
|
||||
|
||||
if __name__ == "__main__":
|
||||
generate_mainheader()
|
||||
@@ -1,6 +1,7 @@
|
||||
import os
|
||||
from tableofcontents_generator import generate_table_of_contents
|
||||
from contents_generator import generate_contents
|
||||
from mainheader_generator import generate_mainheader
|
||||
|
||||
# List of target platforms
|
||||
platforms = ["all", "windows", "macos", "linux", "selfhost"]
|
||||
@@ -17,6 +18,10 @@ header_files = {
|
||||
def generate_readme_for_platform(platform):
|
||||
content = ""
|
||||
header_file = header_files.get(platform, "source/components/header.md")
|
||||
|
||||
# Inject mainheader with dynamic project count
|
||||
if platform == "all":
|
||||
content += generate_mainheader()
|
||||
|
||||
# Inject header (for 'all', use header.md; for others, use the platform-specific header)
|
||||
with open(header_file, "r", encoding="utf-8") as f:
|
||||
@@ -30,7 +35,7 @@ def generate_readme_for_platform(platform):
|
||||
toc_md = generate_table_of_contents()
|
||||
content += toc_md + "\n"
|
||||
|
||||
# Generate the actual list of contents (Markdown list) for the given platform
|
||||
# Generate the actual markdown list of contents for the given platform
|
||||
contents_md = generate_contents(platform)
|
||||
content += contents_md + "\n"
|
||||
|
||||
@@ -38,7 +43,7 @@ def generate_readme_for_platform(platform):
|
||||
with open("source/components/footer.md", "r", encoding="utf-8") as f:
|
||||
content += f.read() + "\n"
|
||||
|
||||
# Write output file; for "all" use README.md, otherwise README-<platform>.md
|
||||
# Write output file
|
||||
output_filename = "source/testing/test.md" if platform == "all" else f"readmes/{platform}.md"
|
||||
with open(output_filename, "w", encoding="utf-8") as f:
|
||||
f.write(content)
|
||||
|
||||
Reference in New Issue
Block a user