Show resolved font files.
Implement font filtering.
Fix parsing of src @font-face property.
Blog|Issues|Things that need help
Memex ultimately aims to show that it can be desirable to remove JavaScript from "the web platform" and instead move more in the direction of HTML and CSS. That doing so the web will not only improve security, but also:
All while providing alternative specifications so websites can continue to deliver the usability benefits they currently get from JavaScript.
Though before we can present alternatives, we need a browser engine that's hackable enough for us to quickly try ideas out. And we'll achieve that by not implementing JavaScript or the Document Object Model.
It will share significant components with Servo/Gecko, and thus implemented in Rust.
We are more than happy to accept contributions to fix the rendering of any webpage you care about, and would consider it a bug if that's too complex of a task for you. At the same time we'll be kept busy with just the basics and trying new ideas out, so expect breakages.
The Memex was an early hypertext concept, which was going to be built using microfilm. Hypertext is what characterises The Web, and we wish to highlight that.
Also memes are an academic term (commonly used causely to refer to online pictoral forms) for ideas that spread. The possibilities of a post-JavaScript web is a meme we wish to spread.
Given you have installed Rust installed, you can run Memex using the following commands:
cd viewport
cargo run ../test-pages/replacing-javascript.xhtml
You can replace "../test-pages/replacing-javascript.xhtml" with any other XHTML file on your system.
This program is very far from being complete.
Memex is split into several components:
viewport renders webpages to whatever extent we currently support.
gofer currently only contains parsing utilities to be replaced by Nom, but it will later contain utilities for resolving a URL and dispatching the response for parsing.
microfilm parses webpages to it's own datatypes.
stylist computes which styles apply to which elements, consisting of CSS parsing, selectors, cascade, and (partial) inheritance.
stylist_viewer debugging program to see how CSS files are tokenized.
fashionista parses and resolves CSS properties related to visual output.
See each of these folder's READMEs for more detail.
Give Cargo some extra time on first build to download the rest of Memex's dependencies. Subsequent builds are fast.