diff --git a/build/documentation/example.1.c b/build/documentation/example.1.c new file mode 100644 index 0000000..69991ad --- /dev/null +++ b/build/documentation/example.1.c @@ -0,0 +1,49 @@ + + +#include ; +#include ; +#include ; +#include ; + +int main(int argc, char **argv ) +{ + const char* input = "Hello

World!"; + TidyBuffer output = {0}; + TidyBuffer errbuf = {0}; + int rc = -1; + Bool ok; + + // Initialize "document" + TidyDoc tdoc = tidyCreate(); + printf( "Tidying:\t%s\n", input ); + + // Convert to XHTML + ok = tidyOptSetBool( tdoc, TidyXhtmlOut, yes ); + if ( ok ) + rc = tidySetErrorBuffer( tdoc, &errbuf ); // Capture diagnostics + if ( rc >= 0 ) + rc = tidyParseString( tdoc, input ); // Parse the input + if ( rc >= 0 ) + rc = tidyCleanAndRepair( tdoc ); // Tidy it up! + if ( rc >= 0 ) + rc = tidyRunDiagnostics( tdoc ); // Kvetch + if ( rc > 1 ) // If error, force output. + rc = ( tidyOptSetBool(tdoc, TidyForceOutput, yes) ? rc : -1 ); + if ( rc >= 0 ) + rc = tidySaveBuffer( tdoc, &output ); // Pretty Print + + if ( rc >= 0 ) + { + if ( rc > 0 ) + printf( "\nDiagnostics:\n\n%s", errbuf.bp ); + printf( "\nAnd here is the result:\n\n%s", output.bp ); + } + else + printf( "A severe error (%d) occurred.\n", rc ); + + tidyBufFree( &output ); + tidyBufFree( &errbuf ); + tidyRelease( tdoc ); + return rc; +} + diff --git a/build/documentation/tidy_docs.dox b/build/documentation/tidy_docs.dox index 304d6a2..92b7633 100644 --- a/build/documentation/tidy_docs.dox +++ b/build/documentation/tidy_docs.dox @@ -43,52 +43,8 @@ - \b TidyLib - 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 Example -\code{.c} -#include ; -#include ; -#include ; -#include ; -int main(int argc, char **argv ) -{ - const char* input = "Hello

World!"; - TidyBuffer output = {0}; - TidyBuffer errbuf = {0}; - int rc = -1; - Bool ok; - - TidyDoc tdoc = tidyCreate(); // Initialize "document" - printf( "Tidying:\t%s\n", input ); - - ok = tidyOptSetBool( tdoc, TidyXhtmlOut, yes ); // Convert to XHTML - if ( ok ) - rc = tidySetErrorBuffer( tdoc, &errbuf ); // Capture diagnostics - if ( rc >= 0 ) - rc = tidyParseString( tdoc, input ); // Parse the input - if ( rc >= 0 ) - rc = tidyCleanAndRepair( tdoc ); // Tidy it up! - if ( rc >= 0 ) - rc = tidyRunDiagnostics( tdoc ); // Kvetch - if ( rc > 1 ) // If error, force output. - rc = ( tidyOptSetBool(tdoc, TidyForceOutput, yes) ? rc : -1 ); - if ( rc >= 0 ) - rc = tidySaveBuffer( tdoc, &output ); // Pretty Print - - if ( rc >= 0 ) - { - if ( rc > 0 ) - printf( "\nDiagnostics:\n\n%s", errbuf.bp ); - printf( "\nAnd here is the result:\n\n%s", output.bp ); - } - else - printf( "A severe error (%d) occurred.\n", rc ); - - tidyBufFree( &output ); - tidyBufFree( &errbuf ); - tidyRelease( tdoc ); - return rc; -} -\endcode +\include example.1.c \page building_tidy Building Tidy