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

위키백과, 우리 모두의 백과사전.

이 도구는 뭔가요?[편집]

중복된 인수를 호출한 틀을 끼워넣는 문서는 분류:중복된 인수를 사용한 틀의 호출을 포함한 문서에 나열됩니다. 예를 들어 {{인용|저자=민준|날짜=2024-05-14|저자=윤아}} 또는 {{틀|가|나|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/도구/중복된 인수 찾기]]