Как редактировать шаблон html5

Редактирование статических HTML страниц в браузере

Как редактировать шаблон html5. Смотреть фото Как редактировать шаблон html5. Смотреть картинку Как редактировать шаблон html5. Картинка про Как редактировать шаблон html5. Фото Как редактировать шаблон html5
В процессе создания очередного статического сайта-заглушки появилась потребность оптимизировать процесс. Что из этого получилось?

Итак цель — создание удобного редактора статических HTML страниц в браузере. Редактор имеет два режима. Редактирование текста и редактирование HTML.
Редактирование текста активируется кликом на нужном элементе. Для редактирования HTML делаем двойным клик.
В режиме редактирования HTML подсветка кода на основе google-code-prettify (известный по использованию в документации twitter bootstrap) и jsbeautifier для форматирования кода.
Для сохранения изменений используется простой node.js сервер позволяющий сохранять изменения и создавать копию текущей страницы.

Как это работает:

Активация WYSIWYG режим редактирования

Активация HTML редактора
‘); //запускаем prettify парсер prettyPrint(); >);

После окончания редактирования элемента

В случае если редактировался текст

В случае HTML редактора необходимо очистить HTML от элементов добавленных prettify парсером

Установка и пример использования:

Для тестирования необходим установленный node.js (если его нет начать можно здесь habrahabr.ru/post/95960 или здесь nodejs.org/download)
Update: добавлена поддержка PHP

Воспользуемся bootstrap шаблоном от initializr

Для вызова редактора добавляем в index.html перед строку:

В ксрипте inplaceeditor.js нужно поменять

Node.js

Устанавливаем зависимости для node.js

Перед загрузкой на сервер не забываем удалять вызов редактора!

Источник

WYSIWYG HTML редактор в браузере. Часть 1

Это первая часть перевода статьи о свойствах designMode и contentEditable, их поведении и особенностях.

Вступление

В самом первом браузере, созданном Тимом Бернесом-Ли в 1990 году, веб-страницы можно было редактировать непосредственно в браузере в WYSIWYG режиме. Веб рассматривался как среда доступная как для чтения так и для записи. Более поздние браузеры, однако, в основном, давали возможности только для чтения информации, исключая разве что ввод текста в поля ввода форм.

WYSIWYG редактирование в браузере снова стало нормой с выходом Internet Explorer 5: новое свойство designMode позволяло пользователю редактировать весь документ. Сначала эта особенность как то упускалась из виду, возможно, ввиду того, что появилась вместе с массой других не стандартных, доступных только под ОС Windows, проприетарных возможностей IE.

В последние годы остальные браузеры-конкуренты — Mozilla, Safari и Opera (примечание переводчика: Chrome на момент написания статьи еще не появился. Первая бета выйдет только через несколько месяцев.) — последовали примеру IE и тоже реализовали эту возможность. WHATWG работает над стандартизацией режима редактирования — свойства designMode и contentEditable представлены в HTML 5. Похоже что браузерное WYSIWYG редактирование все же становится неотъемлемой частью веба.

Примечание: Я рассматриваю только особенности редактирования в браузерах: Opera 9.5, Firefox 2+ и Safari 3, так как в предыдущих версиях редакторы были через-чур глючными и неполноценными. А редактор в IE практически не менялся с версии 5.5 )))

Обзор режима редактирования

Включение режима редактирования

Есть два способа включения режима редактирования — свойства designMode и contentEditable.

Окно или фрейм становятся доступными для редактирования установкой свойства designMode объекта document в true. (Оговорка: В IE надо получить ссылку на document из объекта window.) Обычно редактируемый блок создается с использованием IFrame и designMode.

Любой элемент, содержащий текст, можно сделать редактируемым установкой свойства contentEditable в true. (contentEditable не поддерживается Firefox 2, поддержка появилась в Firefox 3. Так же она есть во всех актуальных версиях IE, Opera и Safari.)

Редактирование с помощью клавиатуры

Редактирование с помощью клавиатуры и мыши работает более менее так, как можно ожидать от простого текстового редактора. Курсор показывает точку ввода документа и ее можно перемещать по всему документу. Набор и удаление работают вполне предсказуемо. Выделение можно перемещать, удалять и перезаписывать.

