ap_parser.0.4.zip (20170828)

- php 5.5.x 이하에서의 문법 오류 수정

- file_get_contents 등의 함수 없애고 cURL 작동방식 개선(서버의 allow_url_fopen 설정 관계 없이 프리뷰 출력)

- 파싱한 외부 이미지를 데이터 스트링으로 변환 출력(서버측 부담을 늘리고 외부 사이트 부하를 방지) (prologos님)

- 네이버 금융, 부동산 우회 출력


기약 없는 향후 업데이트 계획

- 이미지 리사이즈 후 출력 (0.4 이후 발생하는 서버의 부담을 줄임)

- 본문 출력 시에 링크 프리뷰가 호출되는 것이 아니라, 본문 입력 단계에서 링크 프리뷰 작동 -> 본문 소스에 그대로 포함

... 현행 애드온 자체를 갈아 엎거나 새로운 애드온이 될 듯ㅋ

 

ap_parser.0.3.7.zip (20170825)

- php 5.3.x 이하에서의 문법 오류 버그 수정

- 사용자가 파싱 예외 도메인을 textarea에서 지정할 수 있게 함 (웹지기님)

- 로딩 이미지 안 나오게 할 수도 있는 옵션 추가 (socialskyo님)

- 페이스북, 트위터, 인스타그램, 유튜브의 경우 임베드할지 아니면 보통 출력할지 선택할 수 있음

- 프리뷰 카드 출력 옵션 설정(좌, 우, 중앙)  (socialskyo님) ... 스킨의 css 파일도 덮어쓰기 해야 함!

- 인스타그램 (프로필 페이지에서) 최신 썸네일 이미지 12개 출력 + 일반 미디어 포스트는 바로 임베드- 유튜브 관련 주소 식별 버그 수정 및 플레이리스트 인식

- 이미지 주소가 상대경로로 되어 있을 경우 경로 앞에 도메인 자동 붙이기

 

ap_parser.0.3.6.zip (20170818)

- load scroll resize 후 뷰포트 안에 들어올 때에만 로드하는 방식으로 변경. 기존에는 링크 프리뷰 일괄 로드 방식. 링크가 다수 있는 문서의 경우 클라이언트측의 부하를 줄일 수 있으며, 링크가 특정 서버에 집중돼 있는 경우에는 디도스 혐의로 차단되는 문제를 방지할 수 있음 (socialskyo님, 기진곰님)

- 링크에 다음 문단 첫 어절이 붙는 버그 해결 (pock님, 라르게덴님)

- 네이버 연예, 영화, 뮤직, 책, 웹툰, 사전 미리보기 출력

- 다음 뉴스, 연예, 스포츠, 자동차, 영화 미리보기 출력

- 카드 안의 주소를 호스트+도메인 형태로 간략화 + 그리고 주소 출력 여부 옵션 추가 (휴리파파님)

- 임베드 형식의 Youtube의 경우 최대 넓이를 사용자가 지정하도록 옵션 추가 (웹지기님)

- 링크 텍스트 삭제시 임베디드 링크도 텍스트 삭제에 포함

- css 일부 수정 (웹지기님)

 

ap_parser.0.3.5.zip (20170815)

- 출력에 실패할 경우, 즉 data를 받아오지 못할 경우 container 자동 삭제 (socialskyo님)

- 네이버 뉴스 및  카페 출력 (웹지기님)

- 유튜브 짧은 주소(youtu.be)도 인식 (socialskyo님)

- 미리보기 출력시, 기존 링크 텍스트 삭제 옵션 추가 (pock님)

- css 일부 수정 (웹지기님)

 

ap_parser.0.3.4.zip (20170813)

- 네이버 블로그도 미리보기 출력 가능(카페는 이미지 출력 실패ㅠ)

- 본문에  가 있을 경우 파싱에 실패하는 문제 수정

- css에서 나타나는 미세한 오차들 수정

 

ap_parser.0.3.3.zip (20170812)

- 유튜브도 iframe으로 임베딩 기능 추가
- 트위터 임베드 방식 변경(포스트에서 thread 삭제, 타임라인에서 포스트는 최근 1개만 추출 및 컨테이너 높이 자동맞춤)

- 다음 카페도 미리보기 출력 가능

- css에서 나타나는 미세한 오차들 수정

 

ap_parser.0.3.2.zip (20170811)

- meta 태그 대표 이미지(og, twittercard, 본문 이미지 순) 우선 파싱 및 파싱 성공시 이미지 추가 수집 중지 기능
- 트위터 및 페이스북은 파싱 대신 임베드 방식으로 출력 (이거 땜에 이번 버전을 0.4로 할까 하다가 귀찮아서 그냥 0.3.2로만 올림ㅋ 단, 페이스북 그룹은 여전히 안 됨)

- 다음 블로그도 미리보기 출력 가능 (카페는 아직 안 됨)

 

ap_parser.0.3.1.zip (20170804)

- 파싱할 이미지 최대 개수 지정함으로써 해당 개수 수집후 바로 출력. 즉, 파싱 시간 단축 (웹지기님)

- 파싱 동작시 .wfsr 감추기 (웹지기님)

 

ap_parser.0.3.zip (20170804)

- 링크 추출 대상 본문, 본문+댓글 옵션 제공 (착한악마님)

- 자기 도메인 링크와 외부 도메인 링크 열기 방식 옵션 제공 (웹지기님)

- 이미지 파싱 에러 발생 시, 그리고 에러 이미지 지정을 하지 않았거나 잘못 지정해서 경로를 찾을 수 없는 경우, 이미지 wrap 요소 전체를 삭제 ... 더불어 이전 버전에 제공됐던 에러 이미지(error.png)는 아무리 봐도 안 예뻐서 삭제

- a 태그 스타일(.ap_parser_info a{color: #333 !important;}) (웹지기님)


ap_parser.0.2.1.zip (20170803)

- 제목 및 내용 길이를 제한할 때, 아스키 코드 등으로 되어 있는 페이지 정보를 한글 문자로 인식하도록 우회 처리

- 기본 스킨 css에서 margin과 padding 값에 !importnat 추가 (Booth님)

- 모든 id값에 라이믹스 표준 user_content_ 접두어 추가

- url 주소 부분에 링크 추가

 

ap_parser.0.2.zip (20170802)

- 제목 및 내용 길이 제한 가능 설정 추가 (팔공산님)

- 권한 문제 등으로 이미지 파싱 에러 발생시 대체 이미지 출력

 

-------------------------------

 

지난번에 잠깐 자랑했던 애드온인데 마켓에 올릴 정도는 아닌 거 같아서 그냥 자료 공유만 해봅니다.

 

ap_parser.0.1.zip

 

몇 가지 측면에서 기술적 제약이 있어요.

 

1. 글쓰기할 때 링크를 파싱해오는 게 아니라는 점

2. 그래서 본문을 로딩할 때마다 파싱도 그때 그때 매번 새로 시도한다는 점

3. 스킨 폴더 설정도 완전 야매로 해놔서 제약이 꽤 있다는 점

등등등입니다.

 

그러니까, 실사용한다면 만족스럽지 못한 부분이 있을 거예요.

그럴 땐 과감히 쓰레기통에 버려주세요.

 

그냥 XE에서도 페북처럼 링크 파싱도 가능하겠구나, 하는 정도의 애드온인 걸요.

 

. 혹시라도 스킨을 추가 제작할 생각이 있으시다면, 다음 몇 가지 점에 유의하셔야 합니다.

1) 스킨 파일을 문자열로 읽어들이는 방식이기 때문에 애드온 변수 같은 건 사용할 수 없어요ㅜ

2) 그리고 스킨 파일(index.html)에 작은 따옴표도 들어가면 안 돼요. 그러면 오류 날 거예요;;

3) 디폴트 스킨에 있는 클래스 속성 이름을 함부로 변경하는 것도 안 돼요. 그러면 스크립트 오류 뿜~ 개발시에는 요소들의 위치만 바꾼다든지, 새로운 요소를 추가하는 것 정도만 될 거예요.

... 영 마음에 안 드실 거예요. 가까운 쓰레기통을 찾아주세요ㅠㅠ

 

윤삼

profile
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
  • profile
    모바일에서 css만 손보면 될것 같으니 스킨css만 변경하면 되겠네요!
  • profile profile

    일단 디폴트 스킨에서도 손을 보긴 했어요. ^^

    http://bit.ly/2wccOaW

  • profile profile
    앗! 벌써 수정 하셨네요!
    근데 링크 중간에 xe타운 글은 이미지 썸네일이 안나오네요~
  • profile profile

    네, 이상하게도 XE 타운은 PC에선 이미지 수집이 되는데, 모바일에선 안 되더라구요. 참 이상한 사이트예요ㅋㅋ

  • profile profile
    오 그렇군요.
    다른 라이믹스로 만들어진 사이트 들도 안불러와질 가능성이 있을 것 같군요
  • profile profile
    제 사이트는 잘 불러오는 걸로 봐선 꼭 그런 것 같지만은 않아요.
    @XETOWN 대체 왜 때문입니까?
  • profile profile
    트래픽 문제로 인해 이미지 핫링크는 차단되어 있습니다.
    이미지를 따로 서버에 저장한 후 보여주는 방법으로 해보세요.
  • profile profile

    그럼 모바일에서만 긁어가지 못하게 하신 모양이군요. 모듈 만들 이유만 자꾸 늘어가네요 이잉

  • profile profile
    XETOWN 서버에 있는 이미지를 다른 사이트를 통해 다운로드할 수 없도록 차단되어 있을 뿐입니다. (모바일과는 관계가 없습니다.)
  • profile profile

    PC에선 수집이 돼요. 그럼 버그인 건가요 @v@

    0.png

  • profile profile
    브라우저 캐시 파일을 지워보세요.
  • profile profile
    헉, 그새 차단하신 겁니꽈아아 ㅡ_ㅡ;
  • profile profile
    아닙니다. 캐시로 표시되고 있을 뿐이였습니다.
    다시 해당 게시물을 보시면 캐시파일이 생성되어 이미지가 표시될 것입니다.
  • profile profile
    아, 이해됐습니다 :)
  • profile
    오~ 필요했었는데 요긴하게 쓸듯합니다.
    항상 감사합니다~
  • profile profile
    요긴하면 좋겠는데, 자신이 없어요 ㅎㅎ
  • ?
    오! 멋진 애드온입니다. Good~~
    [궁금한점]
    1.자신의 사이트에서 파싱해 오면 트래픽이 발생하겠지요?
    2.변수를 사용할 수 없다고 하니 힘들겠지만... 내용글의 길이를 지정할 수는 없는지요
  • ? profile
    1. 네, 트래픽은 당연히;;
    2. 내용글 길이는 substr 메소드로 제어할 수 있을 거 같아요. 애드온 설정에 넣어둘까요?
  • profile ?
    내용글이나 제목의 길이를 제어 할 수 있다면 무척 좋겠네요.^.^
  • ? profile
    네, 추진해보겠습니다 ^^/
  • ? profile
    업데이트해서 올렸는데 급하게 작업한 거라 오류가 있을지도 몰라요.
    (뭐 천천히 해도 늘 오류가 있지만요ㅋ)
    안 된다 싶으시면 0.1로 롤백을;;;
  • profile ?
    잘 작동합니다.^.^
    감사합니다....
  • profile

    Screenshot 2017-08-02 at 21.09.10.png

     

    전 무한 로딩이 계속되는데 ... 특별한 서버셋팅을 해줘야 하나요? gzip 옵션이라던가?

     

    https://4880.net/freeboard/176719

     

    한번 링크 봐주세용.!!

  • profile profile
    애드온 꺼놓으셨나 보네요. 나중에 다시 켜두시면 말씀해주세요~
  • profile profile

    Screenshot 2017-08-03 at 03.52.36.png

    이런 메세지가 나오네요 !!

  • profile profile
    악, 그렇게만 보면 저는 몰라요;; ap_parser.js:95 클릭하면 어느 부분이 나오나요?
  • profile profile
    애드온 켜두었습니다.
  • profile profile
    https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_html&wr_id=250122

    jquery 2.1.4 자체 내에서 버그가 있다고 하네요 !!
  • profile profile
    애드온 작동 타이밍이 참 안 맞네요;;; 오늘은 하루 종일 외부에 있어서 당장 확인은 어려울 것 같아요.

    그나저나 오류 메시지가 참 난감하다싶긴 했어요 ;)
  • ?
    감사합니다
  • profile

    234.png

    이상하게도 이미지가 안뜨네요ㅠㅠ 이미지 태그 자체가 생성되지 않았는데 어디에 문제가 있으려나요ㅠㅠ

    참, fafaz board 등 css 초기화가 설정되어 있는 게시판 스킨들에서는 마진, 패딩값이 0이 되어서 default.css에서 margin, padding에는 !important를 주셔야 정상적으로 출력이 됩니다!

  • profile

    3434.png

     

    아, 잘 뜨는건 또 잘 뜨네요ㅋㅋㅋ

  • profile profile
    이미지 수집을 못하면 그냥 텍스트만 주르륵 뜨게 되어 있어요ㅎㅎ
    그리고 에러가 나면 에러 이미지가 나오게 되구요.

    그럼 마진과 패딩은 어떤 요소에서든 쓸 때마다 임포턴트를 줘야 하나요?
  • profile profile
    대부분 css 초기화를 할 때 normalize.css(https://necolas.github.io/normalize.css/)를 사용합니다. 이 문서 참조하시면 도움이 될 것 같아요.

    파파즈 스킨의 경우
    .fafaz, .fafaz * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-size: inherit;
    -webkit-text-size-adjust: none;
    }

    이런식으로 초기화하더라구요. 폰트 사이즈는 영향은 !important를 안줘도 영향을 안받는거 같고, 마진과 패딩값만 주면 될 것 같아요.
  • profile profile
    넵, 그럼 그렇게 처리하고 0.2.1 올릴게요. ^^/
  • profile

    design.gif

    twitter_style.zip

     

     

    트위터 스타일로 스킨 만들었어요! 맘대로 쓰시면 됩니다ㅋㅋ

     

    추신: 스킨 제작하면서 알게 된 점인데 일부 레이아웃 또는 게시판 스킨 등의 css에 a태그가 영향을 받아 a 태그 색이 바뀌거나 지정되지 않을 수 있습니다. a 태그의 color 속성에도 !important를 줘야 합니다.

    Atachment
    첨부
  • profile profile
    오오 확실히 아름답네요. 감사합니다. 감동의 눈물이 흐릅니다 ㅡㅜ
    애드온에서도 스타일 리셋하고 시작해야겠어요. 이거야 원, 다들 별표 치고 시작하니 서러워서ㅋㅋㅋㅋ
  • profile profile
    스킨 너무 이쁘네요 감사합니다.
  • profile
    와 최고의 자료네요 ~
  • profile profile
    미흡한 점이 많은 자료예요 ^^;;
  • ?
    멋진자료네요. 가끔 서버 이전하고 나서 쿼리문으로 직접 변경해 주곤했는데..
  • ? profile
    설마 외부 링크도 그렇게 불러오셨던 건가요 그렇다면ㄷㄷㄷㄷ 설마 내부 링크겠죠? 설마...
  • profile
    멋지네요..적용해 보니 더 좋습니다.

    혹시 옵션으로 본문/ 댓글을 나눌수 없을까요..솔직히 분문은 괜찮은데 댓글을 하면 너무 많이 로딩될수 있어서요..^^
  • profile profile
    좋은 제안이시네요. 저녁에 집에 가면 손 좀 볼게요ㅎㅎ
  • profile profile
    ^^ 감사합니다.
  • profile

    제안 하나 드리고 싶습니다. 매번 파싱하지 않게 한번 파싱한 내용을 txt 파일로 저장해서 보여주면 어떨까요??
    다른 애드온에서도 사용하는 방식인 것 같아서요.

    https://xetown.com/rxe_file/497356

  • profile
    저희는 외부링크는 내부에서 링크가 열리지 않게 애드온을 사용해서 처리하고 있는데 이 자료를 사용하면 그것이 무력화 되는 문제점이 있습니다.

    물론 작성자가 직접 적은 링크는 애드온에서 적용이 잘 되어 외부링크는 새창을 잘 열립니다.
    이부분 해결점이 있을까요??

    제가 사용하는 애드온은 링크를 자기도메인은 지정한 방식대로 그냥두고 외부링크만 컨트롤해서 새창으로 띄우게 해 놓았습니다.
  • profile
    섬네일 이미지도 서버에 저장을 하는 방식이 필요할 수도 있겠습니다. 대규모 사이트의 경우 의도치 않게 다른 사이트에 트래픽폭탄 피해를 줄 수도 있고...
    저희처럼 타사이트에서 이미지링크를 하지 못하도록 막아놓은 곳의 문제도 해결이 될 듯 해서요.
  • profile
    .ap_parser_info a{
    color: #333 !important;
    }

    요거 하나 추가하면 좋을 듯 합니다. 링크 색상이 레이아웃이 보드에서 지정한 색으로 하니 좀 튀는거 같아서 기본색으로 하면 좋을 듯 하네요.
  • profile
    이미지를 해당문서에서만 가져오는게 아니고 같은 게시판의 다른글의 이미지에서도 가져오는 것 같습니다. 저희 사이트 내부링크인데 문서에 첨부 1개인데 22개나 가져오네요.
  • profile profile
    의견 감사합니다~

    1. 파싱정보와 이미지 파일을 서버에 저장해두는 방식은 장담하기 어렵지만;;; 언젠가 기회와 능력이 된다면 꼭 한 번 시도해보고 싶습니다. 과연 제 능력으로 감당할 수 있을지... 물론 그 전에 다른 분이 구현을 하신다면 그걸로도 좋구요.

    2. 외부링크 한정 새창 열기는 혹시 Double'U'님 애드온을 말씀하시는 건가요? https://xetown.com/rxe_point/219736 이게 맞다면 해당 기능 유지할 수 있도록 대조해보도록 할게요.

    3. a 태그 스타일 반영하도록 하겠습니다.

    4. 이미지 추출도 meta 태그의 대표 이미지 중심으로 짜보겠습니다. 과연...
  • profile profile
    2. 해당애드온에서 조금 불필요한 부분은 자신의 도메인의 링크일 경우 무조건 현재창은 필요없어서 그부분은 제거 했습니다.

    외부링크만 무조건 새창으로 되게 했습니다.
  • profile

    한가지 요청이 있습니다.
    XE와 라이믹스 동작이 다를지도 모르겠는데요. 제작자님 사이트에는 파싱중에 상단에 서버에 요청중이라는 큰 클씨와 로딩중 이미지가 나오지 않아서 좋은데요.

    저희 사이트는 이게 파싱하는 동안 떠 있어서 페이지 로딩이 지연되는 것으로 인식되서 아무것도 안하고 기다려야 하는 액션을 하게 됩니다. 파싱 중에 스크롤도 되고 자유롭게 이용이 가능한 상황 같으니 XE 코어에서 뿌려주는 이 상단 메시지를 애드온에서 가려 주면 좋을 것 같습니다.

     

    css에 .wfsr {display:none !important;}  추가해서 가려주는건 쉬운데 실제 파싱이 동작할때만 이것이 적용되도록 하는 것은 잘 모르겠네요 ㅡㅡ;

  • profile
    향후 기약없는 업데이트 이전에 혹시 가져올 섬네일 최대 갯수를 지정하는 옵션 추가 가능할까요?
    해당 문서의 것이 아닌데(추측으로는 문서읽기 화면 아래 목록을 함께 표시하는 사이트의 사례 같습니다.) 수십장을 가져오는 건 시간과 자원의 효율성에서 조금 걱정이 되서요.
  • profile profile
    둘 모두 큰 무리 없이 지원 가능할 것 같습니다.
    이따 저녁 때 한번 보도록 할게요 ^^/ 감사해용~!
  • profile

    페이스북페이지의 경우 왜 redirect 될까요...

     

    re.png

     

     

    트위터주소의 경우는 굉장히 로딩을 오래 시도 하는데 결국 이미지를 가져오지 못하는 것 같구요. 이미지 가져오기 반복횟수를 설정하게 해주시면 이부분은 문제가 해소될 것 같기는 합니다.

  • profile

    모바일에서는 이미지가 크롭되지 않아 좋은데 컴에서는 이미지가 일부만 크롭되어 어떤 이미지인지 알 수 없는 경우가 많네요.

    요건 저희 PC사이트에서 본문영역의 이미지 크기의 최대 사이즈를 지정해 놓은 것과 충돌이 나네요.

     

    .ap_parser_image_wrap img { max-width: 100%; !important;}

    이렇게 처리해 주실 수 있다면 좋겠습니다.

  • profile profile
    스타일 조정은 당연히 그렇게 변경해야죠 :)
    페북과 트위터도 한번 검토해보도록 하겠습니다!
  • profile profile

    업데이트해서 올렸어요.
    근데 페북이랑 트위터는 메타 태그 자체가 오리무중이네요.

    트위터는 그나마 og 속성이라도 제공하는데, 페북은 온통 스크립트 덩어리더라구요;;;
    나중에 좀 더 보고 얘네들은 예외 처리하든가 해야겠어요.

  • profile profile
    많은 요청에도 반영해주셔서 감사합니다. 파싱대상 페이지에 이미지가 수십개 있는 곳이 많아 부담이 컸는데 이제 완전 가볍게 사용이 가능해졌군요!
  • profile profile
    덕분에 완성도가 높아지는 걸요. 감사합니다~!
  • profile

    1111.png

    우연히 발견했는데 네이버 카페 등과 같은 일부 제한된 곳의 경우는 로딩만 계속 출력되네용. 처음에는 스킨 상의 문제인가 싶었는데 알고보니 네이버 카페만 안되는ㅋㅋㅋㅋ 자사 사이트 아니면 파싱도 못하게 하는 네이버 클라스...

  • profile profile
    이런 곳들이 한둘이 아닌 거 같아요. 그런 사이트들 모아서 죄다 예외로 만들어야 할까봐요ㅠ
  • profile profile
    파싱을 계속 시도 하나요? 일정시간 까지만 시도하게 처리하는 것도 방법일 듯 합니다.
  • profile profile
    트위터 일부 페이지에서는 그렇더라구요;;
    그래서 파싱 방법을 아예 새로운 소스로 알아보고 있어요. ^^
    뭔가 그럴 듯하긴 한데, 네이버나 다음의 블로그와 카페 등은 주소 구조가 괴랄 맞은 건지 여전히 쉽지가 않네요.
  • profile
    섬네일에도 같은 링크를 걸어주면 어떨까요??
    다른 웹진형태에 습관이 들어서 그런지 섬네일을 클릭해보게 되서요.
  • profile profile
    네, 그러는 게 좋겠네요~ 아니면 박스 전체에 링크를 걸어볼까요?
  • profile profile
    것도 나쁘지는 않습니다. 클릭의 의도는 100%에 가까운 확율로 해당소식으로 이동이니까요.
  • profile
    꼭 있었으면 하는 기능이었는데! 윤삼님의 너그러운 자료 공유 정말 감사드립니다 :)
  • profile
    운영하시는 사이트에서 확인해보니 안되던게 이제 다 되네요!
  • profile profile
    앗, 들켰다ㅋㅋㅋㅋ
    페북과 트위터는 파싱 대신 api를 활용해 그냥 임베드했는데, 페북 그룹은 액션 토큰을 발급 받지 않는 한 임베드조차 안 되네요;;;
    그리고 네이버/다음 카페/블로그도 이모저모로 알아보고 있습니다ㅎㅎ
  • profile
    굳이 에디터 자동 완성 모듈에서 URL 파싱을 할 필요도 없겠네요!
    감사합니다.

    * 파싱 정보와 이미지 파일을 서버에 따로 저장, 및 저장 정보와 링크 정보 비교로 최초 1회만 외부 링크 파싱 제한 <- 파싱 성공 여부를 판단후 정보를 기록 하면 더 좋겠습니다.

    애드온의 queries 폴더에 xml 쿼리 파일을 만든후 확인/INSERT 되지 않나요?;
    다만 정보를 담을 테이블을 어떻게 생성 하느냐가 관건이겠습니다.
    테이블만 생성하는 모듈을 간단하게 만들면 OK..!?

    능력자 윤삼님 파이팅입니다.
  • profile profile
    그게 저한텐 그렇게 간단한 게 아니라구욧!

    지난번에 웹지기님이 소개해주신 자료를 보니 이미지와 텍스트 파일을 캐시 폴더에 저장시켜서 꺼내쓰는 애드온이 있더라구요. gif 확인 애드온이었나... 이 방식을 커버해도 좋겠다 싶긴 한데요. 그래도 아직은 잘 모르겠어요ㅠ

    그나저나 혹시 에디터 자동완성 모듈에 도입할 의향 있으신 겁니까? 그렇다면 적극 지지gg할 생각입니다만ㅋㅋㅋ
  • profile profile
    없어요..의향이..ㅎ
    모듈 만들기 쉽습니다. 정말이에요.
    xe스쿨에 북마크 모듈 샘플을 보시고 하면 30분이면 되실거에요. 모듈에는 특별한 기능을 만들 필요도 없을텐데요.
    스키마 xml 파일만 생성해주면 xe 괸리자 페이지에 자동으로 "테이블 생성하기" 가 생겨요..
    나머지는 애드온에서 xml 쿼리로~^^
  • profile profile
    모듈은 거들 뿐인가요.. 고민을 좀 해봐야겠습니다ㅎㅎ
  • profile profile
    GG 합니다.
  • profile profile
    멘션 넣을 걸 그랬네요ㅋㅋㅋㅋ
  • profile

    윤삼님!

    댓글에서 사용하면 링크가 안불러와지는데 원래 그런건가요?
    링크 추출 범위를 본문+댓글로 했는데 댓글에서는 잘 안불러와 집니다.

    스케치북 스킨을 사용하고 있고, 기본 textarea 형태로 사용중입니다.

  • profile profile
    네, 그동안 댓글단에서 문제가 좀 있었습니다.
    일단 댓글단 출력이 본문과 차이가 없도록 꼼수를 부리긴 해서 제 사이트에선 잘 작동하는 걸 확인했습니다.
    (향후에 더 연구를 해보겠습니다.)

    그리고 링크 주소가 p태그 안에 문자열로 포함되어 있어야 미리보기가 출력되는 측면도 있는데, 이 부분도 좀 더 합리적인 해결책을 강구해보겠습니다.

    암튼 0.3.2로 버전업했어요!
  • profile profile
    오! 개선에 최선을 다해주셔서 감사합니다!!
  • profile
    와~ 메타태그의 이미지로 불러오니 이제 관련성이 가장 높은 이미지가 불러오는군요!
    페이스북페이지,트위터! 저희 공식 페이지도 잘 나오고 너무 좋습니다!
  • profile profile
    조금씩 낳아지기는 하는 것 같은데, 파싱을 블록하는 사이트들이 많고 api를 제공하더라도 인증 과정이 까다로운 경우들이 대다수여서 예외 처리 때문에 곤혹스러워하고 있어요.
    새삼 멀티미디어 관련 애드온 만드셨던 분들이 대단하게 느껴지고 있습니다. 그 많은 경우의 수들을 ㄷㄷㄷ
    저는 속쓰림 증상이 생겨서 당분간은 느긋하게 좀 쉬어야겠어요ㅎㅎ
  • profile
    사이트에 유튜브링크 추가되었네요. 유튜브는 페이스북처럼 embed 처리가 좋지 않을까요??
  • profile profile
    oembed인가 그 애드온과 충돌 가능성 때문에 살짝 고민 중이에요ㅎㅎ 하긴 이미 충돌하고 있을 수도...ㅋㅋㅋ
  • profile profile
    아마 개발해 주시면 oembed 애드온을 안쓸거에요. 그것도 문제가 있으니... 아마 지금 공개해주신 자료를 모두 선택할 겁니다!
  • profile profile
    음, 신중을 기해서 만들어야겠군요!
  • profile

    오... 유튜브 embed 좋습니다.
    그런데.. 저희 PC에서 .ap_parser_content { max-width: 500px; } 요것 때문에 유튜브영상이 500px 만큼 우측으로 밀려서 body를 뚫고 나가는 현상이 있습니다.

    저걸 빼면 유튜브도 화면에 맞게 들어오지만 다른 것들 전부 가로폭이 최대로 되니 유튜브만 따로 적용할 수 있으면 좋겠네요.

     

     

    또는  .ap_parser_content { margin: 10px auto !important; }  이걸 빼서 가운데 정렬을 안하면 유튜브화면은 화면 안에 꽉차게 잘 되면서 나머지 들은 좌측정렬이 되네요..  여차하면 좌측정렬로 해야 할 것 같습니다.

  • profile
    이게 요소보기로 보니까 가려놓은 이미지를 가지고 정렬을 하는데 이미지보다 훨씬 긴 동영상은 삐져 나가게 되는거네요....
  • profile profile
    음, 왜 밀릴까요;;;

    js파일 147행에서
    yt_cnt.css({'border':'none'}).fadeIn('slow');
    대신에
    yt_cnt.css({'max-width':'none', 'border':'none'}).fadeIn('slow');
    을 넣으시면 괜찮으려나요?

    근데 저는 다른 미리보기 상자들처럼 중앙정렬에 최대 500px에 맞추고 싶어서 일단은 현행대로 갈 생각이에용.
  • profile profile
    네, 맞아요. 유튜브 썸네일 이미지를 읽어들여서 가로*세로 비율을 구한 다음에 반응형으로 아이프레임의 세로 사이즈를 부과하는 방식이거든요.
    말씀대로 오류의 여지가 있으니 검토를 해봐야겠네요.
  • profile profile
    오! 화면에 꽉 차게 잘나옵니다!
  • profile profile
    위에 알려주신 코드로 바꾸니 잘됩니다!
  • profile
    업데이트 감사합니다. 이번 업데이트 영향으로 모바일에서 오른쪽이 살짝 짤리는 현상이 있네요.
  • profile
    .ap_parser_content { width: 100%; } 이부분에서 영향을 주네요.
  • profile

    그리고 유튜브 영상이  세로가 짧게 나오는 현상이 생겼습니다.

    https://pomelove.com/xe/free/366964

  • profile profile
    다른 부분과 충돌이 있는 것 같아요. 유튜브 경우엔 플로팅 비디오 애드온이랑 궁합이 안 맞는 것 같구요.
    일단은 default.css 파일을 이전 버전으로 교체하시는 게 좋을 것 같습니다.
  • profile profile
    네. 말씀하신대로 css 파일 이전버전으로 교체하고
    yt_cnt.css({'max-width':'none', 'border':'none'}).fadeIn('slow'); 이것 다시 적용해주니 정상으로 출력되네요. 감사합니다.
  • profile
    어떤 url의 문제인지는 확인하지 못했습니다. 일반 웹사이트가 아닌 페이스북이나 트위터 영향일 것 같은데요. 가로 스크롤이 생기는 현상이 있네요.
    https://pomelove.com/xe/notice/1636399
  • profile

    페이스북 게시글 링크 때문인 것으로 보입니다.

    .ap_parser_content {
    margin: 10px auto !important;
    max-width: 500px;}

    가운데 정렬을 없애거나
    max-widht:500px 이것을 없애거나 둘중 하나를 적용하면 가로 스크롤이 사라집니다.

     

    대신 다른 요소들이 정렬이 맞지 않는 상황이 벌어져서..

    max-width 를 지정하지 않으면...

    일반링크는 화면에 꽉차고 / 트위터는 가운데정렬이 되어 있구요. 이상없습니다. / 페이스북은 좌측 정렬이 되네요.

     

     

    margin: 10px auto !important;  이것을 없애면

    모두 사이즈는 정상에 모든 정렬이 좌측으로 정렬이 됩니다.

  • profile
    ap_parser { overflow: hidden; }
    추가해 주면 괜찮아 지는 듯해서 넣었습니다. 특별한 다른 부작용은 보이지 않네요.
  • profile profile
    우왓, 확인 감사합니당. 다음 버전에 overflow 적용하도록 하겠습니다~!
  • profile profile

    넣어주실때.. 지난번...
    .ap_parser_image_wrap img { max-width: 100% !important; }

     

    요거 추가 부탁드릴게요. 저희 사이트가 가로최대폭을 지정해 놓은게 있어서요...

  • profile profile
    넵, 중요체크!
  • ?

    AJAX communication error while requesting file.getFileList

    503 HTTP/2.0 503 (error)

    <html>
    <head><title>503 Service Temporarily Unavailable</title></head>
    <body bgcolor="white">
    <center><h1>503 Service Temporarily Unavailable</h1></center>
    <hr><center>nginx</center>
    </body>
    </html>

     

    이런 에러가 나긴 납니다. ^^ 아마 제 서버 문제 일지도... ^^

     

     

  • ? profile
    헐 getFileList는 너무 낯선데요ㅠㅠ
  • profile ?
    https://xetown.com/qna/431045

    관련 문구로 검색해보니 라이믹스 종특인거 같기도 하고요.....
  • ? profile
    그나저나 어째서 에러가 나신 겁니까, 궁금...
  • profile ?
    모릅니더... ^^. 글 자체가 문제인지...랜덤합니다.
  • ? profile

    애드온이 짧은 간격으로 여러 번 AJAX 요청을 한다면 서버의 동시요청수 제한에 걸릴 수도 있습니다. 한 IP에서 초당 몇 회 이상 요청하면 디도스 시도로 판단하고 503 에러를 뿌려버립니다.

  • profile ?

    그렇군요. 설치 가이드 같은 글이라 여러가지 링크가 많은 글이긴 하였습니다.

  • profile profile
    메타태그에 대표 이미지가 없으면 본문에서 이미지들을 긁어오도록 되어 있는데, 일단 그거라도 안 하게 하면 괜찮을까요?
    아니면 동일 서버에 대한 링크가 많은 글에선 어쩔 수 없는 일인가요...
  • ? profile
    아! 한번에 로드하지 말고 스크롤 내리면 로드하는 식으로 바꿔야겠어요! 그러면 좀 나을 것 같은데요.
  • profile ?
    오호...아이디어 좋으십니다....역시... 베타로라도 적용해주신다면 테스트 사이트가 되도록 하겠습니다!!
  • profile ?
    제 개인적인 느낌으로는 도움이 될것 같습니다.
  • ? profile
    이번엔 시일이 좀 걸리겠지만, 어쨌든 다음 버전에 적용하도록 하겠습니다.
  • ? profile

    이런 식이면 되겠죠? http://bit.ly/2w2aruQ

    로딩 후 스크롤을 막 내려주세요. 아니면 아주 천천히 한 줄씩 내려보세요.

  • profile ?
    좋네요. 게다가 링크를 불러오는거라는 느낌까지 줘서 더 좋습니다. 기존에 작성자가 직접 작성한 컨텐츠와 구분을 자연스럽게 하게 됩니다
  • ? profile
    넵! 그럼 오늘 오후 중으로 업데이트 버전 올려보도록 하겠습니다~
  • profile ?
    늘 감사 드립니다.
  • profile
    우왕 감사합니다.
  • profile profile
    여러모로 문제가 많은 자료여서, 또 그러리라 예상해서 포인트 마켓에 올리지 않은 것이기도 해요.
    사용해보시고 문제점 있으면 피드백 주세용~
  • profile profile
    ^^ 항상 좋은 자료 공유해주셔서 감사드립니다. 이거 적용을 했는데 전 아무 변화가 없어서 그러는데요 본문에 링크만 붙여도 카드형으로 보여주는 기능 아닌가요?
  • profile profile
    혹시 다은 애드온과 충돌가능성도 있나요?
  • profile profile

    본문 p태그 안에 http 또는 https로 시작하는 링크 형식의 문자열이 있을 때 작동합니다.

     

    <a ~~~>여기를 참조하세요</a> ----> 작동하지 않습니다.

    <a ~~~>https://www.domain.com/12345</a> ----> 작동합니다.

  • profile profile
    오 일단 그냥 링크만 붙여서 되는건 아니군요 시도해 볼게요 답변 감사합니다.^^
  • profile profile

    흑 ㅠㅠ p태그를 좀 쉽게 알려주실수 있을까요? 캐시 문제도 아닌것같고 너무 개념없이 질문드려 죄송합니다.

  • profile profile
    에디터에서 url을 그냥 타이핑해보세요. 그러면 자연히 p태그 안에 링크 문자열이 들어가게 돼 있습니다. (다만 몇몇 모바일 에디터에선 그게 안 되는 모양이더군요)
  • profile profile
    아 네 그냥 복붙도 마찬가지네요.. 소스에서보니 양쪽에 태그가 붙는군요 그럼 이문제는 아닌것 같고 저같은경우 아주 잠깐 로딩화면 뜨고 그냥 링크만 등록되고 마는군요
  • profile profile
    그건 타겟 링크에서 정보를 파싱해오지 못해서 그래요.
    서버가 파싱 블록하는 경우도 있고 해서요. 안 되는 사이트는 안 될 거예요ㅎㅎ
    (이제부터 관건은 안 되는 사이트를 어떻게든 자연스럽게 안 되게 하느냐는 것!)
  • profile profile

    ^^ 그렇다면 다행인데 계속 피드백할게요...

  • profile
    음 혹시 확장변수에 링크를 본문에 표출할수는 없는건가요? 저 같은경우 출처를 확장변수로 입력하게 운영하고 있거든요
  • profile profile
    그러려면 js 전반부를 꽤 수정해야 하는데, 스킨에 따라 출력 형태가 상이하기 때문에 결국 직접 커스터마이징을 하셔야 합니다.
  • profile profile
    ㅋ 아니에요 계속 업데이트 될텐데 만들어주신대로 써야죠 ㅎㅎ
  • profile

    멋진 자료 잘 쓰고 있습니다. ^^

     

    0.3.1 버전에서 0.3.2 버전 이상으로 업뎃을 하면 사이트 백지화 현상이 나타납니다.

    0.3.2 에 추가된 게 
    // 문서 정보 로드  이부분 같은데요. 

    제 경우와 같이 백지 현상이 나타나는게  php버전이 낮아서 나타나는 현상이 맞는지요? 

     

    현재 php : 5.3.6 입니다. xe는 1.8.42

     

    목차 애드온도 같은 현상이라서 아마도 낮은 php 버전때문에 그럴거라고 짐작하고 있습니다. ^^

    목차애드온도 0.3.2 에서 0.3.3이상 가면 백지화가 됩니다.

     

    아무튼 멋진 자료들 잘 쓰고 있습니다. 감사합니다.

  • profile profile
    // 문서 정보 로드
    if(Context::get('document_srl')) {
    $oDocument = Context::get('oDocument');
    } else {
    $oDocumentModel = getModel('document');
    $args = new stdClass();
    $args->list_count = $this->list_count;
    $args->module_srl = $this->module_srl;
    $args->page = Context::get('page');
    $output = $oDocumentModel->getDocumentList($args, true);
    $oDocument = array_values($output->data)[0];
    }
    if(!$oDocument->document_srl) return;

    이쪽이 문제라면 php 버전 문제는 아닐 것 같고, 사용하시는 게시판 환경과 충돌이 있는 모양입니다. 피한다고 피했는데ㅠㅠ
    일단 해당 부분은 문서 보기 모드에서만 애드온을 실행시키는 건데, 이전 버전에서 무리없이 작동했다면 해당 부분을 삭제하시는 것도 방법이겠습니다.

    ... 가만 보니 최근 버전에서는 아예 필요가 없을 수도 있겠네요;;;
  • profile profile

    0.3.2부터 0.3.6 버전까지 위에 알려주신대로 
    // 문서 정보 로드 부분만을 삭제 했더니 사이트 전체 백지화 현상은 없어졌어요.
    그런데 본문에 주소만 나열될 뿐 애드온이 실행되지 않습니다.ㅠ 

    그래서 다시 0.3.1 버전으로 ... ^^

     

    0.3.1 버전

    cats2.png

     

     

    =================================================

     

    0.3.6 버전 

    cat3.gif

  • profile ?
    저도 같은 증상입니다.
    XE 1.8.43, php가 5.3.3입니다.
    그리고 rhymix_version : 1.8.43, php : 5.6.7에서는 최신버전도 잘 작동하네요.
  • ? profile
    @물비늘님도 봐주세요~

    제가 관리하는 사이트는 xe 1.8.42에 php5.5로 파싱 애드온 최신 버전 잘 돌아가고 있습니다;;
    5.5와 5.3의 차이인가? 싶기도 한데 그럴 리는 없을 것 같고요ㅠ

    몇 가지 체크 부탁 드릴게요.
    - 애드온 0.3.2버전에서 (일반 링크 말고) 트위터와 페이스북은 잘 되던가요?
    - 위에서 문제가 됐던 // 문서 정보 로드 부분을 if(!Context::get('document_srl')) return; 으로 단축시켜도 안 되나요?
    - 마지막으로, 혹시 캐시파일 재생성은... 아니겠죠;;;
  • profile ?
    0.3.2버전을 ftp로 올리면 홈피뿐만아니라 관리자페이지도 백지가 됩니다.
    그러므로 트위터와 페이스북이 되는지 안되는지 알 수 없습니다.
    문서 정보 로드 부분을 수정하면 백지가 되지는 않는데 애드온이 작동을 안합니다.
    캐시파일은 당연히 재생성했지요...
  • profile
    이걸 왜 이제 알았을까요 ㅠㅠ
  • profile profile
    해보다가 안 되면 쓰레기통으로 슝~
  • profile

    .

  • profile profile
    0.3.1에서 0.3.6으로 바로 올리셨나요?
    캐시파일 재생성하고, 애드온 재설정해도 마찬가지인가요?
    ㄷㄷㄷ 저는 이제 이 애드온이 무서워요ㅠ
  • profile
    메타테그로 하는게 더 편할텐데요.
  • profile profile
    제가 가진 소스로는 실패하는 경우도 있고, 이미지 같은 건 SEO에 따라 본문을 참조해야 할 때가 있어서요.
  • profile

    애드온 최신 버전을 깔고,
    이 파일들로 교체해서 시험해주시겠어요?  ap_parser.addon.phps  |  ap_parser.phps
    여기에 올리면 확장자가 phps로 자동 전환되는데, php로 고쳐주시구요.

     

    @물비늘, @팔공산, @Chronos, @도리

  • profile ?

    올려주신 파일로 시험해 보니 작동합니다.
    - 근데 이미지 개수가 작동을 하지를 않고 1개만 출력됩니다.
    - 3.1버전에서 올라오던 이미지하고 다른 이미지가 나오고 이미지가 안 나오던 링크도 로고이미지가 나오네요.
    수고 하셨습니다^.^

     

    참고로 게시판스킨은 스케치북스킨에서는 애드온이 잘 작동합니다.

    근데 제가 예전에 만든 스킨에서는 화면이 나오지를 않고 로딩이미지만 계속 나옵니다.

    혹시 애드온이 작동하지를 않는 분은 기본스킨이나 스케치북스킨에서 테스트함 해 보세요. 

  • ? profile

    테스트 감사합니다. 덕분에 한시름 놨네요;;
    이미지는 속도도 단축시킬 겸해서 (공교롭게도 0.3.2부터) 메타 태그에서 대표이미지를 제공할 경우 그것만 긁어오고 수집을 바로 중지시키는 쪽으로 했어요.

     

    다음 버전부터는때 이번 패치랑 통합시켜서 올리겠습니다 :0

  • profile profile

    .

  • profile profile

    패치파일 덮어써도 문제라는 거죠?

    라이믹스도 최신이고, PHP7인데 왜 그럴까요ㅠ
    역시 백지화인가요? php 이슈는 다 잡았다고 생각했는데, 더 살펴봐야겠네요;;
    도움 될 만한 단서 있으면 마구마구 주세요~

  • profile profile
    전 그래도 작동이 안돼요ㅠㅠ

    제 서버문제인거 같아요
    xe 하나 더 깔아서 깨끗한 상태에서 테스트 해봐야 겠습니다.^^
  • profile profile
    ㅠㅠ 네, 테스트 해보시고 말씀해주세요~
  • profile profile

    .

  • profile profile
    휴, 다행입니다 ^^/
  • profile
    큰문제는 아니지만 구글플레이 주소의 경우 파싱이 끝나는 시간이 좀 다른 곳 보다 많이 걸리는 점이 약간 특이합니다.
    https://play.google.com/store/apps/details?id=com.pomelove.app

    그래서 이와 관련 혹시 애드온 설정에서 예외 모메인을 각자 등록할 수 있게 하면 어떻까요??
  • profile profile
    예외 도메인 설정 좋은 것 같습니다. 또 중요체크!!

    근데 구글플레이 파싱은 서버마다 다르게 응답을 주는가봐요.
    cafe24랑 닷홈 서버에서는 굉장히 빠르게 응답하는데, 스터디포어스에서는 말씀하신대로 늦게 반응하네요.
  • ?
    아참~~
    파싱되어 나오는 결과물이 기본 왼쪽 정렬이면 안될까요? 글쓰기도 기본 왼쪽 정렬이라...
    아니면 옵션 처리라도... ^^;
  • ? profile
    네, 좋습니다. 정렬 옵션을 포함시키도록 할게요~
  • ?

    우선 좋은 그리고 유용한 애드온 공유 감사드립니다.

    아... 꼭 쓰고 싶은데요. ㅠㅠ;;
    이상하게 애드온을 켜면 백지가 되어버리네요.
    ㅠㅠ;; 혹시 시간되시면 먼가 충돌하는 거 같은데 알려주시면 정말 고맙겠습니다.

    문제가 발생되는 홈피는 운영중이라 일단 전체 메뉴에 걸지는 않고요.
    애드온에서 메뉴 선택 부분에서 특정 메뉴에서만 작동하게 애드온을 설정해 두었습니다.

    역시나 홈 접속에는 문제 없으나....
    해당 메뉴 접속시 백지가 되어버리네요. ㅠㅠ;;

    사고 주소 : 해결되어 주소는 삭제했습니다.^^

  • ? profile
    안녕하세요, 윤삼입니다~
    제가 아는 수준에서 백지화 현상은 php버전과 관계가 있는 것으로 보입니다.
    혹시 5.3.x 이하 버전을 사용하시는지요.
    만약 그렇다면 아래 링크로 가셔서 패치 파일을 적용해보시면 좋겠습니다.
    https://xetown.com/index.php?mid=rxe_file&document_srl=686198&cpage=3#comment_706078
  • profile ?
    아.... 됩니다^^ 감사합니다. 윤삼님~~
  • profile
    모바일에서 이미지를 못가져오는 경우가 있는듯 한데요. 네이버 블로그의 경우 그런 것 같습니다.
    운영하시는 사이트에서는 모바일에서 봐도 네이버블로그의 이미지를 잘 가져오는 것으로 보아...

    아마도 모바일뷰를 따로 쓰지 않아 그럴 수도 있을 거라 짐작하고 있습니다.

    그래서 말인데요. 가능할지는 모르겠지만 애드온에서 파싱할때 나는 모바일이 아니다라고 선언해 줄 수 있을까요??

    XE에서는 Mobile::setMobile(false); 요걸로 가능해서 제가 실제 사용한 경우가 있습니다. 일반적인 php에서도 비슷한 방법으로 가능한 부분인지 잘 모르겠습니다.
  • profile profile
    모바일뷰 관련해서 살펴봐야 하겠네요.
    네이버든 페북이든 파싱 접근이 참 까다로워요;;

    모바일체크 함수는 아마도 xe에서 그냥 따와서 사용할 수는 있을 거 같아요.
  • profile profile

    아마 모바일로 접속하는 경우 페이지구성을 다르게 보여주는 것이 영향을 줄 수 있을 것 같아요. 접속했을때 보여주는 곳을 파싱하게 되니까요..

     

    저의 경우는 애드온을 만들었는데 댓글 작성을 애드온에게 맡기니까... 모바일에서 작동할때는 태그노출 등의 문제가 발생해서 위 댓글로 적어드린 것으로 모바일이 아닌거로 설정해 주니까 PC에서 작성한 것처럼 되더라구요. 혹시 이 문제라면 좋겠네요.

  • profile profile
    앗.. 이건 모바일과 PC의 차이가 아니네요. 저희도 모바일 크롬브라우저에서는 네이버블로그 이미지 불러오는데 저희 안드로이드앱 웹뷰에서 못불러오는 것 같습니다. 웹뷰에서 https에서는 http 이미지를 로드하지못하도록 막는거 같네요. 저희는 이미지첨부 애드온으로 외부 이미지도 모두 첨부해서 모르고 있던 사실인 듯 합니다.
  • profile profile

    점점 더 섬네일 생성 및 저장 쪽으로 방향이 잡히는군요 으흐흐흐

    어쨌든 그 직전 상황까지 반영해서 조만간 업데이트하도록 할게요! ^^

  • profile
    흠... 이건 참고 삼아 알고 계시면 될 것 같습니다.
    파싱결과를 서버에 저장하지 않는 것에서 발생하는 문제이긴 한데요.

    네이버와 같이 http를 사용하는 곳의 이미지를 불러와서 보여주다 보니 https 사이트에서는 페이지에 안전하지 않음이 뜨게 되니 이점도 참고사항으로요..

    어차피 이 경고가 뜨더라도 사용해야 할 필수 자료이기에 뭐 그렇습니다 ㅋ
  • profile profile
    네, 안 그래도 그 점은 인지하고 있었어요. 저도 여간 신경 쓰이는 게 아니더라구요. 왜 그렇게들 https로 안 하는지 원망스럽기도 하구요.
    언젠가 이미지 저장을 하긴 해야겠어요. 할 수 있을까요ㅠ
  • profile profile
    제가 추천한 애드온을 좀 파보시면 지금 능력이 충분히 되시니까요 ㅋ 제가 할 수 있는 실력이면 도와 드릴텐데 코드 중에 까만건 글자고 나머지는 여백인거로 보여서요 ㅋㅋ
  • profile profile
    연구를 해봐야죠. 무수한 삽질과 함께 끄아아아....
  • profile profile

    제 서버에서는 정상 작동하지 않는군요. 그래서 테스트를 완료하지는 못했습니다. 아마 cURL 작동 방식에 문제가 있을것으로 추정되긴 합니다.

     

    어찌 되었든 말씀하신 문제는 수집한 이미지를 서버에 저장 후 보여주기보다는 이미지를 php단에서 base64_encode를 사용해서 데이터 스트링으로 넘겨준 후 사용하는것이 더 좋을꺼 같습니다.

     

    아래처럼 수정 후 테스트한번 해 보세요.


    - ap_parser.php : 221라인
    $images[] = array("img" => $img, "width" => $width, "height" => $height, 'area' =>  ($width * $height),'offset' => $images_array[$i]['offset'], "base64" => 'data:image/'.$ext.';base64,'.base64_encode(file_get_contents($img)));

     

    * "base64" => 'data:image/'.$ext.';base64,'.base64_encode(file_get_contents($img)) 부분이 추가되었습니다.
     

     

    - ap_parser.js :  350라인

    img_src = data.images[0].base64;

     

    - ap_parser.js :  357라인

    img_src = b.base64;

     

     

    가능하시면 테스트 부탁 드립니다.

    물론 이것이 작동하더라도 완벽하지는 않습니다. 제작자님께서 더 살펴보셔야 할겁니다.

     

  • profile profile
    오오, 데이터 스트링!!!!
    진작에 이 생각을 왜 못했나 몰라요ㅠ
    prologos님, 경배합니다 ^v^/
    일단 @웹지기님 이슈가 해결될지는 모르겠습니다만(윗부분 외에 추가적으로 수정할 부분이 더 있기는 해요),
    가르쳐주신 팁으로 이미지 불펌 방지 사이트에서도 이미지를 가져오는 데 성공적입니다.
    ( http://bit.ly/2w63gRD 에서 XETown 링크 부분 참조ㅋ)

    이거 반영해서 다음 버전에 적용하도록 하겠습니다. 감사합니다!
  • profile profile
    오.. 반가운 소식입니다. 그런데 이렇게 해도 이미지를 매번 가져와서 변환해서 보여주는거죠?
  • profile profile
    네, 아무래도 그렇죠.
    쿠키로 저장해두는 방법이 있을 것 같긴 한데,
    이미지 저장 방식이랑 어떤 차이가 있을지는 아직 감조차 못 잡고 있어서 본격적으로 뜯어고쳐봐야 알 거 같아요.
  • profile profile
    저희 사이트는 위 내용 적용해 봤는데 오히려 나오던 이미지가 안나오네요. 추가로 반영해야할 부분이 더 있나요????
  • profile profile
    php에서 이미지 불러오는 부분이 서너 군데 돼서 각 부분들에 모두 적용해줘야 합니다. 시간 되는대로 해당하는 파일만 따로 묶어서 공유해보도록 할게요
  • profile profile

    현재 작업 중인 파일 두 개 압축한 건데, prologos님 팁에다, 몇몇 부분 다듬은 파일들이에요.

    (기존 것 백업해두시고) 한 번 덮어씌워 보세요.

    Atachment
    첨부
  • profile profile

    이제 이미지가 안보이네요. 어딘가 저희쪽과 문제가 있나봐요.... 혹시 두개 파일 중 하나가 예전 것은 아닌지....

    이미지만 안보이는게 아니고...  파싱 자체가 안되는 것 같군요. 그냥 글 작성할때 입력한 링크만 보이네요.

  • profile profile

    뭐가 빠진 건가...
    다시 애드온 파일 통으로 올려봅니다.

    Atachment
    첨부
  • profile profile
    뭔가 수정하신 부분이 서버에 따라 안되는거 같아요.
    그니까 embed는 다 잘되고 파싱이 안되는거 보니까 본문에 특정부분을 체크하는 부분이 저희쪽에서 안된다거나...

    혹은 어떤 다른 이유로 파싱이 예전처럼 작동하지 않고 있는 듯 합니다.
    로딩바 한번 나타났다가 그냥 링크주소만 남아버리네요.
  • profile profile
    이, 이런... 저도 테스트를 해보니 닷홈 서버에서 안 되네요;;;
    다시 롤백해야겠네요ㅠ
    상황 정리 좀 하고 다시 댓글 남기겠습니다ㅠ
  • profile profile

    cURL 작동 방식 자체를 원점에서 재검토해봐야 할 거 같네요.

    저도 해보니 (웹호스팅 기준으로)

    studyforus 서버는 정상 작동,

    닷홈 서버는 이미지 출력 실패,

    cafe24 서버도 이미지 출력 실패,

    문커뮤니티 서버는 아예 모두 출력 실패;;;

     

    일단 prologos님 팁을 적용하려면 ap_parser.php를 아래와 같이 수정해야 합니다.

    js 파일은 prologos님 팁 그대로 하면 되구요.

    그런데 수정을 해도 처음에 하셨던 것처럼 이미지가 안 나올 가능성이 높아보입니다.

    file_get_contents 함수와 관련된 문제일 거 같다는 추측만 하고 있어요;;

    http://justinnam.tistory.com/entry/PHP-filegetcontents-%ED%95%A8%EC%88%98-%EC%82%AC%EC%9A%A9%EC%9D%B4-%EC%95%88-%EB%90%A0-%EA%B2%BD%EC%9A%B0

    를 참조해보시면 좋을 거 같구요.

     

    암튼 file_get_contents함수를 사용할 수 없는 서버환경들이 더러 있어서, 겸사겸사 cURL 재검토는 필수일 거 같네요.

    이러다 정말 업데이트 중단하고 휴지통으로 갈 수도 있겠어요ㅠ

     

     

    [ap_parser.php 수정 사항]

     

    36행 대신 :

        $img = $tags['twitter:image'];
        $ext = trim(pathinfo($img, PATHINFO_EXTENSION));
        $images[] = array('img' => $img, "base64" => 'data:image/'.$ext.';base64,'.base64_encode(file_get_contents($img)));

     

    133~152행 대신 :

        // Parse Open Graph or Twittercard Images First
        $return_array['images'] = '';
        foreach($nodes as $node)
        {
            $img = trim($node['attributes']['content']);
            $ext = trim(pathinfo($img, PATHINFO_EXTENSION));
            if(strtolower($node['attributes']['property']) == 'naverblog:profile_image')
            {
                $images[] = array("img" => $img, "base64" => 'data:image/'.$ext.';base64,'.base64_encode(file_get_contents($img)));
                if(count($images)) break;
            }
            else if(strtolower($node['attributes']['property']) == 'og:image')
            {
                $images[] = array("img" => $img, "base64" => 'data:image/'.$ext.';base64,'.base64_encode(file_get_contents($img)));
                if(count($images)) break;
            }
            else if(strtolower($node['attributes']['name']) == 'twitter:image:src')
            {
                $images[] = array("img" => $img, "base64" => 'data:image/'.$ext.';base64,'.base64_encode(file_get_contents($img)));
                if(count($images)) break;
            }
        }

     

    172~186행 대신 :

            // Naver Cafe Images
            if(strpos($url, 'cafe.naver.com') !== false)
            {
                if(strpos($url, '?') === false)
                {
                    preg_match_all('/(?:(?:https?):\/\/)(.+cafe.naver.com)\/([a-z0-9]+)\/([0-9]+)/i', $url, $matches);
                    if($matches[3])
                    {
                        $img = trim($images_array[1]['attributes']['src']);
                        $ext = trim(pathinfo($img, PATHINFO_EXTENSION));
                        $images[] = array("img" => $img, "base64" => 'data:image/'.$ext.';base64,'.base64_encode(file_get_contents($img)));
                    }
                    else
                    {
                        $img = trim($images_array[0]['attributes']['src']);
                        $ext = trim(pathinfo($img, PATHINFO_EXTENSION));
                        $images[] = array("img" => $img, "base64" => 'data:image/'.$ext.';base64,'.base64_encode(file_get_contents($img)));
                    }
                }
                else
                {
                    if(strpos($url, 'articleid') !== false)
                    {
                        $img = trim($images_array[1]['attributes']['src']);
                        $ext = trim(pathinfo($img, PATHINFO_EXTENSION));
                        $images[] = array("img" => $img, "base64" => 'data:image/'.$ext.';base64,'.base64_encode(file_get_contents($img)));
                    }
                    else
                    {
                        $img = trim($images_array[0]['attributes']['src']);
                        $ext = trim(pathinfo($img, PATHINFO_EXTENSION));
                        $images[] = array("img" => $img, "base64" => 'data:image/'.$ext.';base64,'.base64_encode(file_get_contents($img)));
                    }
                }
            }

     

    221행 대신 :

    $images[] = array("img" => $img, "width" => $width, "height" => $height, 'area' =>  ($width * $height),'offset' => $images_array[$i]['offset'], "base64" => 'data:image/'.$ext.';base64,'.base64_encode(file_get_contents($img)));

  • profile profile
    php 파일만 수정하면 이전과 동일한 상태이구요. (안드로이드앱에서만 http 이미지 차단)
    js 파일을 위 팁대로 2라인 교체하면 PC와 모바일 상관없이 파싱이미지가 안보입니다 파싱 자체는 잘 됩니다.
  • profile profile
    그럼, js 파일

    350행 :
    img_src = (data.images[0].img.indexOf('http') != -1) ? data.images[0].base64 : '//'+domain+data.images[0].base64;

    357행 :
    img_src = (b.img.indexOf('http') != -1) ? b.base64 : '//'+domain+b.base64;

    은 어떤가요?

    이렇게도 안 되면 그냥 0.3.7로 롤백하셔야 할 거 같아요ㅠ
  • profile profile

    앗... 제가 php 파일을 업로드를 잘 못했던 것 같습니다. 지금 하니 잘 됩니다. 안드로이드앱에서도 이제 이미지 잘 보입니다.

    php파일과  js 파일 모두 처음 알려주신 것으로 적용해서 잘 되네요~

  • profile profile
    휴, 다행입니다.
    그나저나 범용성 생각해서라도 재검토를 하긴 해야 할 것 같아요ㅠ
  • ?
    https://x86.co.kr/imessage/1728019
    아 완벽합니다. 왼쪽 정렬!!!
  • ? profile
    제가 다 감동이네요, 이렇게 아름답다니... 으흐흐흑
  • profile
    이거 설치하고 싶어서 벼르고 있었는데
    이상하게 정상적으로 작동을 안하네요. ㅠㅠ
    php : 5.5.38

    ap_parser.0.3.4 까지는 박스랑 링크는 뜨는데 이미지는 안뜨고
    그 윗 버전들은 아무 것도 안나오네요.

    이거 정말 써보고 싶었는데 포기해야할 것 같습니다.
    내년에 웹호스팅 바꿀 때 한 번 더 시도해봐야겠어요.
  • profile profile

    0.3.4 이후 아무 것도 나오지 않는 것은 수집한 링크에서 파싱에 실패했을 경우 컨테이너 자체를 삭제하도록 했기 때문이에요.
    그러니까 lis님의 경우 php 버전과 상관 없이 애초부터 파싱 동작이 말을 듣지 않았을 가능성이 높습니다.
    저도 어떤 웹호스팅 환경에선 cURL이 깔려 있음에도 말을 안 듣기도 하더군요ㅠ

     

    아, 그리고 유튜브, 트위터, 페북, 인스타 등등은 임베드가 잘 되시나요?

  • profile profile
    안녕하세요? 윤삼님... ^^;
    유튜브 O, 트위터 O, 페북 X, 인스타 X
    위에 socialskyo님이 테스트한 아이튠즈 아래 링크도 넣어봤는데 아무 것도 안뜨네요.
    https://itunes.apple.com/kr/app/speedtest-by-ookla/id1153157709?mt=12
    웹호스팅 환경을 타는 건가요?
  • profile profile
    제가 가진 cURL 소스가 호스팅 환경을 다 커버하질 못하고 있는 거 같아요.
    저도 개발자가 아니다보니 자세한 사항은 잘 모르겠어요ㅠㅠ

    임베드가 잘 되는 건 일단은 다행이네요;;
    (페북과 인스타는 api 제공이 제한적이어서 아마 부분적으로만 임베드가 가능할 거예요)

    큰 도움을 못 드려서 죄송합니다ㅠ
  • ?
    본인 사이트를 Error 403 Access is denied 오류나면서 못 불러오는 것은 무엇일까요?

    자신의 사이트 도메인 파싱은 막혀있나요?
  • ?
    오잉.. 국가별 제한 애드온이랑 충돌이 있나보네요.
    https://xe1.xpressengine.com/index.php?mid=download&package_id=22752234

    해당 애드온을 사용하면 403 에러가 뜨네요:)

    파싱할 때, 중국이나 기타 서버를 거쳐 들어오나요..?
  • ? profile
    해당 애드온도 cURL을 쓰고 있어서 충돌이 있는 모양입니다. 어쩌면 header 부분에서 충돌이 있을 수도 있구요.
    저도 개발자가 아니어서 해결 방법은 잘 모르겠습니다. 일단은 둘 중 하나만 쓰셔야 할 듯하네요ㅠ
  • ?
    헐.. 이제 php 5.3.x 이하에서 그냥 수정없이 설치만 해도 되는 건가요?

    아무튼 너무 열심히 해 주셔서 감사드립니다. 주말에나 다시 설치해 봐야겠네요.
  • ? profile
    장담은 못하겠어요ㅎㅎ 조심조심한 마음입니다ㄷㄷㄷ
  • profile
    cURL 작동방식 개선(서버의 allow_url_fopen 설정 관계 없이 프리뷰 출력) 이게 정답인것 같습니다. 윈도우 2016 iis php 7.0.22 버전에서 제사이트 파싱이 안되는게 되네요 ( 0.4 버전 )
    대단한 애드온 입니다. 감사드립니다.
  • profile profile
    크흐흐흑;;; 드디어 되다니 감동입니다!!!
  • profile profile
    윤삼님 !! http://news.chosun.com 이것도 파싱 가능하신가요?
  • profile profile
    파서 블록이라서;;; 접근이 어렵네요ㅠ
  • profile profile
    윤삼님 최고 십니다..!! ㅎㅎ
  • ?
    미리보기 볼수있나요? 어떤건지 잘 모르겠어용 ㅠㅠㅠㅠ
  • ? profile
    http://bit.ly/2w2aruQ 여기로 가보세요~
  • profile
    우와! 미리보기 페이지 가서 봤는데 진짜 좋네요 ㅋㅋㅋㅋㅋㅋ
  • profile profile
    좋아보이는 링크들만 전시해서 그렇지, 파싱이 잘 안 되는 사이트들이 꽤 많을 거예요ㅎ
  • profile
    헉!! 네이버에서 정말 탐나던 기능인데... 구현해주시다니 넘넘 감사드립니다.
  • profile profile
    저도 그런 데서 띵 받아서 시작은 했는데, 그만한 성능은 잘 안 나오네요;;
  • profile
    오~ 작동 잘 하는데요 ^^;
    감사합니다.
    잘 사용하겠습니다~
  • profile profile
    네~ 애드온은 0.4 버전으로 안정화된 것 같네요.
    앞으로의 추가 개발은 람보님 모듈에서 있을 계획이니 예의주시합시다(?)
  • profile profile
    엇??? 모듈로도 제작되나요????
  • ?
    제 사이트는 제목은 파싱이 되는데 글 내용은 파싱이 안됩니다. 이유가 있을까요?
  • ? profile
    대상 페이지의 head에서 description을 제공하지 않는 경우 그럴 수 있습니다. 현재로선 그게 가장 가능성이 높아보입니다.
  • ?

    윤삼님!

    파싱 애드온이 작동을 안합니다...

    기존의 쓰던 사이트에서는 잘됬는데,

    새로 라이믹스를 깔아서 레이아웃을 설치해 만든 사이트는 안되네요 ㅠㅠㅠ

    https://dor1.me/xe/index.php?mid=noriter&document_srl=1886
    기존사이트입니다

    https://www.dor1.me/noriter/534
    현재 쓰는 사이트입니다
     

    유투브, 페이스북, 트위터 빼고는 작동을 안합니다...

     

    무엇이 문제일까요ㅠㅠㅠㅠ

  • ? ?
    모듈로 바꿔보세요 ㅎㅎ
  • ? profile
    혹시 서버도 옮기신 건가요?
    서버에 curl이 설치가 안 돼 있는 것 같기도 한데...
    그러나 저러나 모듈로 얼른 갈아타시는 게 좋긴 합니다ㅎㅎ
  • profile ?
    오 말씀대로 모듈로 갈아타니 잘되네요!

    속도도 더 빠르고 안정적이군요

    너무나 좋은 자료입니다, 한번 더 감사합니다!
  • ? profile
    모듈 감사는 람보님께 해주세요 ㅎㅎ
  • profile profile
    답변이 늦었습니다. 윤삼님
    ap_parser.0.4.zip (20170828)★ 버전으로 업로드했더니 에러없이 아주 잘 작동합니다.
    마찬가지로 목차애드온도 에러나던게 마지막버전 사용하니 잘 작동 하고요.
    감사합니다. ^^
  • profile
    최적화 시켜보려고 이리저리 연구하다가 여러 게시판중에 반은 람보님 모듈로, 반은 윤삼님 애드온으로 적용했습니다 ^________^ 감사합니다.
  • profile
    윤삼님 링크에서 불러오기가 실패했을 때는 미리 설정한 이미지가 뜨게..이 기능도 있었으면 좋겠습니다~ ^_____^
  • profile profile
    애드온은 이제 개발 중지했어요... 람보님 모듈로 사악~ 갈아타시길 추천해봅니다ㅎㅎ
  • profile profile
    아 ^_________^ 저는 두분꺼 다 쓰고 있어요 ㅎㅎㅎ
  • profile
    윤삼님 너무 잘쓰고 있엇는데요 1.9 업뎃하니...파싱이 안되는데 혹시 업데이트 계획 있으신지 조심스럽게 여쭤봅니다;;
  • profile profile
    애드온 업데이트 계획은 없어요ㅠ 람보님 모듈을 이용해주시면 됩니다요~
  • profile
    이거 최고네요!
  • profile
    @윤삼 님 제목을 불러오지 못하거나 없는 경우 대체 글을 주고 싶은데 어디에다 소스를 넣으면 될까요? (모듈 버전)
  • profile profile
    제목만 파싱이 안 되나요? 제목이 안 되는 거면 보통 링크 자체가 블록상태일 것 같은데요. 자세한 소스 확인은 밤 늦게나 귀가해서 가능할 것 같습니다
  • profile profile

    소수의 링크의 게시글(?)만 안되는 것 같아요.

    (아, 참고로 지금까지 이미지나 내용물은 잘 불러와집니다, 즉 제목만)
    원리는 잘 모르지만 메타태그 내용을 불러와서 출력하는 거 같은데, 메타태그에 제목이 입력 안되어 있다면 불러와지지 않겠죠. (또는 다른 경우일수도..) // 해서, 특정 부분을 불러올 수 없거나 제목, 내용, 이미지 자체가 없는 경우에 조건문을 줘서 기본 텍스트나 이미지로 대체되면 좋을 것 같아요 ㅎㅎ. 감사합니다.

  • profile profile

    이렇게 해보면 어떨까 싶은데요.
    람보님 '모듈'에서 tpl/js 폴더의 ap_parser.js을 열면

    if (data == null || data.title == null || data.title == '' || data.tobool == false)
    {
        $('#' + prefix + cnt + i).parent('.' + container).remove();
    }
    else
    {
        // Hide .wsfr and Show Loading Image
        $('.wfsr').hide();

    위와 같은 부분이 나오는데요.

    이걸 다음과 같이 바꾸면 어떨까요?

    if (data == null || data.tobool == false)
    {
        $('#' + prefix + cnt + i).parent('.' + container).remove();
    }
    else
    {
        if (data.title == null || data.title == '') data.title = '블라블라';
        // Hide .wsfr and Show Loading Image
        $('.wfsr').hide();

     

    하도 오랜만에 코드를 봐서 자신이 없어요. 이걸 다시 구동을 할 엄두도 안 나구요;;;

    다만 이런 식이면 되지 않을까 하는 생각도 듭니다.

    만약 저렇게 해서 안 된다면 ... 문제가 되는 파싱 대상 링크를 보내주세요. 더 연구를 해봐야죠ㅜ

  • ?
    감사해영!
  • ?
    이렇게 좋은 애드온 이 있었군요. 제작자님 감사합니다.
  • ? profile
    모듈로 만들어진 게 있으니 그게 더 강력할 겁니다.
    https://xetown.com/point_contents/729179
  • profile profile
    윤삼님 이 애드온으로 하면 파싱된 주소의 이미지를 서버에 저장해서 썸네일로 불러오나요??
  • profile profile
    아니오.
  • profile profile
    웹지기님 회신 감사합니다^^;

    도움을 많이주시네요