Как проще написать маленький html-WYSIWYG-редактор

0000

Надо вот небольшую программу написать. Вроде в Delphi5-7 есть компонент и на его основе можно сделать. В идеале конечно хотелось бы fckeditor как то в оффлайн-редактор передалать.
Требуется примитив:
* вставка картинок/ссылок
* различное начертание символов (жирный, курсив, др)
* все должно оформляться в соответствии с подкладываемым css-файлом, который не будет доступен для редактирования.
P.S. .Net не знаю совсем. Остальное почуть, так что разберусь.

sutulin

Тут впринципе не нужны знания дельфи и .NET, нужно всё сделать на обычном javascript.
А что мешает взять готовый редактор?

0000

Надо чтобы странички можно было сохранять. JS вроде как писать в файл не умеет.
Готовый не подходит, поскольку есть небольшой "необычный" функционал.

uncle17

Надо чтобы странички можно было сохранять. JS вроде как писать в файл не умеет.
Переходишь в режим "Просмотр кода", копируешь и сохраняешь куда хочешь

0000

, забыл добавить - Так-то!
Ты бы еще предложил блокнот и html-теги.
Кнопка сохранить требуется, поскольку результат потом должен быть запихнут в xml и положен в нычку.

Bibi

можно попробовать вот это:
http://github.com/dcneiner/Downloadify
демо-страничка у них битая, но описание похоже на то, что требуется.
нашел по словам "html5 save data to disk", результат в поиске:
http://stackoverflow.com/questions/2897619/using-html5-javas...

Bibi

хотя, честно говоря, из первого поста непонятно, что требуется :)

0000

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

uncle17

картинки тоже завернулись в xml? Бинарниками?

0000

Картинки будут как файлы передаваться. Сильно огород городить не хочу.

Dasar

Представляется так: пользователь отредактировал текст, нажал кнопку сохранить, все завернулось в xml, ушло на сайт
это умеет обычный fckeditor + небольшая обвязка (например, на jquery)
и велосипед изобретать не надо

0000

, ничего изобретать не хочу. Однако как заставить fckeditor сохранять файлы на диск не вижу.
Проблема в том, что в данном случае серверная часть отсутствует, а кто-то должен писать на диск.
Downloadify посмотрел. Проект сдох.
Работает только, если страничка открыта "с сети", что впрочем и заявлено разработчиком.
*_Important! The swf has been compiled for online use only. Testing from the file path (i.e. file:// ) will not work as it will violate the security sandbox._*
Облом то есть.

Dasar

Однако как заставить fckeditor сохранять файлы на диск не вижу.
Проблема в том, что в данном случае серверная часть отсутствует, а кто-то должен писать на диск.
т.е. нет возможности поставить хотя бы голый апач на любом порту на сервере (или на любом другом компе, у которого есть доступ к серверу)?
зы
если апач кажется тяжелым, то можно развернуть simplehttpserver, даже скорее всего на том же языке, на котором ты пишешь скрипты на сервере (которые у тебя как раз должны перенести страницу в нужное место)

sutulin

, это будет админка статичных страниц сайта, вынесенная на другую машину (видимо Win). Представляется так: пользователь отредактировал текст, нажал кнопку сохранить, все завернулось в xml, ушло на сайт (в заданную папку). На сайте скрипт обновления увидел xml, пропарсил и обновил сайт.
Что мешает на "другой машине (видимо Win)" поднять веб-сервер?
Вообще, можно сделать локальный html-файл с редактором, который бы формировал XML и засылал его на сервер, в том числе и с картинками.

0000

, запись на диск предлагаешь через JS/FileSystemObject (Windows Script Host) делать?
Объем работ хотелось бы минимизировать, что и отражено в заголовке.
Я себе плохо представляю, как сделаны подобные редакторы на JS.

sutulin

Я предлагаю на диск не записывать, а отправлять сразу на сервер.
В особенности работы редакторов вдаваться необязательно, они всё равно привязаны к заданному полю textarea и ты всегда можешь выцепить весь html-код из этого поля.

uncle17

ты действительно пытаешься изобрести велосипед, причем почему-то сразу с ведущим передним колесом и рулем сзади.
В простейшем случае делаются две страницы. На одной редактор закачивает картинки на сервер и получает в ответ ее URL. В другом - вставляет картинку по URL в CKEditor, TinyMCE или какой-там-еще, выставляет атрибуты материала (дату, привязки, авторов и проч.) и так же кнопкой закачивает содержимое textarea на сервер, где уже происходит заливка в базу.
А вообще веб-редактор должен знать HMTL хотя бы на минимальном уровне. И не надо никаких FieSystemObject, HTML5-хранилищ и процей херни.

0000

, т.е. предлагаешь на сервере, обслуживающем сайт разместить скрипты, обеспечивающие upload изображений и файлов туда?
Конечно так максимально просто, но мне не хочется так делать. Поскольку моя ошибка в написании скриптов приема файлов может образовать дырку в сайте.
, никто никому ничего не должен. Тем более, что можно можно написать дружелюбный пользователю интерфейс (хоть на том же Delphi который не потребует специальных знаний. Однако, если вдруг найдется альтернатива, то я с радостью ей воспользуюсь.

uncle17

Поскольку моя ошибка в написании скриптов приема файлов может образовать дырку в сайте
интерфейс (хоть на том же Delphi)
Дружелюбный интерфейс можно написать на чем угодно. Зачем для сайтов его писать на каких-то там дельфях?
Ну хорошо, собрал ты xml и все картинки. А на сервере ты их обрабатывать не будешь? Ресайзить, переназывать, копировать в нужную папку? Это не будет дыркой?
Залил человек, посмотрел на результат на сайте, а там что-то не так с версткой. Как он это править будет?
Ладно, я самоустраняюсь. Тут бесполезно объяснять.

Alena_08_11

Конечно так максимально просто, но мне не хочется так делать. Поскольку моя ошибка в написании скриптов приема файлов может образовать дырку в сайте.
Ну дык заюзай локально какой нить apache+php_in_one_click.exe с единственным скриптом, который будет принимать содержимое textarea, перегонять его в xml и сохранять его куда тебе надо.
Оставить комментарий
Имя или ник:
Комментарий: