|
Персональные инструменты |
|||
|
ListFeed (расширение MediaWiki)Материал из CustisWikiВерсия от 17:51, 9 августа 2011; VitaliyFilippov (обсуждение | вклад) Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений. ListFeed — расширение MediaWiki, позволяющее генерировать простые RSS-ленты из стандартных списков MediaWiki (нумерованных «#» и маркированных «*»). Инструкции по установке и исходные коды можно увидеть на домашней странице расширения. С помощью этого расширения практически любой список можно превратить в RSS-ленту. Расширение добавляет два новых тега — <listfeed> и <endlistfeed />, а также функцию парсера {{#listfeedurl:Feed Name}}, которая возвращает URL RSS-ленты, сгенерированной расширением из списка с заданным именем. Расширение позволяет легко превратить любой маркированный или нумерованный Wiki-список в RSS-ленты, которая автоматически обновляется при обновлении статьи. Каждый элемент списка становится отдельной записью ленты.
Ленты идентифицируются по именам (<listfeed name="ИМЯ_ЛЕНТЫ">) и помещаются в один каталог, поэтому в пределах одной Wiki-системы две ленты с одинаковыми именами будут перезаписывать друг друга при каждом обновлении страницы. Описанием ленты служит любой Wiki-код, заключённый в тег <listfeed> — он преобразуется в HTML и включается в RSS-элемент <about>. Чтобы начать использовать ListFeed, добавьте тег <listfeed> перед вашим списком: <listfeed name="ИМЯ_ЛЕНТЫ" [ОПЦИИ]> ОПИСАНИЕ_ЛЕНТЫ </listfeed> И тег <endlistfeed> после списка: <endlistfeed /> Чтобы вставить ссылку на ленту в текст статьи, нужно использовать функцию парсера: {{#listfeedurl:ИМЯ_ЛЕНТЫ}} На данный момент доступны две опции, связанные с разбором дат элементов ленты. Опция date<listfeed date="ВЫРАЖЕНИЕ">. Рядом с каждым элементом вашего списка, скорее всего, будет стоять дата. Однако, в каком она формате? Для установки формата с помощью специального регулярного выражения для разбора дат и служит эта опция. По умолчанию выбирается выражение для разбора стандартных подписей (~~~~): ^(?:[^:]+|<[^<>]*>)*%H:%M(?::%S)?,\s*%d\s+%b\s+%Y(?:\s*\(UTC\))?(?:\s*:?) ВЫРАЖЕНИЕ похоже на обычные Perl-совместимые регулярные выражения, однако, кроме стандартных инструкций, включаемых в регулярные выражения, оно также может содержать большинство strftime(3)-подобных подстановок (см. ниже полный список поддерживаемых подстановок) и, таким образом, является как бы «обратной функцией» к strftime(3). На данный момент поддерживаются следующие подстановки strftime:
Прочие подстановки strftime признаны либо слишком специальными, либо производными от вышеупомянутых и поэтому отдельно не поддерживаются. Опция headingdate<listfeed headingdate="ВЫРАЖЕНИЕ">. Даты, или их части, также могут быть заданы в заголовках между элементами. Предположим статью со следующим текстом: <listfeed name="News of extension" date="^%b %d:\s*" headingdate="%Y" /> = 2010 news = * Jan 13: New version of ListFeed. * Jan 01: Happy New Year! = 2009 news = * Dec 17: ... * ... <endlistfeed /> В данном случае даты не могут быть взяты целиком из каждого элемента, однако, год каждой даты со всей очевидностью присутствует в заголовке, поэтому и требуется разбирать его тоже. Для приведённого примера, выражение headingdate="%Y" абсолютно корректно. Пример<listfeed name="Новости CustisWiki"> Новости CustisWiki - важные статьи, голосования, новости системы </listfeed> * [[Участник:EvgeniaUdalova|Евгения Удалова]] 09:00, 5 октября 2009: Опрос ДМС 2009 завершён! Результаты можно посмотреть [[Опрос_ДМС_2009| здесь]]. * [[Участник:MaksTsepkov|Макс Цепков]] 05:38, 26 сентября 2009 (UTC) Чтобы долго не искать - ссылки на блоги и rss: *: [[Блог:Володя Рахтеенко]] *: [[Блог:TechTools/Новости наших Wiki-систем: Блоги, черновики, интеграция с Subversion]] [[FeedOnFeeds]] *: [[Служебная:Wikilog]] - общая лента блогов и замечание: когда ищите по wiki из панели слева, поиск в блогах отключен, надо включать галочку на результатах поиска. <endlistfeed />
Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».
Статья реплицируется в Wiki4IntraNet. |
||||||||||||||||||||||||||