Jump to content

Модул:template parser/doc

Аз Wiktionary

This is the documentation page for Модул:template parser

Ин ҳуҷҷатгузории саҳифа аст.
Ба ҳуҷҷатҳо оид ба ин саҳифа ва ё бахши акнун на инъикос давлати кунунии он, ва баъзе маълумот мумкин аст дарсҳо ё нодуруст. Лутфан, бо вироиш кардани this page, ва илова маълумот дар бораи хусусиятҳои ҳуҷҷатгузоринашуда, дар ҳоле ки аз кушода гирифтани иттилоот дар он аст, ки дигар ба татбиқ кӯмак кунед.

Ин модул функсияҳоро барои таҳлил ва дарёфти даъватномаҳои қолаби дар викиматн мавҷудбуда таъмин мекунад.

parseTemplate(text, not_transcluded)
text-ро ҳамчун даъвати қолабӣ таҳлил мекунад ва ҷуфти арзишҳо, номи шаблон ва аргументҳоро бармегардонад (дар дорои далелҳои беном, рақамгузорӣ ва номдор). Агар матн ҳамчун даъвати қолабӣ таҳлил карда нашавад, функсия nil -ро бармегардонад. Таҳлилкунанда ҳама викиматнро, ки ҳамчун аргументҳои қолабӣ дода шудааст (ба мисли зершаблонҳо, аргументҳо, ҷадвалҳо ва ғ.) дуруст таҳлил мекунад, аммо агар сатр дар нишонгузорӣ қолаби дурустро ташкил накунад, он гоҳ nil-ро бармегардонад.
findTemplates(text, not_transcluded)
Ҳамаи даъватҳои шаблонро дар матн пайдо мекунад. Ин тарҳрезӣ шудааст, ки ҳамчун итератор дар изҳороти for истифода шавад ва барои ҳар як даъват чаҳор арзишро бармегардонад:
  1. Номи шаблон.
  2. Далелҳои шаблон.
  3. Даъвати пурраи шаблон тавре ки дар матни аслӣ пайдо мешавад.
  4. Индекси қолаб дар дохили матни додашуда пайдо мешавад; мисли Луа дар маҷмӯъ, ибтидои матн шохиси 1 аст.

Барои роҳат, номҳои қолабҳо бо ду роҳ муқаррар карда мешаванд:

  1. Онҳо пешакӣ коркард карда мешаванд, яъне ҳама гуна қолабҳо ({{[[Шаблон: | ]]}} ) ва параметрҳои ({{{ }}}), ки дар онҳо мавҷуданд, ҳал карда мешаванд.
  2. Ҳама гуна масир ба эквивалентҳои каноникии онҳо табдил дода мешаванд (масалан, {{l}} ҳамчун {{link}} баррасӣ мешавад).

Дар хотир доред, ки ҳама гуна қолабҳои дорои номҳои беэътибор (пас аз коркарди пешакӣ) аз болои он гузаронида мешаванд. Бо сабабҳои иҷроиш, коркарди пешакӣ танҳо ба калидҳои ҷадвали аргументҳои қолаб истифода мешавад, бинобар ин, ҳангоми зарурат он бояд ба арзишҳо аз ҷониби модули даъваткунанда татбиқ карда шавад.

Аҳамият диҳед, ки таҳлилгар ба тегҳои <noinclude>, <includeonly> ва <onlyinclude> эҳтиром мегузорад. Бо нобаёнӣ, text ҳамчун бароварда муносибат карда мешавад, яъне ин маънои онро дорад, ки матн байни тегҳои <noinclude> сарфи назар карда мешавад ва <onlyinclude> барчаспҳо, агар мавҷуд бошанд, эҳтиром карда мешаванд. Агар параметри not_transcluded ба true муқаррар карда шуда бошад, пас text ҳамчун он кор карда мешавад, ки гӯё он интиқол дода нашудааст, яъне матн байни <includeonly> барчаспҳо сарфи назар карда мешаванд.

Although the parser is very accurate, some discrepancies may still exist between it and the native parser in certain cases.