Перейти до вмісту

Шаблон:Nopt

Матеріал з Вікіджерел

nopt — це {{nop}} для випадків, коли таблицю потрібно продовжити на наступних сторінках. Він працює шляхом вставлення HTML-коментаря, за яким слідує розрив рядка, так що фактичний вміст (розмітка таблиці) примусово переноситься на наступний рядок.

Використання

[ред.]

Помістіть…

{{nopt}}

…на початку нижнього колонтитула (підвалу) на першій сторінці та на початку вмісту сторінки на другій сторінці (для таблиці, що охоплює три або більше сторінок, ви повинні розмістити його в обох місцях). У нижньому колонтитулі першої сторінки це запобігає злиттю |} із вмістом останньої клітинки таблиці в просторі назв Сторінка:. На початку вмісту другої сторінки він робить те саме для |}, |- або | (чи будь-якої іншої вікірозмітки таблиці, яка має бути в окремому рядку) під час включення (трансклюзії) сторінок.

Технічні деталі

[ред.]

Синтаксис таблиць MediaWiki та поведінка включення розширення ProofreadPage не завжди добре взаємодіють: більшість розмітки таблиць має знаходитися на самому початку рядка, щоб працювати правильно, а ProofreadPage застосовує різні хитрощі (порівняно зі стандартним MediaWiki) спеціально для того, щоб зробити з'єднання між окремими областями безшовними, що в деяких ситуаціях заважає синтаксису таблиць.

Є два основні місця, де це відбувається: між вмістом і нижнім колонтитулом однієї сторінки в просторі назв Сторінка:, і між кінцем однієї сторінки та початком наступної, коли вони разом включаються в основний простір.

Між вмістом і нижнім колонтитулом

[ред.]

У межах однієї сторінки в просторі назв Сторінка: є три окремі частини: верхній колонтитул (заголовок), основний вміст та нижній колонтитул. Верхній і нижній колонтитули обгорнуті в теги <noinclude>…</noinclude>, тому вони не будуть включені під час трансклюзії сторінки в основний простір. Під капотом ці три частини насправді зберігаються як одна вікісторінка, але ProofreadPage виокремлює дві спеціальні секції та подає їх в окремих текстових полях під час редагування для зручності. Але це також означає, що коли ви переглядаєте збережену сторінку в просторі назв Сторінка:, MediaWiki має об'єднати ці три частини, щоб показати їх вам. Коли вона це робить, вона видаляє будь-які кінцеві пробіли з області вмісту та будь-які початкові пробіли в області нижнього колонтитула, що призводить до того, що все, що ви помістили на початку останнього, зливається з кінцем першого. Для більшості випадків це працює добре.

Однак, коли ви маєте справу з таблицею, розбитою на кілька сторінок, вам потрібно використовувати вікірозмітку таким чином:

{|
|-
| Рядок один, клітинка один || Рядок один, клітинка два
|-
| Рядок два, клітинка один || Рядок два, клітинка два
<noinclude>← тут починається нижній колонтитул
|}
</noinclude>

Коли вони об'єднуються для відображення, отриманий код виглядає так:

{|
|-
| Рядок один, клітинка один || Рядок один, клітинка два
|-
| Рядок два, клітинка один || Рядок два, клітинка два
<noinclude>|}</noinclude>

Оскільки для коректної роботи ця розмітка таблиці має знаходитися на початку рядка, те, що відобразиться, буде виглядати приблизно так (відмальовування може відрізнятися залежно від обставин):

Рядок один, клітинка один Рядок один, клітинка два
Рядок два, клітинка один Рядок два, клітинка два|}

Щоб обійти цю проблему, ви можете використати {{nopt}}, ось так:

{|
|-
| Рядок один, клітинка один || Рядок один, клітинка два
|-
| Рядок два, клітинка один || Рядок два, клітинка два
<noinclude>← тут починається нижній колонтитул
{{nopt}}
|}
</noinclude>

{{nopt}} вставляє HTML-коментар та розрив рядка, які є невидимими у відмальованому результаті, але коли частини вмісту та нижнього колонтитула об'єднуються, ви отримуєте таке:

