From cb3f52004736eec34edb66ded409a80c47aefbe4 Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Wed, 3 Dec 2014 14:14:15 +0100 Subject: [PATCH] qdoc: Update qdoc manual MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This update explains how to use the optional 'square bracket' argument for the link command (\l), the new single execution mode for qdoc, and how to generate and use the QA pages. Change-Id: I7232e05677c6ea97636cdb4fb20bd9708c83f311 Task-number: QTBUG-35495 Reviewed-by: Topi Reiniƶ --- .../qdoc/doc/images/link-to-qquickitem.png | Bin 0 -> 46571 bytes .../qdoc/doc/images/links-to-broken-links.png | Bin 0 -> 16569 bytes src/tools/qdoc/doc/images/links-to-links.png | Bin 0 -> 10042 bytes src/tools/qdoc/doc/images/qa-table.png | Bin 0 -> 7057 bytes src/tools/qdoc/doc/qa-pages.qdoc | 109 +++++++++++++ src/tools/qdoc/doc/qdoc-manual-intro.qdoc | 149 +++++++++++++++++- .../qdoc/doc/qdoc-manual-markupcmds.qdoc | 103 +++++++++++- src/tools/qdoc/doc/qdoc-manual-qdocconf.qdoc | 2 +- src/tools/qdoc/doc/qdoc-manual.qdoc | 1 + 9 files changed, 360 insertions(+), 4 deletions(-) create mode 100644 src/tools/qdoc/doc/images/link-to-qquickitem.png create mode 100644 src/tools/qdoc/doc/images/links-to-broken-links.png create mode 100644 src/tools/qdoc/doc/images/links-to-links.png create mode 100644 src/tools/qdoc/doc/images/qa-table.png create mode 100644 src/tools/qdoc/doc/qa-pages.qdoc diff --git a/src/tools/qdoc/doc/images/link-to-qquickitem.png b/src/tools/qdoc/doc/images/link-to-qquickitem.png new file mode 100644 index 0000000000000000000000000000000000000000..00e03c3717bbd3313f4026e3e49b69bf4fdeeedc GIT binary patch literal 46571 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

