Chrome/Firefox extension "Share to discourse"

이 주제는 좀 까다롭네요… 버튼 한 번만 누르면 유용한 링크를 Discourse에 올리는 방법은 무엇일까요?

iOS 공유 시트의 “Discourse에 게시” 버튼과 로직이 크게 다르지 않을 것 같습니다.

다음과 같이 프로그래밍할 수 있습니다;

  • 공유 시트에서 입력을 받습니다. 공유 시트의 버튼 이름은 단축语的 이름입니다.
  • 단축语的 입력에서 text를 가져옵니다.
  • 텍스트 ook (“Look what i found on”의 Look 단어 일부)
  • 텍스트 I (“I found”의 I)
  • 텍스트 Source: (URL이 어디에서 왔는지를 나타내는)
  • 텍스트 heck (“Check out what i found”의 Check 단어 일부)
  • 위의 텍스트 중 하나가 입력 텍스트인 경우
  • Source:를 그냥 링크로만 대체합니다.
  • 해당 링크에서 URL을 가져옵니다.
  • 호스트를 가져옵니다.
  • 경로를 가져옵니다.
  • 쿼리를 가져옵니다.
  • 호스트, 경로, ?, 그리고 쿼리를 URL로 인코딩합니다.
  • 텍스트 https://yourdomain.co.uk/new-topic?title=Shared%20from%20iOS&body=https://[인코딩된 URL]
  • 해당 텍스트를 Safari에서 엽니다.

아니면

  • 단축语的 입력 텍스트에 g.co가 포함된 경우
  • 텍스트에서 https?://(.*)를 일치시킵니다.
  • 일치 항목에서 인덱스 1의 그룹을 가져옵니다.
  • 텍스트 https://yourdomain.co.uk/new-topic?title=Shared%20from%20iOS&body=https://[해당 텍스트]
  • 해당 텍스트를 Safari에서 엽니다.

아니면

  • 단축语的 입력 텍스트에 youtube가 포함된 경우
  • 호스트를 가져옵니다.
  • 경로를 가져옵니다.
  • 쿼리를 가져옵니다.
  • 인코딩합니다.
  • 포럼 URL 텍스트
  • Safari에서 엽니다.

아니면

  • 텍스트가 그냥 텍스트인 경우
  • 본문이 그냥 텍스트가 되도록 합니다.

:rofl:

1개의 좋아요