Очень приятная особенность — по умолчанию работают redo и undo (запись и отмена действий). (Позже будет описано, как вызвать команду Undo.)

Сложности начинаются когда нажимаются кнопки Enter/Return. Не совсем понятно какой HTML код должен получится в результате и, действительно, этот код сильно отличается в различных браузерах и зависит от контекста. Если курсор находится внутри не пустого тега p, все браузеры закроют его и откроют новый (с теми же атрибутами) и переместят курсор в него. А Mozilla еще и вставит (излишний) элемент br после курсора. Например (в примерах символ вертикальной черты означает курсор):

И нажатие Enter/Return в IE или Safari:

Если курсор находится в конце не пустого элемента h1, все браузеры закроют h1, но IE и Opera вставят новый элемент p и поместят курсор в него. Safari вставит новый h1 элемент и поместит курсор внутрь. Mozilla не будет создавать никаких дополнительных элементов, но зачем то добавит два дополнительны тега br после курсора. Например:

Если писать текст непосредственно в body (без каких либо элементов-оберток), и нажать Enter/Return, Mozilla вставит br. IE и Opera обернут предыдущий текст в p и создадут новый p. Safari вставит div.

Если набирать текст внутри div, Safari, Opera и IE закроют текущий элемент div и откроют новый. Mozilla вставит br и поместит курсор после него.

Если вокруг курсора несколько элементов-оберток, то все браузеры закроют (и дублируют) только обертку с наибольшей степенью вложенности. Курсор останется в обертке.

Примечание: Это жутковато! Неожиданно у IE оказался наиболее разумный подход всегда гарантирующий осмысленное применение блочных элементов. Mozilla ведет себя ужасно используя элементы br внутри блочных элементов, благодаря этому невозможно реализовать осмысленную стилизацию текста.

Позиционирование курсора

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

Например, посмотрите сюда; Символ вертикальной черты обозначает возможные положения курсора:

Так что если вы набираете символы слева от полужирного текста, новый текст будет отображен в нормальном начертании. Если наберете справа, то он тоже будет полужирным.

Удаление

Редактирование объектов

Браузеры поддерживают некоторые дополнительные интерфейсы для редактирования.

IE позволяет изменять размер изображений, таблиц, элементов форм или абсолютно позиционированных элементов перетягивая их уголки (когда объект выделен, то появляется соответствующий контейнер)

Mozilla тоже позволяет менять размер картинок и таблиц, но у нее есть еще и дополнительные элементы управления, которые позволяют создавать в таблице новые колонки и строки. Кроме того Mozilla позволяет изменять положение абсолютно позиционированных элементов.

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

От переводчика: Так как хабр отказался публиковать 35кб текста за раз, то разбиваю перевод на две части.

Источник

Как редактировать шаблон html5

Как редактировать шаблон html5. Смотреть фото Как редактировать шаблон html5. Смотреть картинку Как редактировать шаблон html5. Картинка про Как редактировать шаблон html5. Фото Как редактировать шаблон html5

Редактирование шаблонов HTML/CSS

Для редактирования html/css-шаблонов можно использовать любой редактор кода или комбинированный html-редактор.

Редактирование шаблонов Flash

В Интернете можно скачать шаблоны страниц и целых сайтов, которые или включают элементы Flash, или полностью выполнены в формате Flash.
Шаблоны с элементами Flash состоят из комплекта файлов HTML, CSS, Flash-файлов (.swf), файлов изображений и пр. Обычно в формате Flash создаются области заголовка страницы («шапка») и панели навигации.
Такие шаблоны можно открыть для редактирования в любом редакторе кода или в комбинированном редакторе (но элементы Flash в этих редакторах нельзя отредактировать).

Многие веб-редакторы идут со своими образцами веб-страниц или целых сайтов.

Шаблоны HTML / CSS

Бесплатные шаблоны:

http://www.templatesbox.com/templates.htm
Набор бесплатных шаблонов, которые можно сразу отредактировать в онлайн-редакторе WiX.

Шаблоны Flash

Бесплатные Flash-шаблоны (SWF)

Шаблоны Flash/HTML

Шаблоны фотогалерей

Шаблоны визуальных редакторов

Все шаблоны, которые предлагаются в Интернете, называются «шаблонами», но являются ли они таковыми? На самом деле их было бы правильнее называть «образцами страниц».

Страница-образец также служит для создания других страниц, но при этом страницы создаются путем копирования образца и затем изменяются самым произвольным образом. Изменение страницы-образца никак не отражается на страницах, созданных по этому образцу.
Большинство шаблонов, которые предлагаются в Интернете, как раз и являются такими образцами страниц, а не шаблонами.

Страницу-образец можно превратить в шаблон, используя функцию «Сохранить как шаблон», имеющуюся в некоторых веб-редакторах.

Источник

Как редактировать шаблон html5. Смотреть фото Как редактировать шаблон html5. Смотреть картинку Как редактировать шаблон html5. Картинка про Как редактировать шаблон html5. Фото Как редактировать шаблон html5

Инструкция по редактированию шаблона сайта Begin

Скачать инструкцию с примерами HTML страниц и самим шаблоном можно по ссылке внизу страницы.

Подготовка к редактированию шаблона.

Желательно, чтобы у Вас заранее был готов текст, который собираетесь размещать на редактируемой странице и картинки (фото) по размерам соответствующие тем, которые лежат в папке img.
Эта папка будет содержать Ваши личные изображения и фото для размещения на сайте.
В папке images находятся картинки, используемые в дизайне сайта, их менять не рекомендуется (тем более размер), если только позже, когда наберетесь опыта.
В названиях картинок и страниц сайта используйте только осмысленные латинские символы, чтобы потом было легче ориентироваться в коде.

Переходим к редактированию шаблона.

— Открываем главную страницу index.html (папка «Ваш сайт\begin») с помощью текстового редактора и видим то, что нам предстоит редактировать. Не пугайтесь, это только при первом взгляде страшно, по мере работы присмотритесь и все встанет на свои места.
При редактировании кода используйте поиск: выделите и скопируйте код на странице инструкции и вставьте в окошко поиска редактора на редактируемой странице.

Редактируем основные META теги HTML страницы

Мета-теги в начале страницы: title, description, keywords, являются важным атрибутом любой страницы, размещенной в Интернете.

Редактируем меню сайта и логотип

ЛОГОТИП

Ваш логотип Название сайта или код-адрес картинки

— для начала достаточно текста.

МЕНЮ САЙТА

Ссылки типа page1.html можете оставить без изменений или изменить на свои, но тогда не забудьте внести изменения в другие страницы сайта.
Здесь указана относительная ссылка: page1.html, можно указать абсолютную: http://Ваш сайт/page1.html, что одно и тоже. При первом варианте ссылки, страницы должны находиться в одной и той же папке, в пределах компьютера или хостинга.

Пример: если Вы набрали в браузере адрес: http://Вашсайт.ru, то автоматически (по умолчанию) откроется файл первой страницы index.html, если он лежит в папке Вашсайт.ru
Два адреса http://Вашсайт.ru и http://Вашсайт.ru/index.html одинаковы.

Поменяйте заголовки меню. Следите за тем, чтобы текст меню уместился в одной строке страницы.

Редактируем ШАПКУ сайта

В шапке будем менять текст слева от большой картинки. С этим Вы справитесь, далее о картинке.

Размер картинки 600х220 px, поменяйте изображение, создайте свое таких же размеров. Сама картинка лежит в папке images, называется logo.png, параметры картинки в файле style.css (папка css). При изменении ширины изображения, поменяйте параметр width:600px; (он такой один) на свой размер.

Отступы от верхнего и правого края меняйте атрибутами, соответственно: padding-top:10px; padding-right:10px; которые ниже параметра width:600px;

Содержимое (тело) страницы состоит у нас из трех блоков: левый, средний и правый.

Заполняйте блоки своим содержимым: текст, картинки в тексте (100×100 px). В имеющийся текст для наглядности уже включены ссылки на другие страницы, удалите их или замените.

Все остальное описывалось выше. В самом коде и редактируемом тексте есть дополнительные описания и рекомендации.

Редактируем ПОДВАЛ низ страницы

Здесь все просто. Замените текст и ссылки. Сюда же можно установить счетчик посещаемости сайта.

Завершаем редактирование шаблона

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

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

Все, что выше слайдера и подвал страницы будут одинаковы на всех страницах сайта.

Обязательно внесите изменения в Мета-Теги страниц и в Заголовок, они должны быть уникальными.

Работа с шаблонами дополнительных страниц.
Выделяем мышкой часть кода готовой страницы index.html, начиная от комментария до самого верха, копируем ее и заменяем на всех оставшихся страницах именно эту часть, также выделив ее и удалив.

Подобным образом поступаем с подвалом страницы: выделяем код начиная от комментария до самого низа и заменяем на других страницах. Почему до самого верха или низа? Так проще не промахнуться.

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

Источник

Веб-компоненты. Часть 3: html шаблоны и импорты

Вступление

Приветствую коллеги. Данная статья является третьей и последней статьей в серии статей о веб-компонентах.Первые две статьи доступны по ссылкам:

В данной статье речь пойдет о элементе а также об HTML импортах.

HTML Templates элемент

Элемент представляет собой инструмент, позволяющий хранить контент на стороне клиента без его рендеринга на страницу, однако с возможностью его отображения в процессе исполнения посредством JavaScript.

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

Содержимое

однако, вне элемента такой синтаксис валидным не является. При этом пропуск закрывающего тега

Все элементы указанные внутри тега в html коде не являются его дочерними элементами.

Бразуеры при создании элемента создают DocumentFragment чьим документом является т.н. approptiate template contents owner document, определяемый по этому алгоритму, документа в котором указан и указывает значением свойства .content созданный DocumentFragment.

То есть свойство .content у элемента template содержит DocumentFragment, и элементы, которые в html коде были указаны внутри тегов являются дочерними элементами именно этого DocumentFragment.

Клонирование шаблона
Show me the code ©

Использование шаблонов действительно очень простое. Я продолжу пример компоненты таб, с кодом которых я работала в примерах предыдущих статей.

В конструкторе каждого класса я сохраню свойство template. Для TabNavigationItem это будет:

a для TabContentItem:

Получившийся код можно посмотреть тут

В этом примере оба шаблона указаны в html, что выглядит громозким и не есть гуд. Это плавно переводит нас к теме:

HTML импорты

Импорты представляют собой HTML документы которые подключены в качестве внешних ресурсов другим HTML документом. Система взаимоотношений между документами хорошо описана в черновике спецификации и не является предметом данной статьи.

Общая схема видна на изображении:

Как редактировать шаблон html5. Смотреть фото Как редактировать шаблон html5. Смотреть картинку Как редактировать шаблон html5. Картинка про Как редактировать шаблон html5. Фото Как редактировать шаблон html5.

Для того чтобы реализовать импорты был добавлен новый тип в HTML link types (значения атрибута rel).

Расширения, предлагаемые черновиком спецификации предлагаются в АПИ HTMLLinkElement: добавляется свойство import, доступное только для чтения и содержащее импортируемый документ.

В спецификации отдельно указано что один и тот же объект должен будет возвращаться всегда.

В контексте импортов, есть так называемый мастер-документ (master document), которым является тот документ, который импортирует ресурсы одновременно не являясь при этом чьим либо импортируемым ресурсом.

ContentSecurityPolicy такого документа должна ограничивать все импорты. Так, если Content Security Header Field поставлен в значение импорта, браузер должен принудительно исполнять политику именно мастер-документа к импортируемому документу.

На практике

Для компонента таб, я создаю папку templates. В ней я создам два файла, в которые я перенесу разметку компоненты.

В файла index.html я импортирую шаблоны:

Финальную версию можно взять тут.

О поддержке

Поддержка HTML templates: Edge c 16, Firefox c 59, Chrome c 49, Safari c 11.
С поддержкой импортов печальнее: Chrome c 49.
Потому примеры из этой статьи можно посмотреть только в последних Chrome.

Почтитать подробнее о шаблонах и импортах:

На этом все, спасибо за внимание,
Таня

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *