From 93bbd948eef5b62cf595746b482566247ff204b5 Mon Sep 17 00:00:00 2001 From: Pedro Date: Thu, 5 Mar 2015 23:28:52 +0000 Subject: [PATCH] Split up pages into seperate files for easier nav, added description to home and a configuration page --- build/documentation/doxygen.cfg | 2 +- .../documentation/examples/example_config.txt | 22 +++ build/documentation/pages/main_page.dox | 51 +++++ build/documentation/pages/page_building.dox | 91 +++++++++ build/documentation/pages/page_history.dox | 35 ++++ build/documentation/pages/page_license.dox | 11 ++ build/documentation/pages/page_tidy.dox | 12 ++ .../documentation/pages/page_tidy_config.dox | 39 ++++ build/documentation/pages/page_tidylib.dox | 24 +++ build/documentation/pages/page_todo.dox | 10 + build/documentation/tidy_docs.dox | 180 ------------------ 11 files changed, 296 insertions(+), 181 deletions(-) create mode 100644 build/documentation/examples/example_config.txt create mode 100644 build/documentation/pages/main_page.dox create mode 100644 build/documentation/pages/page_building.dox create mode 100644 build/documentation/pages/page_history.dox create mode 100644 build/documentation/pages/page_license.dox create mode 100644 build/documentation/pages/page_tidy.dox create mode 100644 build/documentation/pages/page_tidy_config.dox create mode 100644 build/documentation/pages/page_tidylib.dox create mode 100644 build/documentation/pages/page_todo.dox delete mode 100644 build/documentation/tidy_docs.dox diff --git a/build/documentation/doxygen.cfg b/build/documentation/doxygen.cfg index 25fd7e4..0f041cc 100644 --- a/build/documentation/doxygen.cfg +++ b/build/documentation/doxygen.cfg @@ -665,7 +665,7 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = "../../include" "./" +INPUT = "../../include" "./" "./pages" # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is diff --git a/build/documentation/examples/example_config.txt b/build/documentation/examples/example_config.txt new file mode 100644 index 0000000..5a0164b --- /dev/null +++ b/build/documentation/examples/example_config.txt @@ -0,0 +1,22 @@ +// sample config file for HTML tidy +indent: auto +indent-spaces: 2 +wrap: 72 +markup: yes +output-xml: no +input-xml: no +show-warnings: yes +numeric-entities: yes +quote-marks: yes +quote-nbsp: yes +quote-ampersand: no +break-before-br: no +uppercase-tags: no +uppercase-attributes: no +char-encoding: latin1 +new-inline-tags: cfif, cfelse, math, mroot, + mrow, mi, mn, mo, msqrt, mfrac, msubsup, munderover, + munder, mover, mmultiscripts, msup, msub, mtext, + mprescripts, mtable, mtr, mtd, mth +new-blocklevel-tags: cfoutput, cfquery +new-empty-tags: cfelse \ No newline at end of file diff --git a/build/documentation/pages/main_page.dox b/build/documentation/pages/main_page.dox new file mode 100644 index 0000000..8b88546 --- /dev/null +++ b/build/documentation/pages/main_page.dox @@ -0,0 +1,51 @@ +/*! + +\mainpage Tidy home + +\note The repository github.com/htacg/tidy-html5 and this documentation should be considered canonical for HTML Tidy as of 2015-January-15. + + +\b Tidy corrects and cleans up HTML content by fixing markup errors such as mismatched, misnested and missing tags, missing end "/" tags, missing quotations et all, eg: + + +\code{.html} +


heading

+

sub
heading

+References +\endcode +is converted to +\code{.html} +
+

heading

+

sub

+
+

heading

+
References +\endcode + + +

tidy and this project has two parts

