Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/michaelrsweet/htmlcss
A lightweight HTML and CSS Parser in C
https://github.com/michaelrsweet/htmlcss
c css html otf ttf
Last synced: 10 days ago
JSON representation
A lightweight HTML and CSS Parser in C
- Host: GitHub
- URL: https://github.com/michaelrsweet/htmlcss
- Owner: michaelrsweet
- License: apache-2.0
- Created: 2018-03-26T02:28:46.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-05-27T12:24:55.000Z (over 2 years ago)
- Last Synced: 2024-10-13T08:44:12.720Z (25 days ago)
- Topics: c, css, html, otf, ttf
- Language: C
- Homepage: https://www.msweet.org/htmlcss
- Size: 6.16 MB
- Stars: 60
- Watchers: 7
- Forks: 9
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
HTMLCSS - Lightweight HTML/CSS Library
======================================![Version](https://img.shields.io/github/v/release/michaelrsweet/htmlcss?include_prereleases)
![Apache 2.0](https://img.shields.io/github/license/michaelrsweet/htmlcss)
[![Build](https://github.com/michaelrsweet/htmlcss/workflows/Build/badge.svg)](https://github.com/michaelrsweet/htmlcss/actions/workflows/build.yml)
[![Coverity Scan Status](https://img.shields.io/coverity/scan/22390.svg)](https://scan.coverity.com/projects/michaelrsweet-htmlcss)
[![LGTM Grade](https://img.shields.io/lgtm/grade/cpp/github/michaelrsweet/htmlcss)](https://lgtm.com/projects/g/michaelrsweet/htmlcss/context:cpp)
[![LGTM Alerts](https://img.shields.io/lgtm/alerts/github/michaelrsweet/htmlcss)](https://lgtm.com/projects/g/michaelrsweet/htmlcss/)HTMLCSS is a lightweight HTML/CSS parser written in C that allows applications
to prepare a HTML document for rendering or conversion. HTMLCSS is extremely
portable and only requires a C99 compiler like GCC, Clang, Visual C, etc.
HTMLCSS is also extremely memory efficient, utilizing a shared string pool and
smart CSS cache to minimize the size of a HTML document in memory.I'm providing HTMLCSS as open source under the Apache License Version 2.0 with
exceptions for use with GPL2/LGPL2 applications which allows you do pretty much
do whatever you like with it. Please do provide feedback and report bugs to the
[Github project page](https://github.com/michaelrsweet/htmlcss) so that everyone
can benefit.Features
--------Features include:
- HTML 5 markup parser
- CSS 3 stylesheet parser
- OFC/OFF/TTC/TTF font file parser (metadata and metrics only)
- GIF/JPG/PNG image file parser (metadata only)
- Functions to calculate CSS properties for a given node in a HTML document
- Functions to extract HTML "runs" consisting of CSS properties, content
strings, and image references that can be rendered directly, including the
:before and :after content from a stylesheetHTMLCSS does *not* support dynamic HTML content created using Javascript in a
HTML document, as such content is typically used for interactive web pages while
HTMLCSS is intended for use with static content.Requirements
------------You'll need a C99 compiler like GCC, Clang, or Visual C, along with a POSIX-
compliant `make` program.Building
--------Run `make` to build the library and unit test program.
Installing
----------Run `make install` to install the library and header files under `/usr/local`.
To install in a different location, specify the "prefix" variable, e.g.:make install prefix=/some/other/directory
Using
-----See the file [DOCUMENTATION.md]() for documentation on using the library.
Legal Stuff
-----------HTMLCSS is Copyright © 2018-2022 by Michael R Sweet.
HTMLCSS is licensed under the Apache License Version 2.0 with an exception to
allow linking against GPL2/LGPL2-only software. See the files "LICENSE" and
"NOTICE" for more information.