Примечание:
Эта страница - компонент, используемый на данной вики. Он предназначен для включения в другие страницы.
Содержание |
О Croqstyle
Croqstyle — это набор различных исправлений и утилит на CSS, которые я, Croquembouche, часто использую.
Что делает этот компонент:
- Мелкие изменения, улучшающие процесс чтения или написания статей. Например, моноширный шрифт в окне редактора.
- Добавляет некоторые инструменты для документирования компонентов и тем. Например, оформление для блоков с кодом.
- Добавляет ряд опциональных функций для обычных страниц. Например особые блоки для изображений.
Насколько мне известно, Croqstyle совместим с любой темой.
Использование
На любой странице:
[[include component:croqstyle]]
На обычных страницах Croqstyle необходимо подключать перед любимы другими компонентами или темами, чтобы они могли переопределять его настройки.
В компонентах/темах Croqstyle можно использовать для документации — достаточно подключить его внутри блока [[noinclude]]
, чтобы Croqstyle не распространился на статьи пользователя вашего компонента/темы. (Хотя можно и так.)
Также вам не обязательно подключать весь компонент — можете просмотреть CSS-код компонента и на его базе сделать что-то своё или просто украсть необходимые вам стили.
Исходный код
См. исходник страницы
Мелкие изменения
Это фоновые изменения, улучшающие™ процесс чтения или написания.
Сноски нормального размера
Запрещает сноскам растягиваться до километра в ширину, позволяя вам спокойно их читать.1
Моноширный редактор и блоки кода
Изменяет шрифт поля редактирования статьи на моноширный, также заменяет шрифт любого моноширного текста на Fira Code, очевидно лучший моноширный шрифт.
Улучшенное позиционирование изображений
На мобильных экранах блоки изображений больше не могут "уползать" за границу страницы.
На чуть больших экранах, блоки изображений теперь не занимают по 80% ширины страницы, оставляя тоненькую полоску текста. Теперь изображения отцентрированы, и текст не сможет появится рядом с ними.
Утилиты для документации
Эти фишки предназначены для облегчения документации тем и компонентов.
Фон для блоков кода
Добавляет светло-серый фон в элементы <code> ({{text}}
), чтобы они немного выделялись на фоне остального текста.
Цветной код
Добавляет своеобразную подсветку синтаксиса через переменные CSS. Цвета подсветки взяты из стандартных светлой и тёмной темы VSCode.
Вы можете добавить класс .terminal
псевдо-блоку кода — [[div class="code terminal"]]
— чтобы придать ему консольный стиль. Это не работает с блоками [[code]]
, потому что сайт добавляет свою подсветку, которую просто так не поменять. Так что используйте его только для не-[[code]]
блоков. Включить тёмный режим можно с помощью .terminal--dark
:
[[div class="code terminal"]]
**##var(--c-keyword)|[[####var(--c-builtin)|div## ##var(--c-symbol)|class##=##var(--c-string)|"code terminal"####var(--c-keyword)|]]##**
**##var(--c-keyword)|[[/####var(--c-builtin)|div####var(--c-keyword)|]]##**
[[/div]]
[[div class="code terminal terminal--dark"]]
**##var(--c-keyword)|[[####var(--c-builtin)|div## ##var(--c-symbol)|class##=##var(--c-string)|"code terminal terminal--dark"####var(--c-keyword)|]]##**
**##var(--c-keyword)|[[/####var(--c-builtin)|div####var(--c-keyword)|]]##**
[[/div]]
Инструменты для авто-подсветки (англ.): component includes · divs and spans
Режим отладки
Рисует линии вокруг всех элементов внутри .debug-mode
. По умолчанию линии красные, но это контроллируется через переменную CSS --debug-colour
.
Вы также можете добавить блоки div.debug-info.over
и div.debug-info.under
внутрь элемента, чтобы снабдить его комментариями — однако прежде убедитесь, что вы оставили достаточно вертикального пространства, чтобы аннотация не перекрыла элемент над или под собой.
…вот так!
Опциональный функционал
Это новые плюшки и виджеты, которые вы можете добавлять на свою страницу по желанию. Они все по умолчанию выключены, а их классы CSS начинаются с 'croqstyle', так что риск, что что-то сломается на вашей странице, равен нулю, даже если вы их не используете.
Улучшенный блок с изображением
На пиксельном фоне написано "Low-res image" и разрешение изображения (300x300). При наведении, текст на изображении меняется на "High-res image" и новое разрешение (1200x1200).
Предоставляет блок с изображением с расширенным функционалом, включая:
- Встроенное увеличение при наведении, примерно как в режиме 'Hover Enlarge' компонента Image Features за авторством Woedenaz.
- Встроенная поддержка alt-текста.
- Поддерживает показ изображений с более высоким разрешением при наведении (в отличие от Image Features, который показывает то же самое изображение, просто увеличенное), а также показывает гифку загрузки пока более крупное изображение скачивается.
Пожалуйста, не делайте увеличенное изображение отличным от изначального (по типу скримера), это кринж. Данный блок, в первую очередь, — средство улучшения доступности.
Для использования, вставьте шаблон ниже в свою статью (который очень похож на синтаксис обычного блока с изображением):
[[div class="croqstyle-image-block scp-image-block block-right" style="--aspect-ratio: 1 / 1; --image-url: url(lowres.png); --image-large-url: url(highres.webp);"]]
[[div class="scp-image-alt"]]
Сюда вписывается alt-текст, который описывает содержимое изображение для незрячих пользователей. Т.е., если, например, изображение содержит информацию, опишите её здесь в текстовой форме; если изображение вызывает какое-то чувство, то также опишите его здесь.
[[/div]]
[[div class="scp-image-caption"]]
Подпись изображения
[[/div]]
[[/div]]
Замените block-right
на block-left
или block-center
для выравнивания по левому краю и центрированию соответственно. Вы также можете поместить fallback-изображение внутрь .scp-image-alt
, используя обычный синтаксис [[image]]
, если хотите.
Если вы не хотите указывать другое изображение для увеличенной версии, вы можете пропустить переменную --image-large-url
, — тогда и по умолчанию, и при увеличении, будет использоваться изображение из --image-url
.
Если вы не хотите функцию увеличения при наведении, тогда вам нет смысла использовать этот блок. Лучше обратитесь к стандартному блоку с изображением.
Сноски-изображения
Предоставляет класс, добавляющий сноски-изображения. Они работают как обычные сноски, но с изображениями.
[[span class="croqstyle-img-footnote" style="--aspect-ratio: 1 /1; --image-url: url(lowres.png);"]]Пример.[[/span]]
Здесь используются те же переменные CSS, что и в 'улучшенном блоке с изображением' выше, так что будет удобнее объявить класс CSS для изображения, а затем использовать его для обеих функций.
В принципе, используя стандартный синтаксис RuFoundation, вы уже можете помещать изображения в сноски:
[[footnote]][[image изображение.png]][[/footnote]]
И это выглядит так.2
Но класс croqstyle-img-footnote
немного отличается от обычных сносок:
- Он подсвечивает слово или фразу, как контекст, а не только циферку сноски
- Он не добавляет сноску в список сносок, позволяя заново использовать сноски-изображения сколько угодно, не забивая конец страницы изображениями.
Они неплохо работают в качестве 'сносок-напоминаний', например, чтобы напомнить читателю как выглядит объект SCP, без нужды в прокрутке до изначального изображения.
Простой отзывчивый блок
Предоставляет набор классов для простого отзывчивого блока div, которые отображает одно содержимое для пользователей настольных устройств и другое для пользователей с мобильных устройств.
Вот шаблон:
[[div class="croqstyle-responsive-div"]]
[[div class="croqstyle-responsive-div__desktop" style="display: none"]]
Содержимое для отображения в настольной версии
[[/div]]
[[div class="croqstyle-responsive-div__mobile"]]
Содержимое для отображения в мобильной версии
[[/div]]
[[/div]]
(display: none
нужен, чтобы в случае копирования этого шаблона на страницу без croqstyle или в случае удаления инклюда croqstyle, спокойно отображалась мобильная версия и ничего не ломалось)
Стиль 'mobile' будет применён, когда содержимое страницы меньше 550 пикселей в ширину. Это учитывает не только ширину экрана, но и темы и наличие сайдбара (вы же знаете что примерно на ~800px настольный сайдбар появляется и для содержимого остаётся лишь тоненькая полоска пространства?), так что он должен быть устойчив к любым условиям.
Учтите, что блок .croqstyle-responsive-div
должен быть в ширину родительского элемента/страницы, охватывающего все отзывчивые элементы, возможно вы даже сможете поместить саму страницу внутрь него. При этом __desktop
и __mobile
могут быть хоть span-ами, и помещать их на страницу можно сколько угодно.
Обнуление оформления вкладок
Эта утилита сбрасывает CSS элемента tabview — т.е. удаляет любое оформление. Меня всегда бесило копание в стилях вкладок Wikidot'а и переопределение оформления по маленьким кусочкам каждый раз, когда мне хотелось поменять внешний вид вкладок. При использовании данной утилиты, эта мучительная работа делается за вас.
Для обнуления оформления tabview, оберните его в .croqstyle-reset-tabs
:
[[div class="croqstyle-reset-tabs"]]
[[tabview]]
[[tab Первая вкладка]]
Содержимое 1
[[/tab]]
[[tab Вторая вкладка]]
Содержимое 2
[[/tab]]
[[/tabview]]
[[/div]]
Это не сбрасывает CSS, который скрывает и показывает содержимое вкладок, но вы можете обнулить его сами, если хотите заменить на свою анимацию:
[id^=wiki-tab] { display: initial !important }