언급 가능한 항목

:information_source: 요약 토픽의 테이블을 멤버들이 +로 언급할 수 있는 검색 가능한 항목으로 변환하며, 링크와 원박스 미리보기를 제공합니다.
:hammer_and_wrench: 저장소 Discourse Mentionables
:open_book: 설치 가이드 자체 호스팅 Discourse 사이트에 플러그인 설치하기
:heart: 후원 이 플러그인들이 최신 Discourse 버전과 호환되도록 유지 관리될 수 있도록 지속적인 개발에 대한 후원을 고려해 주세요.

커뮤니티가 이야기하는 주제(책, 제품, 프로젝트, 장소, 지원 자료 또는 URL이 있는 기타 항목)에 대해 공유 어휘를 제공하세요.
멤버들은 +와 이름의 일부를 입력하고, 제안을 선택하면 주소를 기억하지 않아도 읽기 쉬운 링크를 얻을 수 있습니다.

Mentionables 자동완성에서 공유 리소스 선택

기능

  • URL만으로 시작. 가져오기 도구가 이름을 검색하고 슬러그를 생성합니다. 사용자 정의 이름과 슬러그를 선택적으로 오버라이드로 추가할 수 있습니다.
  • 작성 중 검색. +를 입력하거나 작성 도구 모음 버튼 사용하여 카탈로그를 검색합니다. 마크다운 및 리치 텍스트 작성기 모두에서 작동합니다.
  • 읽기 쉬운 인라인 링크. 멘션은 항목의 표시 이름이 포함된 컴팩트한 필 형태로 나타나며, 게시물의 마크다운에는 안정적인 슬러그가 포함됩니다.
  • 네이티브 원박스. 멘션을 단독 줄에 배치하면 Discourse의 기존 레이아웃과 지원되는 대상에 따라 원박스가 표시됩니다.
  • 데스크톱 미리보기. 인라인 필에 마우스를 올리거나 포커스를 맞추면 원본 페이지 열기 링크가 포함된 플로팅 미리보기가 열립니다. 일반 클릭은 대상으로 이동합니다.
  • 관리자가 Discourse에서 편집할 수 있는 카탈로그. 토픽의 첫 번째 게시물에 있는 마크다운 테이블에서 가져옵니다. Google 계정이나 API 자격 증명이 필요하지 않습니다.
  • 관리자를 위한 테이블 버튼. 작성 도구 모음에서 빈 mentionables 테이블을 삽입한 후 항목을 채워 넣습니다.

원박스 모양은 대상과 Discourse의 일반적인 원박스 지원에 따라 달라집니다. 지원하지 않는 대상은 링크로 남습니다. 플로팅 카드에는 로그인이 필요하며, 게스트는 여전히 대상 링크를 따를 수 있습니다. 코드 내의 멘션은 그대로 두며, 목록과 인용문 내의 멘션은 인라인으로 유지됩니다.

기본 Mentionables 및 Pro 확장

기본 Mentionables는 기본 플러그인입니다. Pro는 이를 함께 설치하는 선택적 동반 플러그인으로, 해당 종속성을 통해 기본 기능을 포함합니다.

기능 기본 Mentionables Pro 확장 포함
토픽의 첫 번째 게시물에서 마크다운 테이블 가져오기 예 예
소스 토픽을 제한된 카테고리에 유지 예 예
관리자 전용 테이블 스켈레톤 삽입을 위한 작성 버튼 예 예, 아이콘 컬럼 포함
마크다운 및 리치 텍스트 작성기에서 +로 검색 예 예
인라인 멘션 필 및 단독 네이티브 원박스 예 예
데스크톱에서 마우스 오버 또는 키보드 포커스 시 플로팅 미리보기 예 예, 기본 호버 모드에서
서비스 계정을 사용한 Google Sheets에서 가져오기 — 예
토픽 테이블과 Google Sheets 간 선택 토픽 테이블만 예
12시간마다 자동 동기화 — 선택 사항, 기본적으로 꺼짐
선택적 아이콘 이름 및 HTML 색상 가져오기 — 어느 소스에서든 예
클릭 또는 탭 시 플로팅 미리보기 열기 (터치 기기 포함) — 선택 사항

