Discourse 사전 플러그인 🆎

요약: Discourse Dictionary 플러그인은 사용자가 주제(토픽)의 첫 번째 게시물에 단어의 사전 의미를 추가할 수 있도록 합니다. 작동 방식을 보여주는 짧은 영상은 다음과 같습니다.

:link: GitHub: GitHub - fzngagan/discourse-dictionary: A discourse plugin to add meanings of a given word to the post · GitHub
:arrow_right: 설치: 플러그인 설치 가이드를 따르세요.

기능

  • 사용자가(기본값은 TL2) 작성기(composer)를 통해 단어의 사전 의미를 선택할 수 있습니다. 선택된 단어에 마우스를 올리면(호버) 선택된 의미를 보여주는 툴팁이 표시됩니다.
  • 현재 Oxford Dictionary API를 지원합니다.
  • 현재 단어의 단수 형식만 지원하므로, 예를 들어 fungi는 작동하지 않으며 fungus를 사용해야 합니다.
  • 의미는 향후 빠른 로딩을 위해 데이터베이스에 캐시되며, API 한도 소진을 방지합니다.
  • 작성기에 로드된 후에는 값을 조정할 수 있습니다.

설정

  • https://developer.oxforddictionaries.com/에서 API 자격 증명을 가져오세요.
  • app id를 사이트 설정 discourse dictionary oxford app id에 사용하세요.
  • api key를 사이트 설정 discourse dictionary oxford api key에 사용하세요.
  • 이 기능을 사용할 수 있는 사용자의 최소 신뢰 수준을 discourse dictionary min trust level로 설정할 수 있습니다.

TODO

  • 단어의 복수 형식 지원
  • 다른 사전 API 지원
  • 테스트 포함

크레딧

@sam님께 깊이 감사드립니다.

  • discourse-footnote 플러그인의 툴팁 코드에서 영감을 받았습니다.
  • 메타(meta)의 마크다운 문서는 이 플러그인을 작성하는 데 필수적이었습니다.
21개의 좋아요

@fzngagan님, 정말 감사합니다! 가이드를 개선할 부분이 있다면 주저하지 말고 알려주세요! :tada:

7개의 좋아요

이 플러그인을 써볼 수 있게 되어 꽤 기대가 됩니다. 아직 어떻게 쓸지는 모르겠지만, 어떻게든 활용하는 방법을 찾아낼 것 같습니다.

한 가지 떠오른 건, 이 플러그인이 언어 학습에 얼마나 유용할지라는 점이었습니다. 옥스퍼드 사전 문서화를 찾아봤는데, 다른 언어로도 단어 검색이 가능한 것 같습니다: https://developer.oxforddictionaries.com/documentation/languages

Ruby 프로그래밍에 대해 많이 알지는 못하지만, 제가 볼 때 이 코드 블록에서 dataset: 'en-us' 줄을 es 또는 sw로만 변경하면 스페인어나 스와힐리어로 사용하도록 플러그인을 쉽게 수정할 수 있을 것 같습니다:

    def self.fetch_from_api(word)
      response = client().entry(
        word: word,
        dataset: 'en-us',
        params: { fields: 'definitions' }
      )
  1. 제가 변경해야 할 것은 이것뿐일까요?
  2. 다른 언어를 사용할 수 있는 옵션을 추가하는 것에 대해 생각해 본 적이 있으신가요?

이것을 만들어 주셔서 감사합니다!

1개의 좋아요

그렇다고 생각합니다. :slight_smile:

1개의 좋아요

저의 의도는 그냥 출시를 해서 커뮤니티에서 관심이 있는지 확인하는 것이었습니다. 이 플러그인은 저에게 약간 특별한데, 거의 3년 전에 어떻게 만들어야 할지 지식이 없었을 때 스펙을 작성했기 때문입니다. :slight_smile:

제 게시글입니다.

1개의 좋아요

@jimkleiber
새 사전 소스를 쉽게 추가할 수 있도록 조치했습니다. 관련 PR도 환영합니다.

2개의 좋아요

그렇다면 이 플러그인이 플러그인 제작 방법(그리고 PR)을 배우는 데에도 도움이 될 것 같아요. 어느 날 시간 나면 한번 살펴보고 알려드릴게요. 감사합니다! :smiling_face:

1개의 좋아요

제가 건드리지 않은 유일한 부분은 단어의 단수 형태를 가져오는 레마(lemma) API입니다. 이는 옥스퍼드 API(그리고 아마도 다른 API들)가 주로 단수 형태로 작동하기 때문에 중요합니다. 이 부분도 가치가 있을 것입니다.

1개의 좋아요

안녕하세요 @fzngagan … 흥미로운 사용 사례가 있어서, 이 플러그인이 도움이 될 수 있을지 궁금합니다.

저는 청각 장애를 가진 사람들을 위한 포럼을 운영하고 있으며, 신규 가입자들이 배워야 할 전문 용어가 매우 많습니다. 현재 일부 정의가 담긴 위키를 운영하고 있지만, 사용자가 [dict] 태그를 직접 설정하지 않아도 시스템 정의 기능을 추가하여 정의된 용어와 약자가 자동으로 밑줄로 표시되면 정말 유용할 것 같습니다. 옥스퍼드 사전의 제안된 정의는 편리하지만, 이 중 많은 단어에는 사용자 정의 정의가 필요할 것으로 생각합니다.

감사합니다!

1개의 좋아요

Auto-Linkify Words 이라는 테마 컴포넌트가 있지만, 이는 단어의 출현을 링크로 변환하는 것까지만 가능합니다. 물론 제안하신 기능을 구현하기 위해 포크할 수 있습니다. 작업을 후원하는 데 문제가 없다면 #marketplace에서 개발자를 고용할 수 있습니다.

@abrambailey abbrify words (with styling) 테마 구성 요소를 고려해 보셨나요? 제 사이트에서 마우스를 올렸을 때 인라인으로 정의가 보이도록 이 요소를 사용하고 있습니다… 실제로 작동하는 모습을 여기에서 확인하실 수 있습니다: The Future of the Metaverse in Daily Life - Tech News and Tips - n👀bish.me

1개의 좋아요