Skip to content

Browser.js is an implementation of MathML, HTML and SVG Layout Manager and CSS Processor (i.e. Browser) in JavaScript.

License

Notifications You must be signed in to change notification settings

websemantics/Browser.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

    ________                                          ________        
    ___  __ )_______________      __________________________(_)_______
    __  __  |_  ___/  __ \_ | /| / /_  ___/  _ \_  ___/____  /__  ___/
    _  /_/ /_  /   / /_/ /_ |/ |/ /_(__  )/  __/  /__ ____  / _(__  ) 
    /_____/ /_/    \____/____/|__/ /____/ \___//_/_(_)___  /  /____/  
                                                      /___/           

Updated : August 7, 2016

Browser.js is an implementation of MathML, HTML and SVG Layout Manager and CSS Processor (i.e. Browser) in Javascript. This work was done in 2003 as part of an MSc degree in Web Technology, more details can be found in the original paper which can be found here.

  • Part of a project that aims to render XHTML + MathML + SVG Profile,
  • W3C Working Draft [SVG is used as the Host Language]

Box

The sample demo above can be seen live here.

SVG, MathML and XHTML Presentation models

XHTML, MathML and SVG use three different presentation models. But in order to display them together a common model should be defined. The MathML Layout Schemata Model has been chosen as the Layout Model for this mixed document (XHTML, MathML and SVG). Our view is that the CSS presentation model is not mature enough to handle such document unless we use CSS only to handle the SVG and XHTML components and leave MathML Figure 4 shows some common features between CSS Box model and MathML Layout Schemata Model which the design of this work benefits from.

Box

SVG on the other hand uses a less restricted model. But since SVG elements are to be mixed with XHTML and MathML elements then some restrictions have to be applied on them.

Oea.svg

This appliation has been built using Oea.svg Framework, an SVG GUI and Graphics Library built after Java AWT. Oea Framework provides three Javascript libraries, 1- Java.js, 2- Draw2D.svg and 3- Swing.svg to build SVG GUI applications.

Install

  • Clone this repo
git clone https://github.com/websemantics/Browser.js
  • Install Bower dependencies
cd Browser.js

bower install
  • View demos at demo folder

New Release

To generate a new release of Browser.js follow these steps,

  • Install Node.js modules
sudo npm install
  • Run grunt
grunt

This generates up-to-date library files for Browser.js in the dist folder

Change Log

All notable changes to this project will be documented in this file as per Keep a CHANGELOG. This project adheres to Semantic Versioning.

[0.1.1] - 2016-03-24

Fixed

  • Updated

Related Projects

About

Browser.js is an implementation of MathML, HTML and SVG Layout Manager and CSS Processor (i.e. Browser) in JavaScript.

Resources

License

Stars

Watchers

Forks

Packages

No packages published