Участник:Vcohen/Шаблоны схем метро

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Vcohen (обсуждение | вклад) в 10:25, 14 августа 2013 (Нью-Йорк от Kononenko Alex). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

Пояснения

Вот категория с шаблонами.

Описание синтаксиса шаблонов

  • SM pic - рисует элемент линии или переход между станциями (когда две разных станции связаны переходом) и принимает параметры:
    • 1 - цвет (по умолчанию черный)
    • 2 - конфигурация - возможные варианты соответствуют списку существующих файлов, например файлу SMicon S-X.png соответствует значение параметра S-X; не рекомендуется использовать значения O и X, потому что для этих двух файлов есть более развитые шаблоны SM dot и SM cross соответственно
  • SM dot - рисует кружок, обозначающий станцию (одна станция может обслуживать несколько линий) и раскрашенный горизонтальными полосками в разные цвета, и принимает параметры:
    • 1..5 - до 5 цветов
    • link - название статьи, на которую этот кружок должен служить линком (рекомендуется делать линки и здесь, и через текст, см. ниже, либо только через текст); если это текущая статья, то вокруг кружка будет нарисован черный контур
    • type - разновидность кружка (продолжение имени файла после буквы O, по умолчанию самый простой кружок без продолжения имени)
    • title - текст всплывающей подсказки
  • SM dotv - точно как SM dot, но полоски не горизонтальные, а вертикальные
  • SM cross - изображает пересечение двух линий и принимает параметры:
    • 1 - цвет "задней" линии
    • 2 - идет ли "передняя" линия вертикально или горизонтально (буква V или H)
    • 3 - цвет "передней" линии
    • type - разновидность пересечения (продолжение имени файла после буквы X, по умолчанию самое простое пересечение без продолжения имени)
  • SM text - изображает текст и принимает параметры:
    • 1 - цвет текста
    • 2 - сам текст
    • 3 - выравнивание текста - left (по умолчанию) или right
    • 4 - ширина ячейки в пикселях и т.п., например 100px (как правило можно не задавать)
    • link - название статьи, на которую этот текст должен служить линком
    • td - дополнительное форматирование для ячейки таблицы, которую строит шаблон, например colspan=3
  • SM empty - создает пустую клетку таблицы и принимает один параметр:
    • 1 - ширина клетки в столбцах (для HTML-параметра colspan). Если параметр не задан, шаблон не возвращает ничего; даже значение 1 надо задавать явно; это требуется для корректной работы шаблона при его вызове из SM smart
  • SM smart - соединяет в себе SM dot, SM text и SM empty, изображая станцию и подпись при ней, и принимает параметры:
    • 1..5 - до 5 цветов (если цвет всего один, то им же пишется и подпись; если больше, то подпись пишется черным)
    • link - название статьи, на которую строится линк; линк появляется и у кружка, и у подписи
    • text - текст подписи; подпись строится поверх таблицы и не занимает отдельных клеток; для отмены текста надо задать параметр side=none; тот же текст появляется и в качестве всплывающей подсказки
    • type - разновидность кружка
    • side - с какой стороны от кружка находится текст - right (по умолчанию), left или none
    • X - смещение подписи вправо в столбцах при side=right или влево при side=left (начальное положение 10 пикселей от кружка до ближайшего конца подписи)
    • Y - смещение подписи вниз в строках (может быть отрицательным; начальное положение подписи в одной строке с кружком)
    • dir - можно поставить значение v, чтобы полоски у кружка шли по вертикали
  • SM head - предназначен для первой строки таблицы. Рисует клетки, задающие форматирование для всех последующих строк. Поддерживает до 10 клеток; если нужно больше, то надо поставить этот шаблон несколько раз подряд. Шаблон принимает один параметр:
    • 1 - количество клеток (по умолчанию 10)
  • SM before - ставится в самом начале схемы, когда она оформляется как отдельный шаблон, и принимает параметры:
    • 1 - продолжение текста заголовка после слова "Станции" (например: "Московского метрополитена")
    • 2 - CSS style для внешнего div'а шаблона
    • 3 - CSS style для таблицы, образующей собственно схему
  • SM after - ставится в самом конце схемы, когда она оформляется как отдельный шаблон
  • SM call - вызывает одну из схем, построенных при помощи вышеописанных шаблонов, и принимает параметры:
    • 1 - название шаблона со схемой
    • side - left или (по умолчанию) right, с какой стороны страницы должен быть показан шаблон