Pro의 icon 및 icon_colour 컬럼은 멘션 이름 앞에 색상이 입힌 아이콘을 추가합니다. 예를 들어 핸드북의 경우 book과 #2563eb을 사용할 수 있습니다.
mentionables_pro_click_to_preview가 활성화되면, 필을 클릭하거나 탭하면 미리보기가 열리며, 미리보기의 원본 페이지 열기 링크는 대상 위치로 이동합니다.

빠른 설정

  1. 위의 설치 가이드를 사용하여 기본 플러그인을 설치합니다. 설치 후 Discourse를 다시 빌드합니다.

  2. 카탈로그용 토픽을 생성합니다. 관리자로 로그인하여 작성 도구 모음의 mentionables 테이블 삽입을 사용하거나 다음 테이블을 첫 번째 게시물에 붙여넣습니다:

    | name               | url                                 | slug               | image_url |
    | ------------------ | ----------------------------------- | ------------------ | --------- |
    | Getting started    | https://example.com/getting-started | getting-started    |           |
    | Community handbook | https://example.com/handbook        | community-handbook |           |
    | Events calendar    | https://example.com/events          | events-calendar    |           |
    
  3. 예시 URL을 자신의 것으로 대체하고 게시물을 저장한 후, mentionables_topic_id를 해당 토픽의 숫자 ID로 설정합니다. mentionables_enabled
    을 활성화된 상태로 유지하세요. Pro 설치는 이 구성을 위해 mentionables_source에서 topic_table을 선택해야 합니다.

  4. 관리자 → 플러그인 → Mentionables를 열고, 가져오기 시작을 클릭한 후
    새로고침을 눌러 보고서를 확인합니다. 백그라운드 작업 워커가 실행 중이어야 합니다.

  5. 브라우저를 새로 고치고 작성기를 연 다음 +를 입력하여 항목을 테스트해 보세요.

대문자 컬럼 이름을 사용하십시오. 필수 항목은 url뿐이며, http://
또는 https://로 시작해야 합니다. URL만 있는 행은 대상에서 이름을 검색하고 슬러그를 생성합니다. 이러한 기본값을 오버라이드하기 위해 name, slug 또는 둘 다를 제공할 수 있으며, 하나의 테이블 내에서 이 옵션들을 혼합할 수 있습니다. 제목이 이용 가능하지 않으면 URL이 표시 이름이 됩니다. 소스에 슬러그가 없으면 기존 URL은 슬러그를 유지합니다.
image_url 및 description은 선택 사항입니다.

가져오기 도구는 첫 번째 게시물에서 url 컬럼이 있는 첫 번째 인용되지 않은 테이블을 읽습니다. 답변, 인용된 테이블, 펜스 코드 샘플은 무시됩니다. 소스 토픽은 개인 메시지가 아닌 정규적이고 삭제되지 않은 토픽이어야 합니다.

소스 프라이버시 및 카탈로그 업데이트

신뢰할 수 있는 사람들만이 유지 관리할 수 있도록 소스 토픽을 Staff 또는 다른 제한된 카테고리에 유지할 수 있습니다. 가져온 이름, URL 및 이미지는 mentionables 사용자에게 공개됩니다. 토픽을 제한해도 가져온 카탈로그가 비공개가 되지 않습니다. 기밀 정보는 테이블에 포함시키지 마세요.