+ +- \ref tidylib + - is a C static or dynamic library that developers can integrate into their applications + in order to bring all of Tidy’s power to your favorite tools. + +- \ref tidy5_cmd + - is a console application built on \ref tidylib for Mac OS X, Linux, Windows, UNIX, and more. + +\section content Contents + +- \ref tidy5_cmd + - \ref tidy_config +- \ref tidylib + - Modules +- \ref building_tidy +- \ref history +- \ref license +- \ref todo + + + + + +*/ \ No newline at end of file diff --git a/build/documentation/pages/page_building.dox b/build/documentation/pages/page_building.dox new file mode 100644 index 0000000..d2202c5 --- /dev/null +++ b/build/documentation/pages/page_building.dox @@ -0,0 +1,91 @@ +/*! + + +\page building_tidy Building Tidy + +\section Prerequisites + + - \b git - git-scm.com/book/en/v2/Getting-Started-Installing-Git + - \b cmake - cmake.org/download/ + - Appropriate build tools for the platform + +CMake comes in two forms - command line and gui. Some installations only install one or the other, but sometimes both. The build +commands below are only for the command line use. + +Also the actual build tools vary for each platform. But that is one of the great features of cmake, it can generate +variuous 'native' build files. Running cmake without any parameters will list the generators +available on that platform. For sure one of the common ones is "Unix Makefiles", which needs autotools +make installed, but many other generators are supported. + +In windows cmake offers various versions of MSVC. Again below only the command line use of MSVC is shown, but the +tidy solution (*.sln) file can be loaded into the MSVC IDE, and the building done in there. + +\section get_source Get the source code + +Tidy’s sourcecode can be found at github.com/htacg/tidy-html5. There are sometimes +several branches, but in general `master` is the most recently updated version. + +\note Note that as “cutting edge,” it may have bugs or other +unstable behavior. If you prefer a stable, officially released version, be sure to have a look +at Releases on the github page. + +In general you can use the Download ZIP button on the github page to download the most recent version of a branch. If you prefer +Git then you can clone the repository to a working machine with: + + +\code{.sh} +git clone git@github.com:htacg/tidy-html5.git +\endcode + +\section compile Compile + +

Enter the `build/cmake` directory

+\code{.sh} +# *nix +cd {your-tidy-html5-directory}/build/cmake + +# windows +cd {your-tidy-html5-directory}\build\cmake +\endcode + +

Configure the build

+\code{.sh} +# *nix +cmake ../../ [-DCMAKE_INSTALL_PREFIX=/path/for/install] + +# windows +cmake ..\..\ +\endcode +By default cmake sets the install path to `/usr/local` in unix. + +If you wanted the binary in say `/usr/bin` instead, then use `-DCMAKE_INSTALL_PREFIX=/usr` + +On windows the default install is to `C:\Program Files\tidy5`, or `C:/Program Files (x86)/tidy5`, which is not very useful. After +the build the `tidy[n].exe` is in the `Release\` directory, and can be copied to any directory in your `PATH` environment variable, for global use. + +If you need the tidy library built as a 'shared' (DLL) library, then in add the command `-DBUILD_SHARED_LIB:BOOL=ON`. +This option is `OFF` by default, so the static library is built and linked with the command line tool for convenience. + + +

Compile

+\code{.sh} +# *nix +make + +# windows +cmake --build . --config Release +\endcode + +

Install

+\code{.sh} +# *nix +[sudo] make install + +# windows +cmake --build . --config Release --target INSTALL +\endcode + + + + +*/ \ No newline at end of file diff --git a/build/documentation/pages/page_history.dox b/build/documentation/pages/page_history.dox new file mode 100644 index 0000000..22ee95c --- /dev/null +++ b/build/documentation/pages/page_history.dox @@ -0,0 +1,35 @@ +/*! + + +\page history History + +- This repository originally transferred from w3c.github.com/tidy-html5. + +- First moved to Github from tidy.sourceforge.net + + +

HTML Tidy was created by the W3C’s own Dave Raggett back in the +dawn of the Internet age. His original Internet page is still available and +gives a sense of the early history: Clean up your Web pages with HTML TIDY.

+ +

Satisfied with his work Dave passed the torch to a dedicated group of +maintainers at tidy.sourceforge.net where the important tasks of turning +Tidy into a C library and keeping up with developing standards was +performed.

+ +

W3C members took a renewed interest in Tidy in 2011 and forked the +project to github (now redirects to new maintainers), where it featured +compatibility with HTML5 via a key contribution from one of the SourceForge +key members.

+ +

In 2015 a group of concerned developers, users, and software integrators formed +HTACG with the goal of revitalizing Tidy, which had fallen into a +non-maintained state. As a W3C Community Group, HTACG was deemed worthy by the +W3C, and W3C passed ownership of their project to HTACG, where it is currently +being developed and prepped for a new, stable, and modern release.

+ +

HTACG is also working diligently with the SourceForge maintainers in an effort +to harmonize HTML Tidy into a single, stable, solid release once again.

+ + +*/ \ No newline at end of file diff --git a/build/documentation/pages/page_license.dox b/build/documentation/pages/page_license.dox new file mode 100644 index 0000000..b719223 --- /dev/null +++ b/build/documentation/pages/page_license.dox @@ -0,0 +1,11 @@ +/*! + + +\page license License +
+\htmlinclude LICENSE.md
+
+ + + +*/ \ No newline at end of file diff --git a/build/documentation/pages/page_tidy.dox b/build/documentation/pages/page_tidy.dox new file mode 100644 index 0000000..64e3887 --- /dev/null +++ b/build/documentation/pages/page_tidy.dox @@ -0,0 +1,12 @@ +/*! + + +\page tidy5_cmd `tidy5` command + +
+\htmlinclude tidy5.cmd.txt
+
+ + + +*/ \ No newline at end of file diff --git a/build/documentation/pages/page_tidy_config.dox b/build/documentation/pages/page_tidy_config.dox new file mode 100644 index 0000000..38b340f --- /dev/null +++ b/build/documentation/pages/page_tidy_config.dox @@ -0,0 +1,39 @@ +/*! + +\page tidy_config Configuration + +To get a list of all configuration settings, use: +\code{.sh} +tidy -help-config +\endcode + +\section using_config Using a configuration file + +The most convenient way to configure Tidy is by using separate configuration file. + +Assuming you have created a Tidy configuration file named `myconfig.txt` (the name and extension don’t matter), you can instruct Tidy to use it via the +command line option `-config myconfig.txt` for example: + +\code {.sh} +tidy -config myconfig.txt file1.html file2.html +\endcode + +Alternatively, you can name the default config file via the environment +variable named `HTML_TIDY`, the value of which is the absolute path for the config file. + +You can also set config options on the command line by preceding the name of the option +immediately (no intervening space) with the string “--”; for example: + +\code {.sh} +tidy --break-before-br true --show-warnings false +\endcode + +You can find documentation for full set of configuration options on the Quick Reference page. + +\section example_config Example Configuration File + +\include example_config.txt + + + +*/ \ No newline at end of file diff --git a/build/documentation/pages/page_tidylib.dox b/build/documentation/pages/page_tidylib.dox new file mode 100644 index 0000000..abb5ce6 --- /dev/null +++ b/build/documentation/pages/page_tidylib.dox @@ -0,0 +1,24 @@ +/*! + + + +\page tidylib tidylib + +- \b TidyLib - is 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. + +- \b TidyLib - is 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. + +- \b TidyLib - eats its own dogfood. HTML Tidy links directly to TidyLib. + +- \b 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. + +- \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 + +\include example.1.c + + + +*/ \ No newline at end of file diff --git a/build/documentation/pages/page_todo.dox b/build/documentation/pages/page_todo.dox new file mode 100644 index 0000000..de5fad5 --- /dev/null +++ b/build/documentation/pages/page_todo.dox @@ -0,0 +1,10 @@ +/*! + + +\page todo Todo List + +\xrefitem "Todo" "Todo List" + + + +*/ \ No newline at end of file diff --git a/build/documentation/tidy_docs.dox b/build/documentation/tidy_docs.dox deleted file mode 100644 index 4347e6d..0000000 --- a/build/documentation/tidy_docs.dox +++ /dev/null @@ -1,180 +0,0 @@ -/*! - -\mainpage Tidy home - -\note The repository github.com/htacg/tidy-html5 and this documentation should be considered canonical for HTML Tidy as of 2015-January-15. - -

What is tidy ?

- -- \ref tidylib - - is a C static or dynamic library that developers can integrate into their applications - in order to bring all of Tidy’s power to your favorite tools. - - `tidylib` is used today in desktop applications, web servers, and more. - -- \ref tidy5_cmd - - is a console application built on \ref tidylib for Mac OS X, Linux, Windows, UNIX, and more. - - It corrects and cleans up HTML and XML documents by fixing markup errors and upgrading legacy code to modern standards. - -\section content Contents - -- \ref tidy5_cmd -- \ref tidylib - - Modules - - \ref todo -- \ref building_tidy -- \ref history -- \ref license - - - -\page tidy5_cmd `tidy5` command - -
-\htmlinclude tidy5.cmd.txt
-
- -\page todo Todo List - -\xrefitem "Todo" "Todo List" - -\page tidylib tidylib - -- \b TidyLib - is 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. - -- \b TidyLib - is 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. - -- \b TidyLib - eats its own dogfood. HTML Tidy links directly to TidyLib. - -- \b 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. - -- \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 - -\include example.1.c - - -\page building_tidy Building Tidy - -\section Prerequisites - - - \b git - git-scm.com/book/en/v2/Getting-Started-Installing-Git - - \b cmake - cmake.org/download/ - - Appropriate build tools for the platform - -CMake comes in two forms - command line and gui. Some installations only install one or the other, but sometimes both. The build -commands below are only for the command line use. - -Also the actual build tools vary for each platform. But that is one of the great features of cmake, it can generate -variuous 'native' build files. Running cmake without any parameters will list the generators -available on that platform. For sure one of the common ones is "Unix Makefiles", which needs autotools -make installed, but many other generators are supported. - -In windows cmake offers various versions of MSVC. Again below only the command line use of MSVC is shown, but the -tidy solution (*.sln) file can be loaded into the MSVC IDE, and the building done in there. - -\section get_source Get the source code - -Tidy’s sourcecode can be found at github.com/htacg/tidy-html5. There are sometimes -several branches, but in general `master` is the most recently updated version. - -\note Note that as “cutting edge,” it may have bugs or other -unstable behavior. If you prefer a stable, officially released version, be sure to have a look -at Releases on the github page. - -In general you can use the Download ZIP button on the github page to download the most recent version of a branch. If you prefer -Git then you can clone the repository to a working machine with: - - -\code{.sh} -git clone git@github.com:htacg/tidy-html5.git -\endcode - -\section compile Compile - -

Enter the `build/cmake` directory

-\code{.sh} -# *nix -cd {your-tidy-html5-directory}/build/cmake - -# windows -cd {your-tidy-html5-directory}\build\cmake -\endcode - -

Configure the build

-\code{.sh} -# *nix -cmake ../../ [-DCMAKE_INSTALL_PREFIX=/path/for/install] - -# windows -cmake ..\..\ -\endcode -By default cmake sets the install path to `/usr/local` in unix. - -If you wanted the binary in say `/usr/bin` instead, then use `-DCMAKE_INSTALL_PREFIX=/usr` - -On windows the default install is to `C:\Program Files\tidy5`, or `C:/Program Files (x86)/tidy5`, which is not very useful. After -the build the `tidy[n].exe` is in the `Release\` directory, and can be copied to any directory in your `PATH` environment variable, for global use. - -If you need the tidy library built as a 'shared' (DLL) library, then in add the command `-DBUILD_SHARED_LIB:BOOL=ON`. -This option is `OFF` by default, so the static library is built and linked with the command line tool for convenience. - - -

Compile

-\code{.sh} -# *nix -make - -# windows -cmake --build . --config Release -\endcode - -

Install

-\code{.sh} -# *nix -[sudo] make install - -# windows -cmake --build . --config Release --target INSTALL -\endcode - - -\page history History - -- This repository originally transferred from w3c.github.com/tidy-html5. - -- First moved to Github from tidy.sourceforge.net - - -

HTML Tidy was created by the W3C’s own Dave Raggett back in the -dawn of the Internet age. His original Internet page is still available and -gives a sense of the early history: Clean up your Web pages with HTML TIDY.

- -

Satisfied with his work Dave passed the torch to a dedicated group of -maintainers at tidy.sourceforge.net where the important tasks of turning -Tidy into a C library and keeping up with developing standards was -performed.

- -

W3C members took a renewed interest in Tidy in 2011 and forked the -project to github (now redirects to new maintainers), where it featured -compatibility with HTML5 via a key contribution from one of the SourceForge -key members.

- -

In 2015 a group of concerned developers, users, and software integrators formed -HTACG with the goal of revitalizing Tidy, which had fallen into a -non-maintained state. As a W3C Community Group, HTACG was deemed worthy by the -W3C, and W3C passed ownership of their project to HTACG, where it is currently -being developed and prepped for a new, stable, and modern release.

- -

HTACG is also working diligently with the SourceForge maintainers in an effort -to harmonize HTML Tidy into a single, stable, solid release once again.

- - -\page license License - -
-\htmlinclude LICENSE.md
-
- -*/ \ No newline at end of file