Изменения

SubPageList (MediaWiki)

3319 байтов убрано, 15:40, 28 июня 2011
м
Перенаправление на 4intranet:TemplatedPageList
{{SVN|vitalif/trunk/MediaWiki-SubPageList2/}} На основе расширения MediaWiki #REDIRECT [[mediawikiwiki4intranet:Extension:SubPageList2|SubPageList2]] в [[{{SITENAME}}]] я породил собственную вариацию на тему SubPageList'а - его можно было бы назвать "TemplatedPageList". По сути расширение продолжает серию расширений, направленных в сторону вики-программирования, что идеологически ещё неизвестно, хорошо ли, нет ли. Так или иначе, код расширения переписан в хлам - предыдущий автор, видимо, был, во-первых, C'шник, а во-вторых, большой любитель избыточности в духе округления целых чисел. Всё это было выгашено из кода сраной метлой, показатель - количество строк кода, уменьшившееся почти в два раза - с 686 до 347 строк. Поведение опции <tt>category=</tt> было изменено в сторону более очевидного - в сторону ограничения выбираемого списка категорией. Также была добавлена опция <tt>offset=</tt>, позволяющая указывать не только максимальное количество выбираемых страниц, а также и "смещение" от начала списка. Кроме того, было добавлено препроцессирование кода включаемых страниц, что означает правильную обработку [[mediawikiwiki:Help:Magic Words|магических слов]] типа REVISIONDAY. Но это всё не главное: главное, что расширение теперь работает на шаблонах - оцпией <tt>template=</tt> передаётся имя шаблона, который будет обработан для каждой страницы и дописан в текст. Шаблону передаются следующие параметры: ;index: Номер страницы в списке, начиная с 0.;number: Номер страницы в списке, начиная с 1.;odd: 1, если номер страницы нечётный (начиная с 1), и 0 иначе.;title_full: Полное название страницы.;title: Полное название без пространства имён.;title_rel: Название страницы без названия родительской страницы.;title_last: Последняя секция названия страницы (да, я знаю, что это можно сделать через [[mediawikiwiki:Extension:ParserFunctions|Parser Functions]]).;content: Полное содержимое страницы.;first_section: Первая секция страницы.;have_next: 1, если страница имеет секции, кроме первой, и 0 иначе. [[Категория:Разработка]][[Категория:MediaWiki]]