각 가져오기는 URL 기준으로 동기화됩니다: 일치하는 URL은 업데이트되고, 새 URL은 레코드를 생성하며, 소스에서 제거된 URL은 레코드를 삭제합니다. 전체 소스가 유효해야 하며; 중복된 URL 또는 슬러그, 잘못된 행, 검색 실패, 빈 데이터셋은 카탈로그를 변경하지 않습니다. 의도적인 삭제를 위해 전체 삭제를 사용하세요.
소스 토픽과 스프레드시트는 절대 수정되지 않습니다. Pro의 선택적
mentionables_pro_sync_enabled 설정은 12시간마다 동일한 가져오기를 실행합니다.
가져오기 후 브라우저를 새로 고쳐야 합니다. 기존 쿠킹된 게시물은 자동으로 다시 베이킹되지 않으며, 슬러그를 명시적으로 변경하면 이전 +slug 참조가 깨질 수 있습니다.

설정 및 추가 정보

설정 목적
mentionables_enabled Mentionables 활성화 또는 비활성화.
mentionables_topic_id 첫 번째 게시물에 소스 테이블을 포함하는 토픽.
mentionables_autocomplete_limit 최대 제안 수; 기본값은 5개.
mentionables_onebox_fallback 이름이 제공된 경우에도 누락된 이미지/설명 검색; 기본적으로 꺼짐.

전체 설정 가이드, 가져오기 동작 및 문제 해결은 README를 참조하세요. 스크린샷은 플러그인의 테스트 픽스처에서 가져온 샘플 데이터를 사용합니다.

24개의 좋아요

주제를 멘셔너블(mentionables) 기준으로 필터링할 수 있나요? 미국 주(State) 데이터셋을 만들고 싶어서, 각 게시물을 특정 주와 연결할 수 있을 것 같아서요.

현재는 아닙니다. 추상적인 관점에서 필터가 어떻게 작동할 것이라 생각하시나요? 외부 데이터셋을 임의로 mentionables(언급 대상) 집합으로 설정할 수 있습니다. 또한 사용자 정의 mentionable 데이터를 가진 게시물의 정렬 방식을 알려주는 추가 컬럼을 데이터에 사용할 수도 있습니다. 그런 다음, 같은 게시물에서 여러 개의 언급이 이루어진 상황을 처리해야 합니다. 이 기능을 추상적인 관점에서 어느 정도 상세히 범위를 설정해 주신다면, 구현에 얼마나 많은 노력이 필요한지 파악할 수 있을 것입니다.

처음에는 이름이 선택 사항이었으며 og 태그에서 파생될 수 있었습니다. 이 기능이 리팩토링 과정에서 사라졌습니다.

수정 사항을 push했습니다: make name optional again · paviliondev/discourse-mentionables@a7007b2 (github.com)

1개의 좋아요

OK, 이 문제를 해결하기 위해 몇 가지 PR을 완료했습니다:

API를 Google 공식 API로 전환하고, 중개용 gem(그리고 다른 몇 가지)을 제거했으며, CI를 추가하여 앞으로 더 안정적으로 동작할 수 있도록 했습니다.

설정 항목에 대한 호환성 깨짐(breaking changes) 사항을 유의해 주세요:

  • mentionables_google_spreadsheet_url: “Google 스프레드시트의 URL”

다음으로 변경됩니다:

  • mentionables_google_worksheet_id: “Google 스프레드시트의 ID”

  • mentionables_google_worksheet_gids: “Google 스프레드시트 가져오기를 워크시트 GID로 제한합니다. 비어 있으면 모든 워크시트가 가져와집니다.”

다음으로 변경됩니다:

  • mentionables_google_worksheet_names: “범위 내 소스 워크시트(탭) 이름”

그리고 새로운 설정 항목이 추가되었습니다:

  • mentionables_google_worksheet_max_row: “스캔할 최대 행 수”

이 PR은 프론트엔드 문제를 수정하고(테스트를 추가하면서) 있습니다.

3개의 좋아요

사각지대인 것 같네요…

신고해 주셔서 감사합니다. 링크를 업데이트했습니다.

2개의 좋아요

왜 이렇게 기술적으로 복잡한가요? 설정조차 제대로 못 해서 일을 진행할 수 없습니다.

