nixp.ru v3.0

22 ноября 2024,
пятница,
05:23:59 MSK

17 июля 2014, 01:59

HTdesigner — новый свободный WYSIWYG HTML-редактор на базе JavaScript

2
HTdesigner 1.0 в браузере Chromium
HTdesigner 1.0 в браузере Chromium
Иллюстрация с сайта YouTube

Вышла первая стабильная версия свободного редактора для верстки веб-страниц HTdesigner 1.0, созданного на языке программирования JavaScript и позиционируемого как свободная альтернатива продуктам вроде Dreamweaver.

HTML-редактор HTdesigner 1.0 работает в веб-браузерах Firefox/Chrome и поддерживает следующие возможности:

  • визуальное выделение элемента;
  • более точное выделение родительского элемента через parentNode;
  • создание, удаление и вставка элемента в документе;
  • форматирование текста при помощи строчных тегов;
  • перемещение элемента в документе через механизм copy/paste;
  • создание, удаление, редактирование CSS-свойств и атрибутов элемента;
  • автоматическая генерация всех возможных CSS-свойств, атрибутов и их значений;
  • редактирование текста внутри тега через свойство contenteditable или редактор HTML-кода;
  • редактирование HTML-кода выбранного элемента;
  • унификация редактирования структуры элементов.

Исходный код программы распространяется на условиях свободной лицензии GNU GPLv3 и доступен для скачивания на SourceForge.

Постоянная ссылка к новости: http://www.nixp.ru/news/12627.html. vikules по материалам sourceforge.net.

fb twitter vk
Филипп Корвин

А как же всякие ext js / sencha (хотя jquery uiI) для современного интерфейса сабжа? ;)) И как он результирующие файлы сохраняет на жесткий диск?

vikules

Все очень просто, во первых либы типа jquery uil это само по себе ересь, просто взглянь на их код и 100500 прослоек, однако никто не запрещает их использовать, в версии 1.1 будут много возможностей и также редактирование head, для подключения перечисленных тобой чудо поделий, а насчет сохранение результата на диск, FileSystem API будет использован для автоматизации, однако данный API сейчас толком не поддерживает ни один браузер, и да придется создать пустой файл с названием name.html, скопировать html-вывод и вставить его в файл. Ровно четыре щелчка мыщью.

Филипп Корвин

Вопрос был про их использование для самого редактора, чтобв украсить  внешний вид диалогов и интерфейса, но позиция ясна ;))

Копировать-сохранять самому — как-то старомодно, когда дркгие редакторы умеют сразу через фтп публиковать на сайте. Круто было бы минимальную серверную часть, чтобы редактировать и сохранять прямо сразу на сайте. Будет такая необычная статичная цмска ;))

vikules

Да круто серв часть но это уже SaaS, и как бы это уже не в моей компитенции

rgo

> Будет такая необычная статичная цмска ;))

Не боязно? :) Чем меньше интерфейсов доступа и чем дубовее они, тем защищённее сервер.

vikules

ты про ту тему с статик cms, я там чисто с точки создания, размещения и поиска документа размышлял

vikules

просто ты наверное неправильно расшифровуешь аббр CMS

rgo

Тогда ты не с той стороны заходишь к проблеме. Отсутствие системного мышления сказывается, видимо. Во-первых, надо выкинуть html: html может быть незаменим для создания сайта, но если мы глянем, например, на тот же mediawiki, то документы он хранит в формате отличном от html. html, по-моему, уже никто не использует для непосредственной вёрстки, предпочитая более высокоуровневые языки/методы вёрстки, которые впоследствии генерируют html, понятный браузеру. То есть, вся эта возня с нодами, родительскими нодами, бла-бла-бла… В XXI веке это выглядит примерно как мышиная возня с регистрами процессора и безусловными относительными переходами, с точки зрения C++ программиста. Во-вторых… Начинать надо было бы с того, чтобы создать версионированное хранилище данных, что-нибудь типа wiki поверх git, причём создавать его в отрыве от web-технологий, как самостоятельную сущность, позволяющую извлекать из git редакцию документа, заносить новую редакцию, прицеплять к редакции всякие там notes, bugs, todos, устанавливать для bug’ов и todo дедлайны… Ну и естественно извлекать всю эту «мета» информацию в любом удобном виде, например, список дедлайнов, которые истекают к 14:45 завтрашнего дня.

Для начала надо создать простейший с точки зрения реализации интерфейс ко всему этому делу, поэтому стоит начать с cli интерфейса. Следующим этапом может быть заточка какого-нибудь emacs’а, на работу с такой системой, то есть создание чего-то типа org-mode, но на ином уровне (это проще, чем пилить свой текстовый редактор, и позволит в кратчайшие сроки начать тестовую эксплуатацию систему, с целью выявления недостатков на практике). Ну а финально можно уже наворачивать самостоятельные юзер-интерфейсы, хошь через web, путём запуска локального http-сервера, хошь через самостоятельное приложение. Хотя, конечно же, вариант с emacs’ом или какой-нибудь IDE заточенной на это дело более перспективен, чем создание нового emacs’а/IDE внутри браузера.

