Редактирование html кода

Russian main discussion
  • Author
  • Message
Offline
Posts: 41
Joined: Tue Dec 06, 2011 12:58 pm

Редактирование html кода

Post by Nizaury »

Подскажите, какие-либо скрипты(плагины) для быстрой вставки HTML тэгов до и после выделенного текста.

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Nizaury

insertTag.js

Offline
Posts: 41
Joined: Tue Dec 06, 2011 12:58 pm

Post by Nizaury »

С одной стороны конечно удобно, что тэги открытия приходится вводить вручную, но больше интересует подобие плагина BBCode, где уже присутствует базвый набор тэгов+возможность добавить их самому как в контекстное меню, так и на панель инструментов.

При работе скрипта insertTag.js наблюдаются существенная ошибка - Неправильное распознавание последовательности из 2 тегов.

Например:

1) Если ввести в качестве открытия <p><b>, то в качестве закрытия он предложит </p><b>
2) Если ввести в качестве открытия <input type='button' class="splLink" value='Show'><div class="splCont"> , то вместо </div> он предложит </input>

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Nizaury
Можно ещё посмотреть Insert в ContextMenu plugin.

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

Я назабивал в хоткеи через соответствующий плагин требующиеся комбинации, например

Code: Select all

Insert("<mark class=\[0022]filename\[0022]>\s</mark>", 1)
А так-то с автором InsertTag наверняка можно списаться и предложить доработать.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Lenchik
\[0022] - это аналог позиции каретки $[] в coder-файлах?

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Nizaury wrote:insertTag.js
...
1) Если ввести в качестве открытия <p><b>, то в качестве закрытия он предложит </p><b>
2) Если ввести в качестве открытия <input type='button' class="splLink" value='Show'><div class="splCont"> , то вместо </div> он предложит </input>
На данный момент поддерживается ввод только одного тэга за раз.
По п. 2) с <input> и ему подобными надо иметь список тэгов, которые не надо закрывать, да еще и распознать тип документа, чтобы в случае необходимости вставить <input/>. Это все нетривиально и усложнит логику.
Закрытие всего, что было открыто, можно попробовать сделать, но, опять же, без проверок на вложение уже закрытых тэгов.

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

Skif_off
Это код символа

Code: Select all

"

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Lenchik
С телефона сложно :)

Offline
Posts: 41
Joined: Tue Dec 06, 2011 12:58 pm

Post by Nizaury »

Infocatcher wrote:На данный момент поддерживается ввод только одного тэга за раз.
По п. 2) с <input> и ему подобными надо иметь список тэгов, которые не надо закрывать, да еще и распознать тип документа, чтобы в случае необходимости вставить <input/>. Это все нетривиально и усложнит логику.
Закрытие всего, что было открыто, можно попробовать сделать, но, опять же, без проверок на вложение уже закрытых тэгов.
Если уж и вводить вручную вместо выбора из списка тегов, то главным плюсом сглаживающим необходимость ручного ввода, имхо должна быть правильно распознанная мультитэговость. Ну пока можно добавить закрытие всего открытого, затем список исключений, а после уже и глубину проверки открытых тэгов.
___________________________________________________________
Предположу идеальный скрипт(плагин) для работы с HTML тэгами:

1) Пункт в контекстном меню наподобие BBCode, где можно из списка выбрать необходимый тэг.
2) Возможность добавления новых тэгов в список
3) Возможность создания списка исключения тэгов, которые не должны добавляться после каретки.
4) Подпункт в меню при нажатии которого можно ввести открывающие тэги самостоятельно, как вариант - доработанный insertTag.js с грамотным распознаванием вложенных тегов, и работающий со списком исключений, указанном в пункте 3.

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Nizaury
Любые пункты меню можно сделать через плагин ContextMenu.

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

Nizaury
А вы не пробовали Autocomplete фичу плагина Coder? Доработали бы имеющиеся дополнения нужными вам комбинациями и вызывали бы их набором записанных символов. Может быть потом вошло бы в основной обновляемый html.coder.

Offline
Posts: 41
Joined: Tue Dec 06, 2011 12:58 pm

Post by Nizaury »

Меню с пунктами часто используемых тэгов и вызовом скрипта insertTag.js создал - это не проблема. Осталось дождаться доработки указанного скрипта - для полноценного его использования. Надо будет еще добавить кнопки на панель инструментов. Однако каждый раз после переустановки программы / Windows заново создавать с нуля все иконки и пункты меню... :x
Lenchik wrote:Nizaury
А вы не пробовали Autocomplete фичу плагина Coder? Доработали бы имеющиеся дополнения нужными вам комбинациями и вызывали бы их набором записанных символов. Может быть потом вошло бы в основной обновляемый html.coder.
Так у Autocomplete в Coder примерно тот же принцип действий, что и у insertTag.js, только проще говоря моменты предугадывания вставляемого текста разные.
insertTag.js - требует начальный тэг и подбирает сам конечный.
Autocomplete - требует начать ввод тэга и сам его дописывает, плюс вроде бы не работает с позицией текста относительно каретки.
Имхо, insertTag.js немного удобней хоть и не доработан.

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Nizaury
Немного доработал: https://github.com/Infocatcher/AkelPad_ ... c2981891ac
Теперь должно закрывать все открытые тэги типа

Code: Select all

<div><pre><em><ins><strong>
=> <div><pre><em><ins><strong></strong></ins></em></pre></div>
или

Code: Select all

<div id="d"><pre class="p"><em><ins class="i"><a rel="x">
=> <div id="d"><pre class="p"><em><ins class="i"><a rel="x"></a></ins></em></pre></div>

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Nizaury wrote:... Однако каждый раз после переустановки программы / Windows заново создавать с нуля все иконки и пункты меню... :x
Зачем с нуля? Я бы обратил внимание на "первоисточники":
http://akelpad.sourceforge.net/files/pl ... in-Rus.txt
http://akelpad.sourceforge.net/files/pl ... in-Eng.txt
Ничего не мешает руководствоваться теми же принципами "на месте". Сохраните свои настроенные меню и пусть лежат в сторонке.
Кстати и с тулбаром аналогично.
Post Reply