Thanks for the mention! I should update the readme with the new way of integrating scripts from GitHub and archive the external-libraries plug.
Another common way is to have an awesome-silverbullet repo (maybe in the silverbullet organisation on GitHub?) that lists everything, but if that’s not maintained actively, it can be a bit of a bother to add new links.
Why not make a PR to the main repository for silverbullet librarieshttps://github.com/silverbulletmd/silverbullet-libraries?
It makes more sense to have everything in one place, doesn’t it?
Here are a two reasons why this might not be the best idea:
Not every library is useful for everyone. If everyone started submitting their libraries to the official repository, it would sooner or later be filled with a lot of “junk” or random snippets.
Personally, I prefer to maintain my own repository of silverbullet-libraries independently, without having to create a PR for every single commit I make (which, admittedly, happens more often than I’d like). Submitting PRs to the main repo would also create a lot of unnecessary work for @zef.
As an alternative, it might make more sense to submit PRs only to the official silverbullet-libraries repository and include only links to each fork, similar to what @malys is doing here. Instead of posting these in the forum, we could create a list on GitHub and include the links to each creator’s personal fork in the README.
This would keep the maintenance effort for @zef minimal while giving everyone the flexibility to maintain their own repository, and still everything being “registered” in a central repo.
In my repository, there is json file with SB libraries. Enriching It, It could be the database of all scripts and SB could fetch It and directly to install délecter script from specific SB ui.
I understand what you mean, but it’s not my philosophy of FLOSS. contribute and enhance the software you like.
I think all scripts you have created are useful for someone in the world. like any plugins store, anyone can activated the plugs they need (like logseq plugins).
but for that, it useful the search in one place and not deep searching in the forum threads or in all github repos.
if we keep SB simple as possible, more people can contribute and enhance it
I have tried to create PR to official sb-libraries but I think it to complicate:
I’m not the owner of my own code
it’s most complicate to maintain them (time-consuming PR, validation, review)
…
In this case, my goal is not to contribute to SB core but:
to share scripts (no pains that cover my needs)
to share ideas
to fix some bugs from feedbacks and collaborative improvements.
I try to write scripts quickly to cover missing features and to not spend hours on it (after on 1 year, I conclude that maintenance of scripts are costly).
It’s not very easy to be productive writing space-lua. Step by step, I try to improve code quality but currently, my scritps is “Use as is, not guaranteed”. If someone want to use them, improve them or be inspired by them. Perfect!
That’s why have my own public sb-libraries repository is a right solution for me..
I will try to update this post with new repositories.
i need to make some tiny modifications and then I can push it to my repo, and you can check it out.
the only downside of this approach is that github lets you do only 60 API calls / hour without authentication. So one would need an API Key to have 5000 API calls/hour (more than enough).
Every browsing/navigation makes one separate API call. so one library import could “cost you” 2+ API calls depending on the depth of the .md file you’re looking for. But for the average Joe that is more than enough imho. But for us “geeks” we’d definitely will need an API_KEY added. but that’s just a minor inconvenience.
Amazing! I’m on holidays. i send your quick answer.
Imagine every SB libraries generates index.json ( md list files with description, owner , licence, URL)
Your lua script get by default index.json of GitHub repository and if not scan repository
Like this your save many GitHub API calls.
We have to be agree on the format and push tooling on official SB libraries. Every fork will inherit them.