사용자:Hsl0/스크립트 가이드라인

리버티게임, 모두가 만들어가는 자유로운 게임
Ideology Icon.png이 문서는 리버티게임의 정책이나 지침 등으로 제안된 상태입니다.
제안 내용은 더욱 추가·보충·수정될 수 있으며, 제안된 내용은 토론란에서 공식적인 채택을 위한 총의를 모으는 과정 중에 있습니다. 이 문서를 참조하거나 링크할 때에는 정책이나 지침이라고 기술하지 않아야 합니다.


  1. '스크립트'는 사용자의 브라우저에서 작동하는 자바스크립트 프로그램을 말하며, 플러그인, 소도구, '미디어위키:' 이름공간에 저장되어 '.js' 확장자를 가지는 시스템 인터페이스, '사용자:' 이름공간에 저장되어 '.js' 확장자를 가지는 사용자 스크립트 등을 일컫는다.
  2. 사용자가 스스로 작성하여 직접 실행하는 사용자 스크립트에는 제한을 두지 않는다.
    1. 단, 문서 훼손 목적의 대량 편집, 시스템 취약점 악용 등 악의적인 목적으로 사용할 경우에는 관리자가 삭제할 수 있다.
  3. 관리자의 승인을 받지 않거나, 스크립트를 실행하는 사용자의 동의를 받지 않은 스크립트가 실행되어서는 안 된다.
    1. 동일한 코드의 스크립트는 한번 동의를 받으면 그 이후 동의 없이 실행할 수 있다. 단, 동의는 철회할 수 있어야 하며, 다음번에는 묻지 않는다는 점을 명시해야 한다.
    2. 문서 편집, 요소 수정, 설정 변경, 외부 링크로 리다이렉트, 기타 다른 스크립트에 영향을 주는 기능이 포함된 스크립트는 해당 기능에 대한 개별적인 동의도 필요하다.
    3. 2항의 기능이 사용될 우려가 없는 샌드박스 환경에서 작동되지 않는 한 사용자가 스크립트를 동의할 때 코드의 의미를 알 수 있어야 하고 난독화되어서는 안된다.
  4. 스크립트를 실행하는 사용자의 동의를 받지 않고 자동으로 문서를 편집할 수 없다.
    1. 고정된 템플릿을 이용하여 동일한 문서를 편집하는 경우 한번 동의를 받으면 그 이후 동의 없이 자동으로 문서를 편집할 수 있다. 단, 동의는 철회할 수 있어야 하며, 다음번에는 묻지 않는다는 점을 명시해야 한다.
      1. 편집할 가능성이 있는 문서 목록이나 문서 제목의 패턴을 제시하여 일괄적으로 동의를 받을 수 있다. 단, 지금 저장하는 문서와 관련없는 문서 목록이나 패턴을 함께 동의받을 수 없다.
  5. 다른 스크립트에서 사용하는 함수나 이벤트, 설정은 가급적 변경하지 않는다.
  6. 다른 스크립트와 충돌하는 HTML ID/클래스, 로컬 저장소, 미디어위키 사용자 옵션 키를 사용하지 않는다.
  7. 가급적 사이트 외부와 데이터를 주고받지 않는다.
  8. 주요 브라우저(크롬, 파이어폭스, 사파리)의 정식 출시된 최신버전에서 정상적으로 작동되어야 한다.
  9. 스크립트가 사이트의 성능을 현저하게 저하시키거나, 저하시킬 우려가 있는 방식으로 구현되면 안된다.
  10. 취약점이 있거나 악용의 우려가 있는 스크립트는 관리자가 재량껏 등록 거부하거나 (소도구, 시스템 인터페이스) 실행되지 못하게 조치할 수 있다. 단, 이유는 명시해야 한다.