Bs0Dd 206 Опубликовано: 11 марта, 2021 (изменено) Почти с месяц назад я представил во флудилке пару скриншотов разрабатываемого мной браузера и приличному количеству людей оно тогда понравилось. Поэтому сегодня, спустя пол года кодинга, нескольких переходов с одного движка на другой и кучи потраченных нервов я могу наконец представить его вам. Знакомьтесь, Memphisto. Примите во внимание, что браузер находится в тестовой стадии, еще предстоит сделать много всего, поэтому возможно наличие неприятных багов (два глаза все не отловят). Основные характеристики: Используется движок NyaDraw, который является портом движка Screen из MineOS. Поэтому браузер весьма быстро (для таких ПК) отрисовывает и прокручивает страницы. Для страниц используется язык NFPL, специально разработанный с учетом особенностей OpenComputers. Поддержка гиперссылок, загрузочных ссылок, рисование векторной графикой и многое другое. Поддержка картинок формата OCIF5-8. А так же их использование в качестве графических ссылок. Возможность просматривать страницы оффлайн, то есть с жесткого диска (полезно при написании страниц). Для поднятия своего сайта достаточно обычного HTTP(S) сервера. Системные требования: Процессор: Уровень 1. Видеокарта: Уровень 3. ОЗУ: 1Мб или больше. Жесткий диск: не меньше 52Кб свободного места. Интернет карта Скачать: pastebin run EUZQRkwF Репозиторий на GitHub Полезное: Руководство по языку NFPL (Network Formatted Page Language). Первый NFPL сайт - bs0dd.github.io (запущен в тестовом режиме). Руководство по графическому движку NyaDraw. Увы, одного человека слишком мало для реализации задуманного, поэтому ищутся люди, хорошо понимающие в Lua, которые смогут помочь в устранении багов и расширении функционала как языка NFPL так и браузера для него. Изменено 17 июня, 2022 пользователем Bs0Dd Новые системные требования 8 2 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Taruu 30 Опубликовано: 12 марта, 2021 А теперь вот интересно. Можно ли сделать переводчик из html + css в nfl сторонним языком. и стоит ли игра свеч... 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Bs0Dd Автор темы 206 Опубликовано: 12 марта, 2021 17 минут назад, Taruu сказал: А теперь вот интересно. Можно ли сделать переводчик из html + css в nfl сторонним языком. и стоит ли игра свеч... А почему б и нет. В теории можно парсить страницу и превращать ее в подобные объекты в NFPL, но Нужно сделать конвертацию картинок в OCIF и резать их по разрешению, ибо даже при невысоких разрешениях отрисовка существенно замедляется Нужно рассчитывать координаты объекта, ибо NFPL - координатно ориентированный язык и каждый объект имеет свои координаты NFPL пока не подразумевает наличие скриптов (однако Lua-подобные скрипты планируются) поэтому пока что страницы будут исключительно статичные В остальном, в принципе, ничего невыполнимого нет, хоть на ходу их конвертировать на сервере (получится туннель HTML-NFPL), но я в HTML не слишком специалист, поэтому сам заниматься этим не буду. Так что если кто хочет - мануал по языку в шапке есть, дерзайте! 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Taruu 30 Опубликовано: 12 марта, 2021 10 часов назад, Bs0Dd сказал: А почему б и нет. В теории можно парсить страницу и превращать ее в подобные объекты в NFPL, но Нужно сделать конвертацию картинок в OCIF и резать их по разрешению, ибо даже при невысоких разрешениях отрисовка существенно замедляется Нужно рассчитывать координаты объекта, ибо NFPL - координатно ориентированный язык и каждый объект имеет свои координаты NFPL пока не подразумевает наличие скриптов (однако Lua-подобные скрипты планируются) поэтому пока что страницы будут исключительно статичные В остальном, в принципе, ничего невыполнимого нет, хоть на ходу их конвертировать на сервере (получится туннель HTML-NFPL), но я в HTML не слишком специалист, поэтому сам заниматься этим не буду. Так что если кто хочет - мануал по языку в шапке есть, дерзайте! Я просто уже находил упрощятор html на питоне. Попробую сделать хотя бы какой то конвертор и повесить на расберю. Как только руки дойдут конечно) 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AtomicScience 76 Опубликовано: 13 марта, 2021 В 12.03.2021 в 00:08, Bs0Dd сказал: ищутся люди, хорошо понимающие в Lua, которые смогут помочь в устранении багов и расширении функционала как языка NFPL так и браузера для него. Я бы помог, например, но что делать - непонятно. Стоит обозначить фронт работ. Пока попробую сделать что-то вроде WYSIWYG-редактора, может, получится чего 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Bs0Dd Автор темы 206 Опубликовано: 13 марта, 2021 1 минуту назад, AtomicScience сказал: Я бы помог, например, но что делать - непонятно. Стоит обозначить фронт работ. Пока попробую сделать что-то вроде WYSIWYG-редактора, может, получится чего Да, пожалуй, нужно обозначить. Пока что в планах: Прикрутить скрипты. Наверное будет что-то Lua-подобное, но нужно как-то организовать ограниченную среду, чтоб через браузер нельзя было, например, потереть файлы или повесить компьютер через while true do os.sleep() end Если получится сделать скрипты, можно сделать и строки ввода. Ввел текст и передал его скрипту для, например, отправки на сервер или каких-то внутренних расчетов Немножко расширить функционал самого браузера, там, история (в пределах сеанса), закладки, еще что-нибудь. Можно и настройку сделать в самом браузере, дабы не лазить редактором в конфиг У меня сейчас серьезный учебный завал, поэтому пока хочу немного отодвинуть это дело в сторонку, с короткими ковыряниями А насчет WYSIWYG, кстати, хорошая идея, а то я конкретно наморочился, "рисуя" странички в Notepad++. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
zyltrcx 0 Опубликовано: 3 июля, 2021 (изменено) Изменено 3 июля, 2021 пользователем zyltrcx 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Bs0Dd Автор темы 206 Опубликовано: 3 июля, 2021 20 минут назад, zyltrcx сказал: Ну, судя по всему, инсталлер не может создать конфигурационный файл. OpenOS не с дискеты ли запускается? Если так, то нужно сначала установить ее на Жесткий диск, иначе браузер и не установится)). 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
zyltrcx 0 Опубликовано: 4 июля, 2021 15 часов назад, Bs0Dd сказал: Ну, судя по всему, инсталлер не может создать конфигурационный файл. OpenOS не с дискеты ли запускается? Если так, то нужно сначала установить ее на Жесткий диск, иначе браузер и не установится)). спасибо 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 7 июля, 2021 Если лень человечески ошибки обрабатывать, файлы советую открывать так: local f = assert(io.open(path, mode)) Просто обернуть опен в ассёрт. Творит чудеса. 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Bs0Dd Автор темы 206 Опубликовано: 7 июля, 2021 5 минут назад, Fingercomp сказал: Если лень человечески ошибки обрабатывать, файлы советую открывать так: Да я посчитал, что юзер будет достаточно умен и не попытается поставить программу на readonly файловую систему. Но у новичков, как оказывается, бывает все((((. 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 8 июля, 2021 (изменено) 21 час назад, Bs0Dd сказал: Да я посчитал, что юзер будет достаточно умен и не попытается поставить программу на readonly файловую систему. Но у новичков, как оказывается, бывает все((((. Программу в общем следует писать так, чтобы она в любой ситуации выстояла. Программе никогда никто не рад. Её все будут тестировать, потрошить, разрывать на части, ругать и пытаться взорвать. Поэтому ошибки нужно обработать, отрапортовать, ввод отвалидировать; надеяться, что у проги всё будет прекрасно, нельзя. Как здесь: кто-то не узнал, что файл не открылся, потому что ошибка съелась. Проблема не его. Изменено 8 июля, 2021 пользователем Fingercomp 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Bs0Dd Автор темы 206 Опубликовано: 8 июля, 2021 10 часов назад, Fingercomp сказал: Поэтому ошибки нужно обработать, отрапортовать, ввод отвалидировать; надеяться, что у проги всё будет прекрасно, нельзя. В данный момент, увы, не имею при себе ни компьютера, ни даже постоянного доступа в Интернет. Через недельку, если доберусь, поправлю инсталлер. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Taruu 30 Опубликовано: 26 декабря, 2021 Начал писать переводчик в язык NFPL и уже поймал баг :> как я понял браузер верит хосту и думает что NFPL валидный всегда... что не есть хорошо. Соответственно я скормил ему просто плохой JSON и поймал такое: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Taruu 30 Опубликовано: 26 декабря, 2021 Нашел еще более критичный баг. Браузер не умеет в большие страницы в целом. Пределом возможности стал serialization.unserialize. Скорее всего у компа кончается память или в нем есть предел для размера. Решать это нужно через чтения файла и изменения принципа прокрутки. Так как код браузера я не особо понял и контакты на вк устарели, то прошу @Bs0Dd мне постучатся в контаткты :^ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Bs0Dd Автор темы 206 Опубликовано: 27 декабря, 2021 В 26.12.2021 в 11:32, Taruu сказал: Нашел еще более критичный баг. Ох блииин, я уже и забыть успел про это творение. И сайтик так и не доделал. Тааак, придется, чую, вспоминать что там и как у меня было. Займусь, как немного освобожусь от учебы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Taruu 30 Опубликовано: 28 декабря, 2021 9 часов назад, Bs0Dd сказал: Ох блииин, я уже и забыть успел про это творение. И сайтик так и не доделал. Тааак, придется, чую, вспоминать что там и как у меня было. Займусь, как немного освобожусь от учебы. Хорошо. Пни тогда меня. Есть идеи как улучшить NFPL, имхо в случае длинных страничек есть большие проблемы и неперевариемость со стороны стерилизатора, и нужно это исправлять... для чтения очень больших страничек :/ 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Bs0Dd Автор темы 206 Опубликовано: 17 июня, 2022 Обновление: Версия 0.03a Исправления: Переписана существенная часть кода Выкинута поддержка видеосистемы 2 уровня из-за недостаточной производительности Добавлен журнал сайтов (в пределах одного сеанса) и кнопки на панели для перемещения Добавлен просмотрщик OCIF картинок (в адресной строке укажите путь до картинки на сайте/диске и браузер ее откроет) Теперь используется новый установщик (WebWyse) 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах