philss/floki
Floki is an Elixir library for parsing and querying HTML documents. It provides a unified API for parsing HTML using multiple backends (Mochiweb, Html5ever, and FastHTML) and supports CSS-like selectors for traversing and manipulating the HTML tree structure. The system includes comprehensive test coverage and benchmarking tools to ensure compliance with HTML5 specifications and performance optimization.
66.1
Adequate · 1 August 2026
8.7k
lines of production code
Elixir
with Erlang
3
bus factor · 110 authors in all
3
measurements over time
How it got here
2014 · API modernization and test expansion
The Floki library introduced explicit parsing functions and an options-based API to replace the previous parse/1 function, while expanding test coverage across multiple HTML parsers. This period also standardized project governance and updated dependencies to support modern Elixir versions.
5 changes
2015–2016 · CSS selector engine and performance refactoring
The project focused on a major internal refactoring of the Floki library, introducing a new HTML tree structure and optimized text extraction for better performance. The CSS selector engine was completely rewritten into modular components to support complex selectors, while the underlying Mochiweb HTML parser and selector lexer were integrated to support these changes.
4 changes
2017–2021 · HTML5-compliant tokenizer and parser rewrite
The project implemented a new HTML5-compliant tokenizer and multiple HTML parser backends, including FastHTML, Html5ever, and Mochiweb. This involved replacing previous parsing logic with a spec-compliant state machine and adding comprehensive test coverage and benchmarking scripts.
7 changes
Survey your own repository
philss/floki was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point the surveyor at a repository you know and see whether you agree with it.
About this page
- The description of this project is derived from its own commit history, not from its README.
- The score is its highest published measurement, taken on 1 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 143df1fa0d — the exact code this score is about.
- Scored under rubric rubric-2026.08.18. Score the same commit under that rubric and you get the same number.