При создании скина mediawiki, как я могу поместить оглавление на боковой панели за пределами области содержимого главной страницы?Как вставить оглавление вне области содержимого главной страницы в пользовательский скин для медиавики?
ответ
Сначала убедитесь, что TOC не печатается, см https://www.mediawiki.org/wiki/Extension:NoTOC
Тогда я хотел бы предложить вам скопировать соответствующие части Parser::formatHeadings для вашей кожи, чтобы создать ТОС, где вы хотите.
Однако, если вам действительно не нужно, чтобы он появился за пределами статьи для всех пользователей, я думаю, было бы намного проще использовать Javascript для перемещения #toc, где вы хотите.
Если вы хотите, чтобы Оглавление было на стороне, но оставалось доступным независимо от положения прокрутки пользователя, вы можете использовать свойство CSS position: fixed
(для меня работало для MW 1.24.4 со скином Vector Vector, а также для встроенных монокристаллических монокристаллических монокристаллических монеток, современных и Кельн):
#toc {
position: fixed;
right: 0;
top: 7em; /* 5em is height of header, 6em brings just under */
/* bottom: 5em; /* 5em puts us above the footer; not bad but too low when TOC is collapsed */
z-index: 10000; /* Ensure we float above the header, etc. */
/* Add opacity (translucency) */
background-color: rgb(249, 249, 249);
background-color: rgba(249, 249, 249, 0.9); /* Higher opacity (last arg) means less transparency */
}
/* Ensure the TOC height doesn't take over the screen; percentages may be higher than view port, so we use pixels */
#toc > ul {
max-height: 350px;
overflow: auto;
}