# Internal Link Shortcuts

**URL:** https://meta.discourse.org/t/internal-link-shortcuts/50904
**Category:** Feature
**Created:** [9월 30, 2016, 11:05오전 UTC](https://meta.discourse.org/t/internal-link-shortcuts/50904 "2016-09-30T11:05:38Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![hellekin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hellekin/32/51636_2.png) [@hellekin](https://meta.discourse.org/u/hellekin)
#### Post date: [9월 30, 2016, 11:05오전 UTC](https://meta.discourse.org/t/internal-link-shortcuts/50904/1 "2016-09-30T11:05:38Z")

</div>

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

The 🔗 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

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [9월 30, 2016, 11:14오전 UTC](https://meta.discourse.org/t/internal-link-shortcuts/50904/2 "2016-09-30T11:14:21Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![hellekin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hellekin/32/51636_2.png) [@hellekin](https://meta.discourse.org/u/hellekin)
#### Post date: [9월 30, 2016, 11:15오전 UTC](https://meta.discourse.org/t/internal-link-shortcuts/50904/3 "2016-09-30T11:15:44Z")

</div>

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

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [9월 30, 2016, 4:55오후 UTC](https://meta.discourse.org/t/internal-link-shortcuts/50904/4 "2016-09-30T16:55:44Z")

</div>

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](https://meta.discourse.org/t/url-off-by-one-when-moving-through-posts-with-keyboard/50925)

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [9월 17, 2019, 5:32오전 UTC](https://meta.discourse.org/t/internal-link-shortcuts/50904/6 "2019-09-17T05:32:20Z")

</div>



---

<div class="post-metadata">

### Author: ![jmsachs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jmsachs/32/107682_2.png) [@jmsachs](https://meta.discourse.org/u/jmsachs)
#### Post date: [12월 2, 2019, 6:38오후 UTC](https://meta.discourse.org/t/internal-link-shortcuts/50904/7 "2019-12-02T18:38:22Z")

</div>

> [@codinghorhor](#):
>
> 게시물 URL을 사용하세요. 필요에 따라 URL을 편집하여 해당 주제 내의 특정 게시물 번호를 참조하도록 만들 수도 있습니다.

상대 URL(예: `/t/50904`)을 사용하여 [https://meta.discourse.org/t/50904](https://meta.discourse.org/t/50904) 대신 참조하는 방법이 있나요?

전체 URL을 그대로 붙여넣어 테스트해 보기: [Internal Link Shortcuts - #4 by pfaffman](https://meta.discourse.org/t/internal-link-shortcuts/50904/4?u=jmsachs)

(같은 서버 내 링크를 참조하기 위해 전체 URL을 사용하는 개념을 이해하려고 애쓰고 있는데, 프로토콜이나 호스트명이 변경되어 링크가 오래된 상태로 남을 위험이 있는 것 같습니다… 제 경우엔 방화벽 뒤에서 http:로 실행 중인 Discourse 인스턴스를 사용하고 있으며 아직 TLS로 이주를 완료하지 못했습니다. 따라서 http: 내부 링크가 많이 존재한다면, URL이 https:로 변경될 때 링크가 깨지는 문제가 생기는 건가요?)

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [12월 2, 2019, 6:55오후 UTC](https://meta.discourse.org/t/internal-link-shortcuts/50904/8 "2019-12-02T18:55:50Z")

</div>

표준 HTML이 작동해야 합니다

`<a href="/t/internal-link-shortcuts/50904/6">Link</a>`는 [Link](https://meta.discourse.org/t/internal-link-shortcuts/50904/6)로 변환되어야 합니다.

Markdown도 작동해야 하며,

`[Link](/t/internal-link-shortcuts/50904/6)`는 [Link](https://meta.discourse.org/t/internal-link-shortcuts/50904/6)로 변환됩니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [12월 3, 2019, 4:22오후 UTC](https://meta.discourse.org/t/internal-link-shortcuts/50904/9 "2019-12-03T16:22:00Z")

</div>

모든 사용자가 매번 즉각적인 이득도 없이 URL을 다시 작성할 것이라고 생각하지 않는 한, 프로토콜을 변경할 때 어쨌든 리맵핑을 수행해야 합니다. 물론 URL을 작성할 때 그렇게 할 의사가 있을 수 있지만, 대부분의 사람은 그렇지 않을 것입니다. `http://yourdomain/`를 `https://yourdomain`으로 리맵핑하는 것은 그렇게 큰 문제가 아닙니다.

이것은 우리가 컴퓨터 전문가들이 걱정하는 것 중 실제로는 차이를 만들지 않는 유형의 문제입니다. 정말, 정말 어렵지만, 이 문제를 놓아줘야 합니다. 😉

---

<div class="post-metadata">

### Author: ![jmsachs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jmsachs/32/107682_2.png) [@jmsachs](https://meta.discourse.org/u/jmsachs)
#### Post date: [12월 3, 2019, 6:32오후 UTC](https://meta.discourse.org/t/internal-link-shortcuts/50904/10 "2019-12-03T18:32:54Z")

</div>

> [@Falco](#):
>
> 마크다운도 다음과 같이 작동해야 합니다
> 
> `[Link](/t/internal-link-shortcuts/50904/6)`가 [Link](https://meta.discourse.org/t/internal-link-shortcuts/50904/6)로 변환됩니다

`/t/50904/6`으로 시도해 봅니다…

[6번째 게시글 링크](https://meta.discourse.org/t/50904/6)

성공! 감사합니다
