Internal Link Shortcuts

Today I was looking for a way to link to a post in the same topic.

The :link: icon, when clicked, shows post #4, so I tried: using #4 and post#4, only to get frustrated, but discovering that the # character pops up categories to link (which I read about extensively since, in meta.)

Now, I find this quite inconsistent, and would like to propose ways to consistently address internal links that matches the actual URL format, or already used patterns…

Generic Patterns

Using colon as a prefix or separator would be nice, but it already autocompletes to emoticons and that could become messy. But consider: :4, :10:4, and 3:10:4 (with optional colon prefix) to link to post number 4 in the current topic, post number 4 in topic 10, and post number 4 in topic 10 of category 3.

Using / instead might work, but then it should match the URL, e.g., /c/3, /t/10, and /t/10/4.

The “quote reply” to a post uses keyword colon number, e.g., post:4 or topic:123. This can be very useful is there’s a way to show these IDs with every post (e.g., with an element title or tooltip).

In general though, #post_4 would use the actual anchor in the HTML. #4 would be great too, but it conflicts with the (current) category shortcut (BTW, what happens when you have a category name matching a tag name?)

Both solutions though are problematic for i10n since they impose English words.

The shortcut to a post in the current topic should make category and topic implicit.

Since topic IDs are global, .. can be useful, as in .[optional topic ID].[post number], e.g.:

  • ..4 to link to post #4 in current topic
  • .10.4 to link to post #4 in topic 10
1 лайк

Use the URL to the post. You can also edit the URL to make it refer to a specific post number in the topic as needed.

1 лайк

But that requires using the mouse instead of the keyboard, doesn’t it?

1 лайк

You can use j and k to navigate through the posts and the URL changes accordingly, so you can ^L^C to copy the URL of the current post.

Except it’s off by one:

https://meta.discourse.org/t/url-off-by-one-when-moving-through-posts-with-keyboard/50925

4 лайка

Есть ли способ использовать относительные URL, например /t/50904 вместо https://meta.discourse.org/t/50904?

тест для простого вставки всей ссылки: Internal Link Shortcuts - #4 by pfaffman

(просто пытаюсь разобраться в концепции использования полного URL для ссылки на ресурс на том же сервере, что, кажется, несёт риск устаревания протокола или имени хоста… в моём случае у меня есть экземпляр Discourse за брандмауэром на http:, который мы ещё не перенесли на TLS, поэтому если у нас будет много внутренних ссылок на http:, будут ли они сломаны, когда URL изменятся на https:?)

Стандартный HTML должен работать

<a href="/t/internal-link-shortcuts/50904/6">Ссылка</a> должен превратиться в Ссылка.

Markdown также должен работать:

[Ссылка](/t/internal-link-shortcuts/50904/6) превращается в Ссылка

4 лайка

Если вы не считаете, что каждый пользователь каждый раз будет переписывать свои URL-адреса без какой-либо непосредственной выгоды, вам всё равно придётся выполнить перенаправление при смене протоколов. Конечно, вы можете быть готовы к этому при формировании URL, но большинство людей не будут. Перенаправление с http://yourdomain/ на https://yourdomain — это не такая уж большая проблема.

Это именно тот вид проблем, о которых мы, компьютерщики, беспокоимся, хотя на самом деле это не имеет значения. Это действительно, действительно сложно, но вам стоит отпустить это. :wink:

2 лайка

попробую… с /t/50904/6

ссылка на пост 6

ура! спасибо

4 лайка