[ЛЮБОПЫТНО] Хочу сделать конструктор

Приветствую, есть мысль сделать для себя конструктор сайтов, но пока вообще плохо представляю как это должно быть. Общая мысль такая: будет типовая вёрстка, типовые скрипты и изменяемые стили. С вёрсткой всё более менее понятно: страницу можно формировать во фрейме или типа того и оттуда как обычный текст слать на сервер и записывать в файл. А вот как быть со стилями, скрипты ясное дело изменяться пользователем не будут. Нет проблемы изменить стили через js и отправить данные на сервер, НО я хочу получить на выходе файлы, т.е мне нужно изменённые стили сохранить в файл, а изменяться, понятное дело, будут не все стили, а скажем только цвета, размер шрифта, фон. И вопрос в том, как на сервер точечно поменять стили в файле css? Ну и вообще у кого какие идеи и советы есть поэтому поводу?
Артур
30 декабря 2020, 06:16
modx.pro
307
0
Поблагодарить автора Отправить деньги

Комментарии: 5

criminalist
31 декабря 2020, 19:44
0
Совет, брось ты эту затею.
    Александр Мельник
    31 декабря 2020, 21:18
    +1
    Вы под конструктором понимаете то что и я? Аналог wix, tilda, shopify?
    Тогда я согласен с предыдущим комментатором, бросьте вы это.
    Генерацией кода в таких системах занимается искусственный интеллект, в который вложены миллионы долларов и годы разработки сотен людей.
      Артур
      31 декабря 2020, 23:25
      0
      Понятно что не настолько сложно всё. Гораздо проще хочу сделать. Сверстать типовой проект, какие-то базовые блоки и дать возможность пользователю их добавлять, убирать и немного менять внешний вид. Вопрос в том как редактировать css?
        Александр Мельник
        01 января 2021, 10:04
        0
        Врядли получится.
        Но тогда нужно использовать опыт имеющихся конструкторов или например vuejs который умеет «скопить» стили отдельно для каждого компонента.
        — иметь отдельно локализованные стили для каждого блока. В тильде это делается через назначение блоку идентификатора, в вью — через назначение data атрибута а все остальные стили уже применяются как вложенные. Один блок — один файл idblock.css
        — но так у вас могут получиться сотни css файлов что не есть хорошо для http версии 1, тоесть нужен будет какой-то сборщик, чтобы собрать это в один файл и минимизировать. Наверное можно как через gulp или webpack так и просто через css препроцессоры
        — я так понимаю у вас будет некий интерфейс для менеджера дающий возможность редактировать внешний вид конкретного блока. Чтобы не работать напрямую с файлом стиля, наверное придется написать какой-то парсер, который будет css код разбирать на ключ — значение и помещать в какую то быструю базу типа redis.
        — менеджер изменяет стили, они пишутся в редис, при нажатии — «сохранить» из базы пишется в файл idblock.css (наверное лучше полностью переписывать чтобы не думать что изменять что нет) и запускать сборщик, чтобы из всех css собрать единый файл.
        Aborrol
        02 января 2021, 09:50
        +1
        Я бы использовал библиотеку lessphp, с помощью неё можно генерировать стили и передавать переменные из php
        leafo.net/lessphp/docs/#php_interface
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          5