뉴스 사이트 기사 페이지에 접속하면 뉴스 본문외의 정보를 전부 제거한 뒤 페이지를 재구성하는 스크립트입니다.
프로젝트를 만든 사람이 구글 크롬 브라우저를 사용하기 때문에 크롬을 최우선으로 지원합니다.
릴리즈 기준은 크롬 브라우저에서 전부 잘 동작하는가이므로 업데이트가 있을 경우 크롬 외 브라우저에서는 잘 동작하지 않을 수 있습니다.
jews는 뉴스 기사 페이지에서 작동되는 스크립트이며, 자동으로 실행되기 위해서는 UserScript 플러그인의 도움이 필요합니다.
필요한 UserScript 플러그인은 사용중인 브라우저마다 다르며, 각각의 플러그인은 다음의 링크로 들어가 설치하실 수 있습니다:
UserScript 플러그인이 설치됐다면 위 링크를 클릭하여 스크립트 설치 다이얼로그를 띄웁니다.
배포전용 파일은 dist/jews.user.js
로 대체되었지만,
유저스크립트 플러그인의 스크립트 자동 업데이트 등을 위해
당분간 저장소 최상위 경로에 jews.user.js
파일은 남겨놓도록 하겠습니다.
한 번 업데이트 되고나면 그 이후로는 dist/jews.user.js
로 업데이트될 것입니다.
jews는 github issue tracker를 사용합니다. 이슈는 https://github.com/disjukr/jews/issues 로 제보해주시기 바랍니다.
- 구현하고 싶은 뉴스 사이트를 정합니다.
- 뉴스 사이트가 하단의 지원 사이트 목록에 체크되어있지 않은지 확인합니다.
- 목록에 사이트가 없으면 추가합니다.
- 구현합니다.
src/sites.js
에 뉴스사 이름을 키로 갖는, 주소 패턴 목록을 추가합니다.src/impl
경로에jews
객체를 반환하는 모듈을 작성합니다.- 모듈 이름은 뉴스사 이름으로 합니다.
- 비동기로 작동해야할 경우
Promise
객체를 반환하면 됩니다.
- 지원 사이트 목록에 구현한 항목을 체크하고 Pull Request를 보냅니다.
이 프로젝트는 webpack을 사용하여 jews.user.js
파일을 빌드합니다.
웹팩을 사용해서 빌드를 하기 위해 다음의 절차를 따라야 합니다:
- nodejs를 설치합니다.
- jews가 사용하는 라이브러리들을 설치합니다.
- jews 저장소 폴더에서 다음의 명령을 실행합니다:
npm install
- jews 저장소 폴더에서 다음의 명령을 실행합니다:
- 다음 중 하나의 명령을 사용해서 빌드를 수행합니다:
- 테스트용 빌드:
npm run build
- 지속적인 테스트용 빌드:
npm run watch
- 릴리즈용 빌드:
npm run production
- 테스트용 빌드:
- 저장소의
dist
폴더로 가면 빌드된jews.user.js
파일을 확인할 수 있습니다.
- 특정 환경에서만 발생하는 버그는 제보시에 특정 환경(브라우저/OS 등)을 명시해주세요.
- 특정 뉴스사이트나 기사 페이지에서만 발생하는 버그 역시 제보시에 링크를 명시해주세요.
jews
객체 반환 시에 아래에 정의된 타입을 따르도록 합니다.- 뉴스 페이지에서 해당하는 정보가 없을 경우
undefined
값을 채워 넣습니다. - 릴리즈는 사람이 직접 할 필요가 없습니다. travis ci를 통해 jews-bot 계정이 자동으로 처리합니다.
아래 타입 정의 스키마는 makise의 문법을 따릅니다.
this is jews
jews is {
title: string,
subtitle: string,
content: html_fragment,
timestamp: {
created: Date,
lastModified: Date
},
reporters: [reporter, ...],
cleanup: Function
}
reporter is {
name: string,
mail: mail_address
}
html_fragment is string
mail_address is string
몇몇 뉴스 사이트들은 사이트 재구성 뒤에도 광고가 남아있을 수 있습니다.
재구성을 했는데도 남는 광고들은 jews.cleanup
를 사용하여 털어내도록 합시다.
jews.cleanup
함수는 사이트 재구성이 일어난 뒤, 1초 주기로 매 번 호출됩니다.
- ITWORLD
- JTBC
- KBS
- KBS World
- MBC
- MBN
- OSEN
- SBS
- YTN
- 경향비즈
- 경향신문
- 국민일보
- 나우뉴스
- 네이버뉴스
- 네이트뉴스
- 노컷뉴스
- 뉴데일리
- 뉴데일리경제
- 뉴스1
- 뉴시스
- 다음뉴스
- 데일리시큐
- 데일리안
- 데일리한국
- 동아일보
- 디스패치
- 디지털타임스
- 로이터
- 마이데일리
- 매일경제
- 머니투데이
- 문화일보
- 미디어스
- 미디어오늘
- 민중의소리
- 뷰스앤뉴스
- 블로터닷넷
- 서울경제
- 서울신문
- 세계일보
- 스포츠경향
- 스포츠동아
- 스포츠서울
- 스포츠조선
- 스포탈코리아
- 시사IN Live
- 아시아경제
- 아시아투데이
- 아이뉴스24
- 여성뉴스
- 연합뉴스
- 오마이뉴스
- 월스트리트저널
- 이데일리
- 일간스포츠
- 전자신문
- 조선비즈
- 조선일보
- 중앙데일리
- 중앙일보
- 지디넷코리아
- 지지통신
- 코리아타임스
- 코리아헤럴드
- 파이낸셜뉴스
- 프레시안
- 한겨레
- 한국경제
- 한국경제TV
- 한국일보
- 허핑턴포스트
- 헤럴드경제