mirror of
https://github.com/mustbeperfect/definitive-opensource.git
synced 2026-04-23 01:05:43 +02:00
Updated generation script
This commit is contained in:
@@ -663,19 +663,19 @@
|
||||
{
|
||||
"Name": "Other",
|
||||
"id": "other",
|
||||
"parent": "",
|
||||
"parent": "other",
|
||||
"description": ""
|
||||
},
|
||||
{
|
||||
"Name": "Uncategorized",
|
||||
"id": "uncategorized",
|
||||
"parent": "",
|
||||
"parent": "other",
|
||||
"description": ""
|
||||
},
|
||||
{
|
||||
"Name": "Removed Projects",
|
||||
"id": "removed-projects",
|
||||
"parent": "",
|
||||
"parent": "other",
|
||||
"description": ""
|
||||
}
|
||||
]
|
||||
|
||||
0
source/lib/crossheader.md
Normal file
0
source/lib/crossheader.md
Normal file
@@ -1 +1,52 @@
|
||||
## Honorable Mentions of Closed-Source Software
|
||||
Some proprietary software just deserve recognition.
|
||||
- [Davinci Resolve](https://www.blackmagicdesign.com/products/davinciresolve) - Professional Editing, Color, Effects and Audio Post!
|
||||
- [Obsidian](https://obsidian.md/) - The free and flexible app for your private thoughts.
|
||||
- [LM Studio](https://lmstudio.ai/) - Discover, download, and run local LLMs
|
||||
- [JetBrains](https://www.jetbrains.com/) - A rich suite of tools that provide an exceptional developer experience
|
||||
- [Raycast](https://www.raycast.com/) - A collection of powerful productivity tools all within an extendable launcher.
|
||||
|
||||
## Removed Projects
|
||||
Projects that were once on this list but removed - usually due to abandonement or going closed source.
|
||||
|
||||
<details>
|
||||
<summary><b>Archive</b></summary> <br />
|
||||
|
||||
- [eqMac](https://github.com/bitgapp/eqMac) - `Closed source`
|
||||
- [Hyper](https://github.com/vercel/hyper) - `Abandoned`
|
||||
- [DiffusionBee](https://github.com/divamgupta/diffusionbee-stable-diffusion-ui) - `Closed source`
|
||||
- [Lunarvim](https://github.com/LunarVim/LunarVim) - `Abandoned`
|
||||
- [Motrix](https://github.com/agalwood/Motrix) - `Abandoned`
|
||||
- [StableSwarmUI](https://github.com/Stability-AI/StableSwarmUI) - `Abandoned`
|
||||
- [Trilium](https://github.com/zadam/trilium) - `Abandoned`
|
||||
</details>
|
||||
|
||||
## FAQ
|
||||
<details>
|
||||
<summary><b>How about a JSON file with scripts or a website?</b></summary> <br />
|
||||
A JSON file with scripts that generate the README(s) would make fundamental changes and reorganization far easier whilst minimizing formatting and grammatical errors. A website would provide much requested features like tag based filtering and even automation.
|
||||
<p> </p>
|
||||
However, for the foreseeable future, the list will to be edited directly as a markdown file for one reason: to keep things simple. The current system lets me focus solely on the projects within, not how to present said projects.
|
||||
<p> </p>
|
||||
The current markdown system could also be considered a stepping stone to guage the community's needs prior to building a more complex system. I will likely migrate to a JSON file as the project scales and when I have time to architect such a system.
|
||||
<p> </p>
|
||||
As for the website, the complexities of web development seem unnecessary and an added pain for a task that can suffice, for now, as a markdown file. Depending on the popularity of the project, however, this idea will remain in the back of my mind.
|
||||
</details>
|
||||
|
||||
## License
|
||||
This project is released under the `MIT license`, hereby granting anyone to use, distribute, or modify this project for, but not limited to, commercial purposes. See the license tab for further information.
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p align="center">
|
||||
<table>
|
||||
<tbody>
|
||||
<td align="center" width="2000px" height="100px">
|
||||
<b><a href="#tags">Go To Top</a></b><br>
|
||||
</td>
|
||||
<td align="center" width="2000px" height="100px">
|
||||
<b><a href="https://opensource.org/">Open Source Initiative</a></b><br>
|
||||
</td>
|
||||
</tbody>
|
||||
</table>
|
||||
</p>
|
||||
|
||||
0
source/lib/linuxheader.md
Normal file
0
source/lib/linuxheader.md
Normal file
0
source/lib/macosheader.md
Normal file
0
source/lib/macosheader.md
Normal file
0
source/lib/selfhostheader.md
Normal file
0
source/lib/selfhostheader.md
Normal file
0
source/lib/windowsheader.md
Normal file
0
source/lib/windowsheader.md
Normal file
@@ -1,9 +1,9 @@
|
||||
import json
|
||||
|
||||
def load_data():
|
||||
with open("categories.json", "r", encoding="utf-8") as f:
|
||||
with open("source/data/categories.json", "r", encoding="utf-8") as f:
|
||||
categories_data = json.load(f)
|
||||
with open("applications.json", "r", encoding="utf-8") as f:
|
||||
with open("source/data/applications.json", "r", encoding="utf-8") as f:
|
||||
applications_data = json.load(f)
|
||||
return categories_data, applications_data
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import json
|
||||
import os
|
||||
|
||||
from tableofcontents_generator import generate_table_of_contents
|
||||
from tableofcontents_generator import generate_tableofcontents
|
||||
from contents_generator import generate_markdown
|
||||
|
||||
def load_file(filename):
|
||||
@@ -10,18 +10,18 @@ def load_file(filename):
|
||||
|
||||
def generate_readme(platform="all"):
|
||||
header_map = {
|
||||
"cross": "crossheader.md",
|
||||
"macos": "macosheader.md",
|
||||
"windows": "windowsheader.md",
|
||||
"selfhost": "selfhostheader.md",
|
||||
"cross": "source/lib/crossheader.md",
|
||||
"macos": "source/lib/macosheader.md",
|
||||
"windows": "source/lib/windowsheader.md",
|
||||
"selfhost": "source/lib/selfhostheader.md",
|
||||
}
|
||||
|
||||
header_file = header_map.get(platform, "header.md")
|
||||
header_file = header_map.get(platform, "source/lib/header.md")
|
||||
header = load_file(header_file)
|
||||
tags = load_file("tags.md")
|
||||
footer = load_file("footer.md")
|
||||
tags = load_file("source/lib/tags.md")
|
||||
footer = load_file("source/lib/footer.md")
|
||||
|
||||
toc = generate_table_of_contents()
|
||||
toc = generate_tableofcontents()
|
||||
content = generate_markdown(platform)
|
||||
|
||||
readme_content = "\n".join([header, tags, toc, content, footer])
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import json
|
||||
|
||||
def load_categories():
|
||||
with open("categories.json", "r", encoding="utf-8") as f:
|
||||
with open("source/data/categories.json", "r", encoding="utf-8") as f:
|
||||
return json.load(f)
|
||||
|
||||
def generate_table_of_contents():
|
||||
def generate_tableofcontents():
|
||||
data = load_categories()
|
||||
categories = sorted(data["categories"], key=lambda x: x["Name"].lower())
|
||||
subcategories = sorted(data["subcategories"], key=lambda x: x["Name"].lower())
|
||||
@@ -44,7 +44,7 @@ def generate_table_of_contents():
|
||||
return "\n".join(toc)
|
||||
|
||||
if __name__ == "__main__":
|
||||
toc_content = generate_table_of_contents()
|
||||
toc_content = generate_tableofcontents()
|
||||
with open("tableofcontents.md", "w", encoding="utf-8") as f:
|
||||
f.write(toc_content)
|
||||
print("Generated tableofcontents.md")
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user