Википєдїꙗ
cuwiki
https://cu.wikipedia.org/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D1%8C%D0%BD%D0%B0_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0
MediaWiki 1.47.0-wmf.24
first-letter
Срѣдьства
Нарочьна
Бєсѣда
Польꙃєватєл҄ь
Польꙃєватєлꙗ бєсѣда
Википєдїꙗ
Википєдїѩ бєсѣда
Дѣло
Дѣла бєсѣда
MediaWiki
MediaWiki бєсѣда
Обраꙁьць
Обраꙁьца бєсѣда
Помощь
Помощи бєсѣда
Катигорїꙗ
Катигорїѩ бєсѣда
TimedText
TimedText talk
Module
Module talk
Event
Event talk
Обраꙁьць:Википєдїѩ бєсѣдꙑ
10
2915
88099
88007
2026-10-21T20:34:09Z
Qamen
30020
88099
wikitext
text/x-wiki
{| cellspacing="8" cellpadding="0" style="width:100%; clear:both; margin:0.5em auto; background-color:#FAF9EC; border:2px solid #DBD2B0;"
| style="width:64px; text-align:center;" | [[Дѣло:Wikipedia-logo-v2-cu.svg|50px|Википедїѩ бесѣды]]
| <span style="font-family:KurKlim">{{{1|}}}<small>[[Видъ:System-users.svg|30px]] [[Project:Обьщєниꙗ съвѣтъ|Обьщєниꙗ съвѣтъ]] · [[Project talk:Обьщєниꙗ съвѣтъ|бєсѣда]] {{!}} [[Видъ:SlovenaGramatikaKonsilio.png|35px]] [[Project:Ѩꙁꙑка съвѣтъ|Ѩꙁꙑка съвѣтъ]] · [[Project talk:Ѩꙁꙑка съвѣтъ|бєсѣда]] {{!}} [[Видъ:Crystal128-kdict.svg|35px]] [[Project:Новѣ съставлєна словєса|Новѣ съставлєна словєса]] {{!}} [[Видъ:Crystal Clear action run.svg|35px]] [[Project:Аѵтомати|Аѵтомати]] · [[Project talk:Аѵтомати|бєсѣда]] {{!}} [[Видъ:Nuvola gnome-fs-trash-full.svg|30px]] [[Project:Поничьжєниѥ страницѧ|Поничьжєниѥ страницѧ]] {{!}} [[Видъ:Accessories-text-editor.svg|30px]] [[Project:Страницѧ къ сътворѥниѭ|Страницѧ къ сътворѥниѭ]] · [[Project talk:Страницѧ къ сътворѥниѭ|бєсѣда]]</small></span>
|}
<includeonly>[[Category:Википєдїѩ нарочьнꙑ страницѧ]]</includeonly>
c87coz7r9f27iii0w4iy3twygjqdbj6
Помощь:Каталогъ
12
5400
88098
86032
2026-10-21T20:28:23Z
Qamen
30020
Přidáno: nástroje
88098
wikitext
text/x-wiki
{{Shortcut|[[П:К]]}}
== [[Дѣло:Wikipedia-logo-v2.svg|25px]] [[Википєдїꙗ]] ==
* '''[[Помощь:О сѥмь тлъцѣ|О сѥмь тлъцѣ]]''' ([[:Template:О сѥмь тлъцѣ|дроугꙑ ѩꙁꙑкꙑ]])
* '''[[:en:Wikipedia:Five pillars|Википєдїѩ пѧть стлъпъ]]'''
** '''[[Википє́дїѩ бєсѣ́да:Обьщєниꙗ съвѣтъ|Обьщєниꙗ съвѣтъ]]''' · cьдє кꙑижьдо съмотритєлъ и дроугъ польꙃєватєлъ пꙑтати о Википєдїи можєтъ
== [[Дѣло:SlovenaGramatikaKonsilio.png|25px]] [[словѣньскъ ѩꙁꙑкъ]] ==
Русский Си страницѧ словѣньскаѥго ѩꙁꙑка и ѥго писмєнє расъмощрѥниꙗ даѭтъ :
* '''[[Помощь:Орѳографїꙗ|Орѳографїꙗ]]''' · сѥи страницѣ нашє съглашєниѥ о словѣньскꙑѩ Википєдїѩ орѳографїи ѥстъ
** '''[[Помощь:Юникодъ|Юникодъ]]''' · сѥи страницѣ нашє съглашєниѥ о юникодьномь напьсании ꙁнаць ѥстъ
* '''[[Помощь:О-измѣнѥниѥ|О-иꙁмѣнѥниѥ]]''' · сѥи страницѣ словєсьмъ сън -о- основами птѡсьна мѣна опьсана ѥстъ
* '''[[Помощь:Чисмєна|Чисмєна]]''' · сѥи страницѣ нашє съглашєниѥ о чисмєнъ напьсании ѥстъ
** '''[[Википєдїѩ бєсѣ́да:Ѩꙁꙑка съвѣтъ|Ѩꙁꙑка съвѣтъ]]''' · cьдє кꙑижьдо съмотритєлъ и дроугъ польꙃєватєлъ пꙑтати о словѣньсцѣ ѩꙁꙑцѣ можєтъ
== Орѫдиꙗ ==
* [[Википєдїꙗ:Орѫдиꙗ|Орѫдиꙗ]] · събраниѥ орѫдии къ сътворѥниѭ и исправлѥниѭ страницъ Википєдїѩ
<small lang="en">Reusable tools for creating and editing Wikipedia pages, with instructions for their use.</small>
[[Category:Википєдїꙗ:Помощь]]
[[bg:Уикипедия:Първи стъпки]]
6y4oyck95d746buxr5d7q8x3ptypibq
Википєдїѩ бєсѣда:Обьщєниꙗ съвѣтъ
5
7091
88088
88051
2026-10-21T16:59:53Z
Qamen
30020
css correction
88088
wikitext
text/x-wiki
<templatestyles src="Section numbering/styles.css" />
{{Википєдїѩ бєсѣдꙑ}}
{{Shortcut|[[ВП:ОС]]}}
'''en:''' Requests for the [[m:bot|bot]] flag should be made on [[Википєдїѩ бєсѣда:Аѵтомати]]. Requests for certain types of bots can be automatically approved and [[m:Requests for bot status|performed by a steward]] (see the [[m:Bot policy|standard bot policy]]).
<div class="neologism-counter-start"></div>
== О начрътании словѣньскꙑхъ писмєнъ ==
Нꙑнѣ словѣньскꙑꙗ боукъви нє вьсьдѣ сѧ право начрътаѭтъ · овꙑ старыꙗ кѷрїлловꙑ · овꙑ жє климєнтовꙑ⁙ Ꙁнамєна бо надъ боукъвами овогда стоятъ нє въ мѣстѣ своємь · титла жє и боукъви надъ строкоѭ начрътаѭтъ сѧ неправо⁙
Сицє неправо сѧ авлꙗѭтъ ''ꙗ́ ѥ́ ѧ́ ѫ́ ꙑ́ ї́'' · такождє съложєна писаниꙗ ''гд҃и'' · ''гл҃а'' · ''крⷭ҇тъ'' · ''воскрⷭ҇нїє''⁙ Подобьна бѣда ѥстъ и при глаголичьскꙑхъ боукъвахъ съ знамєниємь просѡдїи⁙
На прьвоꙁаглавьнѣи страницѣ вєтъхо наставлениѥ ѥстъ · да кꙑиждо самъ поставитъ сєбѣ особъ чинъ начрътаниꙗ (сирѣчь гарнитоуръ) ради праваго видѣниꙗ боукъвъ⁙ Нꙑнѣ жє таковъ чинъ оувꙑ бєꙁъдѣиствєнъ ѥстъ · и вътоунѣ сѧ тщитъ чловѣкъ⁙
[[Дѣло:Old Church Slavonic Wikipedia old font download notice.png|thumbnail|Прѣждьнѥѥ наставлениѥ на прьвоꙁаглавьнѣи страницѣ]]
Испꙑтана бꙑста раꙁличьна начрътаниꙗ<ref name="fonts">Arial, Microsoft Sans Serif, Segoe UI Historic, Times New Roman, Ponomar, Monomakh, FreeSerif, Menaion Unicode, Shafarik</ref>⁙ Добръ исходъ покаꙁаста Shafarik къ старꙑмъ кѷрїлловьскꙑмъ боукъвамъ и FreeSerif къ климєнтовꙑмъ⁙ FreeSerif бо право авлꙗѥтъ просѡдїи · титла и боукъви надъ строкоѭ · Shafarik жє право авлꙗѥтъ старꙑ кѷрїлловꙑ боукъви (сирѣчь глаголицѫ) и ꙁнамєна надъ ними⁙
Испꙑтаниѥ сътворєно бꙑстъ въ Windows съ Edge · въ Android съ Chrome и Samsung Internet · такождє въ iOS съ Safari⁙ Въ вьсѣхъ сихъ строѥхъ боукъви съ обоима начрътаниѥма право сѧ авлꙗѭтъ⁙
Нꙑнѣ рєкѫ въꙁлюблєннии · подобаѥтъ оубо тако творити · FreeSerif ѩти къ кѷрїлловьскꙑмъ боукъвамъ · Shafarik жє къ климєнтовꙑмъ · да оба чина начрътаниꙗ приложита сѧ коємуждо чьтоущу абиѥ бєꙁ въпрошениꙗ или инаго дѣиствиꙗ⁙ Тажє нє токъмо Википєдїи ради · нъ и инꙑхъ дѣлъ Wikimedia съ словѣньскꙑмъ ѩꙁꙑкомь · пачє жє Wikisource · идєжє старыꙗ кѷрїлловꙑ боукъви · климєнтовꙑ боукъви · титла и ина ꙁнамєна вꙑну прєбꙑваѭтъ⁙
На обраꙁѣ жє нижє видѣти ѥстъ · како боукъви и ꙁнамєна нꙑнѣ сѧ авлꙗѭтъ · и како съ FreeSerif и Shafarik чѣстьно сѧ блюдоутъ⁙
[[Дѣло:Old Church Slavonic font rendering comparison FreeSerif Shafarik.png|thumbnail|Образъ нꙑнѣшьнѧго и исправлєнаго начрътанїꙗ]]
Аще жє кто иматъ благоволениѥ или инъ съвѣтъ или противьноѥ мьнѣниѥ · да рєчєтъ ꙁдѣ⁙ Аще жє до 31 октобриꙗ никто жє въꙁбранитъ · тако пошьлѭ о сѣмъ хартиѭ въ Phabricator · да исправитъ сѧ начрътаниѥ словѣньскꙑхъ боукъвъ въ дѣлѣхъ нашихъ⁙
=== English ===
Old Church Slavonic letters are currently not rendered correctly on all systems, both in historical Cyrillic and in Glagolitic. Combining marks may appear in the wrong position, while titla and superscript letters can be displayed incorrectly.
For example, ''ꙗ́ ѥ́ ѧ́ ѫ́ ꙑ́ ї́'' may be rendered incorrectly, as can combinations such as ''гд҃и'', ''гл҃а'', ''крⷭ҇тъ'', and ''воскрⷭ҇нїе''. A similar problem occurs with Glagolitic letters carrying prosodic marks.
The main page still contains an old instruction telling readers to install a separate font themselves in order to see the letters correctly. This solution is now ineffective and places the burden of correct rendering on each individual reader.
[[Дѣло:Old Church Slavonic Wikipedia old font download notice.png|thumbnail|The former font-installation notice on the main page]]
Several fonts were tested.<ref name="fonts" /> The best results were obtained with FreeSerif for historical Cyrillic and Shafarik for Glagolitic. FreeSerif correctly renders prosodic marks, titla and superscript letters, while Shafarik correctly renders Glagolitic letters and their combining marks.
The proposed combination was tested on Windows with Edge, on Android with Chrome and Samsung Internet, and on iOS with Safari. In all of these environments both fonts rendered the tested characters correctly.
Dear colleagues, I therefore propose using FreeSerif for historical Cyrillic and Shafarik for Glagolitic, with both fonts applied automatically to every reader, immediately and without any prompt or additional action. This would be useful not only for the Old Church Slavonic Wikipedia, but also for other Wikimedia projects using Old Church Slavonic, especially Wikisource, where historical Cyrillic and Glagolitic letters, titla and other combining marks occur throughout the texts.
The image below shows the difference between the current rendering and the rendering obtained with FreeSerif and Shafarik.
[[Дѣло:Old Church Slavonic font rendering comparison FreeSerif Shafarik.png|thumbnail|Comparison of current and proposed rendering]]
If anyone supports the proposal, has another suggestion, or objects to it, please comment here. If there are no objections by 31 October, I will submit a request to Phabricator concerning correct Old Church Slavonic font rendering, primarily on the Old Church Slavonic Wikipedia and also on other Wikimedia projects, especially Wikisource.
=== По-русски ===
В настоящее время старославянские буквы не на всех системах отображаются правильно. Это касается как исторической кириллицы, так и глаголицы. Надстрочные знаки иногда оказываются не на своём месте, а титла и выносные буквы отображаются неправильно.
Например, искажённо могут отображаться ''ꙗ́ ѥ́ ѧ́ ѫ́ ꙑ́ ї́'', а также сочетания ''гд҃и'', ''гл҃а'', ''крⷭ҇тъ'', ''воскрⷭ҇нїе''. Подобная проблема возникает и у глаголических букв с просодическими знаками.
На главной странице до сих пор находится старое указание, предлагающее каждому читателю самостоятельно установить отдельную гарнитуру, чтобы буквы отображались правильно. Сейчас это решение уже не работает должным образом и перекладывает обеспечение правильного отображения на самого читателя.
[[Дѣло:Old Church Slavonic Wikipedia old font download notice.png|thumbnail|Прежнее указание на главной странице]]
Было испытано несколько гарнитур<ref name="fonts" />. Лучший результат дали FreeSerif для исторической кириллицы и Shafarik для глаголицы. FreeSerif правильно отображает просодические знаки, титла и выносные буквы, а Shafarik правильно отображает глаголические буквы и надстрочные знаки.
Предлагаемое сочетание было испытано в Windows с Edge, в Android с Chrome и Samsung Internet, а также в iOS с Safari. Во всех этих средах обе гарнитуры правильно отображали проверенные знаки.
Итак, дорогие коллеги, предлагаю использовать FreeSerif для исторической кириллицы, а Shafarik для глаголицы, причём обе гарнитуры должны применяться для каждого читателя автоматически, сразу, без запроса или каких-либо дополнительных действий с его стороны. Это необходимо не только для старославянской Википедии, но и для других проектов Wikimedia, использующих старославянский язык, особенно для Wikisource, где постоянно встречаются исторические кириллические и глаголические буквы, титла и другие надстрочные знаки.
На изображении ниже можно увидеть разницу между нынешним отображением и отображением с FreeSerif и Shafarik.
[[Дѣло:Old Church Slavonic font rendering comparison FreeSerif Shafarik.png|thumbnail|Сравнение нынешнего и предлагаемого отображения]]
Если вы поддерживаете это предложение, имеете иной совет или возражаете против него, прошу высказаться здесь. Если до 31 октября возражений не будет, я направлю в Phabricator запрос об исправлении отображения старославянских букв в старославянской Википедии и других наших проектах Wikimedia.
<references />
[[Польꙃєватєл҄ь:Qamen|Qamen]] ([[Польꙃєватєлꙗ бєсѣда:Qamen|бєсѣда]]) 19:12, октѡврїꙗ 12 числа, 2026 (UTC)
3ds2l40zozo3cgqqezwb5ma2bfz2gxz
88100
88088
2026-10-21T20:55:24Z
Qamen
30020
Přidáno: O katalogu nástrojů
88100
wikitext
text/x-wiki
<templatestyles src="Section numbering/styles.css" />
{{Википєдїѩ бєсѣдꙑ}}
{{Shortcut|[[ВП:ОС]]}}
'''en:''' Requests for the [[m:bot|bot]] flag should be made on [[Википєдїѩ бєсѣда:Аѵтомати]]. Requests for certain types of bots can be automatically approved and [[m:Requests for bot status|performed by a steward]] (see the [[m:Bot policy|standard bot policy]]).
<div class="neologism-counter-start"></div>
== О начрътании словѣньскꙑхъ писмєнъ ==
Нꙑнѣ словѣньскꙑꙗ боукъви нє вьсьдѣ сѧ право начрътаѭтъ · овꙑ старыꙗ кѷрїлловꙑ · овꙑ жє климєнтовꙑ⁙ Ꙁнамєна бо надъ боукъвами овогда стоятъ нє въ мѣстѣ своємь · титла жє и боукъви надъ строкоѭ начрътаѭтъ сѧ неправо⁙
Сицє неправо сѧ авлꙗѭтъ ''ꙗ́ ѥ́ ѧ́ ѫ́ ꙑ́ ї́'' · такождє съложєна писаниꙗ ''гд҃и'' · ''гл҃а'' · ''крⷭ҇тъ'' · ''воскрⷭ҇нїє''⁙ Подобьна бѣда ѥстъ и при глаголичьскꙑхъ боукъвахъ съ знамєниємь просѡдїи⁙
На прьвоꙁаглавьнѣи страницѣ вєтъхо наставлениѥ ѥстъ · да кꙑиждо самъ поставитъ сєбѣ особъ чинъ начрътаниꙗ (сирѣчь гарнитоуръ) ради праваго видѣниꙗ боукъвъ⁙ Нꙑнѣ жє таковъ чинъ оувꙑ бєꙁъдѣиствєнъ ѥстъ · и вътоунѣ сѧ тщитъ чловѣкъ⁙
[[Дѣло:Old Church Slavonic Wikipedia old font download notice.png|thumbnail|Прѣждьнѥѥ наставлениѥ на прьвоꙁаглавьнѣи страницѣ]]
Испꙑтана бꙑста раꙁличьна начрътаниꙗ<ref name="fonts">Arial, Microsoft Sans Serif, Segoe UI Historic, Times New Roman, Ponomar, Monomakh, FreeSerif, Menaion Unicode, Shafarik</ref>⁙ Добръ исходъ покаꙁаста Shafarik къ старꙑмъ кѷрїлловьскꙑмъ боукъвамъ и FreeSerif къ климєнтовꙑмъ⁙ FreeSerif бо право авлꙗѥтъ просѡдїи · титла и боукъви надъ строкоѭ · Shafarik жє право авлꙗѥтъ старꙑ кѷрїлловꙑ боукъви (сирѣчь глаголицѫ) и ꙁнамєна надъ ними⁙
Испꙑтаниѥ сътворєно бꙑстъ въ Windows съ Edge · въ Android съ Chrome и Samsung Internet · такождє въ iOS съ Safari⁙ Въ вьсѣхъ сихъ строѥхъ боукъви съ обоима начрътаниѥма право сѧ авлꙗѭтъ⁙
Нꙑнѣ рєкѫ въꙁлюблєннии · подобаѥтъ оубо тако творити · FreeSerif ѩти къ кѷрїлловьскꙑмъ боукъвамъ · Shafarik жє къ климєнтовꙑмъ · да оба чина начрътаниꙗ приложита сѧ коємуждо чьтоущу абиѥ бєꙁ въпрошениꙗ или инаго дѣиствиꙗ⁙ Тажє нє токъмо Википєдїи ради · нъ и инꙑхъ дѣлъ Wikimedia съ словѣньскꙑмъ ѩꙁꙑкомь · пачє жє Wikisource · идєжє старыꙗ кѷрїлловꙑ боукъви · климєнтовꙑ боукъви · титла и ина ꙁнамєна вꙑну прєбꙑваѭтъ⁙
На обраꙁѣ жє нижє видѣти ѥстъ · како боукъви и ꙁнамєна нꙑнѣ сѧ авлꙗѭтъ · и како съ FreeSerif и Shafarik чѣстьно сѧ блюдоутъ⁙
[[Дѣло:Old Church Slavonic font rendering comparison FreeSerif Shafarik.png|thumbnail|Образъ нꙑнѣшьнѧго и исправлєнаго начрътанїꙗ]]
Аще жє кто иматъ благоволениѥ или инъ съвѣтъ или противьноѥ мьнѣниѥ · да рєчєтъ ꙁдѣ⁙ Аще жє до 31 октобриꙗ никто жє въꙁбранитъ · тако пошьлѭ о сѣмъ хартиѭ въ Phabricator · да исправитъ сѧ начрътаниѥ словѣньскꙑхъ боукъвъ въ дѣлѣхъ нашихъ⁙
=== English ===
Old Church Slavonic letters are currently not rendered correctly on all systems, both in historical Cyrillic and in Glagolitic. Combining marks may appear in the wrong position, while titla and superscript letters can be displayed incorrectly.
For example, ''ꙗ́ ѥ́ ѧ́ ѫ́ ꙑ́ ї́'' may be rendered incorrectly, as can combinations such as ''гд҃и'', ''гл҃а'', ''крⷭ҇тъ'', and ''воскрⷭ҇нїе''. A similar problem occurs with Glagolitic letters carrying prosodic marks.
The main page still contains an old instruction telling readers to install a separate font themselves in order to see the letters correctly. This solution is now ineffective and places the burden of correct rendering on each individual reader.
[[Дѣло:Old Church Slavonic Wikipedia old font download notice.png|thumbnail|The former font-installation notice on the main page]]
Several fonts were tested.<ref name="fonts" /> The best results were obtained with FreeSerif for historical Cyrillic and Shafarik for Glagolitic. FreeSerif correctly renders prosodic marks, titla and superscript letters, while Shafarik correctly renders Glagolitic letters and their combining marks.
The proposed combination was tested on Windows with Edge, on Android with Chrome and Samsung Internet, and on iOS with Safari. In all of these environments both fonts rendered the tested characters correctly.
Dear colleagues, I therefore propose using FreeSerif for historical Cyrillic and Shafarik for Glagolitic, with both fonts applied automatically to every reader, immediately and without any prompt or additional action. This would be useful not only for the Old Church Slavonic Wikipedia, but also for other Wikimedia projects using Old Church Slavonic, especially Wikisource, where historical Cyrillic and Glagolitic letters, titla and other combining marks occur throughout the texts.
The image below shows the difference between the current rendering and the rendering obtained with FreeSerif and Shafarik.
[[Дѣло:Old Church Slavonic font rendering comparison FreeSerif Shafarik.png|thumbnail|Comparison of current and proposed rendering]]
If anyone supports the proposal, has another suggestion, or objects to it, please comment here. If there are no objections by 31 October, I will submit a request to Phabricator concerning correct Old Church Slavonic font rendering, primarily on the Old Church Slavonic Wikipedia and also on other Wikimedia projects, especially Wikisource.
=== По-русски ===
В настоящее время старославянские буквы не на всех системах отображаются правильно. Это касается как исторической кириллицы, так и глаголицы. Надстрочные знаки иногда оказываются не на своём месте, а титла и выносные буквы отображаются неправильно.
Например, искажённо могут отображаться ''ꙗ́ ѥ́ ѧ́ ѫ́ ꙑ́ ї́'', а также сочетания ''гд҃и'', ''гл҃а'', ''крⷭ҇тъ'', ''воскрⷭ҇нїе''. Подобная проблема возникает и у глаголических букв с просодическими знаками.
На главной странице до сих пор находится старое указание, предлагающее каждому читателю самостоятельно установить отдельную гарнитуру, чтобы буквы отображались правильно. Сейчас это решение уже не работает должным образом и перекладывает обеспечение правильного отображения на самого читателя.
[[Дѣло:Old Church Slavonic Wikipedia old font download notice.png|thumbnail|Прежнее указание на главной странице]]
Было испытано несколько гарнитур<ref name="fonts" />. Лучший результат дали FreeSerif для исторической кириллицы и Shafarik для глаголицы. FreeSerif правильно отображает просодические знаки, титла и выносные буквы, а Shafarik правильно отображает глаголические буквы и надстрочные знаки.
Предлагаемое сочетание было испытано в Windows с Edge, в Android с Chrome и Samsung Internet, а также в iOS с Safari. Во всех этих средах обе гарнитуры правильно отображали проверенные знаки.
Итак, дорогие коллеги, предлагаю использовать FreeSerif для исторической кириллицы, а Shafarik для глаголицы, причём обе гарнитуры должны применяться для каждого читателя автоматически, сразу, без запроса или каких-либо дополнительных действий с его стороны. Это необходимо не только для старославянской Википедии, но и для других проектов Wikimedia, использующих старославянский язык, особенно для Wikisource, где постоянно встречаются исторические кириллические и глаголические буквы, титла и другие надстрочные знаки.
На изображении ниже можно увидеть разницу между нынешним отображением и отображением с FreeSerif и Shafarik.
[[Дѣло:Old Church Slavonic font rendering comparison FreeSerif Shafarik.png|thumbnail|Сравнение нынешнего и предлагаемого отображения]]
Если вы поддерживаете это предложение, имеете иной совет или возражаете против него, прошу высказаться здесь. Если до 31 октября возражений не будет, я направлю в Phabricator запрос об исправлении отображения старославянских букв в старославянской Википедии и других наших проектах Wikimedia.
<references />
[[Польꙃєватєл҄ь:Qamen|Qamen]] ([[Польꙃєватєлꙗ бєсѣда:Qamen|бєсѣда]]) 19:12, октѡврїꙗ 12 числа, 2026 (UTC)
== Ново събраниѥ орѫдии ==
Сътворихомъ '''[[Википєдїꙗ:Орѫдиꙗ|събраниѥ орѫдии]]''' къ сътворѥниѭ и исправлѥниѭ страницъ Википєдїѩ ⁙ Нꙑнѣ въ нѥмь дъвѣ орѫдии ѥста · [[Обраꙁьць:Section numbering/doc|числєниѥ главъ]] и [[Обраꙁьць:Числєниѥ лѣтъ|числєниѥ лѣтъ]] ⁙ Прьвоѥ числитъ главꙑ · дроугоѥ покаꙁоуѥтъ нꙑнѣшьнии дьнь по трьмъ числєниѥмъ и прѣлагаѥтъ инꙑѩ дьни ⁙
При кождомь орѫдии ѥстъ кратъко повѣданиѥ и поучєниѥ ⁙ Ащє вѣси ино орѫдиѥ или самъ сътвориши таково · приложи ѥ къ събраниѭ да инии ѿ нѥго польꙃѫ приимѫтъ ⁙
<small lang="en">'''English.''' We have created a '''[[Википєдїꙗ:Орѫдиꙗ|catalogue of tools]]''' for creating and editing Wikipedia pages. It currently contains two tools: automatic section numbering and a calendar template that displays and converts dates between three calendar systems.
Each entry includes a brief description and documentation. If you know of another useful tool or have created one yourself, please add it to the catalogue so that others can benefit from it too.</small>
<small lang="ru">'''Русский.''' Создан '''[[Википєдїꙗ:Орѫдиꙗ|каталог инструментов]]''' для создания и редактирования страниц Википедии. Пока в нём представлены два инструмента: автоматическая нумерация разделов и календарный шаблон, отображающий и преобразующий даты между тремя системами летосчисления.
Каждый инструмент снабжён кратким описанием и документацией. Если вы знаете другие полезные инструменты или создали собственный, пожалуйста, добавьте его в каталог, чтобы им могли пользоваться и другие участники.</small>
[[Польꙃєватєл҄ь:Qamen|Qamen]] ([[Польꙃєватєлꙗ бєсѣда:Qamen|бєсѣда]]) 20:54, октѡврїꙗ 21 числа, 2026 (UTC)
4nta1twurbrmrclflcpx2oi74qzui2r
Википєдїꙗ:Новѣ съставлєна словєса
4
11183
88087
88052
2026-10-21T16:59:17Z
Qamen
30020
css correction
88087
wikitext
text/x-wiki
<templatestyles src="Section numbering/styles.css" />
__NEWSECTIONLINK__
{{Википєдїѩ бєсѣдꙑ}}
Сьдє да бєсѣдоуѥмъ ѡ новѣ съставлєнꙑхъ словєсѣхъ потрѣбьнꙑхъ на именованиѥ вєщии мира дьньшьнꙗѥго ⁙ Нова жє словєса съставлꙗѥма сѫтъ ащє нє имамꙑ таковꙑхъ въ вѣдомꙑхъ старословѣньскꙑхъ кънигахъ ⁙
Ѡ кождѣмь словеси да особь бєсѣдоуѥмъ ⁙ Подобаѥтъ покаꙁати чьто слово то знаменоуѥтъ и словєса въ инꙑхъ ѩꙁꙑцѣхъ · како съставлено ѥстъ и на чьмь ѥстъ ꙁиждимо · и члѣнꙑ въ нихъже оупотрѣблѥно ѥстъ ⁙
На страницѫ идєже нова словєса оупотрѣблѥна сѫтъ подобаѥтъ полагати дъщицѫ ѡ сємь ⁙ [[Template:Новѣ съставлєна словєса|Обраꙁьць дъщицꙑ]] · [[Template:Новѣ съставлєна словєса/doc|Како полагати дъщицѫ сиѭ]]
<div lang="en" style="font-size:85%; margin-top:1em; margin-bottom:1em;">
'''English'''
This page is for discussing newly formed words needed to describe the modern world. Such words are formed when no corresponding term is found in known Old Church Slavonic texts.
Create a separate section for each word. Give its meaning and equivalents in other languages, identifying each language by its code. Explain how the word was formed and cite the sources on which it is based. Link to the articles that use it.
Add a notice to any article that uses newly formed words. The links above lead to the notice template and instructions for using it.
</div>
== <span lang="cu" style="font-family:'Microsoft Sans Serif',sans-serif;">Обраꙁь́ць бєсѣ́дꙑ</span> ==
<pre>
== Слово ==
* '''Значєниѥ''' · ...
* '''Словєса въ инꙑхъ ѩꙁꙑцѣхъ''' · en <span lang="en">...</span> · el <span lang="ru">...</span> · cs <span lang="cs">...</span>
* '''Кънигꙑ''' · ...
* '''Почто потрѣбьно ѥсть''' · ...
* '''Како съставлено и на чьмь ꙁиждимо ѥстъ''' · ...
* '''Члѣнꙑ''' · [[...]]
~~~~
=== Бєсѣда ===
: ... ~~~~
</pre>
<div class="neologism-counter-start"></div>
== И́пїръ ==
* '''Значєниѥ''' · Вєлика чѧсть соушѧ
* //en// continent //la// continens //el// ήπειρος //cs// kontinent
* '''Како съставлено и на чьмь ꙁиждимо ѥстъ''' Слово приѧто ѿ єллиньскаго ἤπειρος ⁙ Слово сє оужє оупотрѣблѥно ѥстъ въ Википєдїи ⁙ Сьдє оубо приѥмлємъ прѣждє оупотрѣблѥно слово
* '''Члѣнꙑ''' · [[Асїꙗ]] · [[Афрїка]] · [[Южьна Амєрїка]] · [[Єѵрѡпа]] · [[Аѵстралїꙗ и Ѡкєанїꙗ]] · нꙑнѣ такождє [[Морє]]
[[Польꙃєватєл҄ь:Qamen|Qamen]] ([[Польꙃєватєлꙗ бєсѣда:Qamen|бєсѣда]]) 18:18, октѡврїꙗ 8 числа, 2026 (UTC)
=== Бєсѣдѣ мѣсто ===
== Єлє́ктрина ==
* '''Значєниѥ''' · Сила ѥѭжє людиѥ свѣтъ и тєплотѫ творѧтъ
* '''Словєса въ инꙑхъ ѩꙁꙑцѣхъ''' · //en// electricity; //el// ηλεκτρισμός; //cs// elektřina
* '''Како съставлено и на чьмь ꙁиждимо ѥстъ''' Избираахъ по словєсємъ въ инꙑхъ ѩꙁꙑцѣхъ · *илєктрисмъ или *єлєктриꙁмъ el <span lang="el">ηλεκτρισμός</span> · балк. electricitet · ru <span lang="ru">электричество</span> · cs <span lang="cs">elektřina</span>
* '''Члѣнꙑ''' · [[Морє]]
* Такожде имѧ прилагательноѥ ''єлє́ктриньнъ'', ꙁри [[Вѣтръ]]
[[Польꙃєватєл҄ь:Qamen|Qamen]] ([[Польꙃєватєлꙗ бєсѣда:Qamen|бєсѣда]]) 18:18, октѡврїꙗ 8 числа, 2026 (UTC)
=== Бєсѣдѣ мѣсто ===
nlxlav5yfawf4yfrl7qdo52m7n8btak
88094
88087
2026-10-21T17:59:56Z
Qamen
30020
88094
wikitext
text/x-wiki
<templatestyles src="Section numbering/styles.css" />
__NEWSECTIONLINK__
{{Википєдїѩ бєсѣдꙑ}}
Сьдє да бєсѣдоуѥмъ ѡ новѣ съставлєнꙑхъ словєсѣхъ потрѣбьнꙑхъ на именованиѥ вєщии мира дьньшьнꙗѥго ⁙ Нова жє словєса съставлꙗѥма сѫтъ ащє нє имамꙑ таковꙑхъ въ вѣдомꙑхъ старословѣньскꙑхъ кънигахъ ⁙
Ѡ кождѣмь словеси да особь бєсѣдоуѥмъ ⁙ Подобаѥтъ покаꙁати чьто слово то знаменоуѥтъ и словєса въ инꙑхъ ѩꙁꙑцѣхъ · како съставлено ѥстъ и на чьмь ѥстъ ꙁиждимо · и члѣнꙑ въ нихъже оупотрѣблѥно ѥстъ ⁙
На страницѫ идєже нова словєса оупотрѣблѥна сѫтъ подобаѥтъ полагати дъщицѫ ѡ сємь ⁙ [[Template:Новѣ съставлєна словєса|Обраꙁьць дъщицꙑ]] · [[Template:Новѣ съставлєна словєса/doc|Како полагати дъщицѫ сиѭ]]
<div lang="en" style="font-size:85%; margin-top:1em; margin-bottom:1em;">
'''English'''
This page is for discussing newly formed words needed to describe the modern world. Such words are formed when no corresponding term is found in known Old Church Slavonic texts.
Create a separate section for each word. Give its meaning and equivalents in other languages, identifying each language by its code. Explain how the word was formed and cite the sources on which it is based. Link to the articles that use it.
Add a notice to any article that uses newly formed words. The links above lead to the notice template and instructions for using it.
</div>
== <span lang="cu" style="font-family:'Microsoft Sans Serif',sans-serif;">Обраꙁьць бєсѣ́дꙑ</span> ==
<pre>
== Слово ==
* '''Значєниѥ''' · ...
* '''Словєса въ инꙑхъ ѩꙁꙑцѣхъ''' · en <span lang="en">...</span> · el <span lang="ru">...</span> · cs <span lang="cs">...</span>
* '''Кънигꙑ''' · ...
* '''Почто потрѣбьно ѥсть''' · ...
* '''Како съставлено и на чьмь ꙁиждимо ѥстъ''' · ...
* '''Члѣнꙑ''' · [[...]]
~~~~
=== Бєсѣда ===
: ... ~~~~
</pre>
<div class="numbering-counter-start"></div>
== И́пїръ ==
* '''Значєниѥ''' · Вєлика чѧсть соушѧ
* //en// continent //la// continens //el// ήπειρος //cs// kontinent
* '''Како съставлено и на чьмь ꙁиждимо ѥстъ''' Слово приѧто ѿ єллиньскаго ἤπειρος ⁙ Слово сє оужє оупотрѣблѥно ѥстъ въ Википєдїи ⁙ Сьдє оубо приѥмлємъ прѣждє оупотрѣблѥно слово
* '''Члѣнꙑ''' · [[Асїꙗ]] · [[Афрїка]] · [[Южьна Амєрїка]] · [[Єѵрѡпа]] · [[Аѵстралїꙗ и Ѡкєанїꙗ]] · нꙑнѣ такождє [[Морє]]
[[Польꙃєватєл҄ь:Qamen|Qamen]] ([[Польꙃєватєлꙗ бєсѣда:Qamen|бєсѣда]]) 18:18, октѡврїꙗ 8 числа, 2026 (UTC)
=== Бєсѣдѣ мѣсто ===
== Єлє́ктрина ==
* '''Значєниѥ''' · Сила ѥѭжє людиѥ свѣтъ и тєплотѫ творѧтъ
* '''Словєса въ инꙑхъ ѩꙁꙑцѣхъ''' · //en// electricity; //el// ηλεκτρισμός; //cs// elektřina
* '''Како съставлено и на чьмь ꙁиждимо ѥстъ''' Избираахъ по словєсємъ въ инꙑхъ ѩꙁꙑцѣхъ · *илєктрисмъ или *єлєктриꙁмъ el <span lang="el">ηλεκτρισμός</span> · балк. electricitet · ru <span lang="ru">электричество</span> · cs <span lang="cs">elektřina</span>
* '''Члѣнꙑ''' · [[Морє]]
* Такожде имѧ прилагательноѥ ''єлє́ктриньнъ'', ꙁри [[Вѣтръ]]
[[Польꙃєватєл҄ь:Qamen|Qamen]] ([[Польꙃєватєлꙗ бєсѣда:Qamen|бєсѣда]]) 18:18, октѡврїꙗ 8 числа, 2026 (UTC)
=== Бєсѣдѣ мѣсто ===
hnki0ekcq2clmlh3wv9rkigu4ws7xgj
88113
88094
2026-10-22T10:43:12Z
Qamen
30020
88113
wikitext
text/x-wiki
<templatestyles src="Section numbering/styles.css" />
__NEWSECTIONLINK__
{{Википєдїѩ бєсѣдꙑ}}
Сьдє да бєсѣдоуѥмъ ѡ новѣ съставлєнꙑхъ словєсѣхъ потрѣбьнꙑхъ на именованиѥ вєщии мира дьньшьнꙗѥго ⁙ Нова жє словєса съставлꙗѥма сѫтъ ащє нє имамꙑ таковꙑхъ въ вѣдомꙑхъ старословѣньскꙑхъ кънигахъ ⁙
Ѡ кождѣмь словеси да особь бєсѣдоуѥмъ ⁙ Подобаѥтъ покаꙁати чьто слово то знаменоуѥтъ и словєса въ инꙑхъ ѩꙁꙑцѣхъ · како съставлено ѥстъ и на чьмь ѥстъ ꙁиждимо · и члѣнꙑ въ нихъже оупотрѣблѥно ѥстъ ⁙
На страницѫ идєже нова словєса оупотрѣблѥна сѫтъ подобаѥтъ полагати дъщицѫ ѡ сємь ⁙ [[Template:Новѣ съставлєна словєса|Обраꙁьць дъщицꙑ]] · [[Template:Новѣ съставлєна словєса/doc|Како полагати дъщицѫ сиѭ]]
<div lang="en" style="font-size:85%; margin-top:1em; margin-bottom:1em;">
'''English'''
This page is for discussing newly formed words needed to describe the modern world. Such words are formed when no corresponding term is found in known Old Church Slavonic texts.
Create a separate section for each word. Give its meaning and equivalents in other languages, identifying each language by its code. Explain how the word was formed and cite the sources on which it is based. Link to the articles that use it.
Add a notice to any article that uses newly formed words. The links above lead to the notice template and instructions for using it.
</div>
== <span lang="cu" style="font-family:'Microsoft Sans Serif',sans-serif;">◇ Обраꙁьць бєсѣ́дꙑ</span> ==
<pre>
== Слово ==
* '''Значєниѥ''' · ...
* '''Словєса въ инꙑхъ ѩꙁꙑцѣхъ''' · en <span lang="en">...</span> · el <span lang="ru">...</span> · cs <span lang="cs">...</span>
* '''Кънигꙑ''' · ...
* '''Почто потрѣбьно ѥсть''' · ...
* '''Како съставлено и на чьмь ꙁиждимо ѥстъ''' · ...
* '''Члѣнꙑ''' · [[...]]
~~~~
=== Бєсѣда ===
: ... ~~~~
</pre>
<div class="numbering-counter-start"></div>
== И́пїръ ==
* '''Значєниѥ''' · Вєлика чѧсть соушѧ
* //en// continent //la// continens //el// ήπειρος //cs// kontinent
* '''Како съставлено и на чьмь ꙁиждимо ѥстъ''' Слово приѧто ѿ єллиньскаго ἤπειρος ⁙ Слово сє оужє оупотрѣблѥно ѥстъ въ Википєдїи ⁙ Сьдє оубо приѥмлємъ прѣждє оупотрѣблѥно слово
* '''Члѣнꙑ''' · [[Асїꙗ]] · [[Афрїка]] · [[Южьна Амєрїка]] · [[Єѵрѡпа]] · [[Аѵстралїꙗ и Ѡкєанїꙗ]] · нꙑнѣ такождє [[Морє]]
[[Польꙃєватєл҄ь:Qamen|Qamen]] ([[Польꙃєватєлꙗ бєсѣда:Qamen|бєсѣда]]) 18:18, октѡврїꙗ 8 числа, 2026 (UTC)
=== Бєсѣдѣ мѣсто ===
== Єлє́ктрина ==
* '''Значєниѥ''' · Сила ѥѭжє людиѥ свѣтъ и тєплотѫ творѧтъ
* '''Словєса въ инꙑхъ ѩꙁꙑцѣхъ''' · //en// electricity; //el// ηλεκτρισμός; //cs// elektřina
* '''Како съставлено и на чьмь ꙁиждимо ѥстъ''' Избираахъ по словєсємъ въ инꙑхъ ѩꙁꙑцѣхъ · *илєктрисмъ или *єлєктриꙁмъ el <span lang="el">ηλεκτρισμός</span> · балк. electricitet · ru <span lang="ru">электричество</span> · cs <span lang="cs">elektřina</span>
* '''Члѣнꙑ''' · [[Морє]]
* Такожде имѧ прилагательноѥ ''єлє́ктриньнъ'', ꙁри [[Вѣтръ]]
[[Польꙃєватєл҄ь:Qamen|Qamen]] ([[Польꙃєватєлꙗ бєсѣда:Qamen|бєсѣда]]) 18:18, октѡврїꙗ 8 числа, 2026 (UTC)
=== Бєсѣдѣ мѣсто ===
qe5idhptkjmynuzsixepdbfttnuwvci
Обраꙁьць:Section numbering/styles.css
10
11188
88086
88013
2026-10-21T16:57:18Z
Qamen
30020
Qamen нарєчє страницѫ ⁖ [[Обраꙁьць:Neologism cases/styles.css]] ⁖ имєньмь ⁖ [[Обраꙁьць:Section numbering/styles.css]] ⁖ бєꙁ прѣнаправлєниꙗ сътворѥниꙗ: Univerzalizace
88013
sanitized-css
text/css
section[data-mw-section-id="0"],
.neologism-counter-start {
counter-reset: neologism-case 0;
}
h2:not([id="Обраꙁь́ць_бєсѣ́дꙑ"])::before {
counter-increment: neologism-case;
content: counter(neologism-case) ". ";
}
ncgnbybb5ghwrsrn6h2q130ya56imjx
88089
88086
2026-10-21T17:43:14Z
Qamen
30020
88089
sanitized-css
text/css
section[data-mw-section-id="0"],
.numbering-counter-start {
counter-reset: numbering-case 0;
}
h36k2fzl81s39k76pc7g1qbcq3akq3j
88090
88089
2026-10-21T17:46:31Z
Qamen
30020
88090
sanitized-css
text/css
section[data-mw-section-id="0"],
.numbering-counter-start {
counter-reset: numbering-case 0;
}
h2::before {
counter-increment: numbering-case;
content: counter(numbering-case) ". ";
}
hclan9aza207z1v2z88y8y528lkjorb
88091
88090
2026-10-21T17:49:59Z
Qamen
30020
88091
sanitized-css
text/css
section[data-mw-section-id="0"],
.numbering-counter-start {
counter-reset: numbering-case 0;
}
.numbering-counter-start ~ .mw-heading2 h2::before,
.numbering-counter-start ~ h2::before {
counter-increment: numbering-case;
content: counter(numbering-case) ". ";
}
bsg37dnzjryzr4i2ipq6qaxgp0pyuqa
88092
88091
2026-10-21T17:52:27Z
Qamen
30020
88092
sanitized-css
text/css
section[data-mw-section-id="0"],
.numbering-counter-start {
counter-reset: numbering-case 0;
}
h2::before {
counter-increment: numbering-case;
content: counter(numbering-case) ". ";
}
hclan9aza207z1v2z88y8y528lkjorb
88093
88092
2026-10-21T17:57:41Z
Qamen
30020
88093
sanitized-css
text/css
section[data-mw-section-id="0"],
.numbering-counter-start {
counter-reset: numbering-case 0;
}
h2:not([id^="Обраꙁьць"])::before {
counter-increment: numbering-case;
content: counter(numbering-case) ". ";
}
esw4zu20b97ez545g1qb2hghn04jeht
88112
88093
2026-10-22T10:42:13Z
Qamen
30020
88112
sanitized-css
text/css
section[data-mw-section-id="0"],
.numbering-counter-start {
counter-reset: numbering-case 0;
}
h2:not([id^="◇"])::before {
counter-increment: numbering-case;
content: counter(numbering-case) ". ";
}
jbroqcrw89bmfszlzhh7jgkim2i3q44
Польꙃєватєл҄ь:Qamen
2
11190
88101
88026
2026-10-21T21:12:30Z
Qamen
30020
88101
wikitext
text/x-wiki
[[Дѣло:Drop cap Q.png|right|90px]]
ⰈⰄⰓⰀⰂⰋ ⰁⰨⰄⰡⰕⰅ ⰂⰟⰈⰎⰣⰁⰎⰅⰐⰋⰋ ⁙
ⰋⰏⰤ ⰏⰋ ⰈⰄⰡ ''Qamen'' ⰅⰔⰕⰟ · ⰖⰝⰤⰔⰕⰠⰐⰋⰍⰟ ⰅⰔⰏⰠ ⰔⰅⰧ ⰂⰋⰍⰋⰒⰅⰄⰉⰋ ⁙
ⰎⰣⰁⰎⰩ ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟⰋⰋ ⰧⰈⰟⰋⰍⰟ Ⰻ ⰂⰔⰤ ⰡⰆⰅ ⰍⰟ ⰐⰅⰏⰖ ⰒⰓⰋⰎⰅⰆⰤⰕⰟ · ⰕⰀⰍⰑⰆⰄⰅ ⰎⰣⰁⰎⰩ ⰧⰄⰠ ⰂⰀⰓⰋⰕⰋ Ⰻ ⰈⰓⰡⰕⰋ ⰍⰀⰍⰑ ⰋⰐⰟ ⰝⰎⰑⰂⰡⰍⰟ ⰔⰟ ⰕⰛⰀⰐⰋⰅⰏⰠ ⰄⰡⰎⰑ ⰔⰂⰑⰅ ⰕⰂⰑⰓⰋⰕⰟ ⁙
''ⰍⰎⰀⰐⰡⰩ ⰔⰤ · '''Q'''''
<br clear="all">
<div style="text-align:right;">[[Оучастьник:Qamen/Пѣсъкъница|ⱂⱑⱄⱏⰽⱏⱀⰻⱌⰰ]]</div>
im76b6y0mdk8zlcwyp35k58obd10ab4
Обраꙁьць:Section numbering/doc
10
11204
88095
2026-10-21T19:39:58Z
Qamen
30020
Числєниѥ главъ
88095
wikitext
text/x-wiki
'''Числєниѥ главъ''' ѥстъ обраꙁьць ижє числитъ главꙑ страницѧ по рѧдоу ⁙ Числа прѣдъ надъписании главъ ꙗвлѥна сѫтъ · въ самꙑхъ жє надъписаниихъ ихъ нѣсть ⁙
== Како дѣѥтъ ==
Обраꙁьць даѥтъ числа главамъ съ ꙁнамєньми <code>== ... ==</code> · нъ главамъ съ ꙁнамєньми <code>=== ... ===</code> числъ нє даѥтъ ⁙
=== Главꙑ бєꙁ числа ===
Ащє имѧ главꙑ имать въ начѧлѣ слово <code>Обраꙁьць</code> · обраꙁьць нє даѥтъ сєи главѣ числа и въ рѧдъ ѭ нє вълагаѥтъ ⁙ Слово сиѥ пиши бєꙁ просодии ⁙
== Како оупотрѣбити ==
Въ начѧлѣ страницѧ въпиши:
<pre><nowiki><templatestyles src="Section numbering/styles.css" /></nowiki></pre>
Посємь пиши главꙑ обꙑчьнꙑмь обраꙁомь:
<pre><nowiki>== Обраꙁьць бєсѣдꙑ ==
== Прьва глава ==
== Вътора глава ==</nowiki></pre>
Ащє имѧ прьвꙑѩ главꙑ имать въ начѧлѣ слово <code>Обраꙁьць</code> · тако бѫдєтъ сиꙗ глава бєꙁ числа · прочиѩ приимѫтъ числа 1 и 2 ⁙
== Како пакꙑ начѧти ѿ 1 ==
Ащє хощєши пакꙑ начѧти числєниѥ ѿ 1 · въпиши прѣдъ тоѭ главоѭ:
<pre><nowiki><div class="numbering-counter-start"></div></nowiki></pre>
Сѥ ꙁнамєниѥ нѣсть потрѣбьно къ прьвомоу числєниѭ ⁙ Прѣждьниѩ главꙑ остаѭтъ при своихъ числѣхъ · слѣдоуѭщаꙗ глава приѥмлѥтъ число 1 ⁙ Ащє положиши сѥ ꙁнамєниѥ пакꙑ · обраꙁьць пакꙑ начьнєтъ числєниѥ ѿ 1 ⁙
== English ==
'''Section numbering''' automatically numbers page sections in sequence. CSS displays each number before its heading; the number is not part of the heading text.
=== Default behavior ===
Numbering begins automatically with the first eligible second-level heading. Headings written as <code>== ... ==</code> are numbered. Lower-level headings such as <code>=== ... ===</code> are not.
=== Excluded headings ===
A heading whose identifier starts with <code>Обраꙁьць</code> is excluded: it receives no number and does not advance the counter. Write this word without an accent mark.
=== Usage ===
Add the following line near the beginning of the page:
<pre><nowiki><templatestyles src="Section numbering/styles.css" /></nowiki></pre>
Then write headings normally:
<pre><nowiki>== Обраꙁьць бєсѣдꙑ ==
== First section ==
== Second section ==</nowiki></pre>
The first heading is unnumbered. The next two are displayed as 1 and 2. Do not enter numbers manually.
=== Restarting from 1 (optional) ===
To restart numbering from 1, insert this line before the next section:
<pre><nowiki><div class="numbering-counter-start"></div></nowiki></pre>
No marker is needed to begin numbering. Earlier numbered headings retain their numbers; the next eligible heading receives number 1. Repeating the marker restarts numbering again.
The stylesheet is maintained at [[Обраꙁьць:Section numbering/styles.css]]. The mechanism uses CSS counters and does not require JavaScript.
2s3hz9m8li5g56uxjrfs819cyh8e9kg
88114
88095
2026-10-22T10:52:00Z
Qamen
30020
◇ added
88114
wikitext
text/x-wiki
'''Числєниѥ главъ''' ѥстъ обраꙁьць ижє числитъ главꙑ страницѧ по рѧдоу ⁙ Числа прѣдъ надъписании главъ ꙗвлѥна сѫтъ · въ самꙑхъ жє надъписаниихъ ихъ нѣсть ⁙
== Како дѣѥтъ ==
Обраꙁьць даѥтъ числа главамъ съ ꙁнамєньми <code>== ... ==</code> · нъ главамъ съ ꙁнамєньми <code>=== ... ===</code> числъ нє даѥтъ ⁙
=== Главꙑ бєꙁ числа ===
Ащє положиши ꙁнамєниѥ <code>◇</code> въ начѧлѣ имєни главꙑ · обраꙁьць нє даѥтъ сєи главѣ числа и въ рѧдъ ѭ нє вълагаѥтъ ⁙
== Како оупотрѣбити ==
Въ начѧлѣ страницѧ въпиши:
<pre><nowiki><templatestyles src="Section numbering/styles.css" /></nowiki></pre>
Посємь пиши главꙑ обꙑчьнꙑмь обраꙁомь:
<pre><nowiki>
== ◇ Обраꙁьць бєсѣдꙑ ==
== Прьва глава ==
== Вътора глава ==
</nowiki></pre>
Ащє прѣдъ имєнємь прьвꙑѩ главꙑ положиши ꙁнамєниѥ <code>◇</code> · тако бѫдєтъ сиꙗ глава бєꙁ числа · прочиѩ приимѫтъ числа 1 и 2 ⁙
== Како пакꙑ начѧти ѿ 1 ==
Ащє хощєши пакꙑ начѧти числєниѥ ѿ 1 · въпиши прѣдъ тоѭ главоѭ:
<pre><nowiki><div class="numbering-counter-start"></div></nowiki></pre>
Сѥ ꙁнамєниѥ нѣсть потрѣбьно къ прьвомоу числєниѭ ⁙ Прѣждьниѩ главꙑ остаѭтъ при своихъ числѣхъ · слѣдоуѭщаꙗ глава приѥмлѥтъ число 1 ⁙ Ащє положиши сѥ ꙁнамєниѥ пакꙑ · обраꙁьць пакꙑ начьнєтъ числєниѥ ѿ 1 ⁙
== English ==
'''Section numbering''' automatically numbers page sections in sequence. CSS displays each number before its heading; the number is not part of the heading text.
=== Default behavior ===
Numbering begins automatically with the first eligible second-level heading. Headings written as <code>== ... ==</code> are numbered. Lower-level headings such as <code>=== ... ===</code> are not.
=== Excluded headings ===
A heading that begins with the <code>◇</code> marker is excluded: it receives no number and does not advance the counter. Place the marker before the first word of the heading.
=== Usage ===
Add the following line near the beginning of the page:
<pre><nowiki><templatestyles src="Section numbering/styles.css" /></nowiki></pre>
Then write headings normally:
<pre><nowiki>
== ◇ Example section ==
== First section ==
== Second section ==
</nowiki></pre>
The first heading is unnumbered. The next two are displayed as 1 and 2. Do not enter numbers manually.
=== Restarting from 1 (optional) ===
To restart numbering from 1, insert this line before the next section:
<pre><nowiki><div class="numbering-counter-start"></div></nowiki></pre>
No marker is needed to begin numbering. Earlier numbered headings retain their numbers; the next eligible heading receives number 1. Repeating the marker restarts numbering again.
The stylesheet is maintained at [[Обраꙁьць:Section numbering/styles.css]]. The mechanism uses CSS counters and does not require JavaScript.
3n0l67xubsc194b6sbbm88wj758cfnk
Обраꙁьць:Section numbering
10
11205
88096
2026-10-21T19:42:46Z
Qamen
30020
нова страница ⁖ <noinclude>{{/doc}}</noinclude> ⁖ сътворєна ѥстъ
88096
wikitext
text/x-wiki
<noinclude>{{/doc}}</noinclude>
ozlu419d4c0szharx54q2ck72nqwtxt
Википєдїꙗ:Орѫдиꙗ
4
11206
88097
2026-10-21T20:22:25Z
Qamen
30020
Википєдїꙗ:Орѫдиꙗ ⁖
88097
wikitext
text/x-wiki
На сєи страницѣ събрана орѫдиꙗ къ сътворѥниѭ и исправлѥниѭ страницъ Википєдїѩ ⁙ При кождомь орѫдии ѥстъ кратъко повѣданиѥ и съвѧꙁь къ поучєниѭ ⁙
<small lang="en">This page lists reusable tools for creating and editing pages in the Old Church Slavonic Wikipedia. Each entry provides a description and a link to its documentation.</small>
{| class="wikitable" style="width:100%"
! Имѧ<br /><small lang="en">Name</small>
! Родъ<br /><small lang="en">Type</small>
! Дѣло<br /><small lang="en">Purpose</small>
! Поучєниѥ<br /><small lang="en">Documentation</small>
|-
| '''Числєниѥ главъ'''<br /><code>Обраꙁьць:Section numbering</code>
| CSS / TemplateStyles
| Числитъ главꙑ страницѧ по рѧдоу · можєтъ пакꙑ начѧти числєниѥ ѿ 1 ⁙<br /><small lang="en">Automatically numbers sections and can restart numbering from 1.</small>
| [[Обраꙁьць:Section numbering/doc|Поучєниѥ / Documentation]]
|-
| '''Числєниѥ лѣтъ'''<br /><code>Обраꙁьць:Числєниѥ лѣтъ</code>
| Обраꙁьць и Lua<br /><small lang="en">Template + Lua</small>
| Покаꙁоуѥтъ нꙑнѣшьнии дьнь по трьмъ числєниѥмъ и прѣлагаѥтъ инꙑѩ дьни ѿ ѥдинаго числєниꙗ къ дроугомоу ⁙<br /><small lang="en">Displays the current date in three calendar systems and converts specified dates between them.</small>
| [[Обраꙁьць:Числєниѥ лѣтъ|Поучєниѥ / Documentation]]
|}
Дроужє · ащє вѣси ино орѫдиѥ ѥгожє нѣсть въ сємь събрании или самъ сътвориши таково · приложи ѥ сѣмо да вьси ѿ нѥго польꙃѫ приимѫтъ и радоуѭтъ сѧ и ти благодарѧтъ ⁙
<small lang="en">Dear friend, if you know of another tool not yet listed here, or have created one yourself, please add it to this catalogue so that everyone may benefit from it, rejoice, and thank you!</small>
hrwpthmcfu7tmddjgb1jqqpj1ngrqkg
Module:Вѣси ли/config
828
11207
88102
2026-10-21T22:18:35Z
Qamen
30020
ovládací prvky
88102
Scribunto
text/plain
return {
enabled = false,
start_date = "",
period_unit = "months",
period_length = 1,
facts_total = 3,
facts_fresh = 2,
facts_archive = 1,
images_total = 1,
image_width_px = 120,
image_max_height_px = 150,
avoid_previous_issue = true,
manual_fact_ids = {},
}
mplbmi2jnon8sljevk4qs33wddre9va
Module:Вѣси ли/data
828
11208
88103
2026-10-21T22:23:41Z
Qamen
30020
Fakta pro sekci „Věděli jste?“
88103
Scribunto
text/plain
-- Approved facts for the "Вѣси ли;" section.
-- New facts must have unique, permanent IDs.
-- Published IDs must never be reused.
return {
schema_version = 1,
facts = {
},
}
1jc46u3g4d6ibr9uc1wkuwguch02v13
88104
88103
2026-10-21T22:41:26Z
Qamen
30020
tři již zveřejněná fakta
88104
Scribunto
text/plain
-- Approved facts for the "Вѣси ли;" section.
-- IDs are permanent and must never be reused.
-- Legacy facts preserve their original wording.
-- Source template revision: 84693 (2023-09-16).
return {
schema_version = 1,
facts = {
{
id = 1,
text = "Поѩтиѥ ⁖ '''[[съпѫтьникъ]] планитꙑ''' ⁖ [[Нѣмьци|нѣмьчьскъ]] астрономъ Їѡаннъ Кєплєръ напрьва въвѣдє ⁙",
article = "съпѫтьникъ",
source = "",
image = "",
caption = "",
first_issue = 1,
previously_published = true,
origin_revision = 84693,
},
{
id = 2,
text = "Дєвѧть дєсѧтинъ острова '''[[Грѣнълѧдъ|Грѣналѧда]]''' льдꙗнꙑимь щитомь покрꙑта ѥстъ ⁙",
article = "Грѣнълѧдъ",
source = "",
image = "",
caption = "",
first_issue = 1,
previously_published = true,
origin_revision = 84693,
},
{
id = 3,
text = "[[Антарктїка|Антарктїцѣ]] '''[[Мꙑсъ Кралꙗ Єдоуарда|британьскꙑ сєлѥниꙗ]]''' расъположѥнꙑ сѫтъ ⁙",
article = "Мꙑсъ Кралꙗ Єдоуарда",
source = "",
image = "King_Edward_Point_on_South_Georgia_1.jpg",
caption = "Мꙑсъ Кралꙗ Єдоуарда",
first_issue = 1,
previously_published = true,
origin_revision = 84693,
},
},
}
46lxofc6h96ccddygm17fcaykora59v
88107
88104
2026-10-21T23:19:44Z
Qamen
30020
88107
Scribunto
text/plain
-- Approved facts for the "Вѣси ли;" section.
-- IDs are permanent and must never be reused.
-- Legacy facts preserve their original wording.
-- Source template revision: 84693 (2023-09-16).
return {
schema_version = 1,
facts = {
{
id = 1,
text = "Поѩтиѥ ⁖ '''[[съпѫтьникъ]] планитꙑ''' ⁖ [[Нѣмьци|нѣмьчьскъ]] астрономъ Їѡаннъ Кєплєръ напрьва въвѣдє ⁙",
article = "съпѫтьникъ",
source = "",
image = "JKepler.jpg",
caption = "Їѡаннъ Кєплєръ",
first_issue = 1,
previously_published = true,
origin_revision = 84693,
},
{
id = 2,
text = "Дєвѧть дєсѧтинъ острова '''[[Грѣнълѧдъ|Грѣналѧда]]''' льдꙗнꙑимь щитомь покрꙑта ѥстъ ⁙",
article = "Грѣнълѧдъ",
source = "",
image = "Greenland-ice sheet hg.jpg",
caption = "",
first_issue = 1,
previously_published = true,
origin_revision = 84693,
},
{
id = 3,
text = "[[Антарктїка|Антарктїцѣ]] '''[[Мꙑсъ Кралꙗ Єдоуарда|британьскꙑ сєлѥниꙗ]]''' расъположѥнꙑ сѫтъ ⁙",
article = "Мꙑсъ Кралꙗ Єдоуарда",
source = "Льдꙗнъ щитъ Грѣналѧда",
image = "King_Edward_Point_on_South_Georgia_1.jpg",
caption = "Мꙑсъ Кралꙗ Єдоуарда",
first_issue = 1,
previously_published = true,
origin_revision = 84693,
},
},
}
q4ef8fj32p3evozdkjwvcemtooqs7q6
88110
88107
2026-10-21T23:34:39Z
Qamen
30020
88110
Scribunto
text/plain
-- Approved facts for the "Вѣси ли;" section.
-- IDs are permanent and must never be reused.
-- Legacy facts preserve their original wording.
-- Source template revision: 84693 (2023-09-16).
return {
schema_version = 1,
facts = {
{
id = 1,
text = "Поѩтиѥ ⁖ '''[[съпѫтьникъ]] планитꙑ''' ⁖ [[Нѣмьци|нѣмьчьскъ]] астрономъ Їѡаннъ Кєплєръ напрьва въвѣдє ⁙",
article = "съпѫтьникъ",
source = "",
image = "JKepler.jpg",
caption = "Їѡаннъ Кєплєръ",
first_issue = 1,
previously_published = true,
origin_revision = 84693,
},
{
id = 2,
text = "Дєвѧть дєсѧтинъ острова '''[[Грѣнълѧдъ|Грѣналѧда]]''' льдꙗнꙑимь щитомь покрꙑта ѥстъ ⁙",
article = "съпѫтьникъ",
source = "",
image = "Greenland-ice sheet hg.jpg",
caption = "",
first_issue = 1,
previously_published = true,
origin_revision = 84693,
},
{
id = 3,
text = "[[Антарктїка|Антарктїцѣ]] '''[[Мꙑсъ Кралꙗ Єдоуарда|британьскꙑ сєлѥниꙗ]]''' расъположѥнꙑ сѫтъ ⁙",
article = "Мꙑсъ Кралꙗ Єдоуарда",
source = "Льдꙗнъ щитъ Грѣналѧда",
image = "King_Edward_Point_on_South_Georgia_1.jpg",
caption = "Мꙑсъ Кралꙗ Єдоуарда",
first_issue = 1,
previously_published = true,
origin_revision = 84693,
},
},
}
00tpdg09i8cd4xyv6jhh4h054f8apa1
88111
88110
2026-10-21T23:35:33Z
Qamen
30020
88111
Scribunto
text/plain
-- Approved facts for the "Вѣси ли;" section.
-- IDs are permanent and must never be reused.
-- Legacy facts preserve their original wording.
-- Source template revision: 84693 (2023-09-16).
return {
schema_version = 1,
facts = {
{
id = 1,
text = "Поѩтиѥ ⁖ '''[[съпѫтьникъ]] планитꙑ''' ⁖ [[Нѣмьци|нѣмьчьскъ]] астрономъ Їѡаннъ Кєплєръ напрьва въвѣдє ⁙",
article = "съпѫтьникъ",
source = "",
image = "JKepler.jpg",
caption = "Їѡаннъ Кєплєръ",
first_issue = 1,
previously_published = true,
origin_revision = 84693,
},
{
id = 2,
text = "Дєвѧть дєсѧтинъ острова '''[[Грѣнълѧдъ|Грѣналѧда]]''' льдꙗнꙑимь щитомь покрꙑта ѥстъ ⁙",
article = "Грѣнълѧдъ",
source = "",
image = "Greenland-ice sheet hg.jpg",
caption = "",
first_issue = 1,
previously_published = true,
origin_revision = 84693,
},
{
id = 3,
text = "[[Антарктїка|Антарктїцѣ]] '''[[Мꙑсъ Кралꙗ Єдоуарда|британьскꙑ сєлѥниꙗ]]''' расъположѥнꙑ сѫтъ ⁙",
article = "Мꙑсъ Кралꙗ Єдоуарда",
source = "Льдꙗнъ щитъ Грѣналѧда",
image = "King_Edward_Point_on_South_Georgia_1.jpg",
caption = "Мꙑсъ Кралꙗ Єдоуарда",
first_issue = 1,
previously_published = true,
origin_revision = 84693,
},
},
}
q4ef8fj32p3evozdkjwvcemtooqs7q6
Module:Вѣси ли
828
11209
88105
2026-10-21T22:49:41Z
Qamen
30020
hlavní mechanismus rotace faktů
88105
Scribunto
text/plain
-- Monthly facts rotation for the "Вѣси ли;" section.
-- Historical output is reproducible if IDs, content and first_issue are stable.
local p = {}
local cfg = mw.loadData('Module:Вѣси ли/config')
local db = mw.loadData('Module:Вѣси ли/data')
local function positiveInt(value, fallback)
local n = tonumber(value)
if not n then return fallback end
return math.max(0, math.floor(n))
end
local function leapYear(year)
return year % 4 == 0 and (year % 100 ~= 0 or year % 400 == 0)
end
local function daysInMonth(year, month)
local days = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
return days[month] + ((month == 2 and leapYear(year)) and 1 or 0)
end
local function ordinal(year, month, day)
local offsets = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}
local y = year - 1
return 365 * y + math.floor(y / 4) - math.floor(y / 100)
+ math.floor(y / 400) + offsets[month] + day
+ ((month > 2 and leapYear(year)) and 1 or 0)
end
local function parseDate(value)
if type(value) ~= 'string' then return nil end
local y, m, d = value:match('^(%d%d%d%d)%-(%d%d)%-(%d%d)$')
y, m, d = tonumber(y), tonumber(m), tonumber(d)
if not y or not m or not d or y < 1 or m < 1 or m > 12 then
return nil
end
if d < 1 or d > daysInMonth(y, m) then return nil end
return {year = y, month = m, day = d}
end
local function getIssue(startDate, today)
if not startDate then return nil end
local startOrd = ordinal(startDate.year, startDate.month, startDate.day)
local nowOrd = ordinal(today.year, today.month, today.day)
if nowOrd < startOrd then return nil end
local length = math.max(1, positiveInt(cfg.period_length, 1))
if cfg.period_unit == 'months' then
local elapsed = (today.year - startDate.year) * 12
+ today.month - startDate.month
local anchorMonth = startDate.month - 1 + elapsed
local anchorYear = startDate.year + math.floor(anchorMonth / 12)
anchorMonth = anchorMonth % 12 + 1
local anchorDay = math.min(startDate.day, daysInMonth(anchorYear, anchorMonth))
if nowOrd < ordinal(anchorYear, anchorMonth, anchorDay) then
elapsed = elapsed - 1
end
return math.floor(elapsed / length) + 1
end
local daysPerPeriod = length
if cfg.period_unit == 'weeks' then daysPerPeriod = length * 7 end
if cfg.period_unit ~= 'days' and cfg.period_unit ~= 'weeks' then
return nil
end
return math.floor((nowOrd - startOrd) / daysPerPeriod) + 1
end
local function score(id, issue, salt)
local x = (id * 48271 + issue * 69621 + salt * 1009) % 2147483647
return (x * 48271 + 1) % 2147483647
end
local function rankArchive(entries, previous, issue)
table.sort(entries, function(a, b)
local ap, bp = previous[a.id] and 1 or 0, previous[b.id] and 1 or 0
if cfg.avoid_previous_issue and ap ~= bp then return ap < bp end
local as, bs = score(a.id, issue, 1), score(b.id, issue, 1)
if as ~= bs then return as < bs end
return a.id < b.id
end)
end
local function issueFacts(issue)
local seen, previous, selected = {}, {}, {}
local limit = positiveInt(cfg.facts_total, 3)
local freshLimit = math.min(limit, positiveInt(cfg.facts_fresh, 2))
local archiveLimit = math.min(limit - freshLimit,
positiveInt(cfg.facts_archive, 1))
for number = 1, issue do
local fresh, old = {}, {}
for _, fact in ipairs(db.facts or {}) do
local eligible = tonumber(fact.first_issue)
if eligible and eligible <= number then
if not fact.previously_published and not seen[fact.id] then
fresh[#fresh + 1] = fact
else
old[#old + 1] = fact
end
end
end
table.sort(fresh, function(a, b)
if a.first_issue ~= b.first_issue then
return a.first_issue < b.first_issue
end
return a.id < b.id
end)
rankArchive(old, previous, number)
selected = {}
local used = {}
local function append(list, maxItems)
local n = 0
for _, fact in ipairs(list) do
if #selected >= limit or n >= maxItems then break end
if not used[fact.id] then
selected[#selected + 1] = fact
used[fact.id] = true
n = n + 1
end
end
end
append(fresh, freshLimit)
append(old, archiveLimit)
append(fresh, limit - #selected)
append(old, limit - #selected)
previous = {}
for _, fact in ipairs(selected) do
seen[fact.id] = true
previous[fact.id] = true
end
end
return selected
end
local function render(facts, issue)
local lines, images = {}, {}
local count = positiveInt(cfg.images_total, 1)
for _, fact in ipairs(facts) do
if type(fact.image) == 'string' and fact.image ~= '' then
images[#images + 1] = fact
end
end
table.sort(images, function(a, b)
local as, bs = score(a.id, issue, 7), score(b.id, issue, 7)
if as ~= bs then return as < bs end
return a.id < b.id
end)
local width = math.max(1, positiveInt(cfg.image_width_px, 120))
local height = math.max(1, positiveInt(cfg.image_max_height_px, 150))
for i = 1, math.min(count, #images) do
local fact = images[i]
lines[#lines + 1] = string.format('[[File:%s|right|%dx%dpx|%s]]',
fact.image, width, height, fact.caption or '')
end
for _, fact in ipairs(facts) do
lines[#lines + 1] = '* ' .. (fact.text or '')
end
return table.concat(lines, '\n')
end
function p.main(frame)
if cfg.enabled ~= true then return '' end
local startDate = parseDate(cfg.start_date)
local today = os.date('!*t')
local issue = getIssue(startDate, today)
if not issue then return '' end
return render(issueFacts(issue), issue)
end
function p.preview(frame)
local issue = math.max(1, positiveInt(frame.args[1], 1))
return render(issueFacts(issue), issue)
end
return p
jhvzmg615mxstsbgh6a96t0a06fk76q
88106
88105
2026-10-21T23:09:09Z
Qamen
30020
88106
Scribunto
text/plain
-- Monthly facts rotation for the "Вѣси ли;" section.
-- Historical output is reproducible if IDs, content and first_issue are stable.
local p = {}
local cfg = mw.loadData('Module:Вѣси ли/config')
local db = mw.loadData('Module:Вѣси ли/data')
local function positiveInt(value, fallback)
local n = tonumber(value)
if not n then return fallback end
return math.max(0, math.floor(n))
end
local function leapYear(year)
return year % 4 == 0 and (year % 100 ~= 0 or year % 400 == 0)
end
local function daysInMonth(year, month)
local days = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
return days[month] + ((month == 2 and leapYear(year)) and 1 or 0)
end
local function ordinal(year, month, day)
local offsets = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}
local y = year - 1
return 365 * y + math.floor(y / 4) - math.floor(y / 100)
+ math.floor(y / 400) + offsets[month] + day
+ ((month > 2 and leapYear(year)) and 1 or 0)
end
local function parseDate(value)
if type(value) ~= 'string' then return nil end
local y, m, d = value:match('^(%d%d%d%d)%-(%d%d)%-(%d%d)$')
y, m, d = tonumber(y), tonumber(m), tonumber(d)
if not y or not m or not d or y < 1 or m < 1 or m > 12 then
return nil
end
if d < 1 or d > daysInMonth(y, m) then return nil end
return {year = y, month = m, day = d}
end
local function getIssue(startDate, today)
if not startDate then return nil end
local startOrd = ordinal(startDate.year, startDate.month, startDate.day)
local nowOrd = ordinal(today.year, today.month, today.day)
if nowOrd < startOrd then return nil end
local length = math.max(1, positiveInt(cfg.period_length, 1))
if cfg.period_unit == 'months' then
local elapsed = (today.year - startDate.year) * 12
+ today.month - startDate.month
local anchorMonth = startDate.month - 1 + elapsed
local anchorYear = startDate.year + math.floor(anchorMonth / 12)
anchorMonth = anchorMonth % 12 + 1
local anchorDay = math.min(startDate.day, daysInMonth(anchorYear, anchorMonth))
if nowOrd < ordinal(anchorYear, anchorMonth, anchorDay) then
elapsed = elapsed - 1
end
return math.floor(elapsed / length) + 1
end
local daysPerPeriod = length
if cfg.period_unit == 'weeks' then daysPerPeriod = length * 7 end
if cfg.period_unit ~= 'days' and cfg.period_unit ~= 'weeks' then
return nil
end
return math.floor((nowOrd - startOrd) / daysPerPeriod) + 1
end
local function score(id, issue, salt)
local x = (id * 48271 + issue * 69621 + salt * 1009) % 2147483647
return (x * 48271 + 1) % 2147483647
end
local function rankArchive(entries, previous, issue)
table.sort(entries, function(a, b)
local ap, bp = previous[a.id] and 1 or 0, previous[b.id] and 1 or 0
if cfg.avoid_previous_issue and ap ~= bp then return ap < bp end
local as, bs = score(a.id, issue, 1), score(b.id, issue, 1)
if as ~= bs then return as < bs end
return a.id < b.id
end)
end
local function issueFacts(issue)
local seen, previous, selected = {}, {}, {}
local limit = positiveInt(cfg.facts_total, 3)
local freshLimit = math.min(limit, positiveInt(cfg.facts_fresh, 2))
local archiveLimit = math.min(limit - freshLimit,
positiveInt(cfg.facts_archive, 1))
for number = 1, issue do
local fresh, old = {}, {}
for _, fact in ipairs(db.facts or {}) do
local eligible = tonumber(fact.first_issue)
if eligible and eligible <= number then
if not fact.previously_published and not seen[fact.id] then
fresh[#fresh + 1] = fact
else
old[#old + 1] = fact
end
end
end
table.sort(fresh, function(a, b)
if a.first_issue ~= b.first_issue then
return a.first_issue < b.first_issue
end
return a.id < b.id
end)
rankArchive(old, previous, number)
selected = {}
local used = {}
local function append(list, maxItems)
local n = 0
for _, fact in ipairs(list) do
if #selected >= limit or n >= maxItems then break end
if not used[fact.id] then
selected[#selected + 1] = fact
used[fact.id] = true
n = n + 1
end
end
end
append(fresh, freshLimit)
append(old, archiveLimit)
append(fresh, limit - #selected)
append(old, limit - #selected)
previous = {}
for _, fact in ipairs(selected) do
seen[fact.id] = true
previous[fact.id] = true
end
end
return selected
end
local function render(facts, issue)
local lines, images = {}, {}
local count = positiveInt(cfg.images_total, 1)
for _, fact in ipairs(facts) do
if type(fact.image) == 'string' and fact.image ~= '' then
images[#images + 1] = fact
end
end
table.sort(images, function(a, b)
local as, bs = score(a.id, issue, 7), score(b.id, issue, 7)
if as ~= bs then return as < bs end
return a.id < b.id
end)
local width = math.max(1, positiveInt(cfg.image_width_px, 120))
local height = math.max(1, positiveInt(cfg.image_max_height_px, 150))
for i = 1, math.min(count, #images) do
local fact = images[i]
lines[#lines + 1] = string.format('[[File:%s|thumb|right|%dx%dpx|%s]]',
fact.image, width, height, fact.caption or '')
end
for _, fact in ipairs(facts) do
lines[#lines + 1] = '* ' .. (fact.text or '')
end
return table.concat(lines, '\n')
end
function p.main(frame)
if cfg.enabled ~= true then return '' end
local startDate = parseDate(cfg.start_date)
local today = os.date('!*t')
local issue = getIssue(startDate, today)
if not issue then return '' end
return render(issueFacts(issue), issue)
end
function p.preview(frame)
local issue = math.max(1, positiveInt(frame.args[1], 1))
return render(issueFacts(issue), issue)
end
return p
gun6zi6occg30qdq6ef63wic6his1rd
88108
88106
2026-10-21T23:29:59Z
Qamen
30020
88108
Scribunto
text/plain
-- Monthly facts rotation for the "Вѣси ли;" section.
-- Historical output is reproducible if IDs, content and first_issue are stable.
local p = {}
local cfg = mw.loadData('Module:Вѣси ли/config')
local db = mw.loadData('Module:Вѣси ли/data')
local function positiveInt(value, fallback)
local n = tonumber(value)
if not n then return fallback end
return math.max(0, math.floor(n))
end
local function leapYear(year)
return year % 4 == 0 and (year % 100 ~= 0 or year % 400 == 0)
end
local function daysInMonth(year, month)
local days = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
return days[month] + ((month == 2 and leapYear(year)) and 1 or 0)
end
local function ordinal(year, month, day)
local offsets = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}
local y = year - 1
return 365 * y + math.floor(y / 4) - math.floor(y / 100)
+ math.floor(y / 400) + offsets[month] + day
+ ((month > 2 and leapYear(year)) and 1 or 0)
end
local function parseDate(value)
if type(value) ~= 'string' then return nil end
local y, m, d = value:match('^(%d%d%d%d)%-(%d%d)%-(%d%d)$')
y, m, d = tonumber(y), tonumber(m), tonumber(d)
if not y or not m or not d or y < 1 or m < 1 or m > 12 then
return nil
end
if d < 1 or d > daysInMonth(y, m) then return nil end
return {year = y, month = m, day = d}
end
local function getIssue(startDate, today)
if not startDate then return nil end
local startOrd = ordinal(startDate.year, startDate.month, startDate.day)
local nowOrd = ordinal(today.year, today.month, today.day)
if nowOrd < startOrd then return nil end
local length = math.max(1, positiveInt(cfg.period_length, 1))
if cfg.period_unit == 'months' then
local elapsed = (today.year - startDate.year) * 12
+ today.month - startDate.month
local anchorMonth = startDate.month - 1 + elapsed
local anchorYear = startDate.year + math.floor(anchorMonth / 12)
anchorMonth = anchorMonth % 12 + 1
local anchorDay = math.min(startDate.day, daysInMonth(anchorYear, anchorMonth))
if nowOrd < ordinal(anchorYear, anchorMonth, anchorDay) then
elapsed = elapsed - 1
end
return math.floor(elapsed / length) + 1
end
local daysPerPeriod = length
if cfg.period_unit == 'weeks' then daysPerPeriod = length * 7 end
if cfg.period_unit ~= 'days' and cfg.period_unit ~= 'weeks' then
return nil
end
return math.floor((nowOrd - startOrd) / daysPerPeriod) + 1
end
local function score(id, issue, salt)
local x = (id * 48271 + issue * 69621 + salt * 1009) % 2147483647
return (x * 48271 + 1) % 2147483647
end
local function archiveWeight(fact)
local weight = tonumber(fact.weight) or 1.0
if weight <= 0 then return 1.0 end
return weight
end
local function rankArchive(entries, previous, issue)
local ranked = {}
for _, fact in ipairs(entries) do
local random = (score(fact.id, issue, 1) + 1) / 2147483648
local priority = -math.log(random) / archiveWeight(fact)
ranked[#ranked + 1] = {
fact = fact,
priority = priority,
}
end
table.sort(ranked, function(a, b)
local ap = previous[a.fact.id] and 1 or 0
local bp = previous[b.fact.id] and 1 or 0
if cfg.avoid_previous_issue and ap ~= bp then
return ap < bp
end
if a.priority ~= b.priority then
return a.priority < b.priority
end
return a.fact.id < b.fact.id
end)
for i, item in ipairs(ranked) do
entries[i] = item.fact
end
end
local function issueFacts(issue)
local seen, previous, selected = {}, {}, {}
local limit = positiveInt(cfg.facts_total, 3)
local freshLimit = math.min(limit, positiveInt(cfg.facts_fresh, 2))
local archiveLimit = math.min(limit - freshLimit,
positiveInt(cfg.facts_archive, 1))
for number = 1, issue do
local fresh, old = {}, {}
for _, fact in ipairs(db.facts or {}) do
local eligible = tonumber(fact.first_issue)
if eligible and eligible <= number then
if not fact.previously_published and not seen[fact.id] then
fresh[#fresh + 1] = fact
else
old[#old + 1] = fact
end
end
end
table.sort(fresh, function(a, b)
if a.first_issue ~= b.first_issue then
return a.first_issue < b.first_issue
end
return a.id < b.id
end)
rankArchive(old, previous, number)
selected = {}
local used = {}
local function append(list, maxItems)
local n = 0
for _, fact in ipairs(list) do
if #selected >= limit or n >= maxItems then break end
if not used[fact.id] then
selected[#selected + 1] = fact
used[fact.id] = true
n = n + 1
end
end
end
append(fresh, freshLimit)
append(old, archiveLimit)
append(fresh, limit - #selected)
append(old, limit - #selected)
previous = {}
for _, fact in ipairs(selected) do
seen[fact.id] = true
previous[fact.id] = true
end
end
return selected
end
local function render(facts, issue)
local lines, images = {}, {}
local count = positiveInt(cfg.images_total, 1)
for _, fact in ipairs(facts) do
if type(fact.image) == 'string' and fact.image ~= '' then
images[#images + 1] = fact
end
end
table.sort(images, function(a, b)
local as, bs = score(a.id, issue, 7), score(b.id, issue, 7)
if as ~= bs then return as < bs end
return a.id < b.id
end)
local width = math.max(1, positiveInt(cfg.image_width_px, 120))
local height = math.max(1, positiveInt(cfg.image_max_height_px, 150))
for i = 1, math.min(count, #images) do
local fact = images[i]
lines[#lines + 1] = string.format('[[File:%s|thumb|right|%dx%dpx|%s]]',
fact.image, width, height, fact.caption or '')
end
for _, fact in ipairs(facts) do
lines[#lines + 1] = '* ' .. (fact.text or '')
end
return table.concat(lines, '\n')
end
function p.main(frame)
if cfg.enabled ~= true then return '' end
local startDate = parseDate(cfg.start_date)
local today = os.date('!*t')
local issue = getIssue(startDate, today)
if not issue then return '' end
return render(issueFacts(issue), issue)
end
function p.preview(frame)
local issue = math.max(1, positiveInt(frame.args[1], 1))
return render(issueFacts(issue), issue)
end
return p
03dhoh021oouwfr8clwbnci4vwcktzl
88109
88108
2026-10-21T23:31:44Z
Qamen
30020
88109
Scribunto
text/plain
-- Monthly facts rotation for the "Вѣси ли;" section.
-- Historical output is reproducible if IDs, content and first_issue are stable.
local p = {}
local cfg = mw.loadData('Module:Вѣси ли/config')
local db = mw.loadData('Module:Вѣси ли/data')
local function positiveInt(value, fallback)
local n = tonumber(value)
if not n then return fallback end
return math.max(0, math.floor(n))
end
local function leapYear(year)
return year % 4 == 0 and (year % 100 ~= 0 or year % 400 == 0)
end
local function daysInMonth(year, month)
local days = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
return days[month] + ((month == 2 and leapYear(year)) and 1 or 0)
end
local function ordinal(year, month, day)
local offsets = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}
local y = year - 1
return 365 * y + math.floor(y / 4) - math.floor(y / 100)
+ math.floor(y / 400) + offsets[month] + day
+ ((month > 2 and leapYear(year)) and 1 or 0)
end
local function parseDate(value)
if type(value) ~= 'string' then return nil end
local y, m, d = value:match('^(%d%d%d%d)%-(%d%d)%-(%d%d)$')
y, m, d = tonumber(y), tonumber(m), tonumber(d)
if not y or not m or not d or y < 1 or m < 1 or m > 12 then
return nil
end
if d < 1 or d > daysInMonth(y, m) then return nil end
return {year = y, month = m, day = d}
end
local function getIssue(startDate, today)
if not startDate then return nil end
local startOrd = ordinal(startDate.year, startDate.month, startDate.day)
local nowOrd = ordinal(today.year, today.month, today.day)
if nowOrd < startOrd then return nil end
local length = math.max(1, positiveInt(cfg.period_length, 1))
if cfg.period_unit == 'months' then
local elapsed = (today.year - startDate.year) * 12
+ today.month - startDate.month
local anchorMonth = startDate.month - 1 + elapsed
local anchorYear = startDate.year + math.floor(anchorMonth / 12)
anchorMonth = anchorMonth % 12 + 1
local anchorDay = math.min(startDate.day, daysInMonth(anchorYear, anchorMonth))
if nowOrd < ordinal(anchorYear, anchorMonth, anchorDay) then
elapsed = elapsed - 1
end
return math.floor(elapsed / length) + 1
end
local daysPerPeriod = length
if cfg.period_unit == 'weeks' then daysPerPeriod = length * 7 end
if cfg.period_unit ~= 'days' and cfg.period_unit ~= 'weeks' then
return nil
end
return math.floor((nowOrd - startOrd) / daysPerPeriod) + 1
end
local function score(id, issue, salt)
local x = (id * 48271 + issue * 69621 + salt * 1009) % 2147483647
return (x * 48271 + 1) % 2147483647
end
local function archiveWeight(fact)
local weight = tonumber(fact.weight) or 1.0
if weight <= 0 then return 1.0 end
return weight
end
local function rankArchive(entries, previous, issue)
local ranked = {}
for _, fact in ipairs(entries) do
local random = (score(fact.id, issue, 1) + 1) / 2147483648
local priority = -math.log(random) / archiveWeight(fact)
ranked[#ranked + 1] = {
fact = fact,
priority = priority,
}
end
table.sort(ranked, function(a, b)
local ap = previous[a.fact.id] and 1 or 0
local bp = previous[b.fact.id] and 1 or 0
if cfg.avoid_previous_issue and ap ~= bp then
return ap < bp
end
if a.priority ~= b.priority then
return a.priority < b.priority
end
return a.fact.id < b.fact.id
end)
for i, item in ipairs(ranked) do
entries[i] = item.fact
end
end
local function articleKey(title)
if type(title) ~= 'string' then return '' end
local key = title:gsub('_', ' '):gsub('%s+', ' ')
key = mw.text.trim(key)
if key == '' then return '' end
local first = mw.ustring.sub(key, 1, 1)
local rest = mw.ustring.sub(key, 2)
return mw.ustring.lower(first) .. rest
end
local function issueFacts(issue)
local seen, previous, selected = {}, {}, {}
local limit = positiveInt(cfg.facts_total, 3)
local freshLimit = math.min(limit, positiveInt(cfg.facts_fresh, 2))
local archiveLimit = math.min(limit - freshLimit,
positiveInt(cfg.facts_archive, 1))
for number = 1, issue do
local fresh, old = {}, {}
for _, fact in ipairs(db.facts or {}) do
local eligible = tonumber(fact.first_issue)
if fact.enabled ~= false
and eligible
and eligible <= number then
if not fact.previously_published
and not seen[fact.id] then
fresh[#fresh + 1] = fact
else
old[#old + 1] = fact
end
end
end
table.sort(fresh, function(a, b)
if a.first_issue ~= b.first_issue then
return a.first_issue < b.first_issue
end
return a.id < b.id
end)
rankArchive(old, previous, number)
selected = {}
local usedIds = {}
local usedArticles = {}
local function append(list, maxItems)
local n = 0
for _, fact in ipairs(list) do
if #selected >= limit or n >= maxItems then
break
end
local key = articleKey(fact.article)
if key ~= ''
and not usedIds[fact.id]
and not usedArticles[key] then
selected[#selected + 1] = fact
usedIds[fact.id] = true
usedArticles[key] = true
n = n + 1
end
end
end
append(fresh, freshLimit)
append(old, archiveLimit)
append(fresh, limit - #selected)
append(old, limit - #selected)
previous = {}
for _, fact in ipairs(selected) do
seen[fact.id] = true
previous[fact.id] = true
end
end
return selected
end
local function render(facts, issue)
local lines, images = {}, {}
local count = positiveInt(cfg.images_total, 1)
for _, fact in ipairs(facts) do
if type(fact.image) == 'string' and fact.image ~= '' then
images[#images + 1] = fact
end
end
table.sort(images, function(a, b)
local as, bs = score(a.id, issue, 7), score(b.id, issue, 7)
if as ~= bs then return as < bs end
return a.id < b.id
end)
local width = math.max(1, positiveInt(cfg.image_width_px, 120))
local height = math.max(1, positiveInt(cfg.image_max_height_px, 150))
for i = 1, math.min(count, #images) do
local fact = images[i]
lines[#lines + 1] = string.format('[[File:%s|thumb|right|%dx%dpx|%s]]',
fact.image, width, height, fact.caption or '')
end
for _, fact in ipairs(facts) do
lines[#lines + 1] = '* ' .. (fact.text or '')
end
return table.concat(lines, '\n')
end
function p.main(frame)
if cfg.enabled ~= true then return '' end
local startDate = parseDate(cfg.start_date)
local today = os.date('!*t')
local issue = getIssue(startDate, today)
if not issue then return '' end
return render(issueFacts(issue), issue)
end
function p.preview(frame)
local issue = math.max(1, positiveInt(frame.args[1], 1))
return render(issueFacts(issue), issue)
end
return p
79xt7xvtp2iufu5v7d85yvabe4rabq1
Обраꙁьць:Вѣси ли/Рѣшєниѥ
10
11210
88115
2026-10-22T11:41:31Z
Qamen
30020
šablona miniaturních štítků
88115
wikitext
text/x-wiki
<includeonly>{{#switch:{{{1|pending}}}
|pending=<span style="display:inline-block;background:#fff2ce;color:#805b00;border-radius:2px;padding:0 3px;font-size:0.75em;line-height:1.2;white-space:nowrap;">○ Нє рѣшєно</span>
|approved=<span style="display:inline-block;background:#e4f3e7;color:#246632;border-radius:2px;padding:0 3px;font-size:0.75em;line-height:1.2;white-space:nowrap;">✓ Приѩто</span>
|rejected=<span style="display:inline-block;background:#fce6e6;color:#9c2424;border-radius:2px;padding:0 3px;font-size:0.75em;line-height:1.2;white-space:nowrap;">✕ Ѿринѫто</span>
|loaded=<span style="display:inline-block;background:#e4eeff;color:#23568e;border-radius:2px;padding:0 3px;font-size:0.75em;line-height:1.2;white-space:nowrap;">▣ Въписано въ иꙁборникъ</span>
|#default=<strong>?</strong>
}}</includeonly><noinclude>
<pre>
{{Вѣси ли/Рѣшєниѥ|pending}}
{{Вѣси ли/Рѣшєниѥ|approved}}
{{Вѣси ли/Рѣшєниѥ|rejected}}
{{Вѣси ли/Рѣшєниѥ|loaded}}
</pre>
</noinclude>
obue7qocumlq4chbjkk5249ip9sh5f7