Quick Quote 테마 컴포넌트

:information_source: 요약 간단히 말해, 게시물 답변 버튼(토픽 답변이 아님)의 동작을 변경하여 한 번의 클릭으로 게시물을 자동으로 인용하도록 합니다.
:hammer_and_wrench: 저장소 링크 GitHub - merefield/discourse-quick-quote: A Theme component to change the behaviour of the Post Reply buttons to quote a Post automatically in a single click. · GitHub
:open_book: 설치 가이드 Installing a theme or theme component
:heart: 후원 이 컴포넌트가 마땅히 받아야 할 유지보수를 받고 향후에도 여러분의 사이트에서 계속 작동할 수 있도록, 여러분 또는 여러분의 조직의 자원과 필요에 맞는 수준으로 저의 오픈소스 작업을 정기적으로 후원해 주시면 감사하겠습니다.

이 테마 컴포넌트를 즐기고 계신가요? GitHub에서 :star: 를 눌러 주세요.

작동 방식

간단히 말해, 게시물 답변 버튼(토픽 답변이 아님)의 동작을 변경하여 한 번의 클릭으로 게시물을 자동으로 인용하도록 합니다.

인용할 내용과 시점을 세밀하게 조정할 수 있는 여러 가지 설정이 있습니다. ‘오래된 학교(old skool)’ 느낌을 위해 인용의 중첩(nesting)도 지정할 수 있습니다.

