Spyke

Is there a way to make instance-agnostic links?

Is there a way to make a link to a community of a foreign instance that opens on the instance of the user that clicks on it?

For example, I would like to make a link to ![email protected] that, when a user of bar.com clicks on it, opens https://bar.com/c/[email protected] instead of https://foo.com/c/some_community.

If it's not possible, don't you think it would be convenient?

View original on lemmy.one
lemmy.world

Yes, you can do this using a relative URL!

Here's an example.

Here's how I wrote it:

[Here's an example.](/c/[email protected])

Because this URL doesn't have a protocol or a domain, your browser fills those in from the URL of the page you're on when you see it. Since that's on your local Lemmy instance, you'll see a link to ![email protected] on that instance.

Also: When you're looking at a Lemmy comment, if you don't know how the author wrote the markup for it, you can use the "view source" button underneath the "..." menu.


Note: These links will NOT work between Lemmy and Kbin, because Kbin uses /m/ instead of /c/.

6

Trickery using URL features, like this, will work from clients that act like a web browser. Other clients may have problems with it. There should probably be a standard syntax for "a link to community X hosted on instance Y" that all clients can learn to support.

2
lemmy.world

Just FYI, this link...

...causes the Jerboa app to crash. I think it's a known issue and hopefully one that gets sorted, but just wanted to warn others.

1

Wow, good thing to point out.

Relative URLs should work straightforwardly for a UI that runs in a browser, but yeah, I can imagine a custom app doesn't know what domain or even protocol to associate with them.

3

Edit Sorry I misunderstood. I believe you can link the community as a whole, but posts I don't believe you can.

There isn't a way at the moment. Solutions to this are being discussed on Github

https://github.com/LemmyNet/lemmy-ui/issues/1048

Edit 2

Maybe you can't link a community either, I could have sworn I have seen it done but that could have just happened to be for my instance.

Edit 3

My testing please ignore :)

Test1

5
lemmy.world

I'd like to know too. I was hoping it would be something simple like [email protected] which would resolve for everyone. Didn't work when I tried it, though I might not have done it correctly.

EDIT: I guess I could try again here [email protected]

EDIT2: Nope: That link goes to https://lemmy.world/post/[email protected] for me, which is not valid.

4

Tested it with Memmy and it states TypeError: Cannot convert null value to object. Nice.

4

Yes it would be very convenient, right now if I’m recommending a community I simply write out the URL manually to make sure it routes via the respective user’s instance first.

2
kbin.social

I thought it worked if you just linked /c/[email protected]
With the only caveat being that users on kbin will need /m/asklemmy.ml
With the only caveat being that users on kbin will need /m/[email protected]

I would normally test the crap out of these before posting since I really don't know what I'm doing, but I'm on my phone and mostly busy at the moment. Sorry if it doesn't work.

1
CoderKatreply
kbin.social

Kbin needs /m/[email protected] (domain is important) or a bit simpler is with an @ symbol in front: @asklemmy (note: the domain is here but kbin currently renders it without the domain -- that needs to be changed as it has potential to confuse and mislead)

Downside to the /m/[email protected] format is that it doesn't currently auto linkify. Gotta do [/m/[email protected]](/m/[email protected]) (/m/[email protected])

Hopefully kbin soon fixes the [email protected] syntax. It's currently broken. Once fixed, that should work for everyone.

1
aebrerreply
kbin.social

Weirdly enough on kbin.social for me /m/asklemmy.ml link in the post worked for me

0

I'm the problem. As feared I fudged it up as I was rushing to type it up on my phone. As @CoderKat mentioned, the problem with typing it out as /m instead of using @, is that you have to manually enter the visible text in [ ] and the hyperlink in ( ). I got the hyperlink correct and beefed it on the visible text.

1

You reached the end