`oSe33Aj*Wn*r; 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 literal 0 HcmV?d00001 diff --git a/src/tools/qdoc/doc/images/links-to-broken-links.png b/src/tools/qdoc/doc/images/links-to-broken-links.png new file mode 100644 index 0000000000000000000000000000000000000000..775143bd4acf856d3da878aced782093863fc281 GIT binary patch literal 16569 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

a5V6gl9ih{ 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 CMQjiN literal 0 HcmV?d00001 diff --git a/src/tools/qdoc/doc/images/links-to-links.png b/src/tools/qdoc/doc/images/links-to-links.png new file mode 100644 index 0000000000000000000000000000000000000000..9d2cc2fae583b472ee9137697ecd5038fc7922a3 GIT binary patch literal 10042 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 literal 0 HcmV?d00001 diff --git a/src/tools/qdoc/doc/qa-pages.qdoc b/src/tools/qdoc/doc/qa-pages.qdoc new file mode 100644 index 00000000000..d392877ecb4 --- /dev/null +++ b/src/tools/qdoc/doc/qa-pages.qdoc @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: http://www.gnu.org/copyleft/fdl.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \page 28-qdoc-qa-pages.html + \previouspage Generating DITA XML Output + \contentspage QDoc Manual + \nextpage QDoc Manual + + \title QA Pages + + qdoc can generate some extra HTML pages that can be useful for + debugging qdoc documentation. These \e QA pages make it easier for + those who write documentation to find links that either go to the + wrong targets or don't go anywhere at all. + + \section2 Generating the QA Pages + + Add \c {-write-qa-pages} to the command line to tell qdoc to + generate the QA pages. If this option is not provided, the QA + pages will not be generated, and previolusly generated QA pages + will be deleted. + + \section2 Finding the Module's Main QA Page + + The main QA page for a module is not linked into the module's + generated documentation, but it is located in the same output + directory. To find the top-level QA page for module \e {xxx}, set + your browser to the qdoc output directory for module \e {xxx}. + Several files whose names begin with \e {aaa} appear at the top of + the list. These are the QA pages for module \e{xxx}. The file + names begin with \e {aaa} to ensure that they are easy to find at + the top of the directory. + + For module \e{xxx}, find the file \e{aaa-xxx-qa-page.html}. This + is the top-level QA page for module \e{xxx}. Load that file into + the browser. The top-level QA page shows a table that contains + links to several QA sub-pages. + + For example, the main QA page for QtCore is \c{aaa-qtcore-qa-page.html}. + This was the table for QtCore at one point: + + \image qa-table.png + + Each table entry shows the number of links from QtCore to some + other module, except for the last entry, which shows the number of + broken links in QtCore. Click the \b qtquick entry to load the QA + subpage showing the links from QtCore to QtQuick. + + \section2 Links To Links Page + + Clicking the \b qtquick table entry on the main QA page for QtCore + loads the QA subpage showing a table containing all the links from + QtCore to QtQuick. The table contains all the links constructed + with the \l {l-command} {\\l command}, as well as the autolinks. + + \image links-to-links.png + + At the time this table was generated, there were six links from + QtCore to QtQuick. The first column of each table entry contains + a link to some link in QtCore. The link text as it appears in + QtCore is shown. The second and third columns contain the source + file name and line number for where qdoc saw the link in a qdoc + comment. + + \note The line number will normally refer to the first line of the + comment where qdoc saw the link. + + Clicking on a link in the table takes you to that link in the + documentation. There the link will be marked with three red + asterisks. For example, clicking on the link in the fifth table + entry takes you here: + + \image link-to-qquickitem.png + + The link is marked with three red asterisks. Now you can click on + the actual link to check that it goes to the correct place. In + this case, the link should go to the reference page for the + QQuickItem class. You can check each link in the table this + way. If you find a link that goes to the wrong place, use the + source file name and line number to find the link, and fix the + problem using the square bracket notation for the \l {l-command} + {\\l command}. + + */ diff --git a/src/tools/qdoc/doc/qdoc-manual-intro.qdoc b/src/tools/qdoc/doc/qdoc-manual-intro.qdoc index 636cd6980e4..3b7dda30f37 100644 --- a/src/tools/qdoc/doc/qdoc-manual-intro.qdoc +++ b/src/tools/qdoc/doc/qdoc-manual-intro.qdoc @@ -89,8 +89,8 @@ \section1 Running QDoc - The current name of the QDoc program is \c {qdoc}. To run qdoc - from the command line, give it the name of a configuration file: + The name of the QDoc program is \c {qdoc}. To run qdoc from the + command line, give it the name of a configuration file: \quotation \c {$ ../../bin/qdoc ./config.qdocconf} @@ -107,6 +107,151 @@ See \l{The QDoc Configuration File} for instructions on how to set up a QDoc configuration file. + \section2 Running QDoc in Single Execution Mode + + Beginning with Qt 5.5, a new way to run QDoc is available that + reduces the time it takes to generate the Qt5 documentation by as + much as 90%. The new way to run QDoc is \e{single execution} mode. + Single execution mode is not currently available in the Qt5 build + system, which still uses the \e {standard} mode. Single execution + mode is only available when you run QDoc yourself, which you will + want to do often as you document your module and integrate your + documentation with the other Qt modules. + + To run QDoc in single execution mode, add \c {-single-exec} to the + command line and pass QDoc a master \c qdocconf file that is + simply a list of file paths for qdocconf files of all the Qt5 + modules. For example: + + \code + /Users/me/qt5/qtbase/bin/qdoc -outputdir /Users/me/qt5/qtbase/doc -installdir /Users/me/qt5/qtbase/doc /Users/me/qt5/master.qdocconf -single-exec + \endcode + + The qdocconf file, \c {master.qdocconf}, just lists the qdocconf files for all the Qt5 modules to be processed: + + \badcode + /Users/me/qt5/qtbase/src/corelib/doc/qtcore.qdocconf + /Users/me/qt5/qtbase/src/network/doc/qtnetwork.qdocconf + /Users/me/qt5/qtbase/src/sql/doc/qtsql.qdocconf + /Users/me/qt5/qtbase/src/xml/doc/qtxml.qdocconf + /Users/me/qt5/qtbase/src/testlib/doc/qttestlib.qdocconf + /Users/me/qt5/qtbase/src/concurrent/doc/qtconcurrent.qdocconf + /Users/me/qt5/qtbase/src/gui/doc/qtgui.qdocconf + /Users/me/qt5/qtbase/src/platformheaders/doc/qtplatformheaders.qdocconf + /Users/me/qt5/qtbase/src/widgets/doc/qtwidgets.qdocconf + /Users/me/qt5/qtbase/src/opengl/doc/qtopengl.qdocconf + /Users/me/qt5/qtbase/src/printsupport/doc/qtprintsupport.qdocconf + /Users/me/qt5/qtbase/src/tools/qdoc/doc/config/qdoc.qdocconf + /Users/me/qt5/qtbase/qmake/doc/qmake.qdocconf + /Users/me/qt5/qtsvg/src/svg/doc/qtsvg.qdocconf + /Users/me/qt5/qtxmlpatterns/src/xmlpatterns/doc/qtxmlpatterns.qdocconf + /Users/me/qt5/qtdeclarative/src/qml/doc/qtqml.qdocconf + /Users/me/qt5/qtdeclarative/src/quick/doc/qtquick.qdocconf + /Users/me/qt5/qtquickcontrols/src/controls/doc/qtquickcontrols.qdocconf + /Users/me/qt5/qtquickcontrols/src/layouts/doc/qtquicklayouts.qdocconf + /Users/me/qt5/qtquickcontrols/src/dialogs/doc/qtquickdialogs.qdocconf + /Users/me/qt5/qtmultimedia/src/multimedia/doc/qtmultimedia.qdocconf + /Users/me/qt5/qtmultimedia/src/multimediawidgets/doc/qtmultimediawidgets.qdocconf + /Users/me/qt5/qtactiveqt/src/activeqt/doc/activeqt.qdocconf + /Users/me/qt5/qtsensors/src/sensors/doc/qtsensors.qdocconf + /Users/me/qt5/qtwebkit/Source/qtwebkit.qdocconf + /Users/me/qt5/qttools/src/assistant/help/doc/qthelp.qdocconf + /Users/me/qt5/qttools/src/assistant/assistant/doc/qtassistant.qdocconf + /Users/me/qt5/qttools/src/designer/src/uitools/doc/qtuitools.qdocconf + /Users/me/qt5/qttools/src/designer/src/designer/doc/qtdesigner.qdocconf + /Users/me/qt5/qttools/src/linguist/linguist/doc/qtlinguist.qdocconf + /Users/me/qt5/qtwebkit-examples/doc/qtwebkitexamples.qdocconf + /Users/me/qt5/qtimageformats/src/imageformats/doc/qtimageformats.qdocconf + /Users/me/qt5/qtgraphicaleffects/src/effects/doc/qtgraphicaleffects.qdocconf + /Users/me/qt5/qtscript/src/script/doc/qtscript.qdocconf + /Users/me/qt5/qtscript/src/scripttools/doc/qtscripttools.qdocconf + /Users/me/qt5/qtserialport/src/serialport/doc/qtserialport.qdocconf + /Users/me/qt5/qtdoc/doc/config/qtdoc.qdocconf + \endcode + + \section3 Why Standard Mode Is Slow + + Currently, the Qt5 build system does not use QDoc's \e {single + execution} mode for generating the Qt5 documentation. It runs QDoc + in the \e {standard} mode. The standard mode was came about + because it was the easiest way to get convert the Qt4 QDoc to + handle the modularization of Qt in Qt5. In Qt4, QDoc ran once over + all the Qt4 sources to generate the HTML documentation for Qt. + While generating the Qt documentation, Qt4 QDoc also generated an + \e {index file} for Qt. That index file was meant to be used as + input to subsequent QDoc runs for generating HTML documentation + for other software libraries/products that were based on Qt. The + Qt index file allowed QDoc to link documentation written for those + other libraries/products to the Qt4 documentation. + + When Qt5 came along, Qt was divided into modules. Since then, + many new modules have been added to Qt. As of version 5.5, there + are over 40 separate modules in Qt5, each with its own + documentation that links to (depends on) the documentation of + other Qt modules. + + In \e {standard mode}, QDoc runs twice for each module. The first + QDoc run for a particular Qt module, parses all the module's + source files and then uses the information to generate the + module's index file. It is called the \e{prepare phase} because + it \e prepares the module's index file. The second QDoc run for + the module also parses all the module's source files and then + generates the module's documentation pages. This is called the \e + {generate phase} because it generates the module's documentation. + + The module's documentation will likely contain HTML links to the + documentation of one or more of the other Qt modules. For example, + most Qt5 modules contain links to documentation in QtCore. When a + Qt module contains links into the documentation of other Qt + module's, that module is said to depend on those other Qt modules. + Hence when QDoc runs the \e {generate phase} for that module, it + must also load the index files for those modules so it can create + those thinks. + + Hence, when the Qt build system generates the Qt documentation, it + first runs QDoc once for each module to perform the \e {prepare + phase} to generate all the index files. Then it runs QDoc once for + each module to perform the \e {generate phase}, where it uses the + dependent index files to generate the module's documentation, + including any cross-module links it finds. Each execution of + QDoc, both \e {prepare phase} and \e {generate phase}, parses + all the source files that are included in the module, and in the + \e {generate phase} also parses the index files for the dependent + modules. Nothing is retained or retainable between QDoc runs. + + \section3 Why Single Execution Mode Is Much Faster + + As the name implies, single execution mode uses a single QDoc + process to generate all the Qt5 documentation. The single QDoc + process still performs a \e{prepare phase} for each module and + then a \e{generate phase} for each module, but there are a few + differences. It begins by reading the master qdocconf file. Then + it reads each qdocconf file in the master list and performs the + \e{prepare phase} for each module. During the \e{prepare phase}, + all the source files for the module are parsed to build a syntax + tree for the module. The module's index file is then generated, + although QDoc will not re-read the index files in the \e{generate + phase}. The important difference here is that the module's syntax + tree is retained after the index file is generated, so that after + the \e{prepare phase} has been run for all the modules, QDoc still + has all the syntax trees it built. + + QDoc then processes each module again for the \e{generate phase}. + But now QDoc doesn't need to re-parse each module's source files, + because the module's syntax tree is still in memory. Nor does QDoc + need to re-read the index files for the dependent modules, again + because it still has the syntax trees for those modules in memry. + It remains only to traverse each module's syntax tree to generate + the documentation pages. + + Hence, QDoc parses each source file once and only once and doesn't + need to read index files. This is what makes single execution mode + much faster than the standard mode. It is anticipated that the Qt + build system will eventually run QDoc in single execution mode. + However, changes to the master qdocconf file might be required, so + the method described above for running QDoc in single execution + mode might have to change, watch this space for updates. + \section1 How QDoc Works QDoc begins by reading the configuration file you specified on the diff --git a/src/tools/qdoc/doc/qdoc-manual-markupcmds.qdoc b/src/tools/qdoc/doc/qdoc-manual-markupcmds.qdoc index c04cdeca2b6..e7d651704e5 100644 --- a/src/tools/qdoc/doc/qdoc-manual-markupcmds.qdoc +++ b/src/tools/qdoc/doc/qdoc-manual-markupcmds.qdoc @@ -1771,9 +1771,15 @@ different kinds of targets. The command's general syntax is: \code - \l {link target} {link text} + \l [ link criteria ] { link target } { link text } \endcode + ...where the \c {link criteria} in square brackets are optional + but may be required when the \c {link target} is ambiguous. See + \l {Fixing Ambiguous Links} below. + + Here is an example using the \\l command to link to an external page: + \code / *! Read the \l {http://qt-project.org/doc/qt-5.0/} @@ -1877,6 +1883,101 @@ \l {QWidget::} {sizeHint()} \endquotation + \section2 Fixing Ambiguous Links + + Because of the modularization of Qt beginning with Qt 5.0, The + possibility that qdoc will have to deal with ambiguous links has + increased. An ambiguous link is one that has a matching target in + more than one Qt module, e.g. the same section title can appear in + more than one Qt module, or the name of a C++ class in one module + can also be the name of a QML type in another module. A real + example in Qt5 is the name Qt itself. Qt is the name of both a C++ + namespace in QtCore and a QML type in QtQml. + + Suppose we want to link to the \l {Qt} {Qt C++ namespace}. At the + time qdoc generated this HTML page, that link was correct. Does + it still go to the C++ namespace? Qdoc generated that link from + this link command: + + \list + \li \c {\l {Qt} {Qt C++ namespace}} + \endlist + + Now suppose we want to link to the \l [QML] {Qt} {Qt QML type}. + At the time qdoc generated this HTML page, that link was also + correct, but we had to use this link command: + + \list + \li \c {\l [QML] {Qt} {Qt QML type}} + \endlist + + The \e {QML} in \e {square brackets} tells qdoc to accept a + matching target only if the traget is on a QML page. Qdoc actually + finds the C++ namespace target first, but since that target is on + a C++ page, qdoc ignores it and keeps looking until it finds the + same target on a QML page. + + Without the guidance in the \e{\\l command} in the optional \e + {square bracket} argument, qdoc links to the first matching target + it finds. qdoc can't warn that the link was ambiguous in such + cases because it doesn't know that another matching target exists. + + \section2 What arguments can appear in square brackets? + + A link command with square bracket argument has the following syntax: + \list + \c {\l [QML|CPP|DOC|QtModuleName] {link target} {link text}} + \endlist + + The \e {square bracket} argument is only allowed in the \c {\\l + (link)} command. The example above shows how \c QML is used as the + \e {square brackets} argument to force qdoc to match a QML target. + Most often, this will be a QML type, but it can also be a QML + member function of property. + + In the example, qdoc didn't need a \e {square bracket} argument to + find the Qt C++ namespace page, because that one was the first + matching target qdoc found anyway. However, to force qdoc to find + a C++ target when a matching QML target gets in the way, \c CPP + can be used as the \e {square bracket} argument. For example: + + \list + \li \c {\l [CPP] {Qt} {Qt C++ namespace}} + \endlist + + ...will force qdoc to ignore the Qt QML type and continue + searching until it matches the Qt C++ namespace. + + If the link target is neither a C++ nor a QML entity, \c {DOC} can + be used as the \e {square bracket} argument to prevent qdoc from + matching either of those. At this writing, there were no cases of + ambiguous links where using \c {DOC} was required. + + Often, the documentor knows which Qt module the link target is + in. When the module name is known, use the module name as the \e + {square bracket} argument. In the example above, if we know that + the QML type named Qt is located in the QtQml module, we can write + the link command like this: + + \list + \li \c {\l [QtQml] {Qt} {Qt QML type}} + \endlist + + When a module name is used as the \e {square bracket} argument, + qdoc will search for link the target in that module only. This + makes searching for link targets more efficient. + + Finally, the module name and entity type arguments can be + combined, separated by a blank, so something like this is also + allowed: + + \list + \li \c {\l [CPP QtQml] {Window} {C++ class Window}} + \endlist + + As of this writing, there were no cases where combining the two + was required. + See also \l {sa-command} {\\sa}, \l {target-command} {\\target}, and \l {keyword-command} {\\keyword}. diff --git a/src/tools/qdoc/doc/qdoc-manual-qdocconf.qdoc b/src/tools/qdoc/doc/qdoc-manual-qdocconf.qdoc index 093f9cc2c6c..925cd3d16ab 100644 --- a/src/tools/qdoc/doc/qdoc-manual-qdocconf.qdoc +++ b/src/tools/qdoc/doc/qdoc-manual-qdocconf.qdoc @@ -1531,7 +1531,7 @@ \page 21-3-qt-dita-xml-output.html \previouspage minimum.qdocconf \contentspage QDoc Manual - \nextpage QDoc Manual + \nextpage QA Pages \title Generating DITA XML Output diff --git a/src/tools/qdoc/doc/qdoc-manual.qdoc b/src/tools/qdoc/doc/qdoc-manual.qdoc index 485faba70f8..e6f335097ad 100644 --- a/src/tools/qdoc/doc/qdoc-manual.qdoc +++ b/src/tools/qdoc/doc/qdoc-manual.qdoc @@ -70,6 +70,7 @@ \li \l {minimum.qdocconf} \li \l {Generating DITA XML Output} \endlist + \li \l {QA Pages} \endlist */