Википедия:Инструменты/Правка

Использование для редактирования Википедии полнофункционального текстового редактора, вместо стандартного текстового поля в окошке браузера может быть оправдано по ряду причин. Редакторы текста обладают очень полезными, особенно для длинных статей функциями, типа проверка правописания, поиска по тексту, автоматической замены, макросов, и подсветки синтаксиса. Они также обеспечивают быстрый и легкий способ сохранения локальных резервных копий статьи для автономного редактирования.

Данная статья содержит советы по применению сторонних редакторов для редактирования Википедии.

Как открыть статьи в вашем текстовом редактореПравить

Mozilla FirefoxПравить

Пользователи браузера Mozilla Firefox могут использовать свободные плагины, представляющие собой простые текстовые редакторы и освобождающие пользователя от ручного копирования текста из окна редактирования в редактор и обратно.

Плагин Особенности
MozEx. Последняя версия поддерживает редактирование документов в формате UTF-8. (Официальная версия его не поддерживает и может вызвать трудности при установке)
ViewSourceWith Аналогичен предыдущему
Editus Externus При использовании блокирует окно браузера, исключая просмотр страниц во время редактирования.
TextArea Sputnik Вместо некоторых символов (юникода?) отображает вопросительные знаки.
It’s All Text! поддерживает редактирование страниц в Юникоде.
Vimperator Реализует интерфейс редактора Vim (c элементами графического интерфейса). Поддерживает Java. Допускает расширение функциональности с помощью плагинов.

Перед тем как воспользоваться предварительным просмотром при редактировании текста в любом из вышеперечисленных редакторов, необходимо предварительно сохранить текст в самом редакторе. Для того, чтобы продолжить редактирование после предварительного просмотра, необходимо перейти на предыдущую страницу в браузере (или сначала сохранить правку и только потом' редактировать).

It’s All Text! для запуска стороннего редактораПравить

После установки плагина It’s All Text!' в нижнем правом углу текстового поля появится синяя кнопочка. Чтобы открыть текст в редакторе кликните по кнопке.

при первом запуске программы появится диалоговое окно, запрашивающее путь к стороннему редактору. Путь к редактору всегда можно поменять, кликнув правой кнопкой мышки в области текста и выбрав пункт «Preferences» раздела «It’s All Text». Если вы хотите при запуске передать редактору какие-либо параметры, используйте скрипт (файл с расширением .bat). Вы можете закрепить за документами в вики-разметке расширение (полезно, если редактор имеет разные настройки для разных типов файлов), пользуясь командой «Preferences» контекстного меню.

Выполнив вышеуказанные действия, вы сможете вызывать текстовый редактор простым нажатием кнопки в нижней правой части тестового поля или через контекстное меню. В последнем случае, Вы сможете выбирать тип (или расширение) редактируемого документа.

После внесения исправлений сохраните изменения в редакторе. Полученный тест будет автоматически скопирован в текстовое поле браузера. По умолчанию, редактор записывает редактируемый документ во временный файл на диск. Чтобы его сохранить, задайте имя и выберите команду «сохранить».

Использование консольного редактораПравить

Некоторые из макрокоманд, работающих в vim, могут вызвать трудности при работе в gvim. (e.g., the macro to format text paragraphs). Для запуска vim в виртуальном терминале для X Window System, можно использовать приведённый ниже скрипт. Этот скрипт можно адаптировать для запуска любого другого консольного редактора. Предположим, что скрипт имеет название wiki.edit.vim, и находится в каталоге /home_dir/bin/, полный путь к нему будет:

  /home_dir/bin/wiki.edit.vim

Откройте окно настроек («Prefrences») плагина «It’s all Text!» и замените строчку /usr/bin/gvim) приведённой выше. В большинстве случаев этого должно быть достаточно. Обратите внимание на то, что на месте /home_dir/ должен быть полный путь к вашему каталогу; не используйте сокращённую запись с тильдой ~/.

Листинг wiki.edit.vim скрипта для запуска vim:

#! /bin/sh
# $Id$
# vql, Thu, 27 Sep 2007, 17:56:09 EDT
#
# Открывает виртуальный терминал в окне (xterm) и запускает в нём vim
# Вызвается плагином «It's all Text!» для Firefox
#
# The arguments for xterm are the same as those used to open up
# X terminals in laptop io2.  See ~/manuals/laptop.io2.fc3.html,
# Section on xfce.
# серый фон: (НЕ НУЖНА, поскольку окно терминала закрывается после закрытия вики-файла; Бэкслеш ( \ ) 
#   указывает интерпретатору, что будут ещё команды:
#
#   -bg gray \
#
# размер шрифта:
#   -fn -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1 \
#
# For the sidebar:
#   -sb
#
# размеры окна (80 столбцов, 39 строк, right justified)
#   -geometry 80x39+800 \
#
# For executing vim on the file being the first argument of the script
#   -e /usr/bin/vim $argv[1]
#
# Возвращает:
# 0 = успешное выполнение
#
# Updated for generic Bourne shell by Eeera 2008-03-27

/usr/bin/xterm \
   -sb \
   -fn -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1 \
   -geometry 80x39+800 \
   -e /usr/bin/vim "$1"

Вы можете смело удалять опции, такие как -sb, -fn, -geometry, и так далее. Например, опция -bg отключена по умолчанию — смотрите закомментированную часть кода. Правьте с удовольствием!

Использование vim под Mac OS XПравить

Чтобы обеспечить себе стабильную работу «It’s All Text» в операционной системе Mac OS X, нужно скачать Macvim, распаковать архив и перенести файл MacVim.app в каталог Applications. MacVim поставляется со стартовым скриптом (mvim). Путь к этому скрипту нужно указать в диалоговом окне «It’s All Text». Скрипт можно разместить в любом каталоге.


Текстовые браузерыПравить

elinksПравить

Браузер elinks позволяет поддерживает редактируемые текстовые поля. Сочетание клавиш Ctrl-T запускает сторонний редактор, например vim. (С использованием подсветки синтаксиса, проверкой правописания и возможностью сохранения локальных копий.

w3mПравить

w3m по умолчанию запускает отдельный редактор.

LynxПравить

Для того, чтобы запустить сторонний редактор (nano или vi) из браузера Lynx нужно поместить курсор в поле редактирования и нажать сочетание Ctrl-X и затем клавишу e. Кроме того, имеется возможность самостоятельно определять команды для запуска стороннего редактора.

Утилиты командной строкиПравить

Существуют программы, позволяющие редактировать статьи Википедии без использования браузера.

  • mvs, программа, написанная на Perl. Может быть скачана с репозитория CPAN. Подробное описание содержится по адресу Meta:WWW::Mediawiki::Client. MVS использует имя локального файла в качестве названия статьи. Не пригодна для редактирования статей с названиями в юникоде. По видимому, класс (или модуль?) Mediawiki::Client наряду с библиотеками Perl не поддерживают в полной мере обработку строк в юникоде, даже если терминал и интерпретатор команд настроены на работу с ним. Подробности можно узнать здесь: Debian bug reports.
  • Meta:pywikipedia обширная библиотека и набор построенных на ней утилит для автоматизации работы с википедией. Позволяет передавать имена статей в кодировке UTF-8. (Например, записывая название в тело файла . В таком случае имя локального файла может быть записано с использованием только символов ASCII. Пример содержимого файла 'foo.wiki', предназначенного для pagefromfile.py (с Meta:pywikipedia):
{{-start-}}'''Демография'', или наука о народонаселении, изучает численность, состав, размещение и движение населения. 
{{-stop-}}

{{-start-}}'''人口学'''はヒトの人口の科学的研究をいい、主としてその大きさ、構造 2そしてその成長発展を研究対象とする。
{{-stop-}}

{{-start-}}'''Demography''' is the scientific study of human populations primarily with respect to their size, their structure and their development
{{-stop-}}

{{-start-}}'''الديمغرافية''': علم يتناول دراسة المجتمعات البشرية من حيث حجومها و بناها و تطورها و خصائصها العامة و لا سيما من النواحي الكمية.
{{-stop-}}

В вышеприведённом примере, команда

  python pagefromfile.py -file:foo.wiki

загрузит четыре страницы за один сеанс (теги 'start' и 'stop' выполняют функции разделителей между страницами Демография, 人口学, Demography and الديمغرافية).

WikipediafsПравить

Пользователям POSIX-совместимых операционных систем, таких как Linux или Mac OS X, доступна программа Wikipediafs, представляющая статьи вики-сайтов, построенных на основе медиавики, в виде файлов. Она написана на Python с использованием FUSE. Текущая версия (0.3) непроста в установке и требует установку дополнительного программного обеспечения. Для пользователей Firefox более удобной альтернативой является плагин It’s All Text.

Поддержка Wikipediafs для Emacs доступна по адресу wikipediafs.el.

Настройка редакторовПравить

Плагин для EclipseПравить

Специальный плагин доступен для Eclipse. Имеет множество функций, упрощающих редактирование википедии, включая автоматическую загрузки статей и подсветку синтаксиса.

GNU EmacsПравить

Основными аддонами для Emacs являются:

  • wikipedia-mode.el реализует подсветку синтаксиса.
  • wikipedia.el более сложный аддон. Позволяет редактировать википедию в режиме WYSIWYG. Поскольку разрабатывается для текущей (из CVS) версии, может оказаться несовместимым с более ранними версиями. В настоящее время разработка приостановлена, код находится на этапе альфа-тестирования.

Поскольку в статьях Википедии не применяются символы переноса строки don’t use line breaks, Вам может понадобиться screen-lines.el, адаптирующий команды перемещения для работы с отображаемыми строками, or install longlines.el, реализующий автоматический перенос («word wrap») для Emacs (longlines.el входит в GNU Emacs). Инструкции по установке здесь.

Оба расширения совместимы с wikipediafs.el.

jEditПравить

Для jEdit плагин можно скачать по адресу http://www.djini.de/software/mwjed/ . Кроме подсветки синтаксиса, предоставляет возможность обращаться к википедии через HttpClient из Jakarta Project.

Kate / KWriteПравить

Kate (редактор, входящий в KDE для ОС GNU/Linux) обеспечивает подсветку синтаксиса (для этого нужно скачать файл de:Media:Wikimedia.xml. Распознаёт теги HTML , wiki control characters, ссылки, разделы заголовки, таблицы и тег <nowiki>.

Чтобы установить этот аддон нужно скопировать его исходный текст в каталог ~/.kde/share/apps/katepart/syntax/ для каждгог пользователя или в общий каталог $(PREFIX)/share/apps/katepart/syntax/ для всех пользователей. Можно восполльзоваться командой меню: Settings → Configure Kate → Highlighting → Download.

NoteTabПравить

Плагин Clip Library plugin для NoteTab добавляет несколько функций, позволяющих автоматизировать разметку.

SubEthaEditПравить

Плагин для SubEthaEdit можно скачать по адресу [http://www.codingmonkeys.de/subethaedit/modes.html#Wikipedia.mode syntax highlighting mode. Вы можете установить его либо в каталог /Library/Application Support/SubEthaEdit/Modes/ (чтобы сделать доступным для всех пользователей) или ~/Library/Application Support/SubEthaEdit/Modes/ (для отднльного пользователя). Возможно придётся создавать соответствующие каталоги вручную. За файлами в вики-разметке закрепляет расширения .wiki or .wikipedia.

TextMateПравить

A «MediaWiki» bundle is available in the TextMate bundle subversion repository. To learn how to load this bundle, see the TextMate manual page about installing more bundles. The bundle for now (8 August 2006) only does syntax highlighting, but the ability to fetch and post articles is coming soon.

VeditПравить

Плагин Wiki Tools для VEDIT реализует подсветку синтаксиса, настройки клавиатуры, меню пользователя, инструменты и макросы для вставки и редактирования вики-тегов. Поддреживает такие сложные операции как добавление, удаление и копирование столбцов в вики-таблице. Инструкция по установке прилагается. Включает акже рекомендации для настройки It’s All Text!.

VimПравить

Инструкцию по включению в Vim (Amiga, Linux, Mac OS X, Windows, OpenVMS, OS/2, Unix) подсветки синтаксиса смотрите здесь: загрузите Wikipedia.vim в каталог «syntax» (по умолчанию «~/.vim/syntax» в Unix-подобной ОС; «C:\Program Files\Vim\vimfiles\syntax» в в Windows™). Если вышеуказанные каталоги не существуют, вам придётся создать их вручную.

Чтобы включить автоматическое определение файлов с расширением «.wiki», добавьте следующие строки в файл «.vim/filetype.vim» или «vimfiles\filetype.vim»:

augroup filetypedetect
    autocmd BufRead,BufNewFile *.wiki setfiletype Wikipedia
    autocmd BufRead,BufNewFile *.wikipedia.org* setfiletype Wikipedia
augroup END

Как вариант, можете добавить следующие строки в файл vimrc (обычно ~/.vimrc в UNIX-подобных ОС и C:\Program Files\Vim\_vimrc в Windows) (не работает с Vim 7, используйте предыдущий вариант):

autocmd BufRead,BufNewFile *.wiki setfiletype Wikipedia
autocmd BufRead,BufNewFile *.wikipedia.org* setfiletype Wikipedia

Кроме того, команда «:setf Wikipedia» включает поддержку синтаксиса длятекущего файла.

Вышеупомянутое расширение Mozex для Firefox присваивает временным файлам расширение «.txt», а не «.wiki» из-за чего не срабатывает автоматическое определение типа. Возможным выходом является запуск vim с опцией

-c "setf Wikipedia"

полностью команда запуска выглядит так:

gnome-terminal -e "vim -c 'setf Wikipedia' $1"

Статьи в вики-разметке имеют символы разрыва строки в конце параграфа. По умолчанию Vim ожидает их после каждой строки. Чтобы исправить это, сохраните следующие строки в файл «~/.vim/ftplugin/Wikipedia.vim» или «vimfiles\ftplugin\Wikipedia.vim»:

" Wikipedia prefers line breaks only at the end of paragraphs (like in a text
 " processor), which results in long, wrapping lines. 
setlocal wrap linebreak
setlocal textwidth=0

" No auto-wrap at all.
setlocal formatoptions-=tc formatoptions+=l
if v:version >= 602 | setlocal formatoptions-=a | endif

" Make navigation more amenable to the long wrapping lines. 
noremap <buffer> k gk
noremap <buffer> j gjamenable
noremap <buffer> <Up> gk
noremap <buffer> <Down> gj
noremap <buffer> 0 g0
noremap <buffer> ^ g^
noremap <buffer> $ g$
noremap <buffer> D dg$ 
noremap <buffer> C cg$ 
noremap <buffer> A g$a

inoremap <buffer> <Up> <C-O>gk
inoremap <buffer> <Down> <C-O>gj

Additional to that you may want to save the following lines to «~/.vim/ftplugin/Wikipedia.vim» or «vimfiles\ftplugin\Wikipedia.vim» for some more gimmicks (you may need to put «filetype plugin on» in your vimrc):

" utf-8 should be set if not already done globally
setlocal fileencoding=utf-8
setlocal matchpairs+=<:>

" Treat lists, indented text and tables as comment lines and continue with the
" same formatting in the next line (i.e. insert the comment leader) when hitting
" <CR> or using "o".
setlocal comments=n:#,n:*,n:\:,s:{\|,m:\|,ex:\|} 
setlocal formatoptions+=roq

" match HTML tags (taken directly from $VIM/ftplugin/html.vim)
if exists("loaded_matchit")
    let b:match_ignorecase=0
    let b:match_skip = 's:Comment'
    let b:match_words = '<:>,' .
    \ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' .
    \ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' .
    \ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
endif

« Other useful mappings
„ Insert a matching = automatically while starting a new header.
inoremap <buffer> <silent> = <C-R>=(getline('.')==''\|\|getline('.')=~'^=\+$')?“==\<Lt>Left>»:"="<CR>

« поддержка деления на ==секции==
: set foldexpr=getline(v:lnum)=~'^\\(=\\+\\)[^=]\\+\\1\\(\\s*<!--.*-->\\)\\=\\s*$'?\»>\".(len(matchstr(getline(v:lnum),'^=\\+'))-1):\"=\"
: set fdm=expr

Please feel free to edit Wikipedia.vim and upload an improved copy, or to check on the vim-devel list if anyone has requested the upload of Wikipedia.vim, and if not, to request it. (As of 11 July 2008, it is not in Vim’s «syntax/» directory.)

Приведённые выше скрипты размещены по адресу vim.org script collection, время от времени обновляются.

Встроенные редакторыПравить

wikEdПравить

wikEd — полнофункциональный редактор для браузера, позволяющий расширить возможности редактирования вики-сайтов. (В настоящее время доступен только для Firefox).

Особенности:

  • Поиск и замена (поддерживает регулярные выражения)
  • Подсветка синтаксиса
  • Полноэкранный режим
  • Предварительные просмотр и просмотр изменений не требуют перезагрузки страницы
  • Импорт из формата MS Word и HTML (включая страницы)
  • Исправление распространённых ошибок одним щелчком

wikEd может быть установлен либо путём вставки pasting кода непосредственно в monobook.js или локально как пользовательский скрипт Greasemonkey. Подробные инструкции по установке находятся здесь: wikEd homepage.

Искажение текстаПравить

Русскоязычный раздел (как и многие другие) использует кодировку UTF-8 для хранения информации. Эта кодировка поддерживает большое количество символов, в том числе и специальных. Если учесть. что статьи часто содержат ссылки на иноязычные разделы, то такие символы могут оказаться в практически любой странице. Поэтому очень важно, чтобы ваш редактор правильно обращался с такими символами -не заменял их на другие. Проверьте поддерживает ли Ваш редактор Юникод или UTF-8, включите вручную, если не поддерживает по умолчанию. Большинство современных редакторов поддерживают Юникод, например Notepad и Microsoft Word для Windows™.

Если ваш редактор не поддерживает юникод UTF-8, велики шансы, что копирование текста из браузера и обратно приведёт к искажению данных. Например при вставке из буфера обмена Windows™ текст преобразуется используемую кодировку, при этом неизвестные символы заменяются на вопросительные знаки. Описанные выше плагины (It’s All Text! и др.) помогают избежать подобной ситуации.

Для того, чтобы проверить приведёт ли правка к нежелательному изменению специальных символов, можно воспользоваться кнопкой «Показать изменения»(находится рядом с кнопкой «Предпросмотр»). Если области, которые вы не редактировали, окажутся подсвечены красным, значит правка приведёт к их искажению. При этом различия могут внешне не проявляться.

BabelPad бесплатный редактор для Windows™ с поддержкой юникода.

См. такжеПравить