링크 프리뷰 모듈
제대로 된 소개글이나 매뉴얼을 작성하려 했는데, 가족 문제가 생기는 바람에 경황이 없어서 일단은 자료만이라도 공유하고자 합니다.
- 이 모듈은 기존에 공개했던 미디어 임베드 애드온을 강화하고, 링크 프리뷰 카드 기능을 덧붙인 자료입니다. 단, 기존 애드온에서 제공하던 유튜브 뮤직 플레이어 기능은 제거했습니다.
- 링크 프리뷰의 경우 php와 js로 제작되어 있다보니 파싱이 잘 되지 않는 사이트들이 꽤 있습니다. 그런 경우를 감안하여 화이트리스트 기능(입력된 도메인만 허용)을 활용하시기를 권장합니다.
- 설치에 관해서는 https://dev.aporia.blog/board_fKje48/46714 이 문서를 따라 설정하시면 됩니다.
- 작동 방식은 라이믹스에 익숙한 분이시라면 금방 응용하시라 믿습니다. 자세한 설명을 드리지 못하는 점 양해 부탁드립니다.
미리보기 및 테스트
https://dev.aporia.blog/board_fKje48
- 버그 제보 및 개선사항 제안 주시면 적극 검토하도록 하겠습니다.
- 댓글을 통해 의견 남겨주세요.

윤삼
Lv. 19
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
댓글 74
이번에 새로 추가해야 할 클래스 이름들이 있는데 혹시 추가하셨을까요?
참고로 0.0.1 압축 파일 안에 있는 class_list.txt 파일에 클래스 이름들이 (실수로) 담겨 있습니다만.
앗, css 파일이 적용되지 않는다고 하셨군요. 다시 살펴봐야겠습니다;;;
순차적으로 검토를 해봐야 할 것 같은데, 실마리가 잡히지 않아서요.
미디어 임베드 애드온과 람보님의 임베드 파싱모듈 잘 사용하고 있습니다.
감사합니다.
모듈로 업그레이드되는 게 반가워, 조금이라도 도움이 될까하여 증상을 남겼습니다.
비전문 일반 사이트관리자의 테스트라고 생각하시면 됩니다.
---------------------------------------------------------------------------------------------------------------------
모듈설정 변경, 다른 모듈/애드온/위젯과 충돌 등등 몇 가지 경우를 테스트했지만,
여전히 읽기페이지에서는 preview의 css / js 가 불러들여지지 않고 있습니다.
혹시,
최근 업데이트한 rhymix 2.0.23 업데이트에서 CSS/JS 로딩 경로관련 추가/수정이 있는 것 같은데,
모듈의 주소/경로 부분도 살펴보시면 어떨지요.
제 환경은,
cafe24 웹호스팅
Apache / Linux / mysql
rhymix_version : 2.0.23
php : 7.4.5p1 (64-bit)
ssl
짧은주소 사용
레이아웃 스킨 studio02의 ink
근데 혹시 코어를 루트 폴더가 아니라 별도의 폴더 설치하셨을까요?
아, 글쓰기에서 임포트가 되는 걸 보면 그 문제도 아닐 것 같은데 참 어렵네요.
임포트가 되지 않는다는 페이지에서 개발자도구를 열고 콘솔창에서 current_url이라고 쳐봐주시겠습니까?
아니면 url 입력을
https://xetown.com/tips/1717975?act=dispBoardContent 에서처럼
?act=dispBoardContent를 붙여서 한번 해봐주세요.
act 파라미터가 사라지는 문제가 있는 게 아닐까 하는 생각이 듭니다.
만약 이 문제가 맞다면,
preview.controller.php의 44행을 다음과 같이 바꿔보시겠어요?
$act = Context::get('act') ?: 'dispBoardContent';
preview.controller.php의 44행 수정으로 css / js 로딩문제는 해결되었습니다.
감사합니다.
2.
프리뷰 카드 사용을 안하고 미디어 임베드 기능만 사용하고 싶을 때
(프리뷰 카드 사용: 아니오 체크, url 텍스트를 붙여넣으면)
콘텐츠를 로딩 중입니다.
잠시만 기다려주세요.
무한로딩됩니다.
다음의 경우를 위해서라도 수정되어야 할 듯 합니다.
그냥, url 텍스트를 붙여 넣어야할 때
기존 데이터 때문에 임베드 파싱모듈을 계속 써야할 경우
(참고로, 무한로딩은 임베드 파싱모듈 미사용 시에도 발생)
테스트 부탁드릴게요.
감사합니다!!!
추가로,
프리뷰 카드 왼쪽정렬 방법이 궁금합니다.
잘 되신다니 다행입니다. 휴...
버그 제보 감사했습니다.
종종 부탁드려요~
감사합니다.
와 지금 설치해봤는데... 이걸 왜 이제 설치했나 싶네요. 너무 좋습니다. !!!
에러 없이 잘작동합니다. 혹시나 문제생기면 바로 피드백 하겠습니다.
진심 감사드립니다.
리디렉션 때문만이 아니라 서버 쪽에서 연결을 거부하거나 일부러 지연시키는 경우들이 있는 것 같더라구요.
몇번 시도하니 되긴되네요. 필터링을 통해서 해당 사이트들은 제거해두어야겠네요.
정말 좋은 모듈 감사합니다!!
사실 현실에서는 생각한적도 없고 지금도 이용에 전혀 문제없는데 파싱을 중간에 취소하는 내용의 꿈이였습니다.
링크를 넣고 초단위 카운팅을 글쓴이에게 보여주고 10초 후 까지 지연이 발생하면 파싱을 취소되게하거나 혹은 취소버튼을 넣어서 파싱 자체를 취소하게 하면 좋겠다 였고
글쓴이 입장에서 빠져나갈 방법이 없어 뒤로가기를 누르게 하는것보다 이 방법이 좋을 것 같아요.
근데 아무래도 기능적으로 쉽지 않을 것 같긴 하네요.
안믿으시겠지만 거짓말 하나도 안보태고 정말 꿈에 나왔었어요.ㅋㅋㅋ
당장에는 본업 때문에 작업을 하기 힘들 것 같은데요.
일정 정리가 어느 정도 되고 나면 curl의 접속을 강제 종료하는 명령어가 있는지부터 좀 찾아봐야겠습니다.
정말 너무 생생한 꿈이였습니다.
preview.model.php에서
1. 33~34행을 삭제하고 테스트해봐주실 수 있을까요?
2. 아니면 33행 윗줄에 ini_set('default_socket_timeout', 1); 라 입력하고 테스트요...
기존과 마찬가지로 한 10초있다가 그냥 텍스트 그대로 뜨는데 그게 맞을까요?
getPreviewContent 함수인가 그 안에 파라미터로 $timeout = 5 라는 부분이 있을 텐데요.
이 숫자를 3이나 2 정도로 줄여보시겠어요?
그럼 일단 대기 시간이 줄어들 겁니다.
네 처음엔 무한 로딩으로 알았는데 무한로딩은 아니고 10초 정도있다가 돌아오더라구요.
저도 제일 처음엔 10초나 기다려야하나 하면서 창을 꺼버렸는데 그게 아니였습니다.
해외사이트라그런지 알리익스프레스 링크를 넣었는데 그렇더라구요 ㅎㅎ
0.0.3 버전으로 업데이트하여 공개자료실에 업로드했습니다.
https://xetown.com/download/1724355
@karius @해태맛동산 @오민호 @톰캣
* 개선 사항
[전체] 배포 파일에서 custom.css 파일을 제외. 필요시 사용자가 해당 파일을 생성하면 자동 인식되게끔 했음
[프리뷰 카드] 타임아웃(외부 서버 접속 제한 시간) 설정 제공
[프리뷰 카드] 이미지 파일 첨부 예외 도메인 설정 (자기 사이트의 CDN 서버 예외 처리 등에 유용함)
[미디어 임베드] KAKAOTV : 재변경된 아이프레임 주소에 대응
[미디어 임베드] NAVER SHORTS : 뉴스/스포츠의 숏폼 영상 임베드
[미디어 임베드] NAVER SPORTS : 스포츠/비디오 주소 체계에 대응