Developing a Web Browser with Haskell

3S Functional Web Browser

Simple San Simon

Functional Web Browser


More screenshots: img1, img2, img3, img4, img5, img6, img7, img8, img9, img10

How to
Install and Execute
 

  • Download the package from: https://github.com/carliros/Simple-San-Simon-Functional-Web-Browser
  • Prepare package dependencies:
    • uulib
    • uu-parsinglib
    • url
    • tagsoup
    • containers
    • gd
    • curl
    • wxcore and wx
  • Using the Makefile, type “make browser” and it will compile everything and generate the binary called “3swbrowser”.
  • In order to execute, type “./3swbrowser”. Notice that this browser needs two directories, “config” a place where it saves the default css file for html4 and “tmp” another place to save all resources downloaded. Therefore, if you want to move the binary to another place (like /usr/bin/), you must also move the “config” and “tmp” directories.
Updates

  • support for white-space property + new generic html parser with uu-parsinglib
    + format tree + added more css rules in html4.css
  • support for text properties (decoration,align,transform).
  • Support for text-indent.
  • Support for support for fonts (generic family, oblique,absolute/relative font-size).
  • Support for list css’s property.
  • Support for quotes css’s property.
  • Support for generated content.
  • Support for vertical-align properties (except top, bottom and medium)
Need to be implemented
(things I’m working on)
 

  • Vertical alignment
  • Margin collapsing between elements
  • other css properties like background

Browser Functionality

  • Tags html supported: html, head, style, body, p, big, small, div, spam, em, strong, img, a, h1, h2, h3, h4, h5, h6
  • Attributes for html tags: class, id, style, src, href
  • CSS attributes: “font-size”, “display”, “margin-top”, “margin-bottom”, “margin-right”, “margin-left”, “padding-top”,
    “padding-right”, “padding-bottom”, “padding-left”, “border-top-width”, “border-right-width”, “border-bottom-width”, “border-left-width”, “border-top-color”, “border-right-color”, “border-bottom-color”, “border-left-color”, “border-top-style”, “border-right-style”, “border-bottom-style”, “border-left-style”, “font-weight”, “font-style”, “position”, “top”, “right”, “bottom”, “left”, “color”, “width”, “height”, “line-height”, “vertical-align”

Theme: Shocking Blue Green. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.