만약 스프레드시트를 위한 업로드 버튼이 있었다면 저 같은 일반 사용자도 쉽게 활용할 수 있었을 텐데요.

아니면 온라인 폼 에디터가 있었으면 좋았을 텐데, 아쉽게도 이건 너무 고급스럽습니다.

말씀하신 내용에 일부 동의합니다. 이 플러그인은 확실히 기술적인 배경을 가진 사용자를 대상으로 만들어졌습니다. 하지만 설정 과정만 꽤 어렵고, 그 이후에는 정반대입니다.

실제로 이 플러그인은 Google Sheets의 기능을 활용하여 익숙한 편집기를 사용하도록 설계되었습니다.

한 번 설정을 마친 후에는 비기술적인 사용자도 파일을 업로드해야 하는 것보다 훨씬 쉽게 플러그인을 사용할 수 있습니다.

제 생각에는 @frold의 사용 사례, 즉 제3자 사이트에서 렌더링된 금융 차트를 표시하는 용도에는 적합하지 않을 것 같습니다. Mentionables는 이러한 용도를 위해 설계된 것이 아닙니다.

채팅으로 안내해 주실 수 있는 분이 계시다면 연락해 주세요.

공개 포럼에서 코드를 공유하는 것은 안전하지 않다고 생각합니다…

@frold 여기에는 서드파티 그래프를 공유하는 코드가 없습니다. 이 플러그인은 도움이 되지 않을 것입니다. 이 플러그인은 사용자가 회색 버블 형태로 표시된 제품 목록에서 검색하고 각 제품 페이지로 연결되는 링크를 통해 제품을 다시 불러올 수 있도록 사이트에서 허용하는 용도로만 설계되었습니다.

1개의 좋아요

알겠습니다 - 게시글에 링크가 삽입될 줄 알았거든요.

이 URL이 이미지로 연결되는 거라고 생각했습니다.

그렇습니다.

아니요, 그냥 회색 말풍선 안에 있는 지루한 설명일 뿐입니다 :sweat_smile:

여기서는 추가 스크린샷 하나가 도움이 될 것 같아요 :slight_smile:

이것은 제휴 링크 세트로 사용하기에 딱 좋습니다.

OP를 업데이트했습니다.

2개의 좋아요

설정 및 구성 과정을 자세히 설명드리기 전에, 질문 하나만 드리고 싶습니다. Mentionables의 적절한 사용 사례 중 하나로, 법률 문서 초안인 토픽(Topics)을 작성할 때 법률과 판례에 대한 참조를 포함할 수 있도록 하는 경우가 있을까요? 이때 연결된 “mentionables” 스프레드시트에는 관련 법률 참조 사항과 판례가 모인 컬렉션이 포함되어 있다고 가정하면요?

1개의 좋아요

그렇게 볼 가능성도 높네요. 먼지 낀 오래된 책의 예쁜 사진이 있다면 도움이 될 거예요 :wink:

1개의 좋아요

어느 날, 같은 항목을 + 키를 여러 번 눌러서 접근할 수 있는 대안 스니펫을 추가하고 싶다는 생각이 들었습니다.

자, 내 설정을 보여드릴게요 (설치 지침에 제공된 테스트 데이터 Google 시트를 사용 중입니다). 그리고 발생하는 오류는 다음과 같습니다… (아마도 플러그인이 깨져 있고, 개발자가 비용을 요구하는 것 같습니다? 물론 괜찮습니다, 참고로 말씀드리는 거예요!)

도움 주시면 정말 감사하겠습니다!

아직 작동 중입니다. 개인 키가 -----BEGIN PRIVATE KEY----로 시작하고 -----END PRIVATE KEY-----로 끝나는지 확인하세요.

1개의 좋아요

아니요, 정상 작동 중이고 무료입니다. 왜 그렇게 생각하신 거예요?

1개의 좋아요