И, при таком подходе, если изначально как следует сформулировать проблему и выбрать подходящий уровень абстракции, то вся эта система — прослойка между vcs (или что там в качестве бд будет использоваться) и UI, — может быть написана хоть на C, со всеми вытекающими из этого плюшками, в виде производительности, переносимости, отсутствия многогигабайтовых депендансов и тд. и тп. А написание разнообразных UI вообще будет не вашей задачей, а задачей для разнообразных энтузиастов, которые будет прикручивать поддержку этой системы к различным текстовым редакторам, IDE, веб-серверам, веб-фреймворкам, et cetera…

vikules

 

Ну для начала. mediawiki не хранит статьи в wiki-разметке, она ее использует для удобного редактирования документа, а уж после отправки на сервер преобразовывает в html. Про мышку и регистры. Ну это загон, ну для начала вся эта возня с нодами работает не просто так, это единственный способ используя родной движок браузера редактировать html, при том эта самая возня намного уменьшает и упрощает интерфейс, и не делает из человека полного имбицыла.  Про то что прогр изолирована от веб-технологий, ну во первых она написана на них, во вторых немного странный запрос создавать целый комбайн, нужна система упр версиями есть wiki, непонимает вики html, сделай ковертер html-wiki или же скачай я думаю есть такие. Просто вы как unix пользователь, не понимаете идей самого unix. Я напомню каждая программа хорошо выполняет только одну задачу. При комбинирование этих программ получаются более сложные программные комплексы. А последние два обзаца, не осилил много букв.

 

rgo

> Ну для начала. mediawiki не хранит статьи в wiki-разметке, она ее использует для удобного редактирования документа, а уж после отправки на сервер преобразовывает в html.

Да? А её стоило бы. Хранить стоит в формате максимально приближенном к исходному. Впрочем, чего ещё можно было ожидать от пейсателей на быдлокодерском php.

> Ну это загон, ну для начала вся эта возня с нодами работает не просто так, это единственный способ используя родной движок браузера редактировать html

Вы не думали, что если это единственный способ использовать движок браузера, то быть может движок браузера — это неподходящий инструмент для задачи?

> Про то что прогр изолирована от веб-технологий, ну во первых она написана на них, во вторых немного странный запрос создавать целый комбайн

Вы попробуйте найти подобный «комбайн» в готовом виде. Ну или в виде кубиков, из которых его можно собрать. Отчитайтесь.

> Просто вы как unix пользователь, не понимаете идей самого unix. Я напомню каждая программа хорошо выполняет только одну задачу.

Если бы мне это было сказано Торвальдсом, написавшим git, я бы задумался. Но когда мне об этом говорит человек, ратующий за использование браузера во все дыры, я затрудняюсь определиться со своей реакцией. Должен ли я рассмеяться?

> А последние два обзаца, не осилил много букв.

Понятно.

vikules

еще раз обьясняю для не php-быдлокодера который не знает о чем пишет,  нельзя сохранять в mediawiki wiki-разметку, потому что ее нужно по каждому запросу(которых например у wikipedia миллионы) преобразовывать в html, блин под такой нагрузкой любой сервер раком станет, про движок браузера — нет возможности использовать другой инструмент так как его нет, ты мне предлагаешь не использовать готовый движок, а чудить свой, ну это ппц. Про комбайн — тут отчасти ты прав в одном, что не все делается по взмаху волшебной палочки, если тебе нужно прикрути ее к той системе к которой тебе нужно, немного придется пошевелится, а так я не отрицаю создания такой системы просто не на ранних этапах. Про торвальдса, ты опять за свое мне что мне нужно позвать Пифагора, Аристотеля, Коперника, Джорнадо Бруно, что бы они тебе лично отписали, что земля круглая, мож сойдет нотариально заверенный скриншот. Это концепция была сформирована людьми написавшими unix, и в во всех реализациях его эта идея сохранена, тот же конвеер в системных утилитах, придумал ее не я и тебе как человеку знающему нужно было бы это знать. Но по тому что ты пишешь ты или C++ хелловорщик или продвинутый юзер который заучил 100500 терминов и новых слов в которых совершенно не разбирается.

vikules

только за это » Во-первых, надо выкинуть html: html может быть незаменим для создания сайта, но если мы глянем, например, на тот же mediawiki, то документы он хранит в формате отличном от html.» можно тебя игнорить. Это лучший перл который я слышал, значит mediawiki не сайт… я всегда чувствовал что-то не ладное с ним. Ты открыл мне глаза, спасибо! просто если не знаешь не пиши, это же не олимпиада кто умнее.

rgo

> ее нужно по каждому запросу(которых например у wikipedia миллионы) преобразовывать в html