자동 인용은 Composer로 전달되므로, 원하시는 경우 거기서 수동으로 다듬을 수 있습니다(하지만 그렇게 하면 '빠르게’라는 부분이 무의미해지죠 :snail:).

하단의 토픽 답변 버튼이나 인용 도구의 동작은 변경하지 않습니다.

이유

  • 기본 설치 환경에서 인용하는 데 클릭이 너무 많다고 느끼는 분들이 있습니다. 이는 터치 디바이스에서 더 큰 문제입니다.

  • "자동 인용"은 꽤 오래된 게시물에 답변할 때 특히 유용합니다. 이 플러그인은 참조된 게시물이 얼마나 이전의 것인지 계산하고, 충분히 이전이면 자동으로 인용을 삽입합니다. 이는 사람들이 맥락을 조금 더 빠르게 이해하는 데 도움이 됩니다.

  • '중첩 인용(Nested Quotes)'을 다시 가져옵니다! (기본값: 꺼짐) 이 컴포넌트는 일부 ‘오래된 학교’ 포럼 플랫폼에 익숙한 분들에게 특히 매력적일 수 있으며 :space_invader: 취향의 문제입니다 - 중첩 인용을 좋아하시면 이제 볼 수 있지만, 공간에 대한 영향을 인지하시기 바랍니다!

필요하지 않은 경우

기본 제공된 토픽 게시물 답변 동작에 100% 만족하신다면 이 컴포넌트가 필요하지 않습니다. 저 역시 만족하지만, 선택지가 있는 것이 좋은 것 아니겠습니까?

설정

quick_quote_post_location_threshold: “빠른 인용이 활성화되기 전의 게시물 수.”

자동 인용이 실행되기 전에 게시물이 얼마나 이전의 것일 필요가 있는지 제어합니다. 최근 게시물의 불필요한 인용을 방지합니다.

quick_quote_remove_links: “인용에서 모든 링크(이미지 포함) 제거”

정리를 깔끔하게 하고 공간 활용도를 높입니다.

quick_quote_remove_prior_quotes: “모든 이전(중첩) 인용 제거”

기본적으로 활성화되어 있습니다. 궁극적인 중첩된 오래된 학교 경험을 위해 이 설정을 해제하십시오. (죄송합니다, Jeff! :wink: )

quick_quote_remove_contiguous_new_lines: “불필요한 줄바꿈 제거”

줄바꿈은 과대평가되었습니다.

quick_quote_character_limit: “인용 문자 제한 (총 길이가 더 크면 마지막 x자 사용)”

발췌는 꽤 기본적입니다 :slight_smile: 더 정밀한 인용이 필요하면 인용 도구로 돌아가십시오 (플러그인에 의해 재정의되지 않음)

알려진 한계

이 테마 컴포넌트는 인용 준비를 처리하는 방식이 비교적 단순합니다. 일부 설정은 다른 설정과 함께 작동할 때 더 효과적이며, 어떤 것이 적합한지는 관리자가 결정해야 합니다. 단어의 중간을截단할 수 있는 발췌 문자 제한이 있는 것처럼 일부 복잡성은 피하고 있습니다. 태그가 제거되어 태그가 잘려서 손상될 위험을 피하기 위해 포맷이 단순화되었습니다 - 다시 말하지만, 이는 단순함을 달성하기 위한 것입니다. 인용 처리는 정규 표현식에 크게 의존하며, 모두 완전히 완벽하지는 않지만 ‘충분히 잘’ 작동합니다. 이들은 테마 컴포넌트의 수명 동안 개선될 수 있습니다.

이것은 최근에 저의 동일한 플러그인에서 이식되었지만, 그 과정에서 버그를 포함했을 수 있습니다. 발견하시면 알려주세요.

제 후원자와 이 컴포넌트의 영감

이 작업을 후원해 주신 @Merlls_Rizzini 에게 감사해 주세요. 이 기능은 우리 둘 모두의 아이디어를 바탕으로 하며, @eesty 의 이 게시물에서 부분적으로 영감을 받았습니다.

참고: 이것은 제 Fast Quote 플러그인을 기반으로 했지만, 제3자에게 호스팅된 사이트 관리자들도 더 쉽게 접근할 수 있도록 테마 컴포넌트 형식으로 이동했습니다. 백엔드 컴포넌트가 없었기 때문에 @sam 이 테마 컴포넌트로 전환할 것을 제안했고, @sully 는 자신의 테마 버전을 만든 후 이 작업을 마무리하도록 최종적으로 격려해 주었습니다.

모든 피드백을 환영합니다.

38개의 좋아요

읽기를 건너뛰지 않았더라면 가치를 파악하는 데 더 적은 시간을 썼을 텐데,

좋습니다 :+1:

3개의 좋아요

카테고리별로 사용할 수 있으면 좋겠어요. AMA 카테고리에 포함할 수 있으면 정말 좋겠지만, 그렇지 않으면 좀 어수선해질 것 같아요.

3개의 좋아요

최근 topic.js에 적용된 Git 커밋으로 인해 이 테마 컴포넌트가 손상된 것 같습니다:

**Quote.build()**는 더 이상 존재하지 않으며, 대신 buildQuote() 함수를 가져와 사용하고 있는 것으로 보입니다. 단순히 치환하는 것만으로는 해결되지 않아 좀 더 고민해 봐야 할 것 같습니다.

2개의 좋아요

실수했어요! quick quote 플러그인이 all-the-plugins 목록에 없어서 회귀 버그를 찾을 때 놓쳤습니다. 목록에 추가하고 플러그인 수정을 위한 PR을 열었습니다:

(설정 관련 작은 수정도 포함했습니다: FIX: Setting descriptions were swapped - Pull Request #2 - merefield/discourse-quick-quote - GitHub)

5개의 좋아요

좋아요, Jarek 감사합니다 (@sully! 보고해 주셔서 감사합니다!), 병합했습니다! (버그 수정도 감사합니다!)

1개의 좋아요

저는 이 테마를 사용 중인데, 어제 업데이트를 한 후 오늘 불만이 접수되고 있습니다.

답변과 설명을 위해 게시글을 작성하던 중, 한 게시글에 답글을 작성하다가 다른 게시글로 이동해 전체 답글을 남기려 하면 안 되는 것을 발견했습니다. 답글은 처음 작성하던 게시글에 그대로 남아 있습니다.

이전에는 토글이 가능했는데, 빠른 인용은 여전히 작동합니다.

제가 완전히 이해할 수 있도록 조금 더 자세히 설명해 주시겠어요? 더 세분화된 단계로 설명해 주시고, 어디서 문제가 발생한다고 보시는지도 알려 주시면 감사하겠습니다.

1개의 좋아요

네, 지금 논의 중인데, 3개 이전의 게시글에는 답글을 달 수 없다는 점이 아마도 반복해서 설명해야 할 골칫거리 중 하나가 될 것 같아요.

빠른 인용은 좋은 기능인데, 답글 기능을 되살릴 수 있을까요?

아직도 이해가 잘 안 됩니다. 좀 더 자세히, 그리고 단계별로 설명해 주시겠어요?

컴포넌트를 로컬에서 다시 테스트해 봤는데, 정상적으로 동작하는 것 같습니다.

1개의 좋아요

문제는 아닙니다. 제가 기능을 잘못 이해했거나 다른 실수를 한 것일 수도 있고요.

하지만 현재 상태로는 스레드에서 4번째 게시물까지 올라가면 답글 버튼이 비활성화됩니다.

이 문제는 오늘 처음 언급되었고, 어제는 업데이트를 진행했습니다.

그래서 업데이트와 관련이 있다고 생각하는데, 혹시 설정 문제가 있는 걸까요?

테마 설정을 보여줄 수 있을까요?

또한 최신 Discourse 버전과 최신 버전의 테마 컴포넌트를 사용 중인지 확인해 주실 수 있을까요?

그리고 콘솔에서 자바스크립트 오류가 표시되는지 알려주시면 감사하겠습니다.

1개의 좋아요

임의의 스레드에서

image

이 사이트에는 제 셀프호스팅 환경처럼 버전이 표시되지 않습니다

1개의 좋아요

감사합니다.

네, 설정을 동일하게 맞춰 봤는데 재현이 안 됩니다. 4개 전 게시물의 답글 버튼은 정상적으로 작동하고 있습니다.

하지만 말씀하신 설정을 고려하면 매우 의심스럽네요. (숫자 '3’이 눈에 띄게 튀어 보입니다!)

저는 Discourse와 TC 모두 최신 버전을 사용 중입니다. 두 가지를 모두 완전히 업데이트했는지 확인해 주세요.

1개의 좋아요

소스 보기에서 Discourse 2.5.0.beta2라고 나와 있습니다.

그리고 TC가 테마 컴포넌트(Theme Component)를 의미하는 건가요?

3을 5로 바꾸면 5번째 게시물까지 답글을 쓸 수 있게 됩니다.

그럼 9999로 설정하면 다른 기능이 제한되는 영향이 있나요?

네, 프로덕션 사이트에서 해당 문제를 재현해 보았습니다 …

v2.5.0.beta2 +459

Jarek님이 제출한 변경 사항은 최신 버전의 Discourse를 매우 구체적으로 대상으로 하고 있었습니다.

혹시 Jarek님의 변경 사항 이전 커밋의 Discourse를 사용하고 계신 건가요? 그렇다면 최신 TC와 호환되지 않습니다. 둘 다 업그레이드하거나, 둘 다 업그레이드하지 않는 것이 좋습니다.

그리고 방금 해당 사이트를 업그레이드(최신 릴리스 +495)했는데 다시 문제가 해결되었습니다.

즉, Discourse를 Jarek님의 커밋 이후 버전으로 업그레이드해야 합니다.

1개의 좋아요

롤백에 사용할 수 있는 CSS를 제공해 주실 수 있나요?

그리고 제 사이트 업데이트가 완료된 후 제거하면 될까요?

감사합니다 :slightly_smiling_face:

또는

@team 제 사이트가 곧 업데이트될 예정인가요?

아, 좋은 생각이시네요. 다만 UI에서 javascript 폴더의 내용을 접근할 수 없다고 생각하는데 (틀린 거라면 꼭 알려주세요!).

불행히도 Theme Component의 특정 커밋을 설치할 수도 없다고 생각합니다 (이것도 마찬가지!).

그래서 제 제안은, 네, 그 3을 9999로 바꾸고 Discourse가 더 최신 버전으로 업데이트될 때까지 기다리는 것입니다.

1개의 좋아요

물론이죠, 걱정 마세요. 협조해 주셔서 정말 감사드립니다 :+1:

1개의 좋아요

모든 빠른 인용(Quick Quote)을 좋아하는 디스커스(Discourse) 사용자 여러분께… 최신 디스커스에서 빠른 인용이 다시 작동하도록 수정 사항을 배포했습니다.

테스트 통과를 추적하고 있으므로 해당 브랜치를 사용하지 않는 경우 업데이트하지 마세요.

3개의 좋아요