{|
|-
| Рядок один, клітинка один || Рядок один, клітинка два
|-
| Рядок два, клітинка один || Рядок два, клітинка два<noinclude><!-- nopt -->
|}</noinclude>

Завдяки HTML-коментарю (невидимому, як і пробіли, але такому, що не видаляється MediaWiki), розмітка таблиці тепер знаходиться у власному рядку і працює як зазвичай. Результат буде таким:

Рядок один, клітинка один Рядок один, клітинка два
Рядок два, клітинка один Рядок два, клітинка два

Між послідовними сторінками

[ред.]

Коли таблиця розміщена на кількох сторінках, ви повинні відкрити таблицю ({|) у частині вмісту першої сторінки; закрити таблицю (|}) у нижньому колонтитулі першої сторінки, щоб вона правильно відображалася в просторі назв Сторінка:; знову відкрити таблицю ({|) у верхньому колонтитулі наступної сторінки; повторити для кожної проміжної сторінки, якщо такі є; і, нарешті, закрити її (|}) у частині вмісту останньої сторінки. Коли сторінки разом включаються (трансклюдуються) в основний простір назв, проміжна розмітка відкриття та закриття опускається, і відмальовується єдина суцільна таблиця.

Включення у ProofreadPage налаштовано насамперед для вмісту, що не є таблицями (суцільний текст), тому воно видаляє зайві початкові та кінцеві пробіли й замінює їх одним символом пробілу. Це зроблено для того, щоб сторінки, які містять «Одна нація» та «під Богом!», у підсумку мали вигляд «Одна нація під Богом!», а не «Одна націяпід Богом!». Однак для таблиць це створює проблему:

Перша сторінка


{|
|-
| Рядок один, клітинка один || Рядок один, клітинка два
<noinclude>← тут починається нижній колонтитул
|}
</noinclude>
Друга сторінка
<noinclude>← тут починається верхній колонтитул
{|
</noinclude>
|-
| Рядок два, клітинка один || Рядок два, клітинка два
|}

Коли вони разом включаються для відображення в основному просторі, отриманий код стає таким:


{|
|-
| Рядок один, клітинка один || Рядок один, клітинка два|-
| Рядок два, клітинка один || Рядок два, клітинка два
|}

Оскільки для коректної роботи ця розмітка таблиці має знаходитися на початку рядка, те, що відобразиться, буде виглядати приблизно так (відмальовування може відрізнятися залежно від обставин):

Рядок один, клітинка один - Рядок два, клітинка один Рядок два, клітинка два

Щоб обійти цю проблему, ви можете використати {{nopt}}, ось так:

Перша сторінка


{|
|-
| Рядок один, клітинка один || Рядок один, клітинка два
<noinclude>← тут починається нижній колонтитул
{{nopt}}
|}
</noinclude>
Друга сторінка
<noinclude>← тут починається верхній колонтитул
{|
</noinclude>
{{nopt}}
|-
| Рядок два, клітинка один || Рядок два, клітинка два
|}
</noinclude>

{{nopt}} вставляє HTML-коментар та розрив рядка, які є невидимими у відмальованому результаті, але коли дві сторінки об'єднуються разом, ви отримуєте таке:

{|
|-
| Рядок один, клітинка один || Рядок один, клітинка дв<!-- nopt -->
|-
| Рядок два, клітинка один || Рядок два, клітинка два
|}

Завдяки HTML-коментарю (невидимому, як і пробіли, але такому, що не видаляється MediaWiki), розмітка таблиці тепер знаходиться у власному рядку і працює як зазвичай. Результат буде таким:

Рядок один, клітинка один Рядок один, клітинка два
Рядок два, клітинка один Рядок два, клітинка два

Див. також

[ред.]
  • {{nop}} — та ж концепція для запобігання злиттю окремих абзаців тексту.
  • {{peh}} — пов'язаний шаблон для запобігання видаленню дефіса в кінці сторінки.
  • {{hws}}/{{hwe}} — пара шаблонів для керування відображенням слів, розділених між сторінками.
  • {{lps}}/{{lpe}} — пара шаблонів для керування відображенням слів з вікіпосиланнями, розділених між сторінками.