Ну, во-первых, не надо писать преобразование в html на php, возьмите язык пошустрее. Во-вторых, есть такая фишка как кеширование. Или быть может в данной ситуации уместее будет слово memoization. В конце-концов, если кеширование и memoization слишком сложная вещь для вас, то вам же доступен ещё client-side скриптинг и многие гигагерцы помноженные на многие ядра клиентского устройства, которые, я полагаю, с подобной задачей могут справиться не моргнув глазом, даже если объём документа измеряется мегабайтами, а компилятор разметки медиа-вики в html написан на тормознутом js.

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

> Про торвальдса, ты опять за свое мне что мне нужно позвать Пифагора, Аристотеля, Коперника, Джорнадо Бруно, что бы они тебе лично отписали, что земля круглая, мож сойдет нотариально заверенный скриншот.

Да, конечно, позовите. Мне всегда хотелось познакомиться с Бруно. Полнейший же отморозок, полезший на костёр за какую-то-там идею.

> Это концепция была сформирована людьми написавшими unix…

Я вас умоляю, не позорьте концепцию unix, произнося эти слова устами унылого скриптописателя. Понимаете в чём фишка, я не смогу объяснить вам в чём вы не правы не начиная длинного объяснения с самых азов. А писать сюда десятки килобайт текста я не намерен. Так что вы совершенно зря пытаетесь сподвигнуть меня на эту лекцию.

Дмитрий Шурупов

Можно (и правильно!) хранить wiki в оригинальной разметке. Просто логично ещë делать своеобразный кэш в виде готового HTML для быстрой отдачи. В общем-то, ниже об этом уже написано :-) Кстати, популярные форумные движки так и поступают со своим BBcode.

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

Филипп Корвин

Насколько знаю, медиавики хранит документы именно в своей разметке, а хтмл рендерит при обращении (может, и копию в хтмл тоже хранит, но именно копию…)

Дмитрий Шурупов

Глянул в содержимое баз данных популярных движков, имеющихся в наличии:

  • MediaWiki хранит контент страниц в своей wiki-разметке.
  • phpBB хранит в posts смесь из BBcode (например, для цитат) и HTML-кода (например, для смайлов).
  • vBulletin (правда, уже древний) хранит BBcode с легкой примесью HTML-кода (заметил только для вещей типа &).
  • Wordpress хранит в posts (записи блога) HTML-код. Но у него своей разметки и нет — там редактор сразу дает править в режимах WYSIWYG и HTML (аналогично сделано в движке nixp, хотя в дев-версии давно готова миграция на свою разметку — только всё никак [уже ну-очень-неприличное-время] не выкатим её в production :-)).
vikules

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

vikules

я говорил что движок всегда отдает в html, а как он это делает это специфика движка, а он травит что html устарел, не нужен и тд и тп.

vikules

вы комменты про unix почитайте, если вас это не задело у вас нет сердца

vikules

назови мне тут обоснованную критику, то что я в дизайнер html, не воткнул git,wiki и прочее, мне тут делать нечего или вы все тут братья или …

vikules

вот мой ответ всем многоуважаемым персонам, если хочешь сделать что-то как тебе нравится, сделай это сам. Если вам не интересно ради бога, будет интересно людям у которых есть мозг, и которые не говорят про графич интерфейс «мышиная возня с регистрами процессора», и прочий мозговыносящий бред, бред именно бред, вы что думаете разработчик вам должен всю систему запилить, это все таки open sourse, так что или сами сделайте что вы хотите или молчите. И пользуйтель кошерным(ну конечн пиратским Dreamweaver) с его сраным фотошопом, а на выходе получайте жопошоп, с засранной разметкой, и поехавшим интерфейсом, желаю удачи.

vikules

админ как аккаунт удалить, удали нах

Дмитрий Шурупов

Никак не удалить, придется остаться для истории, чтобы новость сохранилась для тех, кому интересно. А от вас тут никто ничего не требовал — просто высказали свое мнение. Зря вы так резко реагируете :-)

rgo

>  вот мой ответ всем многоуважаемым персонам, если хочешь сделать что-то как тебе нравится, сделай это сам

Не надо вести себя агрессивно. Считайте всегда, что окружающие ведут себя дружелюбно, а если вам кажется иначе, сделайте паузу, выпейте чашечку чая, и попробуйте найти другое, более дружелюбное объяснение тем словам, которые вам сказали. Есть социологические исследования, которые показывают, что подобное «текстовое» общение всегда воспринимается человеком как более агрессивное, чем оно есть на самом деле. Fundamental Attribution Error при текстовом общении проявляет себя гораздо, ГОРАЗДО сильнее, что впрочем естественно, поскольку информации о собеседнике меньше и, следовательно, все модели этого собеседника в вашей голове гораздо менее точны. И этот косяк восприятия можно отработать лишь сознательно внося поправку в свои ощущения.

> сделай это сам

Быть может сделаю со временем. Когда сам до конца пойму, чего же именно мне не хватает в этой жизни.

fhunter

«Мышиная возня с регистрами» было сказано не про графический интерфейс, а про прямое написание html.