oembed 애드온 개선판 및 멀티미디어 썸네일 애드온 개선판 |
Registered Date | Mar 31, 2023 |
---|
multimedia_thumbnail.3.0.2.zip oembed.v2.0.3.zip
oembed 2.0.3 올렸습니다.
인스타그램 규칙을 뒤에 /p/가 붙은 경우로 한정했습니다.
그외에 정규식에 오류가 있던걸 수정했습니다.
더이상 tinypng에 반응을 안할겁니다.
--------------------------
oembed 2.0.2 올렸습니다.
gfycat 추가했습니다
tiktok 추가했습니다
codepen 추가했습니다
captionpics 추가했습니다
mp4, avi, wmv, mpeg, mpg 등의 확장자에 대해 추가했습니다
yql을 써서 안되던 사이트들은 룰을 다 제거했습니다
------------------
멀티미디어 썸네일 수정했습니다.
oembed 수정했습니다.
인스타그램, soundcloud, imgur group에 대한 지원을 추가했습니다
그리고 버그도 하나 잡았구요
-----------------------------------------------------
parserlink 모듈이면 다 될 줄 알았는데
게시판을 보다 보니까 parserlink 모듈에 좀 문제가 있더군요.
base64로 이미지를 db에 저장하는 통에 db 사이즈가 어마어마하게 커진다는...
이미지 저장하는 부분은 덜어내서 가볍게 만들었지만
parserlink가 최선의 솔루션이 아닐지도 모른다는 생각에
게시판에 추천된 다른 방법들도 알아봤습니다.
xe 코어에서는 oembed라는 애드온을 쓰고 있더군요.
근데 오랫동안 버젼업이 안되서 방치되고 있는 것 같았습니다.
받아서 써보니까 그냥 jquery.oembed.js를 랩핑한 수준이더군요.
jquery.oembed.js 최신 버젼을 쓰면 될 것 같았습니다.
최신 버젼을 적용했지만 oembed 자체가 CORS 때문에 전에 비해서
안되는 곳이 엄청 많아진 것 같았습니다.
parserlink 모듈이 일일이 서버하고 통신하는 이유를 알 것 같다는...
이놈의 CORS 때문에 너무 짜증나네요...
그래서 네이버tv, 카카오tv, 네이버 audiocloud, imgur 등은
규칙을 일일히 손으로 추가했습니다.
유튜브, 페북, 트위터는 잘 되기 때문에
parserlink 모듈보다는 처리하는 곳이 좀 더 많을겁니다.
제가 테스트해본 곳 이외에 어디가 되고 어디가 안되는지는 잘 몰라요.
jquery.oembed.js가 기본으로 잔뜩 규칙을 가지고 있기는 한데
이게 업데이트된지 5년은 지난거라... 지금은 안되는 곳이 엄청 많더라구요.
CORS 문제도 있고.. 야후가 문닫은 문제도 있고.. (yql인가 하는걸 쓰더군요)
뭐 일단 테스트해본 곳만으로 충분할거란 생각은 드는데..
더 필요하심 말씀하세요.
그리고 parserlink하곤 다르게 서버 통신을 안하므로 매우 가볍구요.
그리고 추가적으로 그냥 이미지 링크를 붙여넣었을때도
처리했습니다.
https://xetown.com/files/attach/images/1089589/401/610/001/ed99fae067d99c80a9716987e420763d.jpg
이런 식으로 이미지 링크만 붙여넣으면 이미지가 나오는거지요.
이렇게 하면 외부 이미지 쓰기 되게 좋은데 왜 이걸 진작에 안지원해줬을까요..
그리고 겸사겸사 링크만 붙여넣어도 썸네일도 만들 수 있도록 했습니다.
기존에 멀티미디어 썸네일이라는 훌륭한 자료가 있었습니다만
이 애드온은 링크만으로는 처리가 안되고 iframe으로 붙여넣은 것만
썸네일을 만들어주더군요. (그리고 치명적인 버그도 하나 있더군요..)
그래서 약간? 수정해서 링크만 붙여넣어도 썸네일 만들어지도록 수정했습니다.
그리고 <img> 태그가 없이 이미지 링크만 붙여넣어도
썸네일 만들어지도록 했구요.
다만 링크만 붙여넣었을때 썸네일을 만드는 외부 서비스는 아직 유튜브뿐입니다.
네이버TV 카카오TV도 할려고 했는데 이건 썸네일 URL이 직관적으로 구해지질 않더라구요.
저쪽 서버하고 oembed 통신을 해야만 하는거라서...
이건 나중에 할려고 합니다. 버젼업되면 올려드릴께요.
하여튼 이 애드온 2개만 있으면 충분할 것 같습니다.
혹시 문제 있거나 처리를 추가하고 싶은 사이트가 있으면 댓글 남겨주세요.
그리고 oembed 처리는 parserlink 모듈을 안통해도 될 것 같지만
그래도 링크에 걸린 사이트 정보 미리 보는건 여전히 훌륭한 기능 같습니다.
저는 parserlink 모듈도 삼위일체로 함께 쓰려고 합니다.
아참 parserlink 모듈은 현재 버젼 그냥 쓰시면 oembed와는 기능적으로 겹칩니다.
같이 쓰시려면 parserlink 모듈은 수정해야만 해요.
가능하면 이 3개의 분산된 기능을 하나로 합쳐서 모듈 하나로 만들까 하는데...
그렇게 해도 괜찮을지 모르겠습니다.
GPLv2라.. 제가 멋대로 수정하고 버젼도 올리긴 했습니다만..
아예 서로 다른 프로젝트끼리 합쳐버리면 좀 곤란할 것 같긴 한데요...