28 lines
1.4 KiB
Plaintext
28 lines
1.4 KiB
Plaintext
/*!
|
||
|
||
|
||
|
||
\page tidylib tidylib
|
||
|
||
About the tidylib C library and code
|
||
|
||
\section about_tidylib TidyLib features
|
||
|
||
- easy to integrate. Because of the near universal adoption of C linkage, a C interface may be called from a great number of programming languages.
|
||
|
||
- designed to use opaque types in the public interface. This allows the application to just pass an integer around and the need to transform data types in different languages is minimized. As a results it’s straight-forward to write very thin library wrappers for C++, Pascal, and COM/ATL.
|
||
|
||
- eats its own dogfood. HTML Tidy links directly to TidyLib.
|
||
|
||
- is Thread Safe and Re-entrant. Because there are many uses for HTML Tidy - from content validation, content scraping, conversion to XHTML - it was important to make TidyLib run reasonably well within server applications as well as client side.
|
||
|
||
- uses adaptable I/O. As part of the larger integration strategy it was decided to fully abstract all I/O. This means a (relatively) clean separation between character encoding processing and shovelling bytes back and forth. Internally, the library reads from sources and writes to sinks. This abstraction is used for both markup and configuration “files”. Concrete implementations are provided for file and memory I/O, and new sources and sinks may be provided via the public interface.
|
||
|
||
|
||
\section example_hello tidylib example
|
||
|
||
\include example.1.c
|
||
|
||
|
||
|
||
*/ |