Справка:Инструменты
AutoWikiBrowser (AWB)[править]
АвтоВикиБраузер — мощный инструмент для правок Википедии в полуавтоматическом или полностью автоматическом (с учётных записей бота или администратора) режиме. Для его использования потребуется получение разрешения.
Pywikibot[править]
Примеры применения скриптов на основе Pywikibot для наиболее распространённых операций.
Генератор списка страниц[править]
Генератор списка страниц для обработки применяется во множестве скриптов. Для него служат несколько параметров скрипта.
Это может одна страница (параметр -page:"НАЗВАНИЕ СТРАНИЦЫ"
), категории (-category:"НАЗВАНИЕ СТРАНИЦЫ КАТЕГОРИИ"
, для работы по пересечению категорий указать параметр -intersect
, иначе работа будет по всем страницам всех указанных категорий), страницы использующие шаблон (-transcludes:""
), по началу названий страниц (-prefixindex:""
).
Дополнительно существуют фильтры, выполняющиеся по результатам генераторов. Например, можно задать фильтрацию названий по регэкспу (-titleregex:""
) после создания списка содержимого какой-либо категории.
Список страниц[править]
Используется скрипт listpages.py.
pwb.py listpages -format:'{page.can_title}' -family:wikisource -lang:ru -cat:"Русская проза, крупные формы" > /tmp/pagelist.txt
Переименование страниц[править]
Используется скрипт movepages.py. Список страниц для переименования помещаются в файл, указываемый в параметре «pairsfile», в формате построчно пары названий: исходное название, целевое название.
python pwb.py movepages -family:wikisource -lang:ru -noredirect -pairsfile:"pagelist.txt" -always
Процесс переименования выглядит примерно так:
# Экспорт списка страниц в текстовый файл, здесь простой случай: всё содержимое определённой категории
pwb.py listpages -site:wikisource:ru -format:"{page.can_title}" -cat:"<имя категории>" > /tmp/f.txt
# Открываем файл в нашем текстом редакторе, в данном случае в Sublime
subl /tmp/f.txt
# Жмём ctrl+h, включаем режим регэкспов, и в поля вводим шаблоны поиска-замены (без крайних парных кавычек), для разных случаев шаблоны могут отличаться:
# "^(.+?)( текстовая строка которую надо убрать из названий страниц)(/.+)?$"
# "\1\2\3\n\1\3"
# Кликаем "replace all", все строки в файле должны продублироваться, попарно: старое название и на новой строке - новое название.
# Проверяем, что после изменения число строк в файл чётное. Если это не так, проверяем где строка не была изменена и добавлена новая строка. Это важно, ибо скрипт будет переименовывать страницы попарно, и непарность где-то в списке приведёт к ошибочному переименованию всех последующих страниц.
# Жмём ctrl+s для сохранения в файл
# Переименовываем страницы
pwb.py movepages -site:wikisource:ru -noredirect -nosubpages -pairsfile:/tmp/f.txt
Замены текста на страницах[править]
Используется скрипт replace.py. Необходимо указать генератор списка страниц для обработки, см. тему выше.
# Список пар замен помещаются в конце строки. Если используются регэкспы, то указать параметр "regex".
pwb.py replace -family:wikisource -lang:ru -prefixindex:'Страница:Начальная часть названия' -regex '(\w)а(\w)' '\1б\2'
# Список замен помещаются в файл, указываемый в параметре "pairsfile", в формате построчно: исходное название, целевое название.
pwb.py replace -family:wikisource -lang:ru -page:'НАЗВАНИЕ СТРАНИЦЫ' -pairsfile:"/tmp/pagelist.txt"
Загрузка файлов на Викисклад[править]
Используется скрипт upload.py.
1. Создать текстовый файл с содержимым создаваемой страницы, включающий описание, лицензию, категории и т. п. Например, desc.txt
:
=={{int:filedesc}}==
{{Information
|description={{ru|1=Иллюстрация к книге "Робинзон Крузо" Даниеля Д., опубликованной на рус. языке}}
|date= published at 1887
|source=''Дефо, Даниэль'' [https://viewer.rusneb.ru/ru/rsl01003620114?page=1 Робинзон Крузо / По Даниелю де Фоэ, рассказ. рус. детям Елизаветой Вейнберг. - Одесса : Э. Берндт, ценз. 1887].
|author= [[w:ru:Дефо, Даниель|Дефо, Даниель]]
|permission=
|other versions=
}}
=={{int:license-header}}==
{{PD-RusEmpire}}
[[Category:Daniel Defoe]]
2. Запустить в консоли нижеследующую команду из папки с файлом или указав пути к файлам.
# Загрузка файла на Викисклад. Для загрузки в Викитеку заменить "-family:commons -lang:commons" на "-family:wikisource -lang:ru".
pwb.py upload -family:commons -lang:commons -keep -recursive -noverify -descfile:"desc.txt" -summary:"+" "ИМЯ_ФАЙЛА"
# Загрузка множества файлов.
# Для каждого файла надо запускать вышеприведённую команду отдельно или выполнять её для списка файлов в папке.
# На Linux это можно сделать так. Обратите внимание, что файл с описанием надо разместить в другой папке, поскольку эта команда пытается загрузить все файлы из текущей папки, что может вызвать ошибку при наличии в ней посторонних файлов.
for f in $(ls); do pwb.py upload -family:commons -lang:commons -keep -recursive -noverify -descfile:"ПУТЬ/desc.txt" -summary:"+" "$f"; done;
Удаление всех страниц в Категория:К быстрому удалению[править]
Используется скрипт delete.py.
Замените УЧАСТНИК на ваш псевдоним.
pwb.py delete -family:wikisource -lang:ru -user:УЧАСТНИК -cat:"К быстрому удалению" -summary:"удаление всех страниц в [[Категория:К быстрому удалению]]" -always
Отмена последних правок участника или бота[править]
Используется скрипт revertbot.py.
Замените УЧАСТНИК и ЧИСЛО_ПОСЛЕДНИХ_ПРАВОК_ДЛЯ_ОТМЕНЫ на нужные.
pwb.py revertbot -site:wikisource:ru -username:УЧАСТНИК -limit:ЧИСЛО_ПОСЛЕДНИХ_ПРАВОК_ДЛЯ_ОТМЕНЫ
Нужное число правок можно найти, подобрав параметр limit
в url: https://ru.wikisource.org/w/index.php?title=Служебная:Вклад&target=УЧАСТНИК&limit=2
Внешние редакторы[править]
Тексты страниц может быть удобно редактировать скопировав во внешние файлы. Внешние текстовые редакторы позволяют отменять последние изменения в тексте, делать мощные и быстрые операции, такие как моментальную поиск-замену текста с поддержкой регэкспов.
Cохранять nекст следует в формате TXT (plain text), обязательно в кодировке utf-8. Формат mediawiki — это plain text с разметкой из текстовых символов, которые программы могут интерпретировать как оформление.
Лучшие редакторы: Notepad++ для Windows, Sublime для Windows и Linux.
Не следует путать текстовые редакторы и текстовые процессоры (MS Word, WordPad, LibreOffice и т. п.), которые создают файлы в своих форматах, кроме собственно текста содержащие шрифты, стили и др.
Автосохранение[править]
Редактор в браузере не поддерживает автосохранение прогресса редактирования текста, историю изменений и возможность отмены последних правок. Это создаёт риск утери многочасовой кропотливой работы из-за какого-либо технического сбоя. Поэтому полезной привычкой является редактирование во внешних редакторах, имеющих данные функции, и/или периодическое копирование в них редактируемого текста во время работы и перед постингом.
Варианты:
- Обязательно нажимать кнопки
ctrl+A
иctrl+C
перед кликом по кнопке отправки текста. Эти комбинации клавиш копируют весь текст в буфер обмена. Это предохранит от утери текста при отправке из-за обрыва связи. (Скопированный текст можно вставить в редактор нажатиемctrl+V
.) Это действие рекомендуется сделать привычкой при работе с любыми текстами в интернет. - Внешние редакторы.
- Сервис Google Keep (расширение браузера и приложение для гаджетов), сохраняющий текст в облаке. Может быть удобен при написании небольших заметок и сохранения комментариев перед постингом.
- Приложения автоматически сохраняющие буфер копирования. С ними достаточно просто выделить текст, нажать Ctrl-c где угодно, включая окно браузера, и он сохранится.
Редактор Sublime[править]
Проверка орфографии[править]
К Sublime можно подключить словари для проверки орфографии, есть словарь дореформенной орфографии.
Включение проверки орфографии выполняется нажатием F6, переход по ошибкам клавишами ctrl+F6 и ctrl+shift+F6. Переключение словарей в меню View → Dictionary
Дополнительные настройки:
- Откройте настройки Sublime (
Preferences → Settings
в меню), в правой половине экрана расположены пользовательские настройки, найдите там строку"dictionary": "/путь к словарю/",
под ней добавьте"fallback_encoding": "Cyrillic (Windows 1251)",
. - При добавлении строки
"spell_check": true,
включится автопроверка орфографии для каждого текста, без нажатия F6. Но это будет замедлять работу с большими файлами.
Установка словарей[править]
Со страницы словарей скачайте файлы *.aff и *.dic нужного словаря (скачать все словари). Для дореформенной орфографии это файлы ru_petr1708.aff, ru_petr1708.dic
[1]. Откройте папку профиля Sublime (Preferences → Browse Packages…
в меню Sublime), желательно перейти в подпапку User, и положите туда файлы. Перезапустите Sublime.
Плагин Mediawiker[править]
Для Sublime есть плагин Mediawiker. Поддеживает подсветку вики-синтаксиса, простое оформление (курсив, bold, заголовки и т. п.), открытие страницы с вики-сайта, предпросмотр изменений, постинг и некоторые др. функции. Например, им удобно редактировать единый файл для всех страниц книги перед заливкой его в ПИ Страница с разбивкой на страницы.
Недостаток: Для реализации обёртывающих тегов и шаблонов, которые добавляют начальные и конечные текстовые фрагменты по разным сторонам выделенного текста (например, теги <ref></ref>
), надо добавлять свои сниппеты.
Плагин GhostText[править]
Плагин GhostText позволяет связать поле редактирования в браузере с текстовым редактором (Sublime, Vim, Emacs, VSCode, Acme). Видео. Для установки надо установить плагин для браузера, плагин в редактор. Использование: в браузере открыть на редактирование нужную вики-страницу, кликнуть иконку плагина в панели браузера, текст откроется в текстом редакторе.
Недостаток: Изменения текста синхронизированы в направлении редактор → браузер. Поэтому, если сделать какие-то изменения в викиредакторе (например, викификацию текста), а затем кликнуть окно с внешним редактором, то изменения в викиредакторе заменятся (удалятся) версией из внешнего редактора. Необходимо быть внимательным.
Программа распознавания текста (OCR) FineReader[править]
Лучшая из существующих программа распознавания текста, является коммерческой.
Извлечение иллюстраций из сканов[править]
Удобна для извлечения иллюстраций из сканов книг, при этом для них выполнится исправление искажений. Для этого надо загрузить в неё скан, запустить распознавание, затем экспортировать результат как html. Иллюстрации сохранятся в папке. Затем их легко загрузить с помощью Pywikibot (см. выше).
Регулярные выражения (RegExp, регэкспы)[править]
Регулярные выражения позволяют, используя специальные метасимволы, делать сложные операции поиск/замена. Поддерживаются во всех редакторах и ботах.
Импорт тестов со сторонних сайтов с сохранением оформления текста[править]
- Для примера возьмём страницу https://russportal.ru/index.php?id=church_writing.ilyin_ia1931_00_001. Там надо найти html-элемент с блоком текста.
- Открываем панель «Инструменты разработчика»:
- В браузере Chrome достаточно просто правой кнопкой кликнуть на нужный участок страницы, и в контекстном меню выбрать «показать код».
- Или откройте панель «Инструменты разработчика». В браузере Chrome оно вызывается кнопкой F12; В Яндекс-браузере — Crtl-Shift+I или через меню. В панели, на левой вкладке «Элементы» включите «выбор элементов на странице», Ctrl+Shift+C. Есть масса информации в интернет об этом, например см. видео про эту панель, как включить выбор элементов показано на :39 секунде.
- Там надо найти нужный элемент с блоком всего текста, но без сторонних элементов (вроде блоков рекламы, навигации и т. п.). Мышкой, в режиме выделения элементов, на данной странице его можно найти, наведя чуть выше красного заголовка «И. А. Ильинъ († 1954 г.)». Это элемент
<div class="text">...</div>
. Поскольку я вам его уже нашёл и назвал, вы можете его просто найти, нажав Ctrl+F (поиск по элементам) в панели на вкладке «Элементы» и введя «.text» (точка — это сокращение для «class»). Далее кликаете по этому элементу правой кнопкой, выбираете «Копировать → Копировать outerHTML». Готово, html с текстом у вас в буфере обмена.
- Открываем панель «Инструменты разработчика»:
- Вставляете его в редактор, нажав Ctrl+V или используя контекстное меню мышки.
- Рекомендую установить текстовый редактор Notepad++ или Sublime. Поскольку дальше придётся чистить текст от лишних тегов и мусора, предпочтительно с использованием регэкспов. Редактировать можно и в обычном вики-редакторе, но он ущербный, опция Поиск/замена в нём очень тормозит, особенно на больших файлах, нет возможности отменять последние изменения в тексте.
- Теперь надо преобразовать html-разметку в вики-разметку. Хотя Викитека понимает html (и «под капотом» преобразуем собственно вики-разметку в html), но это общественный проект в котором текст должен был понятен другим пользователям и не должно быть сложных html-тегов, затрудняющих редактирование и запутывающих участников не являющихся веб-дизайнерами. Для конвертации html в вики-разметку используем следующие способы.
- Есть общеизвестный конвертер Pandoc (https://pandoc.org), он консольный, хотя бывают его веб-интерфейсы в виде сайтов. Консольный лучше всех других конверторов. Конвертация была бы такой командой. Но поскольку большинство пользователей использует ОС Windows и привыкло к визуальному представлению и мышке, то объяснять это не буду; а пользователи ОС на базе Linux и так всё сделают парой команд.
- Гаджет wikEd. После включения гаджета в правом-верхнем углу в ВТ появится иконка . Если нажать её — панель редактирования гаджета включиться в режиме редактирования страницы. Рекомендую этот гаджет выключать после использования, возвращаясь к нашей панели. В этой панели вам нужна кнопочка «<>» Fix html (w:en:User:Cacycle/wikEd help#Fix buttons). При её нажатии, html-теги преобразуются в вики-разметку. Бывает конвертирование html этого гаджета неудовлетворительное, поэтому можно будет смотреть др. вариант.
- Теперь надо преобразовать нестандартный теги сайта в наши шаблоны. Для этого используем регэкспы. Надо переключить опцию Поисх/замена на режим регэкспов: во внешних редакторах есть галочка, в вики-редакторе в Поиск/замена тоже есть галочка (нижняя). Несколько примеров:
- Преобразуем разрядку сайта в наш шаблон {{razr}}. В поле «поиск» введите регэксп:
<cite>(\s*)(.+?)(\s*)</cite>
, в поле «замена»:$1{{razr|$2}}$3
. Если пользуетесь редактором Sublime, то замените тут «$1» на «\1» (другой диалект регэкспов). - Переводы строк тегом
<br>
на нормальные, регэкспом:<br>
→\n
. «\n» означает перевод строки. - Заголовки, выделенные в этом тексте жирным шрифтом и тегом
<center>
, регэкспом:\n*<center>'''(.+?)'''</center>\n*
→\n\n=== $1 ===\n
.
- Преобразуем разрядку сайта в наш шаблон {{razr}}. В поле «поиск» введите регэксп:
Дореформенная орфография[править]
CSS — стили оформления[править]
- MediaWiki:Common.css, MediaWiki:Interface.css — общие стили
- MediaWiki:Epub.css — экспорт страниц в файлы Epub, расширения s:mul:Wikisource:WS Export
- CSS страницы шаблонов — расширение TemplateStyles (см. w:Википедия:Стили шаблонов) позволяет использовать CSS для отдельных шаблонов, как их подстраницу. Это может разгружать код шаблона, HTML-код страницы (если шаблон часто повторяется на странице) и позволяет вносить правки без необходимости править общие css-правила Викитеки.
- MediaWiki:Mobile.css — для мобильной версии
Также есть другие css для гаджетов и тем оформления.
Примечания[править]
- ↑ Резервная ссылка на словарь дореволюционной орфографии (ДО).