Update for radicle

This commit is contained in:
Aleks Rutins 2025-06-04 16:56:27 -04:00
parent b2c1890de8
commit e316928593
3 changed files with 11 additions and 3 deletions

View file

@ -12,7 +12,7 @@ require_relative "pages/post"
require_relative "pages/gomod"
def go_modules = {
'farthergate.com/terminated': 'git.farthergate.com/ztYyRKXjvYE5Ri7YjsXf8gGY5cXy'
'farthergate.com/terminated': 'https://git.farthergate.com/ztYyRKXjvYE5Ri7YjsXf8gGY5cXy.git'
}
Phlexite::Site.new { |s|

View file

@ -2,6 +2,12 @@ class Pages::GoMod < ::Phlex::HTML
def initialize(import, repo)
@import = import
@repo = repo
@repourl = repo.to_s
if @repourl.start_with?("https://git.farthergate.com")
@repourl = "https://git.farthergate.com/p/rad:" + @repourl.delete_prefix("https://git.farthergate.com/").delete_suffix(".git")
end
end
def view_template
render ::Pages::Layout.new({title: @import.to_s}, meta: {
@ -11,7 +17,7 @@ class Pages::GoMod < ::Phlex::HTML
h1 { @import }
p {
plain "This is a generated page to host the Go module located at "
a(href: @repo) { @repo }
a(href: @repo) { @repourl }
plain ". You'll probably find more information about it over there."
}
}

View file

@ -3,6 +3,8 @@ title: Custom import paths for Go modules
published_on: '2025-02-13'
---
*Updated 6/4/2025: Replaced the demo page.*
Go modules are great. URL-based imports, generally, are great. One of the things that makes them so great is that putting them on your own domain provides a good way of verifying ownership without going through a third party or a complicated review process. Plus, it looks cool.
So, how exactly does one accomplish such a thing? Well, it's [buried in the documentation](https://pkg.go.dev/cmd/go#hdr-Remote_import_paths), but it's really pretty simple. For each import path (e.g. `mysite.com/mypackage`), just put a page on your website with a `go-import` meta tag:
@ -22,4 +24,4 @@ def go_modules = {
}
```
See [farthergate.com/stack](/stack) for the generated page. Look in the web inspector for the `meta` tag!
See [farthergate.com/terminated](/terminated) for an example of a generated page. Look in the web inspector for the `meta` tag!