이 주제는 좀 까다롭네요… 버튼 한 번만 누르면 유용한 링크를 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에서 엽니다.
아니면
- 텍스트가 그냥 텍스트인 경우
- 본문이 그냥 텍스트가 되도록 합니다.
![]()