사용자:Bluehill/도구/중복된 인수 찾기

이 도구는 뭔가요?

편집

중복된 인수를 호출한 틀을 끼워넣는 문서는 분류:중복된 인수를 사용한 틀의 호출을 포함한 문서에 나열됩니다. 예를 들어 {{인용|저자=민준|날짜=2024-06-15|저자=윤아}} 또는 {{틀|가|나|1=다}} 등이 있습니다. 이 스크립트는 편집자가 특정 문서에서 중복된 인수를 찾는 데 도움이 됩니다.

이 스크립트는 영어 위키백과의 Frietjes님이 처음으로 만들었으며 한국어 위키백과의 Namoroka님이 처음으로 번역 했습니다.

설치법

편집
  1. 편집 모드에서 당신의 common.js 스크립트 문서를 여세요.
  2. 다음 줄을 붙여넣으세요:
    importScript('사용자:Bluehill/findargdups.js'); // [[사용자:Bluehill/도구/중복된 인수 찾기]]
    
  3. 스크립트 문서를 새로 고치세요 (ctrl+R 또는 당신의 브라우저에 해당하는 ).

다른 위키백과에서 사용하려면 다음을 사용하세요.

mw.loader.load('//ko.wikipedia.org/w/index.php?title=User:Bluehill/findargdups.js&action=raw&ctype=text/javascript');

사용법

편집
  1. 분류:중복된 인수를 사용한 틀의 호출을 포함한 문서에서 중복된 인수가 있는 문서를 찾으세요.
  2. 편집 모드를 열고 아무런 변경을 하지 말고 "미리 보기" 버튼을 누르세요.
  3. 문서 상단에서 다음 메시지를 찾으세요: 경고: $1 문서는 $2에 "$3" 변수를 하나보다 더 많이 입력했습니다. 마지막으로 주어진 값만이 유효합니다.
    • 위의 경고가 아예 나타나지 않으면 문제가 이미 해결된 것입니다. 서버가 문서를 다시 처리하여 분류에서 제거하도록 하려면 편집하지 않고 문서를 저장합니다.
    • 위의 경고에서 "$1" 위치에 있는 문구가 틀에 대한 링크인 경우 문제는 해당 틀에 있는 것입니다. 틀을 편집 모드에서 열고 다음 단계를 계속합니다.
    • 위의 경고에서 "$1" 위치에 있는 문구가 자체 링크인 경우 (즉, 굵은 글씨로 표시된 문서 이름) 다음 단계를 계속합니다.
  4. 문서 왼쪽편의 도구 부분에서 중복된 인수 찾기 링크를 선택합니다.
  5. 스크립트에서 중복된 틀 인수를 찾은 경우 어디를 봐야 하는지 알려주는 경고 팝업이 표시됩니다.
  6. 문제를 해결하고 문서를 저장합니다. 스크립트가 편집 요약을 생성합니다.

주의사항

편집

현재 편집 중인 문서에 경고 메시지가 표시되지만 스크립트가 팝업을 표시하지 않는 경우 스크립트의 작성자가 고려하지 않은 사례 또는 버그가 발생한 것입니다. 이 문제를 원작자의 토론 문서에 보고하여 수정할 수 있도록 해야 합니다 (또는 고칠 수 없는 이유가 주어질 수 있습니다).

기술적 세부 사항

편집

스크립트의 작동 방식을 더 잘 이해하고자 하는 편집자를 위해 다음은 스크립트의 작동 방식에 대한 일반적인 개요입니다. 이 스크립트는 다음을 수행합니다:

  1. 편집 창의 내용을 로컬 문자열 (mytxt)에 복사합니다.
  2. {{{foo|}}}와 같이 3중 중괄호로 묶인 틀 변수를 제거합니다.
  3. 중괄호 앞이나 뒤에 있지 않은 중괄호를 해당하는 HTML로 바꿉니다.
  4. 모든 캐리지 리턴, 줄 바꿈 및 탭을 공백으로 바꾸고 다중 공백을 단일 공백으로 바꿉니다.
  5. mytxt를 분할하여 분할점이 이중 중괄호인 문자열 배열로 나눕니다.
  6. 문자열 배열을 순환하여 중첩되지 않은 틀을 꺼내 tlist라는 문자열 배열로 밀어 넣습니다. 이 단계는 문서의 모든 틀을 중첩 해제하기 위해 반복적으로 (최대 10회) 수행됩니다.
  7. 중첩되지 않은 틀 목록 (tlist)에서 다음을 반복합니다.
    1. tlist의 각 틀에 대해 명명되지 않은 인수에 해당하는 숫자 인수를 삽입.
    2. 틀 인수 정렬
    3. 중복된 인수에 대한 경고 팝업 띄우기
  8. 중복된 인수가 발견되면 편집 요약을 유용한 기본값으로 변경합니다.

기본 편집 요약 바꾸기

편집

기본 편집 요약을 바꾸려면 스크립트를 임포트하기 전에 common.js 스크립트 문서에서 findargdupseditsummary를 정의하세요. 예를 들어,

findargdupseditsummary = '[[:분류:중복된 인수를 사용한 틀의 호출을 포함한 문서]]를 제거';
importScript('사용자:Bluehill/findargdups.js'); // [[사용자:Bluehill/도구/중복된 인수 찾기]]

이 기능을 끄려면, 빈 문자열을 사용합니다 (findargdupseditsummary = '';).

추가 결과 상자 추가

편집

구글 크롬과 같은 일부 브라우저에서는 경고 상자의 텍스트를 복사/선택하여 검색할 수 없습니다. 선택 가능한 텍스트가 포함된 결과 상자를 추가하려면 스크립트를 임포트하기 전에 common.js 스크립트 문서에서 findargdupsresultsbox를 정의하십시오. 예를 들어,

findargdupsresultsbox = 'yes';
importScript('사용자:Bluehill/findargdups.js'); // [[사용자:Bluehill/도구/중복된 인수 찾기]]