Конвертація списків
На жаль через недоліки тулсервера і його програмістів, ми вимушені формувати списки у досить специфічному шаблонному форматі. Відтак звичайні, прості вікі-списки доводиться конвертувати у шаблонні. Нижче описується, як це робиться.
Теорія[ред.]
Постановка задачі[ред.]
Власне поки не зрозуміло, чи дадуть мені іноземні генії обіцяний інструмент, але маю передчуття що вони блефували, натомість наші можуть краще. Отже. Потрібна трансформація такого роду:
Виглядає:
|- | a1 || b1 || c1 || d1 |- | a2 || b2 || c2 || d2
Має виглядати:
{{WLM-рядок| parameter name1 = a1 | parameter name2 = b1 | parameter name3 = c1 | parameter name4 = d1}} {{WLM-рядок| parameter name1 = a2 | parameter name2 = b2 | parameter name3 = c2 | parameter name4 = d2}}
Список, де ідея реалізована у 2-х рядках вручну - Вікіпедія:Вікі любить пам'ятки/Вінницька область/Жмеринка. Робилося руками, отак.
Розв'язання[ред.]
Практика[ред.]
Крок 1. Конвертація в шаблонний вигляд[ред.]
Для конвертації списків використовується підстановочний шаблон {{WLM-row}} та програма, здатна робити автохзаміни. Для тих, хто користується AWB нижче приводяться посилання на файли AWB розроблені для автозамін.
Отже, для конвертації форматів слід зробити такі кроки:
1. Обрати список для конвертації. Використовуватиме в якості прикладу Перелік об'єктів культурної спадщини Голосіївського району міста Києва.
2. Модифікуємо шаблон Шаблон:WLM-row або створюємо подібний так, щоб номери стовпчиків вихідного списку були поставлені навпроти відповідного параметру в шаблоні. Наприклад у Голосіївському списку параметри такі:
- Номер
- Назва
- Дати
- Адреса
- Охоронний номер
- Документ про взяття на облік
Отже в нашому випадку має бути
{{WLM-рядок | ID = {{{1}}} (номер) | назва = {{{2}}} (назва) | рік = {{{3}}} (дати) | нас_пункт =[[Київ]] (бо список київський) | адреса = {{{4}}} (адреса) | координати = (порожньо, бо відсутній такий параметр) | охоронний номер = {{{5}}} (охоронний номер) | тип = (порожньо, бо відсутній такий параметр) | фото = (порожньо, бо відсутній такий параметр) |галерея = (порожньо, бо відсутній такий параметр) }}
Зберігаємо зміни в шаблоні.
3. Копіюємо вихідний список на сторінку проекту. В нашому випадку це буде сторінка Вікіпедія:Вікі любить пам'ятки/Київ/Голосіївський. Для інших міст чи районів бажано, об ця сторінка була підсторінкою відповідної області проекту Вікіпедія:Проект:Вікі любить пам'ятки.
4. Змінюємо усі входження:
файл_AWB |
|- |
на
}} {{subst:WLM-row|
а також всі
||
на
|
- Зберігаємо сторінку.
- Додаємо координати та світлини по можливості.
Або можна піти іншим шляхом: скопіювати з Word в Excel, зробити необхідні заміни, вилучити зайві колонки, з решти колонок (ID, назва, н/п, адреса, ох. номер, рік, тип) за допомогою конкатенації отримати необхідні рядки з шаблоном ВЛП-рядок, потім скопівати їх у список.
Крок 2. Географічні координати[ред.]
- Як визначити географічні координати читаємо тут: Довідка:Географічні координати
- Координати підставляються у параметр "координати" в довільному форматі - {{coord|широта|довгота}} або {{coord|гг|мм|сс|N|гг|мм|сс|E|}}
- Не забувайте змінити знаки градусів хвилин і мінут на |. Можна це зробити вручну або за допомогою AWB (файл).
Крок 3. Переформатування координат для остаточного вигляду[ред.]
На жаль недоліки тулсервера і його програмістів не дозволяють працювати зі стандартними форматами координат {{coord|широта|довгота}} або {{coord|гг|мм|сс|N|гг|мм|сс|E|}} , а вимагають записувати значення широти і довготи окремо. Тому остаточний Шаблон:ВЛП-рядок має такий вигляд:
{{WLM-рядок | ID = | назва = | рік = | нас_пункт = | адреса = | широта = | довгота = | охоронний номер = | тип = | фото = <br /> | галерея = }}
Для того щоб трансформувати код, отриманий після кроку 2 у належний формат, слід зробити такі дії.
- Визначити, в якому форматі записані координати. Можливі три варіанти.
- Зробити перетворення
- Якщо усі координати записані у форматі {{coord|широта|довгота}}, міняємо:
файл_AWB |
| координати = {{coord|
на
| широта = {{subst:широта-н|
Визначаємо на якій довготі знаходяться об'єкти, після чого міняємо:
|дд.
на
}} |довгота = {{subst:довгота-н|дд.
Якщо район охоплює 2 довготи, відповідно міняємо двічі. Наприклад, якщо район охоплює 29-ту і 30-ту довготу міняємо:
|29.
на
}} |довгота = {{subst:довгота-н|29.
і
|30.
на
}} |довгота = {{subst:довгота-н|30.
- Якщо усі координати записані у форматі {{coord|гг|мм|сс|N|гг|мм|сс|E|}} , міняємо:
| координати = {{coord|
на
| широта = {{subst:широта-н|
і
N|
на
}} |довгота = {{subst:довгота-н|
- Якщо в перемішку виконуємо послідовно усі заміни, перелічені вище.
Крок 4. Останній крок[ред.]
- Зберігаємо список
- Не лякакємося жаху який побачимо, а міняємо всі входження {{# на {{subst:#
- Ще раз зберігаємо і
- Якщо вийшло кльово, втішаємося досягненнями
- Якщо не вийшло скаржимося користувачу A1
Альтернативний Крок 2.[ред.]
Можна одразу WLM-рядок конвертувати у ВЛП-рядок і координати одразу вводити у форматі - широту окремо і довготу окремо. Для цього робимо такі зміни:
файл_AWB |
{{WLM-рядок
на
{{ВЛП-рядок
і
|координати =
на
|широта = |довгота =
Недоліки з читанням шаблонів[ред.]
Звертаємо увагу на те, що тулсервер не спроможний читати шаблони. Тому в конкурсних списках слід уникати шаблонів скорочень, шаблонів прихованих або спливаючих текстів (як напр. {{comment}}), а також шаблонів координат - і широта і довгота задаються просто числом.