explore: Plugin to generate Radicle Explorer URLs

This commit is contained in:
Lorenz Leutgeb
2025-11-06 15:31:09 +01:00
parent 62f9b1606c
commit a9932d6b79
14 changed files with 52 additions and 38 deletions
+7 -8
View File
@@ -822,9 +822,8 @@ collaboration.
[git-v2]: https://git-scm.com/docs/protocol-v2 [git-v2]: https://git-scm.com/docs/protocol-v2
[Tor]: https://torproject.org/ [Tor]: https://torproject.org/
[Ed25519]: https://ed25519.cr.yp.to/ [Ed25519]: https://ed25519.cr.yp.to/
[iris.radicle.xyz]: https://app.radicle.xyz/nodes/iris.radicle.xyz [iris.radicle.xyz]: {{ "iris.radicle.xyz " | explore }}
[rosa.radicle.xyz]: https://app.radicle.xyz/nodes/rosa.radicle.xyz [rosa.radicle.xyz]: {{ "rosa.radicle.xyz " | explore }}
[seed.radicle.xyz]: https://app.radicle.xyz/nodes/seed.radicle.xyz
[reverse-dns]: https://en.wikipedia.org/wiki/Reverse_domain_name_notation [reverse-dns]: https://en.wikipedia.org/wiki/Reverse_domain_name_notation
[tuf]: https://theupdateframework.github.io/specification/latest/ [tuf]: https://theupdateframework.github.io/specification/latest/
[noise]: http://www.noiseprotocol.org/noise.html [noise]: http://www.noiseprotocol.org/noise.html
@@ -835,15 +834,15 @@ collaboration.
[causality]: https://en.wikipedia.org/wiki/Causal_consistency [causality]: https://en.wikipedia.org/wiki/Causal_consistency
[dag]: https://en.wikipedia.org/wiki/Directed_acyclic_graph [dag]: https://en.wikipedia.org/wiki/Directed_acyclic_graph
[topo]: https://en.wikipedia.org/wiki/Topological_sorting [topo]: https://en.wikipedia.org/wiki/Topological_sorting
[rip-1]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3trNYnLWS11cJWC6BbxDs5niGo82/tree/0001-heartwood.md [rip-1]: {{ "rad:z3trNYnLWS11cJWC6BbxDs5niGo82/tree/0001-heartwood.md" | explore }}
[rip-2]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3trNYnLWS11cJWC6BbxDs5niGo82/tree/0002-identity.md [rip-2]: {{ "rad:z3trNYnLWS11cJWC6BbxDs5niGo82/tree/0002-identity.md" | explore }}
[rip-3]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3trNYnLWS11cJWC6BbxDs5niGo82/tree/0003-storage-layout.md [rip-3]: {{ "rad:z3trNYnLWS11cJWC6BbxDs5niGo82/tree/0003-storage-layout.md" | explore }}
[nat]: https://en.wikipedia.org/wiki/Network_address_translation [nat]: https://en.wikipedia.org/wiki/Network_address_translation
[framing]: https://en.wikipedia.org/wiki/Frame_(networking) [framing]: https://en.wikipedia.org/wiki/Frame_(networking)
[fs]: https://en.wikipedia.org/wiki/Forward_secrecy [fs]: https://en.wikipedia.org/wiki/Forward_secrecy
[ecdh]: https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange [ecdh]: https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange
[rips]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3trNYnLWS11cJWC6BbxDs5niGo82 [rips]: {{ "rad:z3trNYnLWS11cJWC6BbxDs5niGo82" | explore }}
[heartwood]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 [heartwood]: {{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5" | explore }}
[did]: https://www.w3.org/TR/did-core/ [did]: https://www.w3.org/TR/did-core/
[seed]: /guides/seeder/ [seed]: /guides/seeder/
[peer-to-peer]: https://en.wikipedia.org/wiki/Peer-to-peer [peer-to-peer]: https://en.wikipedia.org/wiki/Peer-to-peer
+2 -2
View File
@@ -133,7 +133,7 @@ This command runs an installer script that automates the setup process, by:
> compile from the [source code][heartwood] or get the [binaries] if you > compile from the [source code][heartwood] or get the [binaries] if you
> prefer. > prefer.
[heartwood]: https://app.radicle.xyz/seeds/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 [heartwood]: {{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5" | explore }}
[binaries]: {{ site.url }}/download [binaries]: {{ site.url }}/download
Once you've installed Radicle, you can make sure that it was successful by Once you've installed Radicle, you can make sure that it was successful by
@@ -2087,7 +2087,7 @@ to resolve `.onion` addresses.
[tor]: https://www.torproject.org [tor]: https://www.torproject.org
[install-tor]: https://community.torproject.org/onion-services/setup/install/ [install-tor]: https://community.torproject.org/onion-services/setup/install/
[cyph-man]: https://www.activism.net/cypherpunk/manifesto.html [cyph-man]: https://www.activism.net/cypherpunk/manifesto.html
[heartwood]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 [heartwood]: {{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5" | explore }}
[cobs]: /guides/protocol/#collaborative-objects [cobs]: /guides/protocol/#collaborative-objects
[ch1]: /guides/user/#1-getting-started [ch1]: /guides/user/#1-getting-started
[ch2]: /guides/user/#2-collaborating-the-radicle-way [ch2]: /guides/user/#2-collaborating-the-radicle-way
+1 -1
View File
@@ -9,7 +9,7 @@
<body> <body>
<img class="desktop" width="160" height="160" id="ribbon" src="/assets/images/ribbon.svg" usemap="#ribbon-map"/> <img class="desktop" width="160" height="160" id="ribbon" src="/assets/images/ribbon.svg" usemap="#ribbon-map"/>
<map name="ribbon-map"> <map name="ribbon-map">
<area shape="poly" coords="10,0,55,0,160,95,160,160,10,0" href="https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5" target="_blank"> <area shape="poly" coords="10,0,55,0,160,95,160,160,10,0" href="{{ 'rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5' | explore }}" target="_blank">
</map> </map>
{% include header.html %} {% include header.html %}
<main> <main>
+1 -1
View File
@@ -19,7 +19,7 @@
</main> </main>
<aside> <aside>
<p><strong>Follow us</strong> on 🐘 <a href="{{ site.fedi | fedi_to_https }}">Mastodon</a> or 🦋 <a href="https://bsky.app/profile/{{ site.atproto }}">Bluesky</a>.</p> <p><strong>Follow us</strong> on 🐘 <a href="{{ site.fedi | fedi_to_https }}">Mastodon</a> or 🦋 <a href="https://bsky.app/profile/{{ site.atproto }}">Bluesky</a>.</p>
<p><strong>Contribute</strong> to Radicle as a 🌱 <a href="/guides/seeder">seeder</a>, 🧙 <a href="https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5">developer</a> or by 🪞 <a href="/guides/user/#git-going-with-repositories">mirroring</a> your repositories on the Radicle network.</p> <p><strong>Contribute</strong> to Radicle as a 🌱 <a href="/guides/seeder">seeder</a>, 🧙 <a href="{{ 'rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5' | explore }}">developer</a> or by 🪞 <a href="/guides/user/#git-going-with-repositories">mirroring</a> your repositories on the Radicle network.</p>
<p><strong>Join</strong> our community on 💬 <a href="https://radicle.zulipchat.com">Zulip</a> and discuss your ideas to improve Radicle.</p> <p><strong>Join</strong> our community on 💬 <a href="https://radicle.zulipchat.com">Zulip</a> and discuss your ideas to improve Radicle.</p>
</aside> </aside>
{% include footer.html %} {% include footer.html %}
+2 -2
View File
@@ -37,7 +37,7 @@ the problem for over 4 years in total. Previous iterations of Radicle can be
found online, but are considered deprecated in favor of [Heartwood][heartwood], found online, but are considered deprecated in favor of [Heartwood][heartwood],
the latest generation of the protocol. the latest generation of the protocol.
[heartwood]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 [heartwood]: {{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5" | explore }}
# Technical Questions # Technical Questions
@@ -85,7 +85,7 @@ Radicle checks this automatically, by verifying changes to the maintainer set
through the repository identity document. All you need to know is that you have through the repository identity document. All you need to know is that you have
the correct Repository ID (RID). See [RIP-2][rip-2] for more information. the correct Repository ID (RID). See [RIP-2][rip-2] for more information.
[rip-2]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3trNYnLWS11cJWC6BbxDs5niGo82/tree/0002-identity.md [rip-2]: {{ "rad:z3trNYnLWS11cJWC6BbxDs5niGo82/tree/0002-identity.md" | explore }}
## Isn't SHA-1 broken? How do you handle hash collisions? ## Isn't SHA-1 broken? How do you handle hash collisions?
+2 -2
View File
@@ -73,8 +73,8 @@ developer stack.
[radworks]: https://radworks.org [radworks]: https://radworks.org
[ipfs]: https://ipfs.tech/ [ipfs]: https://ipfs.tech/
[heartwood]: https://app.radicle.xyz/seeds/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 [heartwood]: {{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5" | explore }}
[web]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5 [web]: {{ "rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5" | explore }}
[689]: https://github.com/radicle-dev/radicle-alpha/issues/689 [689]: https://github.com/radicle-dev/radicle-alpha/issues/689
[as]: https://cloudhead.io [as]: https://cloudhead.io
[ed]: https://eleftherios.io/ [ed]: https://eleftherios.io/
+4 -4
View File
@@ -2,8 +2,8 @@
title: Work for Radicle title: Work for Radicle
subtitle: Everything you ever wanted to know subtitle: Everything you ever wanted to know
--- ---
[heartwood]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 [heartwood]: {{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5" | explore }}
[rips]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3trNYnLWS11cJWC6BbxDs5niGo82 [rips]: {{ "rad:z3trNYnLWS11cJWC6BbxDs5niGo82" | explore }}
[zulip]: https://radicle.zulipchat.com [zulip]: https://radicle.zulipchat.com
# Work for Radicle # Work for Radicle
@@ -61,7 +61,7 @@ We are looking for a protocol developer to push the Radicle protocol forward.
- Design [Radicle Improvement Proposals][rips] to help define the future of Radicle. - Design [Radicle Improvement Proposals][rips] to help define the future of Radicle.
- Integrate design decisions into the existing implementation in the [`heartwood`][heartwood] repository. - Integrate design decisions into the existing implementation in the [`heartwood`][heartwood] repository.
- [Collaborate](https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/patches?status=merged) with external contributors to help maintain the project. - [Collaborate]({{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/patches?status=merged" | explore }}) with external contributors to help maintain the project.
- Improve and debug the existing implementation of the protocol. - Improve and debug the existing implementation of the protocol.
#### Experience #### Experience
@@ -88,7 +88,7 @@ We are looking for a developer, who is interested in UX/DX, to push Radicle tool
#### Key Responsibilities #### Key Responsibilities
- Provide new changes into the [`heartwood`](https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5) repository. - Provide new changes into the [`heartwood`]({{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5" | explore }}) repository.
- Improve `rad`, the Radicle CLI. - Improve `rad`, the Radicle CLI.
- Improving the workflows of other developers using Radicle. - Improving the workflows of other developers using Radicle.
- Collaborate with external contributors to help maintain the project. - Collaborate with external contributors to help maintain the project.
+15
View File
@@ -0,0 +1,15 @@
module Jekyll
module Explorer
def explore(input)
base = "https://app.radicle.xyz/nodes"
if input.include?(' ')
prefix, suffix = input.split(' ', 2)
"#{base}/#{prefix}/#{suffix}"
else
"#{base}/iris.radicle.xyz/#{input}"
end
end
end
end
Liquid::Template.register_filter(Jekyll::Explorer)
+2 -2
View File
@@ -117,9 +117,9 @@ Together, we can make significant progress towards reclaiming the internet.
[cobs]: /guides/protocol#collaborative-objects [cobs]: /guides/protocol#collaborative-objects
[vscode]: https://app.radicle.at/nodes/seed.radicle.gr/rad:z3Makm6fsQQXmpSFE43DZqwupaEhk [vscode]: https://app.radicle.at/nodes/seed.radicle.gr/rad:z3Makm6fsQQXmpSFE43DZqwupaEhk
[heartwood]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 [heartwood]: {{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5" | explore }}
[jetbrains]: https://app.radicle.at/nodes/seed.radicle.gr/rad:z3WHS4GSf8hChLjGYfPkJY7vCxsBK [jetbrains]: https://app.radicle.at/nodes/seed.radicle.gr/rad:z3WHS4GSf8hChLjGYfPkJY7vCxsBK
[fe]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5 [fe]: {{ "rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5" | explore }}
[rc1]: https://x.com/radicle/status/1772659708978991605?s=20 [rc1]: https://x.com/radicle/status/1772659708978991605?s=20
[website]: / [website]: /
[guides]: /guides [guides]: /guides
@@ -5,7 +5,7 @@ author: rudolfs
layout: blog layout: blog
--- ---
A chat with [burrito](https://app.radicle.xyz/nodes/iris.radicle.xyz/users/did:key:z6MkrubmdTJKR42YZd7yDYysyx4JRez1wmvxjpmhzhTMKxsr) aka [Dietrich Ayala](https://metafluff.com) today sparked the idea to write down how we started dogfooding Radicle before we had our native Radicle CI going. He also encouraged me to just set a deadline for writing blog posts in general, so this had to be written and published by the end of today. A chat with [burrito]({{ "users/did:key:z6MkrubmdTJKR42YZd7yDYysyx4JRez1wmvxjpmhzhTMKxsr" | explore }}) aka [Dietrich Ayala](https://metafluff.com) today sparked the idea to write down how we started dogfooding Radicle before we had our native Radicle CI going. He also encouraged me to just set a deadline for writing blog posts in general, so this had to be written and published by the end of today.
We wanted to dogfood Radicle as soon as possible, but there was one caveat: we didn't have a solution for CI at the time. So what we did was just reuse our existing GitHub actions and push both to Radicle and GitHub. The code review would happen in Radicle, and GitHub would run our tests. For easy visual indication, we used workflow status badges generated for each branch pushed to GitHub. We wanted to dogfood Radicle as soon as possible, but there was one caveat: we didn't have a solution for CI at the time. So what we did was just reuse our existing GitHub actions and push both to Radicle and GitHub. The code review would happen in Radicle, and GitHub would run our tests. For easy visual indication, we used workflow status badges generated for each branch pushed to GitHub.
@@ -56,4 +56,4 @@ sed -e "s|<branchName>|$branchName|g" \
EOF EOF
``` ```
This is how we used to run tests and builds. Now, we're dogfooding [our own CI solution](https://app.radicle.xyz/nodes/rosa.radicle.xyz/rad:zwTxygwuz5LDGBq255RA2CbNGrz8) together with [Woodpecker](https://app.radicle.xyz/nodes/iris.radicle.xyz/rad:z39Cf1XzrvCLRZZJRUZnx9D1fj5ws). If you want to learn more about CI in Radicle, check out the conversations on [Zulip](https://radicle.zulipchat.com/#narrow/channel/452370-radicle-ci). This is how we used to run tests and builds. Now, we're dogfooding [our own CI solution]({{ "rad:zwTxygwuz5LDGBq255RA2CbNGrz8" | explore }}) together with [Woodpecker]({{ "rad:z39Cf1XzrvCLRZZJRUZnx9D1fj5ws" | explore }}). If you want to learn more about CI in Radicle, check out the conversations on [Zulip](https://radicle.zulipchat.com/#narrow/channel/452370-radicle-ci).
@@ -47,7 +47,7 @@ I have written a CI engine for myself,
There are adapters for running CI locally on the host or in a There are adapters for running CI locally on the host or in a
container, GitHub actions, Woodpecker, and several others. See [`CI container, GitHub actions, Woodpecker, and several others. See [`CI
broker broker
README.md`](https://app.radicle.xyz/nodes/radicle.liw.fi/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/tree/README.md) README.md`]({{ "radicle.liw.fi rad:zwTxygwuz5LDGBq255RA2CbNGrz8/tree/README.md" | explore }})
and [integration and [integration
documentation](https://explorer.radicle.gr/nodes/seed.radicle.gr/rad:z4Uh671FzoooaHjLvmtW9BtGMF9qm) documentation](https://explorer.radicle.gr/nodes/seed.radicle.gr/rad:z4Uh671FzoooaHjLvmtW9BtGMF9qm)
for a more complete list. The adapter interface is intentionally easy for a more complete list. The adapter interface is intentionally easy
@@ -182,7 +182,7 @@ To push changes, run `git push`.
There you go. I now have a Radicle repository to play with. As of There you go. I now have a Radicle repository to play with. As of
publishing this blog post, the repository is alive on the Radicle publishing this blog post, the repository is alive on the Radicle
network, if you want to [look at network, if you want to [look at
it](https://app.radicle.xyz/nodes/radicle.liw.fi/rad:z3dhWQMH8J6nX3Qo97o5oSFMTfgyr) it]({{ "radicle.liw.fi rad:z3dhWQMH8J6nX3Qo97o5oSFMTfgyr" | explore }})
or clone it. or clone it.
# CI configuration in the repository # CI configuration in the repository
@@ -212,7 +212,7 @@ I find the most frustrating part of using CI to be to wait for a CI
run to finish on a server and then try to deduce from the run log what run to finish on a server and then try to deduce from the run log what
went wrong. I've alleviated this by writing an extension to `rad` to went wrong. I've alleviated this by writing an extension to `rad` to
run CI locally: run CI locally:
[`rad-ci`](https://app.radicle.xyz/nodes/radicle.liw.fi/rad%3Az6QuhJTtgFCZGyQZhRMZmZKJ3SVG). [`rad-ci`]({{ "radicle.liw.fi rad:z6QuhJTtgFCZGyQZhRMZmZKJ3SVG" | explore }}).
It can produce a huge amount of output, so I've abbreviated that It can produce a huge amount of output, so I've abbreviated that
below. below.
@@ -481,7 +481,7 @@ but not other systems, since I only use Debian. I would very much
appreciate help with expanding that documentation. appreciate help with expanding that documentation.
It's probably easiest to install It's probably easiest to install
[`rad-ci`](https://app.radicle.xyz/nodes/radicle.liw.fi/rad:z6QuhJTtgFCZGyQZhRMZmZKJ3SVG) [`rad-ci`]({{ "radicle.liw.fi rad:z6QuhJTtgFCZGyQZhRMZmZKJ3SVG" | explore }})
from source code or with `cargo install`, but I have a `deb` package from source code or with `cargo install`, but I have a `deb` package
for those using Debian or derivatives in my [APT for those using Debian or derivatives in my [APT
repository](http://apt.liw.fi/). repository](http://apt.liw.fi/).
+3 -3
View File
@@ -184,10 +184,10 @@ your hearts content ❤️🌱
[^1]: Here we are using the term in the sense that some content made may not be considered part of the canon of some story or universe. For example, some Star Wars content may be considered as canon by George Lucas, but some may not be. [^1]: Here we are using the term in the sense that some content made may not be considered part of the canon of some story or universe. For example, some Star Wars content may be considered as canon by George Lucas, but some may not be.
[^2]: [RIP-4 Canonical References](https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3trNYnLWS11cJWC6BbxDs5niGo82/patches/1d1ce874f7c39ecdcd8c318bbae46ffd02fe1ea8?tab=changes) [^2]: [RIP-4 Canonical References]({{ "rad:z3trNYnLWS11cJWC6BbxDs5niGo82/patches/1d1ce874f7c39ecdcd8c318bbae46ffd02fe1ea8?tab=changes" | explore }})
[^3]: [First patch attempting to implement canonical references](https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/patches/c54883e5ffb1f8a99f432e3ac79c0b728cd0dab3) [^3]: [First patch attempting to implement canonical references]({{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/patches/c54883e5ffb1f8a99f432e3ac79c0b728cd0dab3" | explore }})
[^4]: [Second patch implementing canonical references using the identity payload](https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/patches/bea09df15505cfcebc72ad40f629747d2e82f670) [^4]: [Second patch implementing canonical references using the identity payload]({{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/patches/bea09df15505cfcebc72ad40f629747d2e82f670" | explore }})
[^5]: [Git ref format and reference patterns](https://git-scm.com/docs/git-check-ref-format) [^5]: [Git ref format and reference patterns](https://git-scm.com/docs/git-check-ref-format)
+3 -3
View File
@@ -565,11 +565,11 @@ Come help in discussion on our [Zulip], and enjoy being Radicle 🌱👾
[git-remote-helpers]: https://git-scm.com/docs/gitremote-helpers [git-remote-helpers]: https://git-scm.com/docs/gitremote-helpers
<!-- Radicle --> <!-- Radicle -->
[heartwood]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 [heartwood]: {{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5" | explore }}
[Zulip]: https://radicle.zulipchat.com [Zulip]: https://radicle.zulipchat.com
[download]: /download [download]: /download
[guide-user-cobs]: /guides/user#2-collaborating-the-radicle-way [guide-user-cobs]: /guides/user#2-collaborating-the-radicle-way
[guide-user-patch]: /guides/user#working-with-patches [guide-user-patch]: /guides/user#working-with-patches
[guides]: /guides [guides]: /guides
[rip-storage]: https://app.radicle.xyz/nodes/rosa.radicle.xyz/rad:z3trNYnLWS11cJWC6BbxDs5niGo82/tree/0003-storage-layout.md [rip-storage]: {{ "rad:z3trNYnLWS11cJWC6BbxDs5niGo82/tree/0003-storage-layout.md" | explore }}
[rip-storage-namespace]: https://app.radicle.xyz/nodes/rosa.radicle.xyz/rad:z3trNYnLWS11cJWC6BbxDs5niGo82/tree/0003-storage-layout.md#layout [rip-storage-namespace]: {{ "rad:z3trNYnLWS11cJWC6BbxDs5niGo82/tree/0003-storage-layout.md#layout" | explore }}
+4 -4
View File
@@ -12,7 +12,7 @@ Unlike centralized code hosting platforms, there is no single entity
controlling the network. Repositories are replicated across peers in a controlling the network. Repositories are replicated across peers in a
decentralized manner, and users are in full control of their data and workflow. decentralized manner, and users are in full control of their data and workflow.
<a class="screenshot" href="https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5" target="_blank" title="Heartwood is the latest generation of the Radicle protocol"> <a class="screenshot" href="{{ 'rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5' | explore }}" target="_blank" title="Heartwood is the latest generation of the Radicle protocol">
<img class="screenshot" src="/assets/images/web-app-screenshot.png"/> <img class="screenshot" src="/assets/images/web-app-screenshot.png"/>
</a> </a>
<small class="caption"> <small class="caption">
@@ -99,14 +99,14 @@ and other clients can be developed.
└────────────────┘└─────────────────┘ └────────────────┘└─────────────────┘
</pre> </pre>
<a class="button" href="https://app.radicle.xyz/nodes/seed.radicle.xyz">Browse our repositories ↗</a> <a class="button" href="{{ '' | explore }}">Browse our repositories ↗</a>
# Contributing # Contributing
Radicle is *free and open source* software under the MIT and Apache 2.0 Radicle is *free and open source* software under the MIT and Apache 2.0
licenses. Get involved by [contributing code][contribute]. licenses. Get involved by [contributing code][contribute].
[contribute]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/tree/CONTRIBUTING.md [contribute]: {{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/tree/CONTRIBUTING.md" | explore }}
# Updates # Updates
@@ -168,7 +168,7 @@ channel on Zulip.
[bsky]: https://bsky.app/profile/{{ site.atproto }} [bsky]: https://bsky.app/profile/{{ site.atproto }}
[mast]: {{ site.fedi | fedi_to_https }} [mast]: {{ site.fedi | fedi_to_https }}
[zulip]: https://radicle.zulipchat.com [zulip]: https://radicle.zulipchat.com
[heartwood]: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 [heartwood]: {{ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5" | explore }}
[desktop]: /desktop [desktop]: /desktop
[cobs]: /guides/protocol#collaborative-objects [cobs]: /guides/protocol#collaborative-objects
[local-first]: https://www.inkandswitch.com/local-first/ [local-first]: https://www.inkandswitch.com/local-first/