모듈 토크:트랜스루더
Module talk| 모듈:트랜스클러더는 많이 사용되거나 잘 보이는 모듈이기 때문에 편집으로부터 영구적으로 보호됩니다.여기서 먼저 실질적인 변화를 제안해야 합니다.제안이 논란의 여지가 없거나 논의되어 합의에 의해 지지를 받는 경우 편집자는 {{edit template-protected}}을(를) 사용하여 관리자 또는 템플릿 편집자에게 요청된 편집을 통지할 수 있습니다. |
재추적 요청 편집
이 편집 요청에 응답했습니다.설정 answered=또는 ans=요청을 다시 활성화하려면 매개 변수를 no로 지정합니다. |
추가했습니다. nofollow=를 디세블로 합니다.'모듈'트랜스루더/샌드박스여기에는 주로 다음 두 가지 용도가 있습니다.
- 리다이렉트 페이지에는 흥미로운 정보가 포함되어 있어 변경될 때마다 복사하는 것이 귀찮을 수 있습니다.예: 사용자:Psihedelisto.
- 같은 페이지로 리다이렉트 할 때, 모든 Wikitext가 완전히 같기 때문에, 다음과 같이 할 수 있을 때 {{R shell}}을(를) 계속 입력해야 하는 것은 귀찮습니다.
{{subst:#invoke:Transcluder main User:Psihedelisto nofollow=y}}.
소피보러스에게 ping을 보냅니다. 이것은 그들의 모듈입니다.
Psiededelisto (토크 • 기고) 2020년 7월 19일 02:01 (UTC)
- @Psiededelisto:수고하셨습니다!몇 가지 수정을 해서 살아났어요이 옵션은 다른 옵션과의 일관성을 위해 "no follow"가 아니라 "no follow"로 불립니다.문제나 추가 요청이 있으면 연락주세요. 건배!Sophivorus (대화) 2020년 7월 19일 13:46 (UTC)
only1개 이상의 요소에서 작동하지 않았습니다.
여기, 저기라고 불려요.: (대화)22:11, 2021년 5월 24일 (UTC)
- @Guarapianga Hi Yeah, 실은 얼마 전에 그 기능을 삭제했는데 문서에서 삭제하는 것을 잊었습니다.그냥 했어요, 고마워요.덧붙여서 모듈을 여러 번 호출하면 기능을 시뮬레이트할 수 있습니다. 건배!Sophivorus (대화) 00:58, 2021년 5월 25일 (UTC)
이 모듈은 mw.ustring 대신 mw.string으로 더 가볍고 빠르게 할 수 있을까요?
샌드박스에서 시도해보긴 했지만 그래도 디버깅은 해야 해: (대화) 2021년 5월 30일 21:16 (UTC)
- @Guarapianga 솔직히 mw.ustring과의 차이를 제대로 이해하지 못한 채 mw.ustring만 더 안전하다고 생각했기 때문에 사용했습니다.그 차이를 이해하고 상관없다고 생각하고, 모든 테스트 케이스가 좋아 보인다면, 기꺼이 당신의 변화를 반영하겠습니다.소피보러스(대화) 2021년 5월 31일 00:45 UTC)응답[
- 내 샌드박스는 아직 준비가 안 됐어. 좀 더 경험이 많은 사람이 뛰어들어 내 실수를 찾아주길 바랐어.Johnuniq가 보낸 편지인데
urstring은 훨씬
[1]느리다.그 이유는Scribunto가 Lua를 사용
하여 regex라이브러리를 대체함
으로써 mw.ustring을구현
하고 있기 때문입니다.이는 놀라운 성과이지만 일반 [2]문자열을 사용하는 것보다 속도
가 느려집니다.Mr._Stradivarius는 또한mw.ustring을 사용하면 항상 Lua와 PHP를 왔다 갔다 해야 하는 단점
이 있기때문에 성능이 [3]상당히 저하된다고 말합니다
.: (대화) 2021년 5월 31일 02:21 (UTC)- MediaWiki의 복잡한 PHP에 Wikitext 파싱 레이어를 추가하려는 모듈에는 관심이 없습니다.특수 게시판에 이런 모듈이 필요한 이유는 알 수 있지만, 기사에서 사용하는 것은 정기적으로 고장이 나기 때문에 유지보수의 문제가 됩니다.Johnuniq (대화) 2:52, 2021년 5월 31일 (UTC)
- 이 모듈은 다음 모듈에서 사용됩니다.발췌문은 토픽 포털을 만들기 위해 작성되었으며 WP에서 사용하고 있습니다.사용자 스크립트/목록/샌드박스, Johnuniq.기사에는 없는 것 같아요.: (대화)3:50, 2021년 5월 31일 (UTC)
- 문서 네임스페이스에서 "여기에 있는 링크"를 사용해 보십시오.Johnuniq (대화) 2021년 5월 31일 04:06 (UTC)
- @Guarapianga @Johnuniq 이 모듈은 주로 모듈에서 사용하도록 설계되었습니다.템플릿 구현 발췌:발췌는 영어 위키피디아에서 2000개 이상의 기사(COVID-19 대유행 및 기타 유명 기사 포함)와 스페인어 위키피디아에서 1500개 이상의 기사(과학, 철학, 국가 기사 등 유명 기사 사용 포함)에 사용된 템플릿이다.건배!Sophivorus (대화) 2021년 5월 31일 13:05 (UTC)
- 문서 네임스페이스에서 "여기에 있는 링크"를 사용해 보십시오.Johnuniq (대화) 2021년 5월 31일 04:06 (UTC)
- 이 모듈은 다음 모듈에서 사용됩니다.발췌문은 토픽 포털을 만들기 위해 작성되었으며 WP에서 사용하고 있습니다.사용자 스크립트/목록/샌드박스, Johnuniq.기사에는 없는 것 같아요.: (대화)3:50, 2021년 5월 31일 (UTC)
- MediaWiki의 복잡한 PHP에 Wikitext 파싱 레이어를 추가하려는 모듈에는 관심이 없습니다.특수 게시판에 이런 모듈이 필요한 이유는 알 수 있지만, 기사에서 사용하는 것은 정기적으로 고장이 나기 때문에 유지보수의 문제가 됩니다.Johnuniq (대화) 2:52, 2021년 5월 31일 (UTC)
- 내 샌드박스는 아직 준비가 안 됐어. 좀 더 경험이 많은 사람이 뛰어들어 내 실수를 찾아주길 바랐어.Johnuniq가 보낸 편지인데
문제의 예에 대해서는 Parramatta 선거구의 선거 결과(현재 "스크립트 실행에 할당된 시간이 만료되었습니다" 오류가 백만 개 표시됨)를 참조하십시오.이 문제는 모든 mw.ustring을 제거함으로써 해결되지만, 더 큰 문제는 왜 기사가 기사 패딩의 보증 방법을 사용하는가 하는 것입니다.Johnuniq (대화) 2021년 7월 18일 05:26 (UTC)
- @Johnuniq 안녕!정보 감사합니다.mw.string으로의 전환이 우선순위를 대폭 높였습니다.빠른 시일 내에 실장하도록 하겠습니다.당신의 더 큰 질문에 대해서는 이해가 안 가거나 왜 "실패 보장"이라고 말하는지 잘 모르겠습니다.왜 이 문제는 1개 또는 많아야 몇 개의 기사에만 영향을 미치고 해결 가능한 것 같기 때문입니다.건배!Sophivorus (대화) 2021년 7월 18일 12:32 (UTC)
- 많은 mw.ustring을 일반 문자열로 대체하기 위해 대대적인 편집을 했습니다.불행히도, 모듈은 너무 많은 일을 하려고 하고 있고, 파라마타 선거구의 선거 결과는 여전히 깨져 있다.30 MW.Ustring을 남겼는데 교체하면 그 기사가 고쳐질 거예요.mw.ustring이 필요한 함수도 있고(함수 호출 방법에 따라 다름), 이미 많은 변경을 했기 때문에 흥미를 잃은 함수도 있습니다.나중에 "실패 보증"에 대해 설명하겠습니다.왜냐하면 이 모듈을 더 편집할 수 있는지, 또는 오류가 발생한 문서를 대폭 편집해야 하는지 등을 확인하고 싶지 않기 때문입니다(예, 많은 정보를 반복하는 것은 어리석은 일이기 때문에 대폭적인 편집이 필요하지만, 여기서 설명하는 것은 문제가 되지 않습니다).Johnuniq (대화) 3:57, 2021년 7월 19일 (UTC)
- 현재 카테고리에는 25개의 기사가 있습니다.이 모듈을 편집하면 일부 페이지가 삭제되었기 때문에 스크립트 오류가 있는 페이지입니다.Johnuniq (대화) 5:03, 2021년 7월 19일 (UTC)
- @Johnuniq 안녕 그동안 수고했어!중앙 샌드박스에 변경 내용을 복사했는데, 현재 일부 테스트 케이스가 실패한 것 같습니다.이것은 영어 위키피디아에서 발췌한 부분이 고장나거나 엉성하다는 것을 의미할 수 있다.원인이 뭔지 아세요?그렇지 않으면 이번 주에 수정해 보겠습니다만, 수정이 될 때까지 이전의 안정된 버전으로 되돌아가야 할 수도 있습니다.다시 한 번 감사드립니다!!Sophivorus (대화) 2021년 7월 19일 (UTC)
- 현재 카테고리에는 25개의 기사가 있습니다.이 모듈을 편집하면 일부 페이지가 삭제되었기 때문에 스크립트 오류가 있는 페이지입니다.Johnuniq (대화) 5:03, 2021년 7월 19일 (UTC)
- 많은 mw.ustring을 일반 문자열로 대체하기 위해 대대적인 편집을 했습니다.불행히도, 모듈은 너무 많은 일을 하려고 하고 있고, 파라마타 선거구의 선거 결과는 여전히 깨져 있다.30 MW.Ustring을 남겼는데 교체하면 그 기사가 고쳐질 거예요.mw.ustring이 필요한 함수도 있고(함수 호출 방법에 따라 다름), 이미 많은 변경을 했기 때문에 흥미를 잃은 함수도 있습니다.나중에 "실패 보증"에 대해 설명하겠습니다.왜냐하면 이 모듈을 더 편집할 수 있는지, 또는 오류가 발생한 문서를 대폭 편집해야 하는지 등을 확인하고 싶지 않기 때문입니다(예, 많은 정보를 반복하는 것은 어리석은 일이기 때문에 대폭적인 편집이 필요하지만, 여기서 설명하는 것은 문제가 되지 않습니다).Johnuniq (대화) 3:57, 2021년 7월 19일 (UTC)
@소피보러스:편집한 mw를 편집했습니다.모듈: 트랜스클러로 몇 가지 문제를 해결하고 해당 모듈을 모듈에 복사:트랜스루더즉, "non"은 "no"로 받아들여지며, 솔직히 문제가 되지 않지만 문제가 될 경우 나중에 제거할 수 있습니다.2개의 모듈을 같은 것으로 하는 것이 보다 심플해졌습니다.mw:모듈: 트랜스클러더/테스트 케이스에서 testReferences라는1개의 문제가 발생하고 있습니다.
- 예상 =
acfgk - 실제 =
acfgk<ref name="l" />
그 테스트 텍스트는 다음과 같습니다(mw:모듈: Transcluder/test #References).
a <ref> b </ref> c <ref name="d"> e </ref> f <ref name="d" /> g <ref name="h" group="i"> j </ref> k <ref name="l" />
왜 코드가 삭제되는지 알 수 없습니다.<ref name="l" />. 제거만 할 수 있습니다.<ref name="d" />왜냐하면 또 다른 심판원이 있기 때문에name="d"뭐 생각나는 거라도?Johnuniq (토크) 09:43, 2021년 7월 20일 (UTC)
- 상당한 문제 후, 이전 mw에 비해 현재 모듈(변경사항 포함)이 testReferences에 실패하는 이유를 알게 되었습니다.모듈: 12:40부터 트랜스클러더 개정판, 2021년 1월 9일 통과.이 편집으로 getReferences에서 다음 코드가 삭제되었기 때문입니다.
truthy(표준)가 아닌 플래그가 있으면 텍스트 = mw.ustring.gsub(텍스트, '<%s*[Rr][Ee])[FF][^>/]*> -<%s*/%s*[Rr][Ee][Ff]%s*>', '') 텍스트 = mw.ustring.gsub(텍스트, '<%s*[Rr][Ee])[Ff][^>/]*/%s*>', '') 반환 참조, 텍스트 끝
- Johnuniq (토크) 03:56, 2021년 7월 21일 (UTC)
- @Johnuniq 알아줘서 정말 고마워!방금 코드를 복구했는데 이제 모든 테스트 케이스에 합격했어요.애초에 왜 코드를 넣었는지에 대한 코멘트도 추가했습니다.좀 엉성하긴 하지만 지금까지 생각해낸 것 중 가장 좋은 방법이야.'논'도 마찬가지입니다.프랑스어 위키피디아에서 사용할 수 있도록 하기 위해서입니다만, 좀 허술하기 때문에, 간단하게 코멘트를 덧붙였습니다.Parramatta 선거구의 선거 결과는 여전히 타임아웃 오류를 나타내고 있지만 나는 그것이 이전보다 훨씬 덜 보인다고 생각한다.페이지도 극단적이기 때문에 트랜슬루더 모듈이나 발췌 컨셉에 대한 비난은 그다지 크지 않다고 생각합니다.실제로 얼마 전 Wikidata에서 완전히 추출한 데이터로 COVID 통계 표를 작성하려고 했던 것이 상기된다(모듈 사용:WD)에서 타임아웃에러가 발생하여 실행할 수 없었습니다.저는 생각했습니다.왜 자원봉사가 컴퓨터를 구하기 위해 더 많은 일을 해야 할까?동의하십니까?최대 실행 시간을 조금 늘려야 한다고 생각하십니까?시간을 할애해 주셔서 다시 한 번 감사드립니다!Sophivorus (대화) 2021년 7월 23일 13:46 (UTC)
- 나는 실용주의자이고 우리가 가진 것을 가지고 일해야 한다고 믿는다.실행시간을 늘려달라고 하는 것은 타당할 수 있지만, {{excerpt}}을(를) 과도하게 사용하는 많은 기사에 대한 편집 미리보기는 매우 느립니다.실행 시간이 길어지면 미리보기/저장 시간이 길어질 뿐입니다.근본적인 문제는 콘텐츠를 복제하는 것은 잘못된 생각이라는 것이다.그렇게 하는 것이 정말 바람직하다면, Media Wiki에는 매우 빠른 내장 메커니즘, 즉 트랜슬루전(transclusion)이 있습니다.Wikitext가 작성될 수 있는 모든 기묘하고 예측 불가능한 방법을 다루는 모듈을 작성하려고 하지 말고, 발췌한 내용을 이곳저곳에 미러링하고 싶은 사람들은 대신 트랜슬루션을 사용해야 한다.그것은 깨지지 않고 매우 빠를 것이다.Johnuniq (대화) 2021년 7월 24일 01:49 (UTC)
- 나는 그 불량품에서 모듈을 작동시키기 위해 다시 시도했다.일부 디버깅에서는 모듈이 다음과 같이 나타났습니다.발췌 또한 너무 많은 작업을 시도하고 있으며 10초 실행 제한에 상당한 기여를 하는 것으로 보입니다.모듈이 MediaWiki 파서를 교체하려고 하는데 이 기능은 안정적으로 작동하지 않습니다.Johnuniq (대화) 2021년 7월 24일 (UTC)[응답
- @Johnuniq 개선해 주셔서 다시 한 번 감사드립니다!!플레인 트랜슬레이션의 문제는 페이지 전체를 초월한다는 것입니다.따라서 Wikitext를 복잡하게 만들고 일부 사용자가 올바르게 이해하고 채택하고 사용하기 어렵게 만드는 <include only> 태그를 사용해야 합니다.발췌본의 첫 번째 버전에서는 적어도 페이지의 도입부나 특정 섹션의 도입부만을 초월할 수 있는 #lsth 파서 기능을 사용하고 있었습니다.문제는 정보 상자, 알림, 내비게이션 템플릿 등 불필요한 요소를 불필요한 자동 분류로 넘나들었다는 점입니다.(특히 비주얼 에디터의 이름이 모두 동일하기 때문에) 참조와의 이름 경합도 빈번하게 발생하고 있기 때문에, 추한 <noinclude> 태그나 그 외의 복잡성은 여전히 필요했습니다.한마디로 Transcluder 및 Extraction과 같은 모듈은 이러한 모든 문제를 제거하고 성능 저하를 감수하면서 쉽고 아름다운 발췌를 실현합니다.하지만 다행히도, 당신의 노력으로 인해 그 분야에서 많은 것들이 개선될 수 있다는 것을 알게 되었습니다. 어쩌면 그 단점도 크게 줄어들 수 있을지도 모릅니다!다시 한 번 고마워!!!Sophivorus (대화) 2021년 7월 24일 12:34 (UTC)
- 나는 그 불량품에서 모듈을 작동시키기 위해 다시 시도했다.일부 디버깅에서는 모듈이 다음과 같이 나타났습니다.발췌 또한 너무 많은 작업을 시도하고 있으며 10초 실행 제한에 상당한 기여를 하는 것으로 보입니다.모듈이 MediaWiki 파서를 교체하려고 하는데 이 기능은 안정적으로 작동하지 않습니다.Johnuniq (대화) 2021년 7월 24일 (UTC)[응답
- 나는 실용주의자이고 우리가 가진 것을 가지고 일해야 한다고 믿는다.실행시간을 늘려달라고 하는 것은 타당할 수 있지만, {{excerpt}}을(를) 과도하게 사용하는 많은 기사에 대한 편집 미리보기는 매우 느립니다.실행 시간이 길어지면 미리보기/저장 시간이 길어질 뿐입니다.근본적인 문제는 콘텐츠를 복제하는 것은 잘못된 생각이라는 것이다.그렇게 하는 것이 정말 바람직하다면, Media Wiki에는 매우 빠른 내장 메커니즘, 즉 트랜슬루전(transclusion)이 있습니다.Wikitext가 작성될 수 있는 모든 기묘하고 예측 불가능한 방법을 다루는 모듈을 작성하려고 하지 말고, 발췌한 내용을 이곳저곳에 미러링하고 싶은 사람들은 대신 트랜슬루션을 사용해야 한다.그것은 깨지지 않고 매우 빠를 것이다.Johnuniq (대화) 2021년 7월 24일 01:49 (UTC)
- @Johnuniq 알아줘서 정말 고마워!방금 코드를 복구했는데 이제 모든 테스트 케이스에 합격했어요.애초에 왜 코드를 넣었는지에 대한 코멘트도 추가했습니다.좀 엉성하긴 하지만 지금까지 생각해낸 것 중 가장 좋은 방법이야.'논'도 마찬가지입니다.프랑스어 위키피디아에서 사용할 수 있도록 하기 위해서입니다만, 좀 허술하기 때문에, 간단하게 코멘트를 덧붙였습니다.Parramatta 선거구의 선거 결과는 여전히 타임아웃 오류를 나타내고 있지만 나는 그것이 이전보다 훨씬 덜 보인다고 생각한다.페이지도 극단적이기 때문에 트랜슬루더 모듈이나 발췌 컨셉에 대한 비난은 그다지 크지 않다고 생각합니다.실제로 얼마 전 Wikidata에서 완전히 추출한 데이터로 COVID 통계 표를 작성하려고 했던 것이 상기된다(모듈 사용:WD)에서 타임아웃에러가 발생하여 실행할 수 없었습니다.저는 생각했습니다.왜 자원봉사가 컴퓨터를 구하기 위해 더 많은 일을 해야 할까?동의하십니까?최대 실행 시간을 조금 늘려야 한다고 생각하십니까?시간을 할애해 주셔서 다시 한 번 감사드립니다!Sophivorus (대화) 2021년 7월 23일 13:46 (UTC)
getNamespaces 함수가 잘못 동작하고 있습니다.
유감스럽게도 함수 getNamespaces가 함수 의도대로 작동하지 않습니다.
로컬 함수 getNamespaces(name) 로컬 네임스페이스 = mw.site.namespaces[name].aliases table.insert(네임스페이스, mw.site.namespaces[name].name) table.insert(네임스페이스, mw.site.namespaces[name]) table.insert(네임스페이스, mw.canicalName) 반환 네임스페이스 종료
'namespaces'는 로컬 변수이지만 table.insert는 실제로 글로벌 값에 추가됩니다.
테스트
함수 p.td() 탭 = getNamespaces('Category') mw.log(#탭) 탭 = getNamespaces('Category') mw.log(#탭) end 2, 4, 6을 반환한다.
mw.clone()이 도움이 될 것 같습니다.
로컬 네임스페이스 = mw.clone(mw.site.namespaces[name]).에일리어스)
Desb42 (토크) 10:06, 2021년 11월 24일 (UTC)
- 흥미로운 벌레!정답입니다. 감사합니다.원본은 다음을 정의합니다.
namespaces에의 포인터로서aliasesmw.site.namespaces의 테이블에서 예기치 않게 해당 테이블을 변경할 수 있습니다(이는 임시 테이블일 뿐이므로 변경은 적용되지 않습니다).이 예에서는 기능이 조금 더 스마트하고 중복을 추가하지 않아야 합니다..name그리고..canonicalNameare "Category" 및 getNamespaces는 둘 다 포함하는 테이블을 반환합니다.나중에 수정이 보증되는지 확인합니다(즉, getNamespaces는 어떻게 사용됩니까?).모듈을 마지막으로 확인한 후 변경 사항을 확인했는데 다른 문제가 있습니다.local min, max = string.matchen dash 및 em dash가 regex에 포함되었기 때문에 더 이상 적절하지 않습니다.한 가지 수정사항은 usring.match를 사용하는 것입니다.대신 gsub를 사용하여 en/em 대시를 하이픈으로 대체하는 것이 더 나을 수 있습니다(아직 생각하지 않았습니다).Johnuniq (토크) 2:59, 2021년 11월 25일 (UTC)- function parse Flags를 보기 시작했지만 다른 것을 청소해야 하기 때문에 잠시 포기했습니다.정규식
'^(%d+)%s*[-–—]s*(%d+)
- function parse Flags를 보기 시작했지만 다른 것을 청소해야 하기 때문에 잠시 포기했습니다.정규식