Участник:Vcohen/Шаблоны схем метро: различия между версиями
Перейти к навигации
Перейти к поиску
Содержимое удалено Содержимое добавлено
Vcohen (обсуждение | вклад) |
Vcohen (обсуждение | вклад) |
||
Строка 1011: | Строка 1011: | ||
* Показать названия на том варианте схемы, где их нет. Пока не получается, технические подробности [http://www.sql.ru/forum/1096221 здесь]. |
* Показать названия на том варианте схемы, где их нет. Пока не получается, технические подробности [http://www.sql.ru/forum/1096221 здесь]. |
||
* Придумать более внятное обозначение для текущей станции. Сделано частично - кроме черного контура сделано несколько разных плюс возможность указать в шаблоне, какой из них использовать для данной станции. |
* Придумать более внятное обозначение для текущей станции. Сделано частично - кроме черного контура сделано несколько разных плюс возможность указать в шаблоне, какой из них использовать для данной станции. |
||
* Приспособить к мобильным устройствам. |
|||
=== Не сделано и скорее всего не будет === |
=== Не сделано и скорее всего не будет === |
Версия от 12:53, 10 декабря 2014
Пояснения
Вот категория с шаблонами.
Описание синтаксиса шаблонов
- 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, с какой стороны страницы должен быть показан шаблон
Все файлы
Примечания
- Эта серия шаблонов принимает описание цвета через параметры, в самих файлах нет никаких цветов, кроме белого цвета, который воспринимается как фон схемы. Поэтому есть возможность строить схемы для любых городов с любыми цветами, даже если код цвета в свою очередь задается через шаблон. Платой за эту гибкость служит необходимость включить распечатку фона при распечатывании схем, построенных таким образом.
- Следует не путать пересадочную станцию, обозначаемую полосатым кружком, и две станции с переходом между ними. При этом для пересадочного узла, состоящего из нескольких соединенных станций, не обязательно показывать, какая станция с какой соединена и какая с какой нет, - достаточно произвольным образом связать все нужные станции между собой.
- Каждый из шаблонов образует ячейку таблицы, начиная с символа |. Начало таблицы (и еще кое-что) создается шаблоном SM before, а конец (и еще кое-что) шаблоном SM after. Схема состоит из шаблонов в следующем порядке:
- SM before
- SM head нужное число раз в соответствии с шириной таблицы
- строки таблицы, начинающиеся с |- каждая
- SM after
- Для схемы с надписями: если ячейка образована шаблоном SM text без текста, то можно внутрь ее (просто следующими строчками под этим шаблоном) вставить вложенную таблицу, образованную по тем же правилам.
Примеры
Абстрактная проба пера
|
Центр Минска | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Центр Санкт-Петербурга |
Версия от Kononenko Alex |
Схемы с подписями
SIR |
PATH |
AirTrain JFK |
Схемы без подписей
(но каждый кружок - линк на статью)
{{Nav Московский метрополитен}} | {{Nav Петербургский метрополитен}} |
{{Nav Нью-Йоркский метрополитен}} (исходный автор Kononenko Alex) |
Что надо доделать
Сделано
- Заменить вычисление надписи на ее прямую передачу через параметр. Функции работы со строками едят ресурсы. Сделано, заодно на схеме Нью-Йорка добавлены к надписям обозначения маршрутов
- Перевести файлы в svg и заменить фон на белый. Сделано, большое спасибо Hellerick
- Привести все цвета линий к стандартным. Сделано
Пока не сделано
- Показать названия на том варианте схемы, где их нет. Пока не получается, технические подробности здесь.
- Придумать более внятное обозначение для текущей станции. Сделано частично - кроме черного контура сделано несколько разных плюс возможность указать в шаблоне, какой из них использовать для данной станции.
- Приспособить к мобильным устройствам.
Не сделано и скорее всего не будет
- Оптимизировать код. Сейчас на примере схемы Москвы получается примерно 200K на примерно 200 ссылок, т.е. 1K на станцию, и это надо уменьшить.
- Во-первых, это вряд ли возможно. Один кружочек со ссылкой на статью в результирующем HTML'е выглядит так:
<a href="/ruwiki/wiki/%D0%9A%D1%80%D1%8B%D0%BB%D0%B0%D1%82%D1%81%D0%BA%D0%BE%D0%B5_ (%D1%81%D1%82%D0%B0%D0%BD%D1%86%D0%B8%D1%8F_%D0%BC%D0%B5%D1%82%D1%80%D0%BE)" title="Крылатское"><img alt="" src="/upwiki/wikipedia/commons/thumb/9/97/SMicon_O.svg/20px-SMicon_O.svg.png" width="20" height="20" srcset="/upwiki/wikipedia/commons/thumb/9/97/SMicon_O.svg/30px-SMicon_O.svg.png 1.5x, /upwiki/wikipedia/commons/thumb/9/97/SMicon_O.svg/40px-SMicon_O.svg.png 2x" /></a>
- Здесь выделенное зеленым является ссылкой на статью, а выделенное красным ссылками на три версии графического файла. Всё генерится автоматически, и это уже 0,5K, т.е. на одни только кружочки уходит 100K, - а ведь еще есть линии между кружочками, переходы и т.д.
- Во-вторых, я не уверен, что это является проблемой.
- Во-вторых-первых, обнаружилась Категория:Страницы, для которых превышен допустимый размер включаемых шаблонов. В нее входят некоторые страницы, на которых расположены схемы, построенные на основе BSicons (а именно: Википедия:Шаблоны/Навигационные/Метро, Большое кольцо Московской железной дороги). А эта страница в нее не входит (и не входила, когда прямо на ней сидели несколько схем, включая рекордную по размеру схему Нью-Йорка), хотя здесь суммарное количество станций гораздо больше, чем там.
- Во-вторых-вторых, схема Московского метро, которая стоит в статье (причем не сам файл, а всего лишь превьюшка, на которой не то что кликнуть по конкретной станции, даже разглядеть ничего нельзя), весит 74K. Поэтому полагаю, что 200K для полноценной интерактивной схемы очень даже немного.