Давайте сделаем интерфейс-трансформер на JS, где html вполне управляем и подвижен.



При выполнении этой задачи я буду опираться на архитектуру CSDR и вдохновляться смелостью работы над ошибками.

Приступим.

Давайте взглянем на трансформацию в природе!

1. Объект «Семя»

Получаем java-script-код (и никаких html-тэгов, кроме script).



2. Главная цель

Получаем цели.



3. Главное место

Выстраиваем DOM.



4. Место запаса

Запоминаем глобальные переменные.



5. Верхне-нижнее место

DOM дополняется новыми отделами.



6. Элемент

Задаем на местах необходимый обмен (входящее-выходящее) с глобальными переменными.



7. Событие

На элементы выставляем необходимые события.



8. Объект «Дерево»

Отображаем интерфейс в браузере!



И вот, то что увидели, айда сделаем в виде кода! Например давайте выведем тэги div и b, и наполним последний некое содержанием (комментировать код не буду, он рабочий, сами изучайте):

<html id="1.1">
<head id="1.1.1">
    <title id="1.1.1.1"></title>
    <meta id="1.1.1.2" charset="utf-8">
    <script id="1.1.1.3">

        $GLOBALS = [];

        /*1 компонент проекта*/
        $GLOBALS['Рефлексы'] = {
            '1': {
                'Ориентир': 'Интерфейс',
                'Условия': 'false',
                'Расчёты': 'Не более 5 кб. памяти',
                'Места': ['1'],
                'Вложение': {
                    '1.1': {
                        'Ориентир': 'Пример развёртки html',
                        'Условия': 'true',
                        'Расчёты': 'Два новых тэга',
                        'Места': ['1.1.2.1','1.1.2.1.1'],
                        'Вложение': false
                    },
                    '1.2': {
                        'Ориентир': 'Пример наполнения содержимым',
                        'Условия': 'true',
                        'Расчёты': 'Текст для одного тэга',
                        'Места': ['1.1.1.1.1','1.1.2.1.1.1'],
                        'Вложение': false
                    },
                }
            }
        };

        /*2 компонент проекта*/
        $GLOBALS['Места']    = {
            '1': {
                'Смысл': 'Память интерфейса',
                'Роль': ['Способность'],
                'Связи': ['1'],
                'Вложение': {
                    '1.1': {
                        'Смысл': 'Тэг html',
                        'Роль': {'Оболочка':'html'},
                        'Связи': false,
                        'Вложение': {
                            '1.1.1': {
                                'Смысл': 'Тэг head',
                                'Роль': {'Оболочка':'head'},
                                'Связи': false,
                                'Вложение': {
                                    '1.1.1.1': {
                                        'Смысл': 'Блок заголовка',
                                        'Роль': {'Оболочка':'title'},
                                        'Связи': false,
                                        'Вложение': {
                                            '1.1.1.1.1': {
                                                'Смысл': 'Текст заголовка',
                                                'Роль': ['Информация в оболочку'],
                                                'Связи': false,
                                                'Вложение': 'Пример'

............. //весь код смотрите по ссылке (здесь всё не поместится)

        /*активируем интерфейс*/
        $GLOBALS['Реакции'][1]['Способность']();

    </script>
</head>
<body id="1.1.2"></body>
</html>

Вся версия кода

? ??????? ?? ??????????? ?? ?????????. ???? ????!


p.s. для трусов и подобному стыду в программировании: ваши комментарии в моих статьях не нужны, как и ваши минусы, ибо вашего вклада в мою работу не было. Проваливайте!

p.s. для остальных обесточенных: вы пьёте чай, а я кофе и вам это не нравиться — удачи вам по жопе!

p.s. для моих храбрецов: дальше буду разрабатывать конструктор, который автоматизирует сборку кода, что выше. Присоединяйтесь: github.com/it-architector/constructor.csdr

Комментарии (7)


  1. Cerberuser
    15.11.2019 14:33

    А где статья-то?


    1. bvn13
      15.11.2019 14:37

      Она по ссылке на гитхабе. Перепостов — полон инет. В конце статьи ссыль на тред на форуме пхп. Вот там забавно вышло.


  1. Djaler
    15.11.2019 14:46

    Осеннее обострение?


  1. token
    15.11.2019 15:06

    А кто нибудь это пытался запускать? Что получилось? Я вот что — то побаиваюсь.


    1. customlabs
      15.11.2019 15:15
      +2

      А зачем, «это» запускать? Простыня мало читаемого кода, и простыня малопонятных мыслей. В прошлый раз, статью слили, из-за этого. Работу над ошибками автор не провел. Вникать в лапшу, мало, кто захочет.

      Если там и есть какое-либо здравое зерно мысли, то, автору нужно менять подход к его описанию.


    1. JustDont
      15.11.2019 19:18

      Так а зачем это запускать? Автор решил, что если он весь html и всё прочее запихнёт в json — от этого кому-то легче станет. Это нормально, такие люди мимо меня со стабильной частотой в пару раз в год пробегают (на хабре или еще где).


  1. justhabrauser
    15.11.2019 19:54

    … и отвага.