Все файлы

станция с остановкой на всех путях;
станция со сквозными путями;
обозначение текущей станции
O OO Cur
прямой участок линии, пересечение линий NS WE X
изогнутый участок линии NE SE SW NW
Т-образный перекресток 3-N 3-E 3-S 3-W
развилка на 3 направления N-X E-X S-X W-X
развилка налево и направо N-WE E-NS S-WE W-NS
развилка прямо и налево N-SE E-WS S-NW W-EN
развилка прямо и направо N-SW E-WN S-NE W-ES
прямой переход T-WE T-NS
изогнутый переход T-NE T-SE T-SW T-NW

А это файлы, которые скорее всего использоваться не будут. Конфигурации путей слишком разнообразны, поэтому сами пути придется обозначать без различения экспрессов и обычных, а единственным обозначением наличия экспресс-поездов будет станция с точкой внутри (файл OO).

станция со сквозными путями (O-NE) (O-SE) (O-SW) (O-NW) (O-WE) (O-NS)
участок линии с экспресс-путями (L-NE) (L-SE) (L-SW) (L-NW) (L-NS) (L-WE)
разные сочетания с экспресс-путями (XX) (XH) (XV)

Примечания

  1. Эта серия шаблонов принимает описание цвета через параметры, в самих файлах нет никаких цветов, кроме розового цвета, который воспринимается как фон схемы. Поэтому есть возможность строить схемы для любых городов с любыми цветами, даже если код цвета в свою очередь задается через шаблон. Платой за эту гибкость служит необходимость включить распечатку фона при распечатывании схем, построенных таким образом.
  2. Следует не путать пересадочную станцию, обозначаемую полосатым кружком, и две станции с переходом между ними. При этом для пересадочного узла, состоящего из нескольких соединенных станций, не обязательно показывать, какая станция с какой соединена и какая с какой нет, - достаточно произвольным образом связать все нужные станции между собой.
  3. Каждый из шаблонов образует ячейку таблицы, начиная с символа |. Начало таблицы (и еще кое-что) создается шаблоном SM before, а конец (и еще кое-что) шаблоном SM after. Схема состоит из шаблонов в следующем порядке:
    • SM before
    • SM head нужное число раз в соответствии с шириной таблицы
    • строки таблицы, начинающиеся с |- каждая
    • SM after
  4. Для схемы с надписями: если ячейка образована шаблоном SM text без текста, то можно внутрь ее (просто следующими строчками под этим шаблоном) вставить вложенную таблицу, образованную по тем же правилам.

Примеры

Абстрактная проба пера

Центр Минска

Центр Санкт-Петербурга

Версия от Kononenko Alex

Схемы с подписями

SIR

PATH

AirTrain JFK

Схемы без подписей

(но каждый кружок - линк на статью)

Москва

Шаблон:Nav Московский метрополитен

Питер

Шаблон:Nav Петербургский метрополитен

Нью-Йорк от Kononenko Alex

(и самая малось моей правки) Шаблон:Nav Нью-Йоркский метрополитен

Что надо доделать

  1. Оптимизировать код. Схема для Москвы весит около 140K, т.е. почти 1K на станцию, это надо уменьшить на порядок. ••• Довел до 110, и пока всё.
  2. Заменить вычисление надписи на ее прямую передачу через параметр. Функции работы со строками едят ресурсы. ✔ Сделано
  3. Перевести файлы в svg и заменить фон на белый. Привести все цвета линий к стандартным.
  4. Придумать более внятное обозначение для текущей станции.