Совместная работа в notepad
История вопроса
Работая со студентами мне не редко приходится читать их дипломные и курсовые работы, вносить в них исправления, а затем редактировать новые и новые версии. Составляя отчеты и при написании статей мне также приходится работать над одним документом с несколькими людьми. Не редко я сталкивался с тем, что приходит по почте документ, в котором цветом помечен текст. Потом звонит человек, который говорит, что он имел в виду, когда этот текст отмечал. Повторно проверяя работы студентов я нередко задавал вопрос о том, что было поправлено в тексте, поскольку согласитесь читать занов десятки страниц текста нет никакого желания, а чаще еще времени. В конечном итоге пришла идея создать учебное пособие о том какие есть инструменты и какие они предоставляют возможности по совместной работе с текстовыми документами.
Надеюсь вы найдете данный материал полезным.
Что такое совместная работа
Под совместной работой будем понимать возможность нескольких человек работать с одним текстовым документом. При этом должна быть возможность отслеживать все сделанные в документе изменения и (опционально) возврат к одной из предыдущих версий.
Совместная работа может быть организована по разному, но чаще всего это происходит так. Кто-то пишет какой-то документ, потом распечатывает его и отдает другому человеку. Второй маркером помечает текст красным, желтым или зеленым цветом, дописывает свои комментарии и возвращает черновики на доработку. С приходом сети интернет документы меньше стали печатать, но в целом процесс остался тем же. Современные средства работы с текстовой информацией представляют существенно больше возможностей, которые и будут рассмотрены далее.
Форматы текстовых документов позволяют организовать совместную работу с текстовыми документами следующим образом:
Сделать документ составным. Создать, так называемый, мастер документ, который будет объединять несколько других документов. Составные части документа могут редактироваться независимо друг от друга и в этом плане получается полноценная совместная работа. Например при написании научно-технического отчета кто-то пишет введение и заключение, кто-то аналитический обзор в отчете, кто-то еще какие-то главы. Имея все части и мастер-документ можно всегда посмотреть текущую версию документа.
Каждый их документов составного документа так же может редактироваться несколькими людьми. Для этого во многих форматах текстовых документах предусмотрена возможность отслеживать и протоколировать сделанные изменения, делать пометки на полях.
Третий вариант систем позволяет редактировать документ прямо в сети так же отслеживая все изменения, сделанные пользователями.
Существуют и промежуточные варианты, когда документ редактируется локально на компьютере, а храниться в сети и там же отслеживаются все изменения.
Рассмотрим наиболее часто встречающиеся системы.
Средства
OpenOffice Writer
В OpenOffice Writer обладает большими возможностями по совместной работе. Его можно отнести к первому и второму пункту из вышеупомянутых. Рассмотрим эти возможности поподробнее.
Составной документ
Для создания мастер-документа необходимо выбрать File->New->Master Document
Аналогично мастер-документ можно создать через панель инструментов.
После того, как мастер-документ создан, с ним можно работать как с обычным документом, т.е. писать в нем текст, его форматировать и т.д. Особенностью мастер-документа является то, что к нему можно прикреплять другие документы. В мастер-документе хранятся только ссылки на них. Работа с документом происходит через панель «Navigator».
По двойному щелчку можно переходить на редактирование прикрепленного файла. После редактирования и сохранения мастер-документ нужно обновить.
Помимо удобства совместной работы над документом, использование составных документов дает преимущество при работе с большими документами экономя драгоценную оперативную память компьютера. Естественно, что здесь я имею в виду документы не на десяток страниц.
В мастер-документе можно редактировать только ту часть текста, которая в нем же и была набрана. Все под-документы открываются в режиме «только на чтение». Прикрепленные под-документы при необходимости по одному щелчку мыши могут быть перемещены вверх или вниз по основному документу.
Окончательный документ может быть сохранен в одном файле в формате ODT или PDF
(File-> Export->Portable Document Format).
Изменения в документе и комментарии к нему
Комментарии к тексту можно вставлять прямо в текс, но в таком случае вам придется помечать из еще и цветом, чтобы они были заметны другим авторам. На мой взгляд более красивый способ написать комментарии к тексту — сделать заметки на полях. Для этого необходимо поставить курсор в начало того текста, к которому пишется примечание и в меня «Insert» выбирается пункт «Comment» (или можно нажать Alt+Shift+N).
Включить запись изменений в документ можно через меню Edit -> Changes -> Record. В той же вкладке можно включить и выключить отображение изменений. Работать с текстом с включенным режимом отображения изменений не очень-то удобно, но иногда и он бывает полезным, когда надо посмотреть кто и что в документе исправил.
Собственно при сравнении двух документов редактор разницу в документах записывает в виде изменений.
Пояснения к изменениям всплывают при наведении курсора на текст.
Сделанные в тексте изменения перед сохранением окончательной версии документа можно принять или отклонить. Для этого надо вызвать контекстной меню, щелкнув правой кнопкой мыши по изменению и выбрать «Accept Changes» или «Reject Changes». Альтернативный вариант — вызвать диалоговое окно «Accept or Reject Changes» (Edit -> Changes -> Accept or Reject. ).
В этом диалоговом окне можно к каждому изменению добавить комментарий. Это можно сделать и через меню (Edit -> Changes -> Comment). Комментарий будет отображаться в подсказке под именем того, кто это изменение сделал.
Если изменений много, то их можно отфильтровать по дате, автору и\или типу изменения.
Соответственно выбрав и отменив все изменения, сделанные на какую-то дату, можно вернуться к предыдущей версии документа.
Есть, конечно, несколько более удобный способ возврата к предыдущей версии документа — хранить его версии. Можно настроить OpenOffice Writer так, что каждый раз при закрытии документа будет запоминаться новая его версия. При этом все версии хранятся в одном файле в виде записи изменений. Таким образом возврат к одной из предыдущих версий становится делом двух щелчков мыши и плюс есть возможность сравнивать две версии друг с другом.
Работа с версиями происходит в диалоговом окне «Versions of . » (File -> Versions).
В представленном диалоговом окне кнопка «Open» позволяет открыть выбранную версию документа или в режиме «только на чтение» или сделать копию документа и открыть ее для редактирования. Кнопка «Delete» удаляет выбранную версию, а «Compare» - показывает изменения сделанные в текущей версии.
Дополнительно можно порекомендовать в начале документа делать таблицу, в которую вносить дату модификации документа, автора изменений и что поменялось в документе.
MS Word
Программа MS Word (будем говорить о версии MS Word 2007) предоставляет теже возможности по совместной работе над документом, что и OpenOffice Writer. При использовании дополнительных программ от Microsoft (например, SharePoint Portal Server) эти возможности могут быть несколько расширены. Однако в большинстве случаев затраты на создание инфраструктуры больше выгоды, получаемой от дополнительных возможностей.
Для объединения нескольких документов в один в MS Word нет необходимости создавать специальный мастер документ. Под-документы можно вставлять в обычный файл. Для этого надо переключиться в режим просмотра структуры документа выбрав во вкладке «Вид» режим отображения «Структура».
Затем во вкладке «Структура» выбрать «Показать документ» (кнопка замениться на кнопку «Главный документ»). Нажатием на новую кнопку открывается панель, в которой можно выбрать вставку существующего файла в текущую позицию, или создание вложенного документа. Возможны и другие действия.
MS Word позволяет вставлять примечания и отслеживать сделанные изменения в документе.
Все эти действия производятся через вкладку «Рецензирование». Для большинства действий в MS Word предусмотрены сочетания клавиш, но, например, заявленное Alt+Ctrl+M для вставки примечания на моем компьютере почему-то не работало. Просматривать документ можно как исходный (без исправлений), так и итоговый (без подсветки изменений).
Информация об авторе вносимых в текст исправлений задается в свойствах документа.
Для сравнения документов в MS Word предусмотрено два варианта: визуальный и автоматический с отображением разницы в документах в виде исправлений. Визуальный режим предполагает, что пользователь располагает два документа рядом и при прокручивании текста в одном окне происходит синхронное прокручивание текста во втором открытом окне. Для перехода в этот режим необходимо открыть два документа и во вкладке «Вид» выбрать способ отображения «Рядом». Синхронная прокрутка при этом включается автоматически.
Второй вариант автоматизирован и является более традиционным. Во вкладке «Рецензирование» необходимо выбрать «Сравнить» два документа и в появившемся диалоговом окне указать что с чем сравнивать. При этом можно сравнивать как уже открытый документ, так и неоткрытый.
Сохранение различных версий в документе MS Word видимо не предусмотрено, поскольку для этого разработчики предполагают использовать MS SherePoint Portal Server.
Google Docs
Совместная работа над документом в Google Docs в чем-то проще, чем в редакторах, описанных выше. Собственно это является и преимуществом, и в тоже время не позволяет сделать некоторые из описанных выше действий (например, делать составные документы). Но обо всем по порядку.
Google Docs — это приложение в сети, доступное через веб-браузер. Поскольку редактируемый документ сохраняется на сервере, то он доступен всем пользователям, между которыми он разделяется. На рисунке табличный файл «Conferences» открыт для совместной работы с еще одним человеком. Для совместной работы файл можно отдавать только на чтение или для редактирования.
Из левой панели видно, что файлы можно отбирать по владельцу (принадлежат мне или только открыты для совместной работы), по типу файла или по какому-то другому критерию.
Над выбранным файлом можно сделать несколько действий (аналогичное контекстное меню появиться если по файлу щелкнуть правой кнопкой мыши): сменить владельца, экспортировать для сохранения локально (PDF, Open Document Format и пр.), просмотреть версии (Revisions), посмотреть информацию о файле (Show details).
Каждый раз при сохранении документа сохраняется его новая версия и информация о том, кто этот документ редактировал. Редактировать документ может только пользователь, который имеет учетную запись в почте Google. Впрочем, документ можно отдать в публичное пользование всем пользователям сети интернет, но зачем вам это надо? При выборе действия «просмотреть изменения» открывается список сделанных изменений: кто внес изменения и когда. Различные версии документов можно сравнить между собой.
При редактировании документа в него можно вставить комментарий.
LaTeX
Технология создание документов в LaTeX отличается от представленных выше. LaTeX не является текстовым редактором. LaTeX — это специальный язык и система подготовки документов. Другими словами в текстовом файле с помощью специальных команд описывается документ и как он должен быть отформатирован. Затем этот документ компилируется и на выходе получается документ в формате DVI, который затем может быть преобразован в PS или PDF. Преимущество LaTeX-а в том, что после компиляции документ одинаково будет отображаться на любом компьютере и любой ОС, в отличие от документа, скажем, в формате DOC. Кроме того его очень любят математики часто набивающие формулы, которые в том же MS Word или OO Writer не всегда наберешь. Да и набирать текст можно в FAR-е или Notepad.
LaTeX документ может содержать комментарии и состоять из нескольких файлов. В нем можно делать заметки на полях, а вот все остальные действия по совместной работе придется делать с помощью внешних программ. Например, различные версии документа придется сохранять в отдельных файлах, а изменения смотреть через утилиту diff или fc (File compare).
Возможно, что в каких-нибудь других программах эта информация будет выглядеть более наглядно.
Стоит отметить, что в документ в виде отдельных файлов можно вставлять не только другие текстовые документы, но и картинки в разных форматах.
Вставка примечания на границе страницы происходит с помощью команды \ marginpar.
Текст в документе можно выделять цветом. На мой взгляд, эта функция, равно как и примечания на полях, для подавляющего количества создаваемых документов смысла не имеет.
SVN — система контроля и управления версиями документов. В основном используется разработчиками программ, но с тем же успехом может применяться и для хранения LaTeX документов. Система устанавливается на сервер и с помощью клиентской программы, которая может встраиваться в проводник, на сервер можно помещать документы, скачивать с сервера необходимые версии документов, просматривать какая информация и кем была модифицирована.
Амбула
… Собственно редактор меня устраивал лишь один — давно известный Notepad++. Однако при всех своих достоинствах работать с SFTP он не умеет, и плагина, реализующего данный функционал я не нашел. Но нам не страшны преграды, поэтому заставить комфортно работать Notepad++ все-же удалось.
Для этого необходима бесплатная OpenSource утилита WinSCP (взять можно на офф. сайте), позволяющая работать с файлами по протоколам FTP, SFTP и SCP. При достаточно большом функционале весит ~1.2Mb и, главное, позволяет реализовать задуманное.
Итак, приступим.
После установки открываем WinSCP. Видим достаточно простой и интуитивно понятный интерфейс. На первом этапе нас интересует раздел «Preferences» в левом меню. Выбрав его, попадаем на окно с выбором внешнего вида. Лично я предпочитаю «Norton Commander», но если стоит задача только правки файлов на удаленном сервере — вполне удобен «Export-like». Впрочем, это несущественно. А существенна еще одна кнопка «Preferences», которая есть в этом окне.
Нажав ее, попадаем в расширеные настройки, где нас будет интересовать меню «Editors», где можно задать настройки редактора для определенных типов расширений файлов. По умолчанию для всех типов "*.*" используется встренный редактор. Но его мы использовать не будем, поэтому научим открывать Notepad++. Выбираем расширение "*.*" и жмем «Edit».
В открывшемся окне поставим точку «External Editor» и пропишем путь к notepad++.exe. Установкой чекбокса на пункте «External editor opens multiple files. » дадим понять, что редактор умеет открывать разные файлы в отдельных Tab-ах, а установкой чекбокса на «Force text transfer mode. » — разрешим синхронизацию по Ctrl+S не дожидаясь закрытия внешнего редактора. Жмем «ОК». И еще раз. Настройка завершена.
Теперь достаточно пройти в меню «Session», вбить настройки для подключения к хосту (при желании также можно сохранить их) — и вуаля! после коннекта (при первом — разрешаем сохранить публичный ключ) — видим окошко файлового менеджера.
Щелкаем по файлу — открывается Notepad++. Правим, жмем Ctrl+S — измененный файл уже на сервере. Задача решена!
Постскриптум
Хочу отметить, что это наверняка не единственный способ решения проблемы. Но мне так показалось удобнее. В общем, вполне юзабельно.
Много лет меня преследовал этот зуд — попытки найти «идеальный» текстовый редактор для совместной работы. Но не просто любой текстовый редактор, который поддерживает совместную работу, о нет, моя задача — найти (ну, по крайней мере, искать) открытые текстовые редакторы с групповой работой в режиме реального времени (т. е. не только обычный текст, но и структурированный контент). Таким образом, основное внимание в этой статье уделяется довольно нишевой категории инструментов с открытым исходным кодом и технологиям, на которых они работают. Если ваши интересы шире, можете обратиться к этому постоянно обновляемому списку редакторов.
Итак. Я много раз прыгал с обрыва и нырял в практически бесконечное море программ для совместной работы в реальном времени. Полёт вниз, этот бодрящий нырок на дно бассейна, мне уже хорошо знаком. Обычно он начинается с некоторого первоначального волнения и удивления (скачок) новых низкоуровневых технологий и исследовательских работ, затем следует чувство перегруженности и желания всплыть (эй, тут довольно глубоко) и исследовать прикладную часть, а затем период, когда мои мысли лучше всего описать фразой: «Я действительно настолько глуп для этого?» (вполне вероятно), потому что обычно документация, демо и код не совсем совпадают или имеют смысл, компонент совместной работы на сервере не запускается и встречаются пограничные ситуации, когда более двух пользователей вводят одно и то же слово, и… на этом всё заканчивается (всплыл, хватая ртом воздух).
После этого трудно снова поднять тему, следующий этап — это своего рода зима размышлений, в дрёме, пережидая суровую погоду, когда я обычно позволяю полуготовому коду работать месяцами… или годами. Пока мы не встретимся снова, бесконфликтный реплицированный тип данных!
Рис. 1. Прыжок
Дело в том, что в 2017 году я был так взволнован перспективами одного алгоритма (разновидность CRDT), описанного в исследовательской статье, что потратил несколько дней и реализовал его на JavaScript, только чтобы узнать, что в самой научной статье есть пограничная ситуация, для которой не приведено решения (хорошо… но может всё-таки?). Я в то время обратился к автору, но не получил ответа, и обнаружил, что эта конкретная пограничная ситуация рассмотрена в аналогичном алгоритме другой командой, но чёрт, из-за этих тонкостей в реализации, возможно, я мог бы перенести его на Lisp… ТАК, СТОП! Что здесь происходит? Я, конечно, не хочу внедрять новый алгоритм из исследовательской работы и исправлять его проблемы! Что я делаю, как я сюда попал? Давайте перемотаем обратно!
То, что мне (и, вероятно, вам тоже, дорогой читатель) действительно нужно — это редактор plug-and-play, готовый продукт. Который решает проблему совместной работы в реальном времени. Который позволяет нескольким подключённым пользователям за тысячи миль друг от друга редактировать структурированный документ, нажимая клавиши на клавиатурах, и видеть изменения друг друга на своих экранах. Вот и всё. Однако редакторы — это сложно. и я никак не мог найти такого инструмента.
Наступил 2019 год (зуд вернулся с силой), и на этот раз не только появился волшебный редактор, но на самом деле даже два претендента на выполнение долгожданной спецификации. Первоначально я хотел полетать с вами над полем и перечислить почти все текстовые редакторы для совместной работы, но, похоже, это не добавит большой ценности. Вместо этого давайте сосредоточимся на двух редакторах, которые могут стать «тем самым».
Но редакторов два, и нужно сделать выбор — было бы неплохо объективно рассмотреть, какой из них действительно лучше подходит. Предлагаю глубоко научную систему классификации со следующими категориями (используя киви в качестве стандартной единицы добра):
Рисунок 2. Интерфейс CKEditor 5 (один из возможных вариантов), источник
Начнём с CKEditor 5, последней версии из большой линейки качественных редакторов. Он прекрасен. Я знаю, знаю, что это не критерий, и он в реальности не имеет значения (и мы можем даже не согласиться), но я просто должен был сказать о его красоте. Итак, этот редактор берёт много киви: он лицензирован под GPL (некоторое обсуждение ограничений здесь), (+1), поддерживает изображения, таблицы, списки (+3), математика поддерживается плагином (+1) и он также поддерживает совместную работу в реальном времени с удалённым курсором и выделениями (+2). Создатели CKEditor написали удивительный подробный пост в блоге о том, как они его разработали с помощью операционных преобразований.
Тем не менее, я не смог найти необходимую реализацию сервера для совместной работы в реальном времени, а вся документация указывает на обязательную необходимость их облачного сервиса и (платного) компонента даже в проектах, совместимых с GPL.
Уровень офлайновой поддержки трудно определить, но похоже, что она не совсем полная (например, редактор выдерживает ненадолго прерванное подключение, но не несколько дней работы в автономном режиме). Наверное, половина киви? То же самое касается мобильной поддержки, там также ведётся работа по полной поддержке (+0,5). И последний момент, CKEditor, безусловно, используется в продакшне, но я не смог найти список продуктов на его основе (+0,5).
Хороший редактор, но отсутствие доступного сервера совместной работы с открытым исходным кодом действительно удручает.
Полная оценка: 8,5/11
Рис. 3. Atlaskit Editor от Atlassian
Около года назад Atlassian запустила систему Atlaskit Design с открытым исходным кодом, и с ней пришло много вкусностей, в том числе полноценный готовый к использованию редактор на основе ProseMirror. Я уже чувствую, что это может быть тот редактор, который мы искали! Он выпущен под лицензией Apache 2.0, по мнению многих, очень разрешительной лицензией open source (+1 киви). Он не только поддерживает изображения, таблицы и списки, но поддерживает их исключительно хорошо (+3 киви)! Реализация таблиц, чего очень не хватает большинству редакторов, тут выполнена прекрасно:
Рис. 4. Управление таблицами в Atlaskit Editor
К сожалению, математика не поддерживается, но сам редактор основан на ProseMirror, так что не должно стать проблемой добавить к нему существующее решение (+0,5). Он определённо поддерживает совместную работу в реальном времени с удалёнными курсорами и выделениями (+2), это из лучших примеров UI такой поддержки, какие я когда-либо видел (например, удалённые курсоры затемняются, если перекрываются с вашими собственными, и другие прекрасные детали реализации). Кроме того, из моего тестирования поддержка работы в офлайне кажется очень прочной (+1) — вероятно, это связано с подходом «центральной компетенции», который использует для совместной работы ProseMirror. Ничего себе, мы уже добрались до 7,5 киви, а ещё много пунктов! Вперёд!
Во всяком случае, если продолжать спускаться по критериям, то всё остальное достойно киви: он абсолютно точно используется в продакшне (миллионы пользователей), и у него есть мобильная поддержка (+2). Как раз когда я собирался объявить победителя (в общей сложности 9,5 киви) и опубликовать этот пост, появилось что-то ещё. Оказывается, логотипы и значки, используемые в редакторе, и многие другие компоненты Atlaskit лицензированы под очень ограничительной лицензией ADG, в которой говорится, что вы не можете использовать их за пределами вселенной Atlassian. Однако те же иконки широко используются и плотно интегрированы в редактор. Крупный облом номер два, и я забираю у них киви. Мы вернулись к 8,5, и если вы ведёте подсчёт, то видите, что результат теперь одинаковый. И он окончательный.
Вот если бы что-то сделать с этими иконками.
Я подумал, что после всех последних достижений в области онлайновых текстовых редакторов будет очень печально остаться с двумя великолепными редакторами с удивительными функциями, которые всё равно нельзя использовать в проектах с открытым исходным кодом — либо из-за проблем лицензирования, отсутствия доступных строительных блоков, либо и то, и другое.
Поэтому сначала я разработал серверную часть (на основе PostgreSQL, фреймворке PubSweet и смеси REST/WebSockets), код доступен здесь. Он довольно простой, но выполняет свою работу и обеспечивает сохраняемость документов и канал связи в реальном времени. Удивительно, но благодаря огромному сообществу ProseMirror я смог выяснить, как всё должно работать, не имея точной спецификации интерфейса (+1 киви).
А затем я заменил иконки, используемые редактором, значками из набора Feather. В частности, пришлось заменить три пакета. Поскольку лицензия ADG, среди прочего, запрещает любые производные работы, то эти пакеты нужно было переделывать с нуля. Вероятно, из-за этого потерялись некоторые функции, в основном, с точки зрения доступности для людей с ограниченными возможностями, но зато создана хорошая открытая база для дальнейшего развития. Например, в некоторых случаях для значков отсутствуют лучшие альтернативы, так что если вы хотите внести свой вклад в этот проект, вот вам первая проблема (+1 киви)!
Рис. 5. Демонстрация возможностей редактирования в режиме реального времени в Atlaskit Editor
Итоговый (исправленный) результат: 10,5/11
Есть два редактора, которые я хотел бы упомянуть, хотя у них прямо сейчас нет готового решения для совместной работы в реальном времени, но оба построены поверх библиотек, которые поддерживают такую функциональность. Возможно, у обоих это в планах.
Рис. 6. Редактор Wax (текстовый процессор на основе ProseMirror)
Первый — это Wax (назван в честь древних восковых табличек) от Coko Foundation. Этот текстовый процессор сначала сделали на библиотеке Substance (репозиторий), а теперь перестроили под ProseMirror (репозиторий). Он исключительно упакован функциональностью. Это не совсем те функции, за которые мы даём киви, но тем не менее это отличные функции. Wax изначально построен для вёрстки книг, он поддерживает заметки (нумерованные аннотации, распространённые в книгах), историю изменений, поиск и замену, орнаменты и другие. Может, за это давать апельсины ? В этом случае Wax получит 4 киви (открытая лицензия, изображения, списки, использование в продакшне) и пару апельсинов, возможно, четыре. . Это много фруктов!
Рис. 7. Texture, редактор на основе Substance
Наконец, у нас есть Texture, очень специфический, профессиональный (но с открытым исходным кодом) редактор для создания научного контента в формате JATS (стандарт XML для журнальных статей). Если тут поупражняться в подсчёте фруктов, у нас почти наверняка закончатся пальцы: открытая лицензия, таблицы, изображения, глубокая поддержка математики, ссылки и перекрёстные ссылки, списки, поддержка метаданных, список продолжается! Повторяю, и Wax, и Texture — замечательные редакторы, и единственное, что удерживает их от максимального количества киви — это отсутствие функций совместного редактирования в реальном времени, чему посвящена эта статья.
Если вы создаёте систему, в которой ключевым компонентом является совместное редактирование в реальном времени, вы выбрали правильное время. В прошлом году ландшафт созрел, и теперь здесь появились почти plug-and-play открытые решения. Возможно, с вашей помощью ровно через год у нас будет целый набор открытых проектов. И возможно, только возможно, мы также будем использовать инструменты, построенные поверх этих открытых слоёв, даже не зная об этом.
Рассмотрим опцию ощутимо облегчающую работу с файлами сайта, если таковой у вас имеется.
Называется эта опция плагин NppFTP, который является полноценным FTP менеджером.
Благодаря этому плагину вы сможете делать изменения сразу на всех страницах, сайта, что очень актуально, если у сайта несколько сотен страниц.
К примеру — внедрить микроразметку, выделить какое нибудь одно слово, добавить стиль первым абзацам и т. п.
Конечно, почти у всех современных хостингов имеется свой встроенный редактор для работы по редактированию файлов.
У сайтов на CMS, в админке тоже есть доступ к файлам шаблона в редакторе, но согласитесь — в Notepad, в силу его идеального интерфейса, мощной панели инструментов и с классной подсветкой синтаксиса, делать это гораздо удобнее и приятнее.
NppFTP позволяет обойтись без таких телодвижений как скачивание файла с сервера на компьютер, или копирование его содержимого для переноса в Notepad, с последующим возвращением на место.
Одноразово такой процесс провести не сложно, но при отладке, когда файл приходится гонять туда сюда по много раз, такая канитель напрягает нешуточно, поэтому лучше обойтись без неё.
Итак, открываем Notepad++ и переходим в меню Плагины — Plugin Manager — Show Plugin Manager, находим в списке плагинов NppFTP, отмечаем его галочкой в чекбоксе и щёлкаем по кнопке Install.
Если данного плагина с сборке не окажется, то в конце статьи я расскажу где его взять и как установить.
После чего появится окно с уточнением ваших намерений относительно установки плагина. Выбираем Да.
Вслед за этим появится диаграмма загрузки, в процессе которой появится окно Учётных записей, в котором тоже нужно будет нажать Да. (Учетные записи на скриншёт не отпечатались)
Затем появится запрос на перезагрузку редактора. Выбираем Да.
После перезагрузки в конце панели инструментов появится иконка плагина NppFTP.
Щёлкнув по ней откроем область плагина в котором нужно произвести настройки.
В инструментах выбираем шестерёнку и далее Profile Settigs.
Откроется окно настроек в котором первым делом кликаем по кнопке Abb Nev и в открывшемся дополнительном окне пишем имя вновь создаваемого профиля (любое на латинице), затем ОК.
А вот для внесения следующих данных Вам придётся обратиться к своему хостеру, так как потребуются IP или название сервера, логин и пароль для входа на сервер и порт установки (не обязательный).
Эти данные лучше запросить у хостера.
В поле Timeout ставим желаемое время соединения в секундах.
Если вы решите поменять имя аккаунта, то это можно сделать щёлкнув по кнопке Rename.
После внесения имени сервера, логина и пароля нажимаем Close, тем самым сохраняем созданный аккаунт, после чего в окне плагина станет активным значок (Dis)Connect.
Нажимаем на него, и в течении заданного времени происходит соединение с нашим сервером, после чего в окне плагина появляется корневая директория сайта.
Остаётся найти нужный файл и щёлкнув по нему открыть в редакторе.
Теперь можно его комфортно отредактировать и сохранить как и любой другой файл с компьютера.
Если плагина нет в сборке
В зависимости от разрядности вашей ОС, скачиваем
для 64 битной — NppFTPx64.zip
для 32 битной — NppFTPx86.zip
Zip нужно распаковать, можно в тех-же Загрузках, или в той папке в которую вы его скачали.
Затем идём в редактор Опции — Импортировать — Импортировать плагины.
Выскочит поисковик, в котором вы выберите папку в которую вы скачали плагин, а в ней распакованную папку NppFTP.dll.
После этого нужно будет перезапустить Notepad++, и плагин появится во вкладке Плагины.
Ещё один плагин о котором невозможно не сказать — это плагин Compare.
Только представьте: У Вас есть файл, и Вам нужно его немного изменить. Причем не просто изменить, а сохранить исходник в первозданном виде, а изменения сделать отдельным файлом.
С помощью Compare, сделать это очень удобно, так как он позволяет открыть рядом, в одном окне, сразу два файла, и редактировать, и сохранять их по отдельности.
Представляете да? Открываем файл, затем открываем рядом новый, потом запускаем плагин, открываются рядом два окна, копируем, вставляем исходник в новый документ, и исправляем.
Причём, оба варианта запускаются в браузере, так что можно сразу посмотреть, что было, и что получилось.
Установка плагина стандартная, то есть заходим в «Плагины — Plugin Manager — Show Plugin Manager», находим в списке Compare, ставим галочку и Install.
На панели меню, вкладка этого плагина не создаётся, и доступ к нему осуществляется из меню «Плагины».
Как только Вы щёлкните по Compare в дополнительном меню, так сразу рядом с открытым файлом, откроется соседний справа.
Если навести курсор между ними, и при появлении стрелочек «Перемещение», щёлкнуть правой клавишей, то появиться окошко разворота, в котором можно выбрать горизонтальное размещение файлов.
Причем развернуть файлы предлагается как вправо, так и влево.
Теперь о том, как выйти из этого режима, ведь не всегда же Вам нужны будут два файла рядом.
Делается это просто. Нужно зайти в меню «Файл», и выбрать «Закрыть», после чего открытый в данный момент документ закроется, и сохраниться в «Недавние файлы».
Откуда его можно будет потом в любой момент открыть, и работать только с ним одним.
Файлы в Notepad++, сохраняются до тех пор, пока они есть в папке на Вашем компьютере.
И даже после их удаления с компьютера, и попытке запуска из «Недавние файлы», редактор спросит: удалить или восстановить документ.
Всё никак не соберусь попробовать открыть в одном окне более двух документов. Попробуйте.
Читайте также: