SubPageList (MediaWiki) — различия между версиями
(Новая: {{SVN|vitalif/trunk/MediaWiki-SubPageList2/}} На основе расширения MediaWiki SubPageList2 в [[{{SITENAME}}]] я породи...) |
|||
Строка 1: | Строка 1: | ||
− | {{SVN|vitalif/trunk/MediaWiki-SubPageList2/}} | + | Ссылка на SVN исходников: {{SVN|vitalif/trunk/MediaWiki-SubPageList2/}}. |
− | На основе расширения MediaWiki [[mediawikiwiki:Extension:SubPageList2|SubPageList2]] в [[{{SITENAME}}]] я породил собственную вариацию на тему | + | На основе расширения MediaWiki [[mediawikiwiki:Extension:SubPageList2|SubPageList2]] в [[{{SITENAME}}]] я породил собственную вариацию на тему SubPageList’а — его можно было бы назвать «TemplatedPageList». По сути расширение продолжает серию расширений, направленных в сторону вики-программирования, что идеологически ещё неизвестно, хорошо ли, нет ли. |
− | Так или иначе, код расширения переписан в | + | Так или иначе, код расширения переписан в хлам — предыдущий автор, видимо, был, во-первых, C’шник, а во-вторых, большой любитель избыточности в духе округления целых чисел. Всё это было выгашено из кода сраной метлой, показатель — количество строк кода, уменьшившееся почти в два раза — с 686 до 347 строк. Поведение опции <tt>category=</tt> было изменено в сторону более очевидного — в сторону ограничения выбираемого списка категорией. Также была добавлена опция <tt>offset=</tt>, позволяющая указывать не только максимальное количество выбираемых страниц, а также и «смещение» от начала списка. Кроме того, было добавлено препроцессирование кода включаемых страниц, что означает правильную обработку [[mediawikiwiki:Help:Magic Words|магических слов]] типа REVISIONDAY. |
− | Но это всё не главное: главное, что расширение теперь работает на | + | Но это всё не главное: главное, что расширение теперь работает на шаблонах — оцпией <tt>template=</tt> передаётся имя шаблона, который будет обработан для каждой страницы и дописан в текст. |
Шаблону передаются следующие параметры: | Шаблону передаются следующие параметры: |
Версия 04:20, 8 ноября 2009
Ссылка на SVN исходников: http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/MediaWiki-SubPageList2/.
На основе расширения MediaWiki SubPageList2 в YourcmcWiki я породил собственную вариацию на тему SubPageList’а — его можно было бы назвать «TemplatedPageList». По сути расширение продолжает серию расширений, направленных в сторону вики-программирования, что идеологически ещё неизвестно, хорошо ли, нет ли.
Так или иначе, код расширения переписан в хлам — предыдущий автор, видимо, был, во-первых, C’шник, а во-вторых, большой любитель избыточности в духе округления целых чисел. Всё это было выгашено из кода сраной метлой, показатель — количество строк кода, уменьшившееся почти в два раза — с 686 до 347 строк. Поведение опции category= было изменено в сторону более очевидного — в сторону ограничения выбираемого списка категорией. Также была добавлена опция offset=, позволяющая указывать не только максимальное количество выбираемых страниц, а также и «смещение» от начала списка. Кроме того, было добавлено препроцессирование кода включаемых страниц, что означает правильную обработку магических слов типа REVISIONDAY.
Но это всё не главное: главное, что расширение теперь работает на шаблонах — оцпией template= передаётся имя шаблона, который будет обработан для каждой страницы и дописан в текст.
Шаблону передаются следующие параметры:
- index
- Номер страницы в списке, начиная с 0.
- number
- Номер страницы в списке, начиная с 1.
- odd
- 1, если номер страницы нечётный (начиная с 1), и 0 иначе.
- title_full
- Полное название страницы.
- title
- Полное название без пространства имён.
- title_rel
- Название страницы без названия родительской страницы.
- title_last
- Последняя секция названия страницы (да, я знаю, что это можно сделать через Parser Functions).
- content
- Полное содержимое страницы.
- first_section
- Первая секция страницы.
- have_next
- 1, если страница имеет секции, кроме первой, и 0 иначе.