주제 내 게시글 간 앵커가 작동하지 않음

우리는 특정 주제를 일종의 FAQ/포럼 사용 가이드로 설정하려는 시도를 하고 있습니다. 이를 위해 긴 게시글 여러 개를 작성하고, 각 게시글에 여러 개의 제목을 넣으며, 주제 내 첫 번째 게시글에 목차를 만들어 사용자가 쉽게 원하는 부분으로 이동할 수 있도록 하려고 합니다.

하지만 의도대로 작동시키기가 생각보다 훨씬 까다롭고, 불행히도 Meta를 뒤져봐도 큰 도움이 되지 않습니다. 플러그인(자동 목차 또는 그 이름이 뭐였든)에 대해 알고는 있지만, 우리는 이 기능을 하나의 주제에만 사용하고 싶기 때문에 그쪽을 다루고 싶지는 않습니다.

기호를 사용한 자동 생성 마크다운 제목 옆의 링크 아이콘을 사용해 봤지만, 이는 작동하지 않았습니다. 이것이 우리가 제목에 사용한 색상 때문인지, 아니면 전혀 다른 이유 때문인지 확실하지 않지만, 어쨌든 일부 제목에서는 작동하지만 모든 제목에서는 작동하지 않습니다.

수동으로 ID를 부여한 HTML 태그를 제목에 사용해 보았지만, 이것도 성공하지 못했습니다 - 링크로 점프가 전혀 되지 않았습니다. Meta 어딘가에서 ID 정보가 Discourse에 의해 제거된다는 것을 보고 이 접근법을 더 이상 pursue하지 않았습니다.

그 후, 제목 바로 위에 빈 링크를 배치하여 그곳으로 점프할 수 있다는 기발한 아이디어를 보았습니다. 처음에는 작동하는 것처럼 보였지만, 게시글을 몇 개 작성한 후에는 링크된 게시글의 올바른 위치로 점프가 되지 않는 문제가 발생했습니다.

제목이 왜 이렇게 깨진 것처럼 보이는지, 그리고 단일 주제 내의 여러 게시글에 걸쳐 제목이 작동하도록 만드는 방법이 무엇인지 아시는 분이 있을까요? 이 동작은 매우 바람직하지 않아서 버그로 분류하고 있지만, 누군가 방법을 알고 있다면 우리 쪽에서 몇 가지 우회 조치를 취하는 것은 괜찮습니다.

긴 주제 내에서 앵커가 작동하려면, 화면에 대상 게시물이 로드되지 않은 경우를 보완하기 위해 헤더가 추가된 전체 게시물 주소를 사용해야 합니다.

이 주제의 첫 게시물(OP)에 앵커가 <a name="anchor"></a>로 되어 있다면, 456번 게시물에서도 이 링크를 사용하면 작동합니다.

https://meta.discourse.org/t/anchors-not-working-across-posts-within-topic/240512/1#anchor

도움이 되셨나요?

1개의 좋아요

불행히도 우리가 이미 그렇게 하고 있었던 것이었습니다.

목차(ToC)의 링크는 다음과 같은 형식이었습니다:

https://www.site.com/t/topic-name/ABCD/E#header--header-name

그리고 게시물 안의 실제 링크는 다음과 같은 형식이었습니다.

<a name="header--header-name"></a>

처음 몇 개의 게시물에서는 잘 작동했지만, 8~9번째 게시물쯤부터 깨졌습니다.

1개의 좋아요

저는 다른 사이트에서 이 방법을 사용하고 있는데, 정말 잘 작동합니다. 실제로 어떻게 작동하는지 확인할 수 있도록 링크를 공유해 주실 수 있을까요?

아니요, 불행히도 게시물이 여전히 스태프 전용으로 제한되어 있습니다.

테마 제작자 웹사이트에서 우리의 설정을 재현해 보고 거기서 작동하는지 확인해 볼 수도 있겠네요.

업데이트: 테마 제작자 웹사이트에는 Discourse BBCode가 없어서 1:1로 완벽하게 재현될지 확신이 서지 않습니다. 안타깝네요.

이러한 경우 try.discourse.org를 사용하는 경향이 있지만, 이번에는 그만한 가치가 없는 더 많은 노력이 필요할 수도 있습니다.

제가 사용하는 것과 다른 유일한 점은 이중 하이픈(double hyphen)인데, 그건 가능성은 낮아 보입니다. 헤더 링크의 수 때문일까요? 확신할 수 없습니다.

1개의 좋아요

저도 그렇게 생각합니다. 그래서 이 이슈는 #support가 아니라 #contribute:bug로 분류된 것이죠.

try를 잊고 있었네요. 이쪽으로 옮길 수도 있겠어요.

1개의 좋아요

확인했습니다

Try에서 재현 가능

https://try.discourse.org/t/testing-heading-links-i-guess/1405?u=orangeandblack5

처음 몇 개의 앵커 링크 세트는 정상 작동합니다

마지막 세 개의 게시글에 대한 앵커는 작동하지 않습니다

주말에 이 문제를 제기해서 죄송합니다

일반적으로 Try의 데이터는 언제 삭제되나요? 그 앵커 링크 세트를 다시 구축해야 하는 상황은 피하고 싶습니다, 하하

처음에는 잘 작동했고, 페이지를 새로고침해도 작동했지만, 내비게이션 타임라인으로 원문 게시글(OP)로 돌아가면 작동하지 않습니다.

유사한 게시글에 원문 게시글(OP)/목차(TOC) 헤더의 전체 게시글 주소를 포함한 ‘뒤로 가기’ 링크를 두었습니다. 이렇게 하면 페이지가 새로고침되는데, 그렇게 하면 작동할까요?

1개의 좋아요

솔직히 말해서, 임시 대안으로는 충분히 쓸 수 있겠죠

맞는 말씀이세요. 실제로는 그렇게 동작하니까요

하지만 보통 사람들이 그렇게 탐색하진 않으니, 이건 확실히 명확한 버그라고 생각합니다. 팀에 시간이 되면 패치하는 게 이상적일 거예요


사실 상위 레벨 게시물로만 링크를 걸고, 수정이 완료되면 그때 특정 섹션 앵커를 추가할 것 같습니다

사용자들에게 깨진 기능을 보여주는 것보다 낫겠죠


Try에 있는 이 게시물이 지워지지 않도록 저장할 방법이 있을까요? 저보다 Discourse를 더 잘 아는 사람이 이 현상의 원인을 조사할 수 있도록요

아니면 여기에서 다시 만드는 게 나을까요?

해당 게시물을 편집 모드로 열거나 raw 버전을 가져와서 사이트의 주제에 복사해 더 영구적인 예시로 링크할 수 있습니다(또는 저장해 두고 나중에 다시 시도할 때 재생성할 수도 있습니다).

음, 그냥 여기서 처리할게요

https://meta.discourse.org/t/example-anchor-links-dont-work-unless-page-reloaded/240589?u=orangeandblack5

이렇게 하면 우리 사이트에서 팀이 문제를 수정하는 데 방해가 될 가능성이 없으니까요