martin
(Martin Brennan)
12월 14, 2022, 12:25오전
1
Discourse는 해시태그(#)를 사용하여 카테고리(#announcements )와 태그(release-notes )에 대한 링크를 오랫동안 지원해 왔습니다. Discourse Chat 의 도입으로 해시태그를 통해 채팅 채널에도 링크할 수 있도록 하기를 원했으며, 이를 위해 채널이 자동완성으로 제안되고 게시물 및 채팅 메시지에서 렌더링(cook)될 수 있도록 시스템 동작 방식을 일부 개편해야 했습니다. 또한 자동완성 메뉴와 렌더링된 해시태그의 디자인도 전면 개편하기로 결정했습니다.
이번 개편에 포함된 변경 사항 요약:
채팅이 활성화된 경우 채팅 채널을 검색할 수 있는 기능
해시태그 검색 결과는 슬러그(slug)에 기반한 정확한 일치 항목을 우선하며, 게시물인지 채팅 메시지인지에 따라 다른 유형의 결과를 우선합니다(예: 게시물에서는 카테고리가 상단에, 채팅에서는 채널이 상단에 표시됨)
각 검색 결과에 고유한 아이콘이 표시됨
고유한 아이콘을 포함하는 렌더링된 해시태그의 새로운 스타일
새로운 자동완성 결과:
@mention 스타일과 매우 유사하게 일치하는 해시태그 자동완성의 새로운 렌더링 스타일.
Discourse 사이트에서 enable_experimental_hashtag_autocomplete 사이트 설정을 활성화하여 이 새로운 버전의 해시태그 자동완성 및 렌더링 사용에 옵트인(opt-in)할 수 있습니다:
새해에는 이것이 기본 설정으로 변경될 것으로 예상되며, 현재 이 기능은 여전히 실험적 기능으로 간주되므로 수정 및 개선해야 할 사항이 몇 가지 남아 있습니다.
이 기능은 이제 Discourse Meta에서도 활성화되었습니다
42개의 좋아요
martin
(Martin Brennan)
12월 14, 2022, 12:25오전
2
메타에서 이러한 새로운 해시태그를 사용하는 예시입니다. #announcements 를 확인해 보거나, release-notes 를 읽어 보시는 건 어떨까요?
12개의 좋아요
mcwumbly
(Dave McClure)
12월 14, 2022, 2:31오전
5
게시물에서 채팅 채널로 링크하는 방식의 간단한 예시는 다음과 같습니다: #general::channel
다른 채팅 채널에서 채팅 채널로 링크하는 방식의 간단한 예시는 다음과 같습니다:
7개의 좋아요
Canapin
(Coin-coin le Canapin)
이 글을 에 분리
4월 17, 2023, 1:44오후
21
게시물이 새 주제로 분리되었습니다: 기존 해시태그를 새 디자인으로 변경
martin
(Martin Brennan)
6월 7, 2023, 3:09오전
22
여기 업데이트 소식입니다 – 해시태그 처리 방식을 일부 변경한 후, 이제 이 기능을 모든 사이트의 기본값으로 설정했습니다. 이제 아이콘의 색상도 표시되며, 원래의 하위 카테고리 스타일링도 포함됩니다 :
Support Contribute > Feature #general::channel #announcements:blog
main ← feature/set-new-hashtags-to-true-for-all-sites
merged 01:11AM - 07 Jun 23 UTC
Followup to:
* 7c975481597c46ba1064b37f8f4627da82c5b689
* 0b3cf83e3c7d03c2dc… d54f86de60efe32f385a44
* eae47d82e22189646ce1b29ea2f3b5b2f8b64312
This commit enables the no-longer-experimental hashtag autocomplete changes
for all sites. It is now at a point where it is ready to be promoted
to the only way, and following this commit all old hashtag code
will be deleted
c.f. https://meta.discourse.org/t/hashtags-are-getting-a-makeover/248866
곧 이전 해시태그 시스템을 참조하는 구식 코드도 삭제될 예정입니다.
16개의 좋아요
매우 좋아 보입니다. 하지만 시각 장애인이 사용할 때는 어떻게 작동할까요?
accessibility General #general::channel #documentation:devs
에 aria 레이블이 누락된 것 같습니다… 여기에 해당하는 미리보기 HTML이 있습니다.
<p dir="ltr">
<a class="hashtag-cooked" href="/tag/accessibility" data-type="tag" data-id="109" data-slug="accessibility" tabindex="-1">
<svg class="fa d-icon d-icon-tag svg-icon hashtag-color--tag-109 svg-string" xmlns="http://www.w3.org/2000/svg"><use href="#tag"></use></svg>
<span>accessibility</span>
</a>
<a class="hashtag-cooked" href="/c/general/124" data-type="category" data-id="124" data-slug="general" tabindex="-1">
<span class="hashtag-category-badge hashtag-color--category-124"></span>
<span>General</span></a>
<a class="hashtag-cooked" href="/chat/c/general/508" data-type="channel" data-id="508" data-slug="general" tabindex="-1">
<svg class="fa d-icon d-icon-comment svg-icon hashtag-missing svg-string" xmlns="http://www.w3.org/2000/svg"><use href="#comment"></use></svg>
<span>general</span></a>
<a class="hashtag-cooked" href="/c/documentation/devs/56" data-type="category" data-id="56" data-slug="devs" tabindex="-1">
<span class="hashtag-category-badge hashtag-color--category-56"></span>
<span>developers</span>
</a>
</p>
7개의 좋아요
martin
(Martin Brennan)
6월 12, 2023, 12:27오전
24
이 점을 짚어주셔서 감사합니다. 정말 좋은 지적입니다. 최소한 각 해시태그에 aria-label을 추가하는 것은 필요합니다. 이번 주에 이 부분에 대한 커밋을 올리도록 하겠습니다.
7개의 좋아요
기존 주제들은 HTML이 다시 생성될 때까지 태그와 카테고리의 새 형식을 사용하지 않습니다. UI를 일관되게 만들기 위해 모든 주제를 안전하게 다시 생성할 수 있는 방법이 있을까요? rake를 사용하는 방법도 있을까요?
아래와 같은 방식으로 가능한가요? 아직 테스트해보지 않았습니다!
./launcher enter app
rake posts:rebake
2개의 좋아요
이 쪽이 더 구체적이라고 생각해요:
다만 bundle exec 부분은 잘 모르겠어요. 라이브 사이트에서는 이게 필요한지 확신이 안 서거든요.
5개의 좋아요
Canapin
(Coin-coin le Canapin)
6월 14, 2023, 5:12오후
30
JammyDodger:
라이브 사이트에는 이게 필요한지 모르겠네요?
bundle exec 없이도 프로덕션 사이트에서는 작동하는 것 같습니다
root@Canapin-app:/var/www/discourse# rake hashtags:mark_old_format_for_rebake
Finding posts matching old format, this could take some time...
[!] You are about to mark 0 posts containing hashtags in the old format to rebake. [CTRL+c] to cancel, [ENTER] to continue
Done, rebakes will happen when periodical updates job runs.
6개의 좋아요