ArbNet

ArbNet
Рейтинг
154
Регистрация
27.10.2019
Программист самоучка
silicoid:
Если будет так, то мы будем только за.

Спасибо за поддержку. Мне с доведением движка до ума осталось не много(за выходные думаю управлюсь), далее админку для настроек, без неё будет ничего не понятно. С админкой думаю неделю, полторы провожусь. И если заинтересованные будут то прототип увидите :)

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

Есть тут программисты которые пишут для "души" так сказать, или может те кто хочет немного подкалымить?

Я один могу всё сделать и шаблоны с css подготовить, и на php код написать, денег вложить в рекламу проекта и тд. Но хочется единомышленников, эту тему создал только чтобы найти таких людей себе в компаньоны. Смысл мне сейчас показывать свои наработки, когда нет заинтересованных в этом, есть только те кто не понимая сути хотят просто поглумится, поумничать и оскорбить.

Поэтому я всё же жду тех кого мои наработки заинтересовали, а ещё лучше тех кто захочет присоединиться к разработке, делать новые узлы/компоненты(как я объясню) и зарабатывать этим даже.

_SP_:
хотя его фигпоймешь

Тут не поспоришь :) Вы мыслите "шаблонно" общепринятыми вещами, а у меня нестандартное мышление.

Я даже найдя вот пример для сохранения массива в готовый php файл, чтобы его потом просто инклюдить, и получить этот массив. Улучшил этот метод :) Вы не стали бы заморачиваться, пользовались тем что нашли, или кто что насоветовал, что ещё хуже.. Предпочитаю всегда думать своей головой, прогнозируя будущее и делать так чтобы в будущем было с этим меньше проблем.

Dreammaker, Никто ничего не перепутал, я отвечаю по своей разработке, silicoid, говорит о своём сайте, что у него стили тоже сборные.

_SP_:
Но всё еще непонятно зачем генерить что-то для каждой страницы...

Генерируется всего один раз при первой загрузке, потом берётся из кэша.

К странице подключается всего 2а файла:


<link type=text/css rel=stylesheet href=/skin/original.css>
<link type=text/css rel=stylesheet href=/site/main.css>

Первый это стили скина(дизайна сайта, который может меняться выбором другого скина/дизайна(цветовая гамма и оформление)).

Второй относится к конкретной странице, в зависимости от размещённых на ней компонентов.

Оба эти файла собираются из кусочков движком, получаются не большие файлы, при желании можно ещё и сжать(удалить переносы строк и лишние пробелы) ещё и заархивировать gzip(ом).

edogs:
почитайте, будет полезно

Опять, вы не понимаете. UMI в xml находятся данные объектов, то есть как в базе, это не есть гуд, это устаревший метод(если есть необходимость хранить данные объекта в файле, то лучше уж в JSON).

У меня просто разметка(xml выбран для наглядности редактирования) где что будет, движок подключает узлы и те возвращают либо шаблоны(в которые будут вставлены данные дочерних элементов), либо уже готовую разметку с данными.

Stek:
дай хоть сайт что ли заценить

Варю :) cыроват ещё

Так и у меня загружаются сжатые только один раз.

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

ivan-lev:
Зачем? Для описанного случая выгоднее кэшировать один минифицированный файл (не думаю, что у Вас для разных страниц настолько много кастомных стилей..)

Движок так работает. Обычно запихивают все стили в файл и всё. У меня же движок формирует стили почти так же как страницу, смотрит что нужно, и вставляет. Не хочу таскать с собой что не пригодится.

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

Sly32:
А можно пример синтаксиса вашего языка?

тестовый код


// заголовок для браузера
^ request(HTTPv)+" 200 OK"+>>;
^ "Content-Type: text/html"+>>;
^ "Charset: utf-8"+>>;
^ >>+>>;
// класс для форматирования страницы
* MC+;
@ LBL{String:result=lbl_[v1];};
@ GDT{include(v1+".gdt");};
@ WRD{String:result=$db.Value(v1,key.str,wrd.str);};
@ LNC{
? nvg=v1{String:result="class=active";[<];};
String:result="href=?nvg="+v1;
};
% lbd+List;% db+DatB;$db.List(lbd);
$lbd.Add("LBL site\words");
$lbd.Add("SLC site words");
$db.Request;
* *;
? var(nvg)="unk" {String:nvg="main";};
MC.String:nvg=nvg;
MC.String:lbl_HOST=request(Host);
MC.String:lbl_TITLE="ARBITRIUM";
MC.String:lbl_DATETIME=datetimestr(,dd.mm.yy hh:nn:ss);
% page+List;% reg+ReEx;
loading(page,"html\site.tpl");
$reg.Input($page.Text);
loading(page,"html\"+nvg+".tpl");
$reg.Expression("CONTENT");$reg.Replace($lbd.Text); //$page.Text
$reg.Expression("(LBL|GDT)\{([^\}]+)\}");$reg.ReplaceEx(MC);
$reg.Expression("(WRD|LNC)\{([^\}]+)\}");$reg.ReplaceEx(MC);
$reg.Expression("(lbl|gdt|wrd)_\w+");$reg.Replace("");
^ $reg.Input;

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

Например:

^ такой знак означает вывод как echo в PHP, >> это перевод строки \r\n

* MC+; это работа в классе, а это * *; выход из класса в основную программу

? условный оператор ? var(nvg)="unk" {String:nvg="main";}; если переменная nvg="unk" {значит выполнить этот код}

Тоже уже забывать стал :(

Всего: 2502