Userscripts
이 포스트는 유저 스크립트에 대한 내용을 담고 있습니다.
Hide Twitter Promotion Tweets
첫 유저 스크립트 배포
유저 스크립트를 작성했습니다. 처음은 아니고 종종 개인적으로 필요한 경우 작성해왔습니다. 그러나 배포할 정도로 남에게 필요한 것들은 아니었고, 그 완성도 역시 낮았던터라 개인적으로만 사용하고 말았습니다.
그러다 이번엔 코드가 간단하긴 해도 공유할만한 것이기에, 허전한 블로그에 포스트나 채울 겸 해서 배포를 진행했습니다.
유저 스크립트 기능
트위터에서 발행하는 프로모션 트윗을 안보이게 하는 유저 스크립트입니다. 0.5초 간격으로 페이지내 article 요소에서 프로모션 트윗의 SVG 아이콘이 존재하는지 확인합니다. 본래는 프로모션 트윗 문구를 그 대상으로 삼았는데 사용자의 언어에 따라 해당 문구가 변동 가능하고 그 가짓수가 얼마나 되는지에 대해서 파악하기엔 너무 수고스러워 아이콘을 대상으로 변동했습니다.
코드를 포스팅 하지 않은 이유
원래는 GitHub Gist에 올린 뒤 유저 스크립트 저장소에 배포하고, 그 내용을 포스트로 공유하려 했습니다. 현재 사용 중인 확장 프로그램인 Tampermonkey에서도 GitHub Gist 검색 링크를 제공하고 있어, 그 접근 과정이 불편하긴 해도 배포처로 나쁘진 않다 생각했었습니다. 겸사 겸사 코드 스니펫 공유 기능으로 포스트에 그 내용을 함께 공유하는 것도 나쁘지 않겠다 싶었죠.
그러나 GitHub Gist의 경우 버전관리에는 매우 취약하더군요. 코드 스니펫은 원본소스 변경에 따라 embed한 게시물의 내용이 변경되지만 설치한 유저 스크립트는 그렇지 못했습니다. 애시당초 Raw 버튼을 누르고 소스를 복사해 추가하는 방식이라 이건 아니더군요. 게다가 업로드된 소스의 수정이 이뤄지는경우, 그 주소의 해시값이 함께 변경되기 때문에 이곳에 배포한 소스를 타 저장소를 통해 배포하는 경우 버전 관리에 문제가 있어 보였습니다.
GreasyFork에 배포하게된 경위
그래서 GitHub에 올리고, 이를 동기화 해줄 저장소를 찾기로 했습니다. 유저 스크립트 저장소로 가장 많은 이들이 애용하는 GreasyFork가 그 기능을 제공하더군요. 타 저장소도 해당 기능을 제공하긴 마찬가지였지만, 최대 저장소에서 해당 기능을 제공하는 만큼 대안을 찾을 필욘 없었습니다. 그래서 마침 잘 되었다 싶어, GitHub에 유저 스크립트를 배포할 신규 저장소를 생성하고 업로드를 하였습니다.
덕분에 황량한 GitHub 프로필 페이지에 잔디를 한모 심을 수 있게 되었습니다. 쓸데없는 일기 쓰기 같은 행위로 모심는 것에 비하면 상당히 건강한 행위라 나름 만족스럽습니다. 물론 이걸로 싱그러운 잔디밭을 깔고 공차기엔 무리가 있습니다만, 이런 경우는 결과보단 그 과정이 중요하다고 생각합니다. 다음에도 뭔가 배포할만한 것을 작성하게 된다면 한모 다시 심어볼까 합니다.