Википєдїꙗ 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]]&nbsp;[[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