사용자:Bluehill/도구/중복된 인수 찾기
이 도구는 뭔가요?[편집]
중복된 인수를 호출한 틀을 끼워넣는 문서는 분류:중복된 인수를 사용한 틀의 호출을 포함한 문서에 나열됩니다. 예를 들어 {{인용|저자=민준|날짜=2024-05-14|저자=윤아}}
또는 {{틀|가|나|1=다}}
등이 있습니다. 이 스크립트는 편집자가 특정 문서에서 중복된 인수를 찾는 데 도움이 됩니다.
이 스크립트는 영어 위키백과의 Frietjes님이 처음으로 만들었으며 한국어 위키백과의 Namoroka님이 처음으로 번역 했습니다.
설치법[편집]
- 편집 모드에서 당신의 common.js 스크립트 문서를 여세요.
- 다음 줄을 붙여넣으세요:
importScript('사용자:Bluehill/findargdups.js'); // [[사용자:Bluehill/도구/중복된 인수 찾기]]
- 스크립트 문서를 새로 고치세요 (
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" 위치에 있는 문구가 틀에 대한 링크인 경우 문제는 해당 틀에 있는 것입니다. 틀을 편집 모드에서 열고 다음 단계를 계속합니다.
- 위의 경고에서 "$1" 위치에 있는 문구가 자체 링크인 경우 (즉, 굵은 글씨로 표시된 문서 이름) 다음 단계를 계속합니다.
- 문서 왼쪽편의
도구
부분에서중복된 인수 찾기
링크를 선택합니다. - 스크립트에서 중복된 틀 인수를 찾은 경우 어디를 봐야 하는지 알려주는 경고 팝업이 표시됩니다.
- 문제를 해결하고 문서를 저장합니다. 스크립트가 편집 요약을 생성합니다.
주의사항[편집]
현재 편집 중인 문서에 경고 메시지가 표시되지만 스크립트가 팝업을 표시하지 않는 경우 스크립트의 작성자가 고려하지 않은 사례 또는 버그가 발생한 것입니다. 이 문제를 원작자의 토론 문서에 보고하여 수정할 수 있도록 해야 합니다 (또는 고칠 수 없는 이유가 주어질 수 있습니다).
기술적 세부 사항[편집]
스크립트의 작동 방식을 더 잘 이해하고자 하는 편집자를 위해 다음은 스크립트의 작동 방식에 대한 일반적인 개요입니다. 이 스크립트는 다음을 수행합니다:
- 편집 창의 내용을 로컬 문자열 (
mytxt
)에 복사합니다. {{{foo|}}}
와 같이 3중 중괄호로 묶인 틀 변수를 제거합니다.- 중괄호 앞이나 뒤에 있지 않은 중괄호를 해당하는 HTML로 바꿉니다.
- 모든 캐리지 리턴, 줄 바꿈 및 탭을 공백으로 바꾸고 다중 공백을 단일 공백으로 바꿉니다.
mytxt
를 분할하여 분할점이 이중 중괄호인 문자열 배열로 나눕니다.- 문자열 배열을 순환하여 중첩되지 않은 틀을 꺼내
tlist
라는 문자열 배열로 밀어 넣습니다. 이 단계는 문서의 모든 틀을 중첩 해제하기 위해 반복적으로 (최대 10회) 수행됩니다. - 중첩되지 않은 틀 목록 (
tlist
)에서 다음을 반복합니다.tlist
의 각 틀에 대해 명명되지 않은 인수에 해당하는 숫자 인수를 삽입.- 틀 인수 정렬
- 중복된 인수에 대한 경고 팝업 띄우기
- 중복된 인수가 발견되면 편집 요약을 유용한 기본값으로 변경합니다.
기본 편집 요약 바꾸기[편집]
기본 편집 요약을 바꾸려면 스크립트를 임포트하기 전에 common.js 스크립트 문서에서 findargdupseditsummary
를 정의하세요. 예를 들어,
findargdupseditsummary = '[[:분류:중복된 인수를 사용한 틀의 호출을 포함한 문서]]를 제거';
importScript('사용자:Bluehill/findargdups.js'); // [[사용자:Bluehill/도구/중복된 인수 찾기]]
이 기능을 끄려면, 빈 문자열을 사용합니다 (findargdupseditsummary = '';
).
추가 결과 상자 추가[편집]
구글 크롬과 같은 일부 브라우저에서는 경고 상자의 텍스트를 복사/선택하여 검색할 수 없습니다. 선택 가능한 텍스트가 포함된 결과 상자를 추가하려면 스크립트를 임포트하기 전에 common.js 스크립트 문서에서 findargdupsresultsbox
를 정의하십시오. 예를 들어,
findargdupsresultsbox = 'yes';
importScript('사용자:Bluehill/findargdups.js'); // [[사용자:Bluehill/도구/중복된 인수 찾기]]