2010-11-17 2 views
2

Хорошо, мой вопрос не так широк, как кажется, подвести итоги 8 месяцев усилий с моей стороны:Какое программное обеспечение/webapp можно использовать для редактирования HTML-страниц?

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

Кроме того, поскольку они являются неинтеллектуальными фрагментами, у меня есть строка Javascript, которая настраивает куски кода при инициализации - see this post for further detail on my approach. Но в настоящее время мне приходится реплицировать единый фрагмент кода столько раз, сколько есть параметров конфигурации (поэтому каждый «фрагмент» может отличаться от другого одного и того же типа значением ONE config). Это невероятно хромой, он работает, но его хромает и требует много времени для повторного развертывания кучи фрагментов и для моей команды сложно запомнить все варианты.

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

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

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

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

EDIT: Кстати, мне пришло в голову изучить специально настроенный экземпляр TinyMCE, но я не знаю, насколько это возможно, и если нет доступного небольшого бэкэнда, я застрял в локальном редактировании файлов для сейчас - даже на веб-сервере ...

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

+0

То, что вы описываете, звучит точно так же, как управление сервером для ASP.NET. Вы можете контролировать разметку и не позволять никому ее изменять. У вас могут быть параметры конфигурации в качестве свойств. Вы можете открыть текстовые узлы для редактирования пользователем. Вы можете скопировать и вставить разметку, чтобы добавить эти элементы управления. Автоматический интерфейс в Visual Studio достаточно чист, если вы просто добавите все свои элементы управления в отдельную сборку. Наверное, не то, что вы хотите. –

+0

Ничего себе, да, всякая лига вообще, но чем больше я подхожу к этой теме, тем более глубокие решения, как правило, получаются ... Есть ли дешевая демонстрация вышеперечисленной системы для меня, чтобы достаточно легко проверить? Я бы предположил, что нет, но если есть один, это может концептуально обеспечить некоторую проницательность, спасибо :) – danjah

+1

Ну, ASP.NET - это бесплатная система, которая работает на сервере IIS (часть Windows 7 Professional и выше, Windows Vista Professional и выше или любые продукты Windows Server). Вы также можете использовать Mono для запуска ASP.NET в системах Linux. Вы узнаете, как создавать серверные элементы управления здесь: http://www.4guysfromrolla.com/articles/102903-1.aspx. В самой нижней части страницы вы можете увидеть расходуемую расценку, которую вы хотите использовать для установки серверного элемента управления на страницу. Очень похоже на то, что вы описываете выше. –

ответ

2

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

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

+0

Wow чувак, вы прибили его, большое спасибо. – danjah

0

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

<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() инициализации так, что она будет инициализировать родителя (вместо тока) узла..

+0

Хорошо, мне нравится, но вернемся к этому вопросу: P – danjah

+0

На самом деле, это было не идеально, оглядываясь назад, потому что мне нужно было ссылаться на созданные объекты - могу ли я это сделать при создании через «новый метод класса(). () "? Любые читатели должны знать, что этот ответ и цепочка комментариев в основном не связаны с реальным вопросом, задаваемым здесь. – danjah

0

Вы считаете server-side includes, где директива является либо сгенерированной страницей, либо командой оболочки? Например.:

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

или

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

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

Смежные вопросы