Перейти к содержимому
NEO

html-parser

Рекомендуемые сообщения

Сегодня решил написать html парсер, суть его такова, распарсить теги, построить дерево, уметь определять атрибуты key=value и текст в теге.

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

 

P.S

Кто там кричал про интернет и веб сайты? Присоединяйтесь.

 

Гитхаб.

https://github.com/Avaja/html-parser

Изменено пользователем NEO

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Круто! Главное не забрасывай это дело)

 

Отправлено с моего HTC Desire 526G dual sim через Tapatalk

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что, предполагается этот браузер будет странички из реального Интернета тянуть и отображать? А как быть с графикой?

Я б присоединился если задачу сформулируешь.

  return s:match"^%s*(.*)":match"(.-)%s*$"
эквивалентно
  return s:match"^%s*(.-)%s*$"
function nextWord(str)
  local word = ''
  while pos <= str_len do
    local char = string.sub(str, pos, pos)
    if char ~= ' ' and char ~= '>' then
      word = word .. char
    else
      return word, char == ' '
    end
    pos = pos + 1
  end
  return nil
end

эквивалентно

function nextWord(str)
  local word
  word,pos=str:match("([^%s>]*)()",pos) -- или как-то так
  return word
end 

Это я умничаю

Изменено пользователем Zer0Galaxy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А графику кстати Лёха пилил.

Всякие кастомные шрифты, быструю отрисовку картинок и т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мы про ОС говорим? Какие там еще шрифты?

 

Я щас скринов не найду, надо у Лёхи просить.

Он там рендерил шрифты с помощью символов Брайля. Получалось очень даже ничего.

Можно заюзать для отрисовки, например, хедеров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что, предполагается этот браузер будет странички из реального Интернета тянуть и отображать? А как быть с графикой?

Я б присоединился если задачу сформулируешь.

Я не думаю что из реального интернета есть смысл что - то тянуть, тут больше смысл сделать еще одну причину использовать сети в ОС  :D

P.S

Плюс мне интересно как работают браузеры, парсеры и тд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я не думаю что из реального интернета есть смысл что - то тянуть, тут больше смысл сделать еще одну причину использовать сети в ОС  :D

P.S

Плюс мне интересно как работают браузеры, парсеры и тд.

 

Тут надо определиться IMHO. Потому что в контексте сетей в ОС нет смысла использовать всю громаду реального HTML.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тут надо определиться IMHO. Потому что в контексте сетей в ОС нет смысла использовать всю громаду реального HTML.

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

Да, я это и планирую, такой язык разметки не будет поддерживать все теги из реального HTML, а только те что сделают нормальный вывод текстовой информации, конечно можно еще картинки добавить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В идеале надо ещё прикрутить стили в каком-то виде, чтобы юзать цвета и форматировать текст (отступы, колонки, блоки - всё такое).

Разные элементы типа текстбоксов и кнопок.

Ну и если скооперироваться с Лёхой, можно ещё нахреначить хедеров разного размера и разными шрифтами.

 

А самый шик будет, если добавить возможность скриптовать странички на Луа.  :D

(Типа как JS в реальном вебе. Анимации делать всякие, формочки и т.п.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот только кто всё это юзать будет. Мы с Крутым это проходили

Или возрождаем OpenNet?

Изменено пользователем Zer0Galaxy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот только кто всё это юзать будет. Мы с Крутым это проходили

Или возрождаем OpenNet?

Мне интересно написать браузер, а будут ли пользоваться мне всё равно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

пили XML парсер) его потом под HTML не представляет труда подстроить)

 

 

странички из реального Интернета тянуть и отображать?
 

не обязательно с инета) в конце-концов вебсервер в ОС запилить можно) с бекендом на lua)

 

ну а зачем нам шрифты? как бы парсер HTML к этому мало что имеет, ну а если говорить о браузере - то links например юзает статический шрифт)

Изменено пользователем ALeXeR

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну а зачем нам шрифты? как бы парсер HTML к этому мало что имеет, ну а если говорить о браузере - то links например юзает статический шрифт)

 

 

Потому что это круто.

 

 

 

2017_03_31_164325_1280x128_scrot.png

2017_03_31_164545_1280x128_scrot.png

2017_03_31_164705_1280x128_scrot.png

2017_03_31_164402_1280x384_scrot.png

2017_03_31_164509_1280x384_scrot.png

2017_03_31_164803_1280x496_scrot.png

2017_03_31_165039_1280x128_scrot.png

2017_03_31_165321_1280x128_scrot.png

2017_03_31_164959_1280x128_scrot.png

2017_03_31_165138_1280x512_scrot.png

2017_03_31_165303_1280x512_scrot.png

2017_03_31_164908_1280x496_scrot.png

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@@NEO, для начала сгодится, но для большей совместимости с HTML цвет в шестнадцатеричном виде лучше указать не через 0x, а #.

И пробел перед ld лишний.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Parser и lexer были переписаны на moonscript

Изменено пользователем NEO

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нео, все конечно круто, и даже очень, но вот 1 вещь меня беспокоит: приведи пример использования твоих "лунных" библиотек. =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нео, все конечно круто, и даже очень, но вот 1 вещь меня беспокоит: приведи пример использования твоих "лунных" библиотек. =)

Хочу позже сделать движок который будет отображать документ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...