Какое программное обеспечение / веб-приложение можно использовать для редактирования HTML-страниц? - PullRequest
2 голосов
/ 17 ноября 2010

Хорошо, мой вопрос не настолько широк, как кажется, чтобы подвести итог 8-месячной работе с моей стороны:

Я создаю куски многоразового, расширяемого XHTML, который изящно деградирует и является всевозможным удивительным.Большинство моих фрагментов кода имеют слой взаимодействия с Javascript и стилизованы под CSS.Я принялся за работу, тянущий свои фрагменты кода в Dreamweaver как «Фрагменты кода», но они - неразумные фрагменты текста.Кроме того, после вставки мои красивые фрагменты кода искажаются не технарями, которые на самом деле используют Dreamweaver.

Кроме того, поскольку они неинтеллектуальные фрагменты, у меня есть строка Javascript, которая конфигурирует фрагменты кодапри инициализации - см. этот пост для получения дополнительной информации о моем подходе .Но в настоящее время я должен реплицировать один фрагмент кода столько раз, сколько есть параметров конфигурации (поэтому каждый «фрагмент» может отличаться только от одного и того же типа по ОДНОМУ значению конфигурации).Это невероятно неубедительно, это работает, но это плохо и требует много времени для повторного развертывания набора фрагментов кода, и моей команде трудно запомнить все варианты.

Итак, у меня есть ряд требований,на мой взгляд, как наиболее вероятные вещи, которые нужно решить в любой системе, я помещаю свои куски в:

  1. Вставленный код не изменяется во время вставки системой
  2. Коддля вставки необходимо разрешить параметры конфигурации
  3. Я был бы очень рад, если бы после вставки единственными редактируемыми частями были текстовые узлы
  4. Копирование и вставка этих целых объектов
  5. Aчистый интерфейс, из которого можно выбирать из моего диапазона кусков кода

Это серьезный список требований, которые я предполагаю, много поисков привели меня к Kompoze и его «умным виджетам», которые, согласнослучайное сообщение от 2004 года, предлагает XUL-файлы могут быть созданы и расширения могут быть сделаны, что звучит неопределенно, как я хочу.Сам текстовый редактор был менее подвержен разрушению по сравнению с Dreamweaver.

Так что, да, я преследовал слишком много кроликов на этом, желая найти решение, будь то Software + extension или Webapp.

РЕДАКТИРОВАТЬ: Кстати, мне пришло в голову исследовать сильно настроенный экземпляр TinyMCE, но я не знаю, возможно ли это, и если нет какой-то приятной бэкэнд, я застрял на локальном редактировании файлов на данный момент- даже не на веб-сервере ...

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

Ответы [ 3 ]

2 голосов
/ 27 ноября 2010

Я бы выбрал решение, основанное на превосходном редакторе markItUp! . Его очень просто расширить, чтобы он соответствовал вашим требованиям. Вы можете добавить сложную логику, и это красиво и блестяще.

Я бы, вероятно, скомбинировал бы его с Jeditable для редактирования встроенного узла и создал бы все это поверх Django , для простоты и удобства. Полностью настраиваемый, удивительно простой в работе, переносимый и кроссплатформенный, и простой в настройке для автономного использования. Да, и все бесплатно и с открытым исходным кодом.

0 голосов
/ 27 ноября 2010

Рассматривали ли вы на стороне сервера , где директива является либо сгенерированной страницей, либо командой оболочки? E.g.:

<!--#include virtual="./activePage.aspx?withParam1=something&amp;param2=somethingelse" -->

или

<!--#exec cmd="shellCommand -withParams" -->

Вы можете повторно использовать одну и ту же страницу или команду и предоставить параметры, специфичные для каждого использования, на каждой странице XHTML.

0 голосов
/ 17 ноября 2010

Что вы думаете об этом подходе:

<div class="thing">
    <elements... />
    <script type="text/javascript">
      document.write('<span id="thing' + thingNo + '"></span>')
      new Thing().init({ id:'thing'+thingNo; });
      thingNo += 1;
    </script>
</div>

Конечно, вам придется изменить Thing (). Init, чтобы он инициализировал родительский (а не текущий) узел.

...