Repository navigation
Sashfold 0.0.5
Pre-release
Pre-release
The second pre-release of Sashfold. Since 0.0.3 the engine has grown the layout the readable web is built on — floats, flexbox, grid, tables, positioning — and the browser around it has grown selection, find, reader mode and devtools. It scores itself on the Web Platform Tests' CSS reference tests now, 6245 of 13477 passing, and renders a hundred live pages every night at sashfold.com. Still every byte is written in this repository, and still it does not pretend to do what it cannot.
What's New
- Floats, flexbox, grid and tables — Boxes float left and right with lines flowing beside them and clearing below them; flex rows and columns that wrap, grow, shrink and align, with gaps; grid containers with explicit and implicit tracks,
fr,repeat(), named lines and areas, spans, auto-placement and alignment; tables with automatic and fixed column widths,colspanandrowspan, captions, header and footer groups, and cells aligned byvertical-align. The old attributes work too:cellpadding,cellspacing,border,bgcolor,align,valign,widthandheight. - Positioning and stacking —
position: relative,absoluteandfixedwith their offsets, and painting in CSS 2.1's stacking order withz-index, so menus, badges and overlays land where their pages put them. - Background images and gradients — Pictures by
url()placed, sized, tiled and clipped asbackground-position,-size,-repeat,-originand-clipsay, in layers; linear gradients by angle or toward a side or corner, and radial gradients, with color stops; thebackgroundshorthand. - More of CSS — Custom properties and
var(),calc(),min(),max()andclamp(), the viewport units,inherit,initialandunseton every property,inline-block,vertical-align,line-height,min-andmax-widths and heights, percentage heights,visibility,opacity: 0,overflowclipping, translate transforms,::beforeand::afterwith strings,attr()and quotation marks,hsl()and all 148 named colors, and thefontshorthand. - Web fonts — A page's own TrueType fonts through
@font-faceanswer itsfont-family. - Text selection and the clipboard — Select with the mouse or the keyboard, copy with Ctrl+C, paste into a field with Ctrl+V.
- Find in page — Ctrl+F opens a bar that counts the matches, highlights them and walks them with Enter.
- Reader mode — A page's article alone, on a clean page of its own.
- Keyboard link-hints — Press
fand every link in view gets a label; type a label to follow it. - Devtools — F12 opens a panel with the document's tree, and the box and computed style of the element under inspection.
- Forms without scripts — Text fields, checkboxes, radio buttons, selects and buttons are drawn, take input, and submit by GET.
- Faster loads — Connections are kept and reused across a page's requests; an
<img>picks its source fromsrcset,sizesand<picture>for the window it is shown in; revoked certificates are refused. - Standards scores you can check — The CSS reference tests of the Web Platform Tests, 13,477 of them over CSS 2 and fifteen CSS module directories, score 6245 passing, held by CI so the number only rises; the table is at sashfold.com/wpt.html. The Sashfold 100 at sashfold.com/sashfold100 shows a hundred pages of the live web rendered every night, with what each page asks for that is not written yet.
What's Not Written Yet
- No scripting — Pages render as served; JavaScript is not run. Pages that build themselves with scripts arrive blank, and their menus and banners do not toggle.
- Layout gaps — Table borders do not collapse (each box draws its own);
subgridand masonry are passed over; inline boxes do not paint their own backgrounds and borders; right-to-left pages are shown left-to-right. - Painting gaps — Rounded corners, shadows, outlines, filters;
background-repeat: spaceandroundtile plainly; rotations and scales are passed over;opacitybetween zero and one paints as opaque. - Media gaps — WOFF fonts, WebP, AVIF and SVG pictures, animated GIF beyond the first frame, audio and video.
- Windows only for the window — The engine and its command line build and test on Linux and macOS in CI; there is no Linux or macOS window yet.
Running It
- Unzip and run
sashfold.exe— Keepthemesbeside it.sashfold.exe https://en.wikipedia.orgopens the window on a page; with no address it opens the about page. Downloads go to your Downloads folder. - Requirements — Windows 10 or 11, 64-bit. The binary is statically linked and imports only the operating system's own libraries, which is checked in CI.
- Source — Linux and macOS build from source with CMake and Ninja; the window itself is Windows for now.