В прошлой статье я кратко описал мой необычный нанофреймворк, в котором всего десять тегов и flexbox по умолчанию. Для освоения которого надо учить меньше, а не больше. Он может быть полезен например для обучения детей, или для «творческих» людей, которым тяжело изучить обычное веб-программирование и его сложные непонятные фреймворки.
В этой статье я расскажу о дизайне WCMS сделанной в рамках шаблона HTML10, и опять поделюсь исходным кодом — это мой дипломный проект инженера-программиста.
Задача — разработать клиент-серверную программу для сохранения знаний в виде дерева-иерархии документов (как в библиотеке), максимально простую и удобную, чтобы справились даже дети 12+ и очень пьяные инвалиды.
Это самый простой движок сайта в природе, порог вхождения отсутствует. И это необычный новый способ работы с текстом на сенсорном экране, комфортный и безболезненный.
Эта WCMS может быть использована например студентом или писателем, любым Издателем веб-документов. Возможно сделать свою энциклопедию подобную Википедии, но функция поиска документов пока возможна только для владельца и только на локальном сервере.
Документ, содержащий знания, может быть собран из семи семантических примитивов:
Это соответствует тегам:
Последние два пока не используются. Дополнительная семантика возможна через WAI-ARIA.
Это простой формат данных, универсальный и вечный. Документ это обычная книга типа «свиток», плюс рисование, черчение и мультимедийные возможности. Медиафайлы могут быть общими для всего проекта, и своими-частными для каждого документа.
Слово может быть выделено цветом, жирным или курсивным начертанием, или может содержать ссылку:
Документ содержит информацию для роботов:
Основное средство ввода на которое я ориентируюсь — сенсорный экран, Mobile First. В графическом интерфейсе используются только: прокрутка колесом мышки или пальцем, и три универсальных события для кнопки мышки и пальца — нажатие, перемещение, отжатие. Работать с этой WCMS можно сидя за столом или лежа на диване, в транспорте или в поле — в любом нормальном браузере.
Для работы нужен локальный или удаленный php-сервер. Если хватит мощности то достаточно бесплатного хостинга, потому что не используется БД. Кстати, на бесплатном хостинге можно даже не покупать себе имя домена, и использовать тот адрес который тебе дадут бесплатно, то есть использование ВебИздат может быть совершенно бесплатным.
При первом запуске система предлагает придумать логин и пароль, и открывает страницу редактора, которую для удобства можно сохранить в закладки браузера. В процессе работы все данные сохраняются в папку Данные на сервере — так легко архивировать и восстанавливать данные. Структура Данных простая:
Сервер очень тонкий, десяток простейших микроскопических php-функций:
Легко заменить оформление и озвучку, заменив папку Оформление.
Владелец/гость может редактировать/просмотривать:
Заглавная страница содержит «паспорт» проекта, и может содержать закладки-ссылки для избранных документов. Открытый документ имеет кнопку Ссылка, которая при нажатии копирует в буфер адрес-ссылку этого документа. Навигация по дереву разделов реализована в виде перелистывания страниц. Кнопки разделов круглые, кнопки документов и закладок прямоугольные.
Документ состоит из заголовка и разделов-глав. Каждый раздел может быть свернут или раскрыт. Нажатие кнопки Разделы сворачивает все разделы — получается содержание-оглавление книги. Кнопка Экспорт выдает для копирования в буфер обмена системы весь текст документа или выделенный фрагмент.
Раздел может содержать 10 типов подразделов:
В будущих версиях планирую добавить типы подразделов — диаграммы, мелодии, рисунки, схемы и тд. Тип подраздела это любая возможная комбинация семи первоэлементов-примитивов.
Видео-демонстрация работы:
Чтобы вставить ссылку в текст, надо сначала скопировать ссылку в буфер обмена WCMS:
Далее надо выделить слово в тексте и нажать кнопку вставки ссылки:
Я реализовал более простой и удобный способ ввода и отключил все ненужные и мешающие этому возможности — вы не можете выделить курсором кусок текста и скопировать-вставить текст привычным образом, потому что курсора нет. Это другая парадигма, разрыв шаблона. Системная клавиатура мобильной ОС не используется — даже в iOS работать с текстом мучительно. В первой версии только два языка — русский и английский. Однако для ввода можно использовать физическую клавиатуру, и любой язык доступный в ОС. Обратите внимание, в моей клавиатуре отсутствует «самая бессмысленная буква сегодня в алфавите» — изобретая новое, надо уметь выбрасывать старое.
Всё что надо знать для использования ВебИздат написано в этой статье. Ссылка для скачивания zip-архива содержимого корневой папки сервера (111 Кб, бета-версия 7). Просто распакуйте его на сервере и откройте ваш сайт в любом нормальном браузере.
Электропочта на Яндексе для отзывов и предложений: max.minimus@
В этой статье я расскажу о дизайне WCMS сделанной в рамках шаблона HTML10, и опять поделюсь исходным кодом — это мой дипломный проект инженера-программиста.
Задача — разработать клиент-серверную программу для сохранения знаний в виде дерева-иерархии документов (как в библиотеке), максимально простую и удобную, чтобы справились даже дети 12+ и очень пьяные инвалиды.
Это самый простой движок сайта в природе, порог вхождения отсутствует. И это необычный новый способ работы с текстом на сенсорном экране, комфортный и безболезненный.
Эта WCMS может быть использована например студентом или писателем, любым Издателем веб-документов. Возможно сделать свою энциклопедию подобную Википедии, но функция поиска документов пока возможна только для владельца и только на локальном сервере.
Информационная архитектура
Документ, содержащий знания, может быть собран из семи семантических примитивов:
- слово
- структурный блок
- изображение
- аудио
- видео
- холст
- векторная графика
Это соответствует тегам:
- span или s
- div
- img
- audio
- video
- canvas
- svg
Последние два пока не используются. Дополнительная семантика возможна через WAI-ARIA.
Это простой формат данных, универсальный и вечный. Документ это обычная книга типа «свиток», плюс рисование, черчение и мультимедийные возможности. Медиафайлы могут быть общими для всего проекта, и своими-частными для каждого документа.
Слово может быть выделено цветом, жирным или курсивным начертанием, или может содержать ссылку:
- ссылка на определенный раздел документа — документ прокручивается до «якоря»
- ссылка на другой документ — открывается новый документ поверх предыдущего
- ссылка на внешний сайт — открывается в новой вкладке браузера
Документ содержит информацию для роботов:
- имя автора
- язык
- описание документа в поиске
- теги
- состояние документа — неизменный/изменяемый
- заголовок документа
Проектирование взаимодействия
Основное средство ввода на которое я ориентируюсь — сенсорный экран, Mobile First. В графическом интерфейсе используются только: прокрутка колесом мышки или пальцем, и три универсальных события для кнопки мышки и пальца — нажатие, перемещение, отжатие. Работать с этой WCMS можно сидя за столом или лежа на диване, в транспорте или в поле — в любом нормальном браузере.
Серверная часть
Для работы нужен локальный или удаленный php-сервер. Если хватит мощности то достаточно бесплатного хостинга, потому что не используется БД. Кстати, на бесплатном хостинге можно даже не покупать себе имя домена, и использовать тот адрес который тебе дадут бесплатно, то есть использование ВебИздат может быть совершенно бесплатным.
При первом запуске система предлагает придумать логин и пароль, и открывает страницу редактора, которую для удобства можно сохранить в закладки браузера. В процессе работы все данные сохраняются в папку Данные на сервере — так легко архивировать и восстанавливать данные. Структура Данных простая:
Сервер очень тонкий, десяток простейших микроскопических php-функций:
- запросить логин и пароль
- создать папку
- удалить папку
- переименовать папку
- переместить папку
- сканировать папку
- создать файл
- загрузить файл
- сохранить файл
- удалить файл
Клиентская часть
- озвученный графический интерфейс
- путь-адрес текущего документа или раздела, в папке Данные
- команды редактора: создать, удалить, вырезать, вставить, переименовать раздел или документ
- каждое изменение документа автоматически сохраняется
- отмена и повтор изменений документа
- поиск и замена слов и словосочетаний
- настройки информации для роботов
- собственный буфер обмена для импорта-экспорта текста через диалоговое окно браузера
- множественные копирование и вставка, стекообразный буфер обмена
- загрузка медиафайлов на сервер
Графический интерфейс пользователя
Легко заменить оформление и озвучку, заменив папку Оформление.
Владелец/гость может редактировать/просмотривать:
- заглавную страницу
- дерево разделов и документов
- документы
Заглавная страница содержит «паспорт» проекта, и может содержать закладки-ссылки для избранных документов. Открытый документ имеет кнопку Ссылка, которая при нажатии копирует в буфер адрес-ссылку этого документа. Навигация по дереву разделов реализована в виде перелистывания страниц. Кнопки разделов круглые, кнопки документов и закладок прямоугольные.
Документ состоит из заголовка и разделов-глав. Каждый раздел может быть свернут или раскрыт. Нажатие кнопки Разделы сворачивает все разделы — получается содержание-оглавление книги. Кнопка Экспорт выдает для копирования в буфер обмена системы весь текст документа или выделенный фрагмент.
Раздел может содержать 10 типов подразделов:
- заголовок
- абзац текста
- цитата (подпись + абзац текста)
- список
- таблица
- паспорт (изображение + текст)
- заставка (изображение)
- галерея (последовательность изображений)
- аудио
- видео
В будущих версиях планирую добавить типы подразделов — диаграммы, мелодии, рисунки, схемы и тд. Тип подраздела это любая возможная комбинация семи первоэлементов-примитивов.
Видео-демонстрация работы:
Чтобы вставить ссылку в текст, надо сначала скопировать ссылку в буфер обмена WCMS:
- для копирования якоря надо нажать на Стрелку в заголовке рездела
- для копирования ссылки на документ надо нажать на кнопку Ссылка в меню документа
- www-ссылку надо скопировать в буфер обмена ОС
Далее надо выделить слово в тексте и нажать кнопку вставки ссылки:
- вставка якоря (пунктирная черта снизу)
- вставка внутренней ссылки (сплошная черта снизу)
- вставка-импорт внешней ссылки (сплошная черта сверху)
Я реализовал более простой и удобный способ ввода и отключил все ненужные и мешающие этому возможности — вы не можете выделить курсором кусок текста и скопировать-вставить текст привычным образом, потому что курсора нет. Это другая парадигма, разрыв шаблона. Системная клавиатура мобильной ОС не используется — даже в iOS работать с текстом мучительно. В первой версии только два языка — русский и английский. Однако для ввода можно использовать физическую клавиатуру, и любой язык доступный в ОС. Обратите внимание, в моей клавиатуре отсутствует «самая бессмысленная буква сегодня в алфавите» — изобретая новое, надо уметь выбрасывать старое.
Всё что надо знать для использования ВебИздат написано в этой статье. Ссылка для скачивания zip-архива содержимого корневой папки сервера (111 Кб, бета-версия 7). Просто распакуйте его на сервере и откройте ваш сайт в любом нормальном браузере.
Электропочта на Яндексе для отзывов и предложений: max.minimus@
Поделиться с друзьями
Комментарии (5)
Stalker_RED
24.02.2017 03:50+2Список пришлось выбросить, он не укладывался в магическое число 10.
Поменять шрифт нельзя? Выделение цветом? Ну может хоть курсив? Верхний или нижний индекс? А ну ладно, вставим формулы картинками. Таблицу тоже верстаем руками. Пробелами поровняем!
Kenya
>Системная клавиатура мобильной ОС не используется
Можно объяснить, почему? Вы реализовали более удобный способ ввода, нежели нативная клавиатура?
maxminimus
Да
Stalker_RED
И даже нет нигде галочки, глубоко в настройках, отключающей ваше гениальное изобретение? Я еще понял бы, если бы вы реализовали фонетическую раскладку, причем опционально. А так — готовьтесь к проклятиям.