{"repo":"BradyAJohnston/extensions","free":true,"listed":false,"github":"https://github.com/BradyAJohnston/extensions","clone":"git clone https://github.com/BradyAJohnston/extensions.git","description":"A self-hosted Blender extensions website built via GHA.","language":"SCSS","stars":11,"topics":[],"license":"GPL-3.0","category":"self-hosted-apps","readme_excerpt":"Host your own Blender Extensions website This is an experiment in hosting a Blender Extensions website, built via GitHub actions and distributed using GitHub pages and GitHub release downloads for file hosting. From a simple list of repos to check, all uploaded release assets are found and used to build an index.json , which enables a user to subscribe and download extensions from within Blender. This is intended for distributing development builds of add-ons, or add-ons which don't meet the rules for distribution via the Blender-hosted Extensions platform. All downloads are just links to the already hosted release files that are available from GitHub repos already, drastically reducing bandwidth requirements for GitHub pages websites. Building Locally Requires a copy of Blender to generate the index.json , and Quarto for static site generation. To make python environments \"just work\", I recommend using uv for any and all package and environment management. We first download all of the release files from each of the repos defined in repos/source.txt using the download script. Then we use Blender to generate the .json , then we build the final website using Quarto. I have aliased blender to the Blender executable on my system. I recommend you do the samme, but you can also just use the full path to the executable. Building via GitHub Actions Using GHA we can automatically build and update the website. The example workflow builds at least once each day, or on every push. Using ","default_branch":null,"files":null,"tree":[],"storefront":"/r/BradyAJohnston","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/BradyAJohnston/extensions/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}