diff --git a/docs/docs/api_docs/c_api/functions.md b/docs/docs/api_docs/c_api/functions.md
index 5f3cdc6..4c54895 100644
--- a/docs/docs/api_docs/c_api/functions.md
+++ b/docs/docs/api_docs/c_api/functions.md
@@ -1391,3 +1391,7 @@ Close a provided [Gallery](../cpp_api/gallery/gallery.md).
[^1]: *Zhu et al.*
**A Rank-Order Distance based Clustering Algorithm for Face Tagging**,
CVPR 2011
+
+
+[R]: http://www.r-project.org/ "R"
+[QRegExp]: http://doc.qt.io/qt-5/QRegExp.html "QRegExp"
diff --git a/docs/docs/api_docs/cl_api.md b/docs/docs/api_docs/cl_api.md
index d455ece..9245eaa 100644
--- a/docs/docs/api_docs/cl_api.md
+++ b/docs/docs/api_docs/cl_api.md
@@ -375,3 +375,6 @@ Exit the application
-exit
* **wraps:** N/A
+
+
+[QRegExp]: http://doc.qt.io/qt-5/QRegExp.html "QRegExp"
diff --git a/docs/docs/api_docs/cpp_api/apifunctions.md b/docs/docs/api_docs/cpp_api/apifunctions.md
index 60eebdf..8a75670 100644
--- a/docs/docs/api_docs/cpp_api/apifunctions.md
+++ b/docs/docs/api_docs/cpp_api/apifunctions.md
@@ -283,3 +283,7 @@ Deduplicate a gallery. A duplicate is defined as an image with a match score abo
File input("/path/to/input/galley/with/dups");
File output("/path/to/output/gallery");
Deduplicate(input, output, "0.7"); // Remove duplicates with match scores above 0.7
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QStringList]: http://doc.qt.io/qt-5/qstringlist.html "QStringList"
diff --git a/docs/docs/api_docs/cpp_api/classifier/functions.md b/docs/docs/api_docs/cpp_api/classifier/functions.md
index 8949c75..595fcbd 100644
--- a/docs/docs/api_docs/cpp_api/classifier/functions.md
+++ b/docs/docs/api_docs/cpp_api/classifier/functions.md
@@ -50,3 +50,7 @@ This is a pure virtual function. Classify a provided input image.
classifier->classify(p1); // returns confidence > 0
classifier->classify(n1); // returns confidence < 0
+
+
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
+[Mat]: http://docs.opencv.org/modules/core/doc/basic_structures.html#mat "Mat"
diff --git a/docs/docs/api_docs/cpp_api/classifier/statics.md b/docs/docs/api_docs/cpp_api/classifier/statics.md
index e87f628..df5b778 100644
--- a/docs/docs/api_docs/cpp_api/classifier/statics.md
+++ b/docs/docs/api_docs/cpp_api/classifier/statics.md
@@ -19,3 +19,7 @@ Make a [Classifier](classifier.md) from a string. The string is passed to [Facto
Classifier *classifier = Classifier::make("Classifier(representation=Representation(property1=value1)");
classifier->description(); // Returns "Classifier(representation=Representation(property1=value1))"
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QObject]: http://doc.qt.io/qt-5/QObject.html "QObject"
diff --git a/docs/docs/api_docs/cpp_api/compositetransform/properties.md b/docs/docs/api_docs/cpp_api/compositetransform/properties.md
index ef4b0ca..94e7aea 100644
--- a/docs/docs/api_docs/cpp_api/compositetransform/properties.md
+++ b/docs/docs/api_docs/cpp_api/compositetransform/properties.md
@@ -1,3 +1,6 @@
Property | Type | Description
--- | --- | ---
-transforms | [QList][QList]<[Transform](../transform/transform.md)\*> | List of child transforms
\ No newline at end of file
+transforms | [QList][QList]<[Transform](../transform/transform.md)\*> | List of child transforms
+
+
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
diff --git a/docs/docs/api_docs/cpp_api/context/functions.md b/docs/docs/api_docs/cpp_api/context/functions.md
index 10fbe27..322a6e7 100644
--- a/docs/docs/api_docs/cpp_api/context/functions.md
+++ b/docs/docs/api_docs/cpp_api/context/functions.md
@@ -81,3 +81,7 @@ Get the completion percentage of a call to [Train](../apifunctions.md#train), [E
* **parameters:** NONE
* **output:** (float) Returns the fraction of the currently running job that has been completed.
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QObject::property]: http://doc.qt.io/qt-5/qobject.html#property "QObject::property"
diff --git a/docs/docs/api_docs/cpp_api/context/members.md b/docs/docs/api_docs/cpp_api/context/members.md
index d3dcbb1..f9dcaf1 100644
--- a/docs/docs/api_docs/cpp_api/context/members.md
+++ b/docs/docs/api_docs/cpp_api/context/members.md
@@ -21,3 +21,13 @@ Member | Type | Description
abbreviations | [QHash][QHash]<[QString][QString], [QString][QString]> | Used by [Transform](../transform/transform.md)::[make](../transform/statics.md#make) to expand abbreviated algorithms into their complete definitions.
startTime | [QTime][QTime] | Used to estimate [timeRemaining](functions.md#timeremaining).
logFile | [QFile][QFile] | Log file to write to.
+
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
+[QHash]: http://doc.qt.io/qt-5/qhash.html "QHash"
+[QThread]: http://doc.qt.io/qt-5/qthread.html "QThread"
+[QByteArray]: http://doc.qt.io/qt-5/qbytearray.html "QByteArray"
+[QTime]: http://doc.qt.io/qt-5/QTime.html "QTime"
+[QFile]: http://doc.qt.io/qt-5/qfile.html "QFile"
diff --git a/docs/docs/api_docs/cpp_api/context/statics.md b/docs/docs/api_docs/cpp_api/context/statics.md
index 35c505a..cd6a2fd 100644
--- a/docs/docs/api_docs/cpp_api/context/statics.md
+++ b/docs/docs/api_docs/cpp_api/context/statics.md
@@ -134,3 +134,13 @@ Get a collection of objects in OpenBR that match provided regular expressions. T
// Find all 'Rnd' Transforms
Context::objects("Transform", "Rnd.*", false); // returns ["RndPoint", "RndRegion", "RndRotate", "RndSample", "RndSubspace"]
+
+
+[Qt]: http://qt-project.org/ "Qt"
+[QApplication]: http://doc.qt.io/qt-5/qapplication.html "QApplication"
+[QCoreApplication]: http://doc.qt.io/qt-5/qcoreapplication.html "QCoreApplication"
+
+[QRegExp]: http://doc.qt.io/qt-5/QRegExp.html "QRegExp"
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QStringList]: http://doc.qt.io/qt-5/qstringlist.html "QStringList"
diff --git a/docs/docs/api_docs/cpp_api/distance/distance.md b/docs/docs/api_docs/cpp_api/distance/distance.md
index b3f6d53..82201d5 100644
--- a/docs/docs/api_docs/cpp_api/distance/distance.md
+++ b/docs/docs/api_docs/cpp_api/distance/distance.md
@@ -1,5 +1,3 @@
-
-
Inherits [Object](../object/object.md)
Plugin base class for comparing two [Templates](../template/template.md)
diff --git a/docs/docs/api_docs/cpp_api/distance/functions.md b/docs/docs/api_docs/cpp_api/distance/functions.md
index 16467b8..9b5c582 100644
--- a/docs/docs/api_docs/cpp_api/distance/functions.md
+++ b/docs/docs/api_docs/cpp_api/distance/functions.md
@@ -62,7 +62,7 @@ This is a virtual function. Compare two [TemplateLists](../templatelist/template
* **output:** (void)
-## [QList][QList]<float> compare(const [TemplateList][TemplateList] &target, const [Template](../template/template.md) &query) {: #compare-2 }
+## [QList][QList]<float> compare(const [TemplateList](../templatelist/templatelist.md) &target, const [Template](../template/template.md) &query) {: #compare-2 }
This is a virtual function. Compare a query against a list of targets. Each comparison results in a floating point response which is the distance between the query and a specific target.
@@ -211,3 +211,8 @@ This is a protected function. Makes a child distance from a provided description
description | const [QString][QString] & | Description of the child distance
* **output:** ([Distance](distance.md) \*) Returns a pointer to the created child distance
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
+[Mat]: http://docs.opencv.org/modules/core/doc/basic_structures.html#mat "Mat"
diff --git a/docs/docs/api_docs/cpp_api/distance/statics.md b/docs/docs/api_docs/cpp_api/distance/statics.md
index 57d2e36..80b7aec 100644
--- a/docs/docs/api_docs/cpp_api/distance/statics.md
+++ b/docs/docs/api_docs/cpp_api/distance/statics.md
@@ -44,3 +44,8 @@ Create a [Distance](distance.md) from an OpenBR algorithm string. The [Distance]
Distance::fromAlgorithm("EnrollmentTransform:Distance")->decription(); // returns "Distance"
Distance::fromAlgorithm("EnrollmentTransform!Distance1+Distance2")->decription(); // returns "Pipe(distances=[Distance1,Distance2])
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QObject]: http://doc.qt.io/qt-5/QObject.html "QObject"
+[QSharedPointer]: http://doc.qt.io/qt-5/qsharedpointer.html "QSharedPointer"
diff --git a/docs/docs/api_docs/cpp_api/factory/constructors.md b/docs/docs/api_docs/cpp_api/factory/constructors.md
index 0779bb6..ec260d5 100644
--- a/docs/docs/api_docs/cpp_api/factory/constructors.md
+++ b/docs/docs/api_docs/cpp_api/factory/constructors.md
@@ -1,4 +1,7 @@
Constructor \| Destructor | Description
--- | ---
Factory([QString][QString] name) | This is a special constructor in OpenBR. It is used to register new objects in the [registry](members.md#registry).
-virtual ~Factory() | Default destructor
\ No newline at end of file
+virtual ~Factory() | Default destructor
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
diff --git a/docs/docs/api_docs/cpp_api/factory/members.md b/docs/docs/api_docs/cpp_api/factory/members.md
index 12d7c1a..cba3033 100644
--- a/docs/docs/api_docs/cpp_api/factory/members.md
+++ b/docs/docs/api_docs/cpp_api/factory/members.md
@@ -1,3 +1,7 @@
Member | Type | Description
--- | --- | ---
registry | static [QMap][QMap]<[QString][QString],[Factory](factory.md)<T>\*> | List of all objects that have been registered with the factory. Registered objects are stored in this static registry by abstraction type.
+
+
+[QMap]: http://doc.qt.io/qt-5/qmap.html "QMap"
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
diff --git a/docs/docs/api_docs/cpp_api/factory/statics.md b/docs/docs/api_docs/cpp_api/factory/statics.md
index 3889e11..b148490 100644
--- a/docs/docs/api_docs/cpp_api/factory/statics.md
+++ b/docs/docs/api_docs/cpp_api/factory/statics.md
@@ -88,3 +88,9 @@ Get the parameters for the plugin defined by the provided name.
Factory::parameters("Example"); // returns "int property1 = 1, float property2 = 2.5, QString property3 = Value"
Factory::parameters("Example(property3=NewValue)"); // returns "int property1 = 1, float property2 = 2.5, QString property3 = NewValue"
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QStringList]: http://doc.qt.io/qt-5/qstringlist.html "QStringList"
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
+[QSharedPointer]: http://doc.qt.io/qt-5/qsharedpointer.html "QSharedPointer"
diff --git a/docs/docs/api_docs/cpp_api/file/constructors.md b/docs/docs/api_docs/cpp_api/file/constructors.md
index eaeed0f..086cc0f 100644
--- a/docs/docs/api_docs/cpp_api/file/constructors.md
+++ b/docs/docs/api_docs/cpp_api/file/constructors.md
@@ -1,5 +1,3 @@
-## Constructors {: #file-constructors }
-
Constructor | Description
--- | ---
File() | Default constructor. Sets [name](members.md#name) to false.
@@ -7,3 +5,8 @@ File(const [QString][QString] &file) | Initializes the file by calling the priva
File(const [QString][QString] &file, const [QVariant][QVariant] &label) | Initializes the file by calling the private function init. Append label to the [metadata](members.md#m_metadata) using the key "Label".
File(const char \*file) | Initializes the file with a c-style string.
File(const [QVariantMap][QVariantMap] &metadata) | Sets [name](members.md#name) to false and sets the [file metadata](members.md#m_metadata) to metadata.
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QVariant]: http://doc.qt.io/qt-5/qvariant.html "QVariant"
+[QVariantMap]: http://doc.qt.io/qt-5/qvariant.html#QVariantMap-typedef "QVariantMap"
diff --git a/docs/docs/api_docs/cpp_api/file/file.md b/docs/docs/api_docs/cpp_api/file/file.md
index 9da2bb9..1ed4c87 100644
--- a/docs/docs/api_docs/cpp_api/file/file.md
+++ b/docs/docs/api_docs/cpp_api/file/file.md
@@ -1,5 +1,3 @@
-# File
-
A file path with associated metadata.
See:
@@ -63,3 +61,9 @@ Age | float | Age used for demographic filtering
Gender | QString | Subject gender
Train | bool | The data is for training, as opposed to enrollment
_\* | \* | Reserved for internal use
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QVariantList]: http://doc.qt.io/qt-5/qvariant.html#QVariantList-typedef "QVariantList"
+[QRectF]: http://doc.qt.io/qt-5/qrectf.html "QRectF"
+[QPointF]: http://doc.qt.io/qt-5/qpointf.html "QPointF"
diff --git a/docs/docs/api_docs/cpp_api/file/functions.md b/docs/docs/api_docs/cpp_api/file/functions.md
index b6870ba..3460951 100644
--- a/docs/docs/api_docs/cpp_api/file/functions.md
+++ b/docs/docs/api_docs/cpp_api/file/functions.md
@@ -1272,3 +1272,43 @@ Replace the rects stored at [metadata](members.md#m_metadata) with a provided li
file.setRects(QList() << cv::Rect(3, 3, 5, 5) << cv::Rect(4, 4, 5, 5));
file.rects(); // returns [QRectF(3, 3, 5x5), QRectF(4, 4, 5x5)]
+
+
+[Qt]: http://qt-project.org/ "Qt"
+[QApplication]: http://doc.qt.io/qt-5/qapplication.html "QApplication"
+[QCoreApplication]: http://doc.qt.io/qt-5/qcoreapplication.html "QCoreApplication"
+[QObject]: http://doc.qt.io/qt-5/QObject.html "QObject"
+[Qt Property System]: http://doc.qt.io/qt-5/properties.html "Qt Property System"
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QStringList]: http://doc.qt.io/qt-5/qstringlist.html "QStringList"
+
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
+[QMap]: http://doc.qt.io/qt-5/qmap.html "QMap"
+[QHash]: http://doc.qt.io/qt-5/qhash.html "QHash"
+
+[QRectF]: http://doc.qt.io/qt-5/qrectf.html "QRectF"
+[QPoint]: http://doc.qt.io/qt-5/qpoint.html "QPoint"
+[QPointF]: http://doc.qt.io/qt-5/qpointf.html "QPointF"
+
+[QVariant]: http://doc.qt.io/qt-5/qvariant.html "QVariant"
+[QVariantList]: http://doc.qt.io/qt-5/qvariant.html#QVariantList-typedef "QVariantList"
+[QVariantMap]: http://doc.qt.io/qt-5/qvariant.html#QVariantMap-typedef "QVariantMap"
+
+[QRegExp]: http://doc.qt.io/qt-5/QRegExp.html "QRegExp"
+[QThread]: http://doc.qt.io/qt-5/qthread.html "QThread"
+[QFile]: http://doc.qt.io/qt-5/qfile.html "QFile"
+
+[QSharedPointer]: http://doc.qt.io/qt-5/qsharedpointer.html "QSharedPointer"
+
+[QTime]: http://doc.qt.io/qt-5/QTime.html "QTime"
+[QDebug]: http://doc.qt.io/qt-5/qdebug.html "QDebug"
+[QDataStream]: http://doc.qt.io/qt-5/qdatastream.html "QDataStream"
+[QByteArray]: http://doc.qt.io/qt-5/qbytearray.html "QByteArray"
+
+[R]: http://www.r-project.org/ "R"
+[Mat]: http://docs.opencv.org/modules/core/doc/basic_structures.html#mat "Mat"
+[Rect]: http://docs.opencv.org/modules/core/doc/basic_structures.html#rect "Rect"
+[InputArray]: http://docs.opencv.org/modules/core/doc/basic_structures.html#inputarray "InputArray"
+[OutputArray]: http://docs.opencv.org/modules/core/doc/basic_structures.html#outputarray "OutputArray"
+[OpenCV Image Formats]: http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=imread#imread "OpenCV Image Formats"
diff --git a/docs/docs/api_docs/cpp_api/file/members.md b/docs/docs/api_docs/cpp_api/file/members.md
index 6ea032c..a5db919 100644
--- a/docs/docs/api_docs/cpp_api/file/members.md
+++ b/docs/docs/api_docs/cpp_api/file/members.md
@@ -3,3 +3,8 @@ Member | Type | Description
name | [QString][QString] | Path to a file on disk
fte | bool | Failed to enroll. If true this file failed to be processed somewhere in the template enrollment algorithm
m_metadata | [QVariantMap][QVariantMap] | Map for storing metadata. It is a [QString][QString], [QVariant][QVariant] key value pairing.
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QVariant]: http://doc.qt.io/qt-5/qvariant.html "QVariant"
+[QVariantMap]: http://doc.qt.io/qt-5/qvariant.html#QVariantMap-typedef "QVariantMap"
diff --git a/docs/docs/api_docs/cpp_api/file/statics.md b/docs/docs/api_docs/cpp_api/file/statics.md
index 4d73c2e..9efda93 100644
--- a/docs/docs/api_docs/cpp_api/file/statics.md
+++ b/docs/docs/api_docs/cpp_api/file/statics.md
@@ -194,3 +194,11 @@ Deserialize a file from a data stream.
out.name; // returns "../path/to/pictures/picture.jpg"
out.flat(); // returns "../path/to/pictures/picture.jpg[Key=Value]"
}
+
+
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
+[QVariant]: http://doc.qt.io/qt-5/qvariant.html "QVariant"
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QDataStream]: http://doc.qt.io/qt-5/qdatastream.html "QDataStream"
+[QRectF]: http://doc.qt.io/qt-5/qrectf.html "QRectF"
+[QPointF]: http://doc.qt.io/qt-5/qpointf.html "QPointF"
diff --git a/docs/docs/api_docs/cpp_api/filegallery/members.md b/docs/docs/api_docs/cpp_api/filegallery/members.md
index 91fb08a..6230784 100644
--- a/docs/docs/api_docs/cpp_api/filegallery/members.md
+++ b/docs/docs/api_docs/cpp_api/filegallery/members.md
@@ -1,3 +1,6 @@
Member | Type | Description
--- | --- | ---
f | [QFile][QFile] | The file on disk. It has the same name as [file](../object/members.md#file)
+
+
+[QFile]: http://doc.qt.io/qt-5/qfile.html "QFile"
diff --git a/docs/docs/api_docs/cpp_api/filelist/constructors.md b/docs/docs/api_docs/cpp_api/filelist/constructors.md
index 752879d..4453c38 100644
--- a/docs/docs/api_docs/cpp_api/filelist/constructors.md
+++ b/docs/docs/api_docs/cpp_api/filelist/constructors.md
@@ -4,3 +4,7 @@ FileList() | Default constructor. Doesn't do anything.
FileList(int n) | Intialize the [FileList](filelist.md) with n empty [Files](../file/file.md)
FileList(const [QStringList][QStringList] &files) | Initialize the [FileList](filelist.md) with a list of strings. Each string should have the format "filename[key1=value1, key2=value2, ... keyN=valueN]"
FileList(const [QList][QList]<[File](../file/file.md)> &files) | Initialize the [FileList](filelist.md) from a list of [files](../file/file.md).
+
+
+[QStringList]: http://doc.qt.io/qt-5/qstringlist.html "QStringList"
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
diff --git a/docs/docs/api_docs/cpp_api/filelist/filelist.md b/docs/docs/api_docs/cpp_api/filelist/filelist.md
index bdc5cdd..e415411 100644
--- a/docs/docs/api_docs/cpp_api/filelist/filelist.md
+++ b/docs/docs/api_docs/cpp_api/filelist/filelist.md
@@ -1,5 +1,3 @@
-
-
Inherits [QList][QList]<[File](../file/file.md)>.
See:
@@ -9,3 +7,6 @@ See:
* [Functions](functions.md)
A convenience class for dealing with lists of files.
+
+
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
diff --git a/docs/docs/api_docs/cpp_api/filelist/functions.md b/docs/docs/api_docs/cpp_api/filelist/functions.md
index 4370be9..19dc3cf 100644
--- a/docs/docs/api_docs/cpp_api/filelist/functions.md
+++ b/docs/docs/api_docs/cpp_api/filelist/functions.md
@@ -104,3 +104,8 @@ Get the number of [Files](../file/file.md) in the list that have [failed to enro
FileList fList(QList() << f1 << f2 << f3);
fList.failures(); // returns 2
+
+
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QStringList]: http://doc.qt.io/qt-5/qstringlist.html "QStringList"
diff --git a/docs/docs/api_docs/cpp_api/format/format.md b/docs/docs/api_docs/cpp_api/format/format.md
index e4f97f7..b595fb5 100644
--- a/docs/docs/api_docs/cpp_api/format/format.md
+++ b/docs/docs/api_docs/cpp_api/format/format.md
@@ -28,3 +28,6 @@ A *format* is a [File](../file/file.md) representing a [Template](../template/te
* binary
Many of these extensions are unique to OpenBR. Please look at the relevant [Format plugin](../../../plugin_docs/format.md) for information on formatting and other concerns.
+
+
+[OpenCV Image Formats]: http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=imread#imread "OpenCV Image Formats"
diff --git a/docs/docs/api_docs/cpp_api/format/statics.md b/docs/docs/api_docs/cpp_api/format/statics.md
index d8b0123..df67ed9 100644
--- a/docs/docs/api_docs/cpp_api/format/statics.md
+++ b/docs/docs/api_docs/cpp_api/format/statics.md
@@ -39,3 +39,6 @@ Write a template to disk at the provided file location.
Template t("picture.jpg");
Format::write("new_pic_location.jpg", t); // Write t to "new_pic_location.jpg"
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
diff --git a/docs/docs/api_docs/cpp_api/matrixoutput/functions.md b/docs/docs/api_docs/cpp_api/matrixoutput/functions.md
index 53e503e..0814295 100644
--- a/docs/docs/api_docs/cpp_api/matrixoutput/functions.md
+++ b/docs/docs/api_docs/cpp_api/matrixoutput/functions.md
@@ -70,3 +70,6 @@ Set a value in [data](members.md#data) at the provided row and column indices.
output->set(10.0, 1, 2);
output->toString(1, 2); // Returns "10.0"
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
diff --git a/docs/docs/api_docs/cpp_api/matrixoutput/members.md b/docs/docs/api_docs/cpp_api/matrixoutput/members.md
index c57d88f..4090327 100644
--- a/docs/docs/api_docs/cpp_api/matrixoutput/members.md
+++ b/docs/docs/api_docs/cpp_api/matrixoutput/members.md
@@ -1,3 +1,6 @@
Member | Type | Description
--- | --- | ---
data | [Mat][Mat] | Matrix to store comparison data
+
+
+[Mat]: http://docs.opencv.org/modules/core/doc/basic_structures.html#mat "Mat"
diff --git a/docs/docs/api_docs/cpp_api/object/functions.md b/docs/docs/api_docs/cpp_api/object/functions.md
index e471b13..d7ecb4b 100644
--- a/docs/docs/api_docs/cpp_api/object/functions.md
+++ b/docs/docs/api_docs/cpp_api/object/functions.md
@@ -453,3 +453,11 @@ Provides a wrapper on [getChildren](#getchildren-1) as a convenience to allow th
QScopedPointer transform(Factory::make(".Parent"));
transform->getChildren(); // returns [br::ChildTransform(0x7fc10bf01050, name = "Child")]
transform->getChildren().first()->parameters(); // returns ["int property1 = 2", "float property2 = 2"]
+
+
+[QDataStream]: http://doc.qt.io/qt-5/qdatastream.html "QDataStream"
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QStringList]: http://doc.qt.io/qt-5/qstringlist.html "QStringList"
+[QVariant]: http://doc.qt.io/qt-5/qvariant.html "QVariant"
+[QObject]: http://doc.qt.io/qt-5/QObject.html "QObject"
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
diff --git a/docs/docs/api_docs/cpp_api/object/macros.md b/docs/docs/api_docs/cpp_api/object/macros.md
index b311f84..a8401a8 100644
--- a/docs/docs/api_docs/cpp_api/object/macros.md
+++ b/docs/docs/api_docs/cpp_api/object/macros.md
@@ -29,3 +29,6 @@ This macro provides an extension to the [Qt Property System][Qt Property System]
...
};
+
+
+[Qt Property System]: http://doc.qt.io/qt-5/properties.html "Qt Property System"
diff --git a/docs/docs/api_docs/cpp_api/object/object.md b/docs/docs/api_docs/cpp_api/object/object.md
index 0cbabab..5e52bd6 100644
--- a/docs/docs/api_docs/cpp_api/object/object.md
+++ b/docs/docs/api_docs/cpp_api/object/object.md
@@ -10,3 +10,6 @@ See:
* [Functions](functions.md)
This is the base class of all OpenBR plugins. [Objects](object.md) are constructed from [Files](../file/file.md). The [File's](../file/file.md) [name](../file/members.md#name) specifies which plugin to construct and the [File's](../file/file.md) [metadata](../file/members.md#m_metadata) provides initialization values for the plugin's properties.
+
+
+[QObject]: http://doc.qt.io/qt-5/QObject.html "QObject"
diff --git a/docs/docs/api_docs/cpp_api/object/statics.md b/docs/docs/api_docs/cpp_api/object/statics.md
index db6e702..576b4a7 100644
--- a/docs/docs/api_docs/cpp_api/object/statics.md
+++ b/docs/docs/api_docs/cpp_api/object/statics.md
@@ -17,3 +17,7 @@ Split the provided string using the provided split character. Lexical scoping of
* **example:**
Object::parse("Transform1(p1=v1,p2=v2),Transform2(p1=v3,p2=v4)"); // returns ["Transform1(p1=v1,p2=v2)", "Transform2(p1=v3,p2=v4)"]
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QStringList]: http://doc.qt.io/qt-5/qstringlist.html "QStringList"
diff --git a/docs/docs/api_docs/cpp_api/output/members.md b/docs/docs/api_docs/cpp_api/output/members.md
index 24c9192..cb31641 100644
--- a/docs/docs/api_docs/cpp_api/output/members.md
+++ b/docs/docs/api_docs/cpp_api/output/members.md
@@ -1,5 +1,5 @@
Member | Type | Description
--- | --- | ---
-targetFiles | [FileList][../filelist/filelist.md] | List of files representing the target templates
+targetFiles | [FileList](../filelist/filelist.md) | List of files representing the target templates
queryFiles | [FileList](../filelist/filelist.md) | List of files representing the query templates
selfSimilar | bool | True if targetFiles == queryFiles, false otherwise
diff --git a/docs/docs/api_docs/cpp_api/representation/functions.md b/docs/docs/api_docs/cpp_api/representation/functions.md
index 43ef2dc..86d8101 100644
--- a/docs/docs/api_docs/cpp_api/representation/functions.md
+++ b/docs/docs/api_docs/cpp_api/representation/functions.md
@@ -89,3 +89,7 @@ This is a pure virtual function. Get the size of the feature space.
rep1->numFeatures(); // returns 1000
rep2->numFeatures(); // returns 25643
+
+
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
+[Mat]: http://docs.opencv.org/modules/core/doc/basic_structures.html#mat "Mat"
diff --git a/docs/docs/api_docs/cpp_api/representation/statics.md b/docs/docs/api_docs/cpp_api/representation/statics.md
index ecc6bda..af6ae9a 100644
--- a/docs/docs/api_docs/cpp_api/representation/statics.md
+++ b/docs/docs/api_docs/cpp_api/representation/statics.md
@@ -18,4 +18,8 @@ Make a [Representation](representation.md) from a string. The string is passed t
* **example:**
Representation *rep = Representation::make("Representation(property1=value1)");
- rep->description(); // Returns "Representation(property1=value1)"
\ No newline at end of file
+ rep->description(); // Returns "Representation(property1=value1)"
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QObject]: http://doc.qt.io/qt-5/QObject.html "QObject"
diff --git a/docs/docs/api_docs/cpp_api/template/constructors.md b/docs/docs/api_docs/cpp_api/template/constructors.md
index 1389cc8..a6c5be5 100644
--- a/docs/docs/api_docs/cpp_api/template/constructors.md
+++ b/docs/docs/api_docs/cpp_api/template/constructors.md
@@ -4,3 +4,6 @@ Template() | The default template constructor. It doesn't do anything.
Template(const [File](../file/file.md) &file) | Sets [file](members.md#file) to the given [File](../file/file.md).
Template(const [File](../file/file.md) &file, const [Mat][Mat] &mat) | Sets [file](members.md#file) to the given [File](../file/file.md) and appends the given [Mat][Mat] to itself.
Template(const [Mat][Mat] &mat) | Appends the given [Mat][Mat] to itself
+
+
+[Mat]: http://docs.opencv.org/modules/core/doc/basic_structures.html#mat "Mat"
diff --git a/docs/docs/api_docs/cpp_api/template/functions.md b/docs/docs/api_docs/cpp_api/template/functions.md
index 4247fa9..491c2bc 100644
--- a/docs/docs/api_docs/cpp_api/template/functions.md
+++ b/docs/docs/api_docs/cpp_api/template/functions.md
@@ -162,7 +162,7 @@ Append the contents of another template. The [files](members.md#file) are append
Parameter | Type | Description
--- | --- | ---
- other | const [Template][template.md] & | Template to be merged
+ other | const [Template](template.md) & | Template to be merged
* **output:** (void)
* **example:**
@@ -221,3 +221,8 @@ Clone the template
t2.file; // returns "picture.jpg"
t2; // returns ["1"]
+
+
+[Mat]: http://docs.opencv.org/modules/core/doc/basic_structures.html#mat "Mat"
+[InputArray]: http://docs.opencv.org/modules/core/doc/basic_structures.html#inputarray "InputArray"
+[OutputArray]: http://docs.opencv.org/modules/core/doc/basic_structures.html#outputarray "OutputArray"
diff --git a/docs/docs/api_docs/cpp_api/template/statics.md b/docs/docs/api_docs/cpp_api/template/statics.md
index 21cd2be..40c9b96 100644
--- a/docs/docs/api_docs/cpp_api/template/statics.md
+++ b/docs/docs/api_docs/cpp_api/template/statics.md
@@ -55,3 +55,6 @@ Deserialize a template
out.file; // returns "picture.jpg"
out; // returns ["1"]
}
+
+
+[QDataStream]: http://doc.qt.io/qt-5/qdatastream.html "QDataStream"
diff --git a/docs/docs/api_docs/cpp_api/template/template.md b/docs/docs/api_docs/cpp_api/template/template.md
index 526e32b..53b4bde 100644
--- a/docs/docs/api_docs/cpp_api/template/template.md
+++ b/docs/docs/api_docs/cpp_api/template/template.md
@@ -20,3 +20,7 @@ In the cases where exactly one image is expected, the template provides the func
Casting operators are also provided to pass the template into image processing functions expecting matrices.
Metadata related to the template that is computed during enrollment (ex. bounding boxes, eye locations, quality metrics, ...) should be assigned to the template's [File](members.md#file) member.
+
+
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
+[Mat]: http://docs.opencv.org/modules/core/doc/basic_structures.html#mat "Mat"
diff --git a/docs/docs/api_docs/cpp_api/templatelist/constructors.md b/docs/docs/api_docs/cpp_api/templatelist/constructors.md
index aa044f2..7f7875c 100644
--- a/docs/docs/api_docs/cpp_api/templatelist/constructors.md
+++ b/docs/docs/api_docs/cpp_api/templatelist/constructors.md
@@ -3,3 +3,6 @@ Constructor | Description
TemplateList() | The default [TemplateList](templatelist.md) constructor. Doesn't do anything.
TemplateList(const [QList][QList]<[Template](../template/template.md)> &templates) | Initialize the [TemplateList](templatelist.md) with a list of templates. The given list is appended
TemplateList(const [QList][QList]<[File](../file/file.md)> &files) | Initialize the [TemplateList](templatelist.md) with a list of [Files](../file/file.md). Each [File](../file/file.md) is treated like a template and appended.
+
+
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
diff --git a/docs/docs/api_docs/cpp_api/templatelist/functions.md b/docs/docs/api_docs/cpp_api/templatelist/functions.md
index 9dfe1da..ba4d94f 100644
--- a/docs/docs/api_docs/cpp_api/templatelist/functions.md
+++ b/docs/docs/api_docs/cpp_api/templatelist/functions.md
@@ -304,3 +304,11 @@ Get the indices of every [Template](../template/template.md) that has a provided
TemplateList tList(QList() << t1 << t2 << t3);
tList.find("Key", "Value2"); // returns [1, 2]
+
+
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
+[QHash]: http://doc.qt.io/qt-5/qhash.html "QHash"
+[QMap]: http://doc.qt.io/qt-5/qmap.html "QMap"
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QVariant]: http://doc.qt.io/qt-5/qvariant.html "QVariant"
+[Mat]: http://docs.opencv.org/modules/core/doc/basic_structures.html#mat "Mat"
diff --git a/docs/docs/api_docs/cpp_api/templatelist/statics.md b/docs/docs/api_docs/cpp_api/templatelist/statics.md
index 8d8f170..a736d44 100644
--- a/docs/docs/api_docs/cpp_api/templatelist/statics.md
+++ b/docs/docs/api_docs/cpp_api/templatelist/statics.md
@@ -29,7 +29,7 @@ Create a template from a memory buffer of individual templates. This is compatib
--- | --- | ---
buffer | const [QByteArray][QByteArray] & | Raw data buffer to be enrolled
-* **output:** ([TemplateList][TemplateList]) Returns a [TemplateList](templatelist.md) created by enrolling the buffer
+* **output:** ([TemplateList](templatelist.md)) Returns a [TemplateList](templatelist.md) created by enrolling the buffer
## [TemplateList](templatelist.md) relabel(const [TemplateList](templatelist.md) &tl, const [QString][QString] &propName, bool preserveIntegers) {: #relabel }
@@ -63,3 +63,7 @@ Relabel the values associated with a given key in the [metadata](../file/members
relabeled = TemplateList::relabel(tList, "Class", false);
relabeled.files(); // returns [[Class=1, Label=0], [Class=10, Label=1], [Class=100, Label=2]]
+
+
+[QByteArray]: http://doc.qt.io/qt-5/qbytearray.html "QByteArray"
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
diff --git a/docs/docs/api_docs/cpp_api/templatelist/templatelist.md b/docs/docs/api_docs/cpp_api/templatelist/templatelist.md
index 88c727c..15bdbd1 100644
--- a/docs/docs/api_docs/cpp_api/templatelist/templatelist.md
+++ b/docs/docs/api_docs/cpp_api/templatelist/templatelist.md
@@ -9,3 +9,6 @@ See:
* [Constructors](constructors.md)
* [Static Functions](statics.md)
* [Functions](functions.md)
+
+
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
diff --git a/docs/docs/api_docs/cpp_api/timevaryingtransform/timevaryingtransform.md b/docs/docs/api_docs/cpp_api/timevaryingtransform/timevaryingtransform.md
index cc1fdc7..f5b5e74 100644
--- a/docs/docs/api_docs/cpp_api/timevaryingtransform/timevaryingtransform.md
+++ b/docs/docs/api_docs/cpp_api/timevaryingtransform/timevaryingtransform.md
@@ -1,5 +1,3 @@
-
-
Inherits [Transform](../transform/transform.md)
A [Transform](../transform/transform.md) that can change state at project time.
diff --git a/docs/docs/api_docs/cpp_api/transform/functions.md b/docs/docs/api_docs/cpp_api/transform/functions.md
index 148d581..91128f8 100644
--- a/docs/docs/api_docs/cpp_api/transform/functions.md
+++ b/docs/docs/api_docs/cpp_api/transform/functions.md
@@ -417,3 +417,9 @@ This is a protected function. Makes a child transform from a provided descriptio
description | const [QString][QString] & | Description of the child transform
* **output:** ([Transform](transform.md) \*) Returns a pointer to the created child transform
+
+
+[Mat]: http://docs.opencv.org/modules/core/doc/basic_structures.html#mat "Mat"
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QSharedPointer]: http://doc.qt.io/qt-5/qsharedpointer.html "QSharedPointer"
diff --git a/docs/docs/api_docs/cpp_api/transform/members.md b/docs/docs/api_docs/cpp_api/transform/members.md
index 6971c78..7af06a0 100644
--- a/docs/docs/api_docs/cpp_api/transform/members.md
+++ b/docs/docs/api_docs/cpp_api/transform/members.md
@@ -2,3 +2,6 @@ Member | Type | Description
--- | --- | ---
independent | bool | True if the transform is independent, false otherwise. Independent transforms process each [Mat][Mat] in a [Template](../template/template.md) independently. This means that a new instance of the transform is created for each [Mat][Mat]. If the transform is [trainable](#trainable) and the training data has more then one [Mat][Mat] per template, each created instance of the transform is trained separately. Please see [Training Algorithms](../../../tutorials.md#training-algorithms) for more details.
trainable | bool | True if the transform is trainable, false otherwise. Trainable transforms need to overload the [train](functions.md#train-1) function.
+
+
+[Mat]: http://docs.opencv.org/modules/core/doc/basic_structures.html#mat "Mat"
diff --git a/docs/docs/api_docs/cpp_api/transform/statics.md b/docs/docs/api_docs/cpp_api/transform/statics.md
index 4785464..b893883 100644
--- a/docs/docs/api_docs/cpp_api/transform/statics.md
+++ b/docs/docs/api_docs/cpp_api/transform/statics.md
@@ -191,3 +191,9 @@ Convenience function for [load](../object/functions.md#load)
Transform out;
stream >> out;
out->description(); // returns "Example(property1=value1,property2=value2)"
+
+
+[QString]: http://doc.qt.io/qt-5/QString.html "QString"
+[QObject]: http://doc.qt.io/qt-5/QObject.html "QObject"
+[QSharedPointer]: http://doc.qt.io/qt-5/qsharedpointer.html "QSharedPointer"
+[QDataStream]: http://doc.qt.io/qt-5/qdatastream.html "QDataStream"
diff --git a/docs/docs/api_docs/cpp_api/wrappertransform/functions.md b/docs/docs/api_docs/cpp_api/wrappertransform/functions.md
index aaee9e9..f910a82 100644
--- a/docs/docs/api_docs/cpp_api/wrappertransform/functions.md
+++ b/docs/docs/api_docs/cpp_api/wrappertransform/functions.md
@@ -151,3 +151,6 @@ Get a smart copy, meaning a copy only if one is required, of this transform
newTransform | bool & | True if a new, simplified, transform was allocated inside this call, false otherwise
* **output:** ([Transform](../transform/transform.md) \*) Returns itself if the child transform is not time varying (no copy needed). newTransform is set to false in this case. If the child is time varying make a copy by calling [smartCopy](../timevaryingtransform/functions.md#smartcopy) on the child. newTransform is set to true in this case.
+
+
+[QList]: http://doc.qt.io/qt-5/QList.html "QList"
diff --git a/docs/docs/contributors.md b/docs/docs/contributors.md
deleted file mode 100644
index b989560..0000000
--- a/docs/docs/contributors.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-[jklontz]: https://github.com/jklontz "Joshua C. Klontz, jklontz@ieee.org"
-[mburge]: https://github.com/mburge "Dr. Mark J. Burge mburge@gmail.com"
-[bklare]: https://github.com/bklare "Dr. Brendan F. Klare brendan.klare@ieee.org"
-[mmtaborsky]: https://github.com/mmtaborsky "M. M. Taborsky mmtaborsky@gmail.com"
-[sklum]: https://github.com/sklum "Scott J. Klum scott.klum@gmail.com"
-[caotto]: https://github.com/caotto "Charles A. Otto ottochar@gmail.com"
-[lbestrowden]: https://github.com/lbestrowden "Lacey S. Best-Rowden bestrow1@msu.edu"
-[imaus10]: https://github.com/imaus10 "Austin Blanton imaus10@gmail.com"
-[dgcrouse]: https://github.com/dgcrouse "David G. Crouse dgcrouse@gmail.com"
-[baba1472]: https://github.com/baba1472 "Babatunde Ogunfemi ogunfemi.b@gmail.com"
-[jcheney]: https://github.com/JordanCheney "Jordan Cheney jordan.cheney@gmail.com"
diff --git a/docs/docs/links.md b/docs/docs/links.md
deleted file mode 100644
index a420701..0000000
--- a/docs/docs/links.md
+++ /dev/null
@@ -1,39 +0,0 @@
-
-[Qt]: http://qt-project.org/ "Qt"
-[QApplication]: http://doc.qt.io/qt-5/qapplication.html "QApplication"
-[QCoreApplication]: http://doc.qt.io/qt-5/qcoreapplication.html "QCoreApplication"
-[QObject]: http://doc.qt.io/qt-5/QObject.html "QObject"
-[Qt Property System]: http://doc.qt.io/qt-5/properties.html "Qt Property System"
-
-[QString]: http://doc.qt.io/qt-5/QString.html "QString"
-[QStringList]: http://doc.qt.io/qt-5/qstringlist.html "QStringList"
-
-[QList]: http://doc.qt.io/qt-5/QList.html "QList"
-[QMap]: http://doc.qt.io/qt-5/qmap.html "QMap"
-[QHash]: http://doc.qt.io/qt-5/qhash.html "QHash"
-
-[QRectF]: http://doc.qt.io/qt-5/qrectf.html "QRectF"
-[QPoint]: http://doc.qt.io/qt-5/qpoint.html "QPoint"
-[QPointF]: http://doc.qt.io/qt-5/qpointf.html "QPointF"
-
-[QVariant]: http://doc.qt.io/qt-5/qvariant.html "QVariant"
-[QVariantList]: http://doc.qt.io/qt-5/qvariant.html#QVariantList-typedef "QVariantList"
-[QVariantMap]: http://doc.qt.io/qt-5/qvariant.html#QVariantMap-typedef "QVariantMap"
-
-[QRegExp]: http://doc.qt.io/qt-5/QRegExp.html "QRegExp"
-[QThread]: http://doc.qt.io/qt-5/qthread.html "QThread"
-[QFile]: http://doc.qt.io/qt-5/qfile.html "QFile"
-
-[QSharedPointer]: http://doc.qt.io/qt-5/qsharedpointer.html "QSharedPointer"
-
-[QTime]: http://doc.qt.io/qt-5/QTime.html "QTime"
-[QDebug]: http://doc.qt.io/qt-5/qdebug.html "QDebug"
-[QDataStream]: http://doc.qt.io/qt-5/qdatastream.html "QDataStream"
-[QByteArray]: http://doc.qt.io/qt-5/qbytearray.html "QByteArray"
-
-[R]: http://www.r-project.org/ "R"
-[Mat]: http://docs.opencv.org/modules/core/doc/basic_structures.html#mat "Mat"
-[Rect]: http://docs.opencv.org/modules/core/doc/basic_structures.html#rect "Rect"
-[InputArray]: http://docs.opencv.org/modules/core/doc/basic_structures.html#inputarray "InputArray"
-[OutputArray]: http://docs.opencv.org/modules/core/doc/basic_structures.html#outputarray "OutputArray"
-[OpenCV Image Formats]: http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=imread#imread "OpenCV Image Formats"
diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml
index 070e160..a6abd48 100644
--- a/docs/mkdocs.yml
+++ b/docs/mkdocs.yml
@@ -5,8 +5,6 @@ copyright: 2012 The MITRE Corporation
theme: readthedocs
theme_dir: themes/readthedocs/
-links_file: docs/links.md
-contributors_file: docs/contributors.md
include_next_prev: False
diff --git a/docs/scripts/check_links.py b/docs/scripts/check_links.py
index b3c5fa9..badebc1 100644
--- a/docs/scripts/check_links.py
+++ b/docs/scripts/check_links.py
@@ -101,11 +101,10 @@ def main():
docs_dir = '../docs/'
ext = 'md'
- links = open('../docs/links.md', 'r').read()
md_files = walk(docs_dir, ext)
md = markdown.Markdown( ['meta', 'toc', 'tables', 'fenced_code', 'attr_list', 'footnotes'] )
- html_files = [md.convert(open(f, 'r', encoding='utf-8').read() + "\n\n" + links) for f in md_files]
+ html_files = [md.convert(open(f, 'r', encoding='utf-8').read()) for f in md_files]
headers = {}
links = {}
diff --git a/docs/scripts/generate_plugin_docs.py b/docs/scripts/generate_plugin_docs.py
index d9048a8..7bbca10 100644
--- a/docs/scripts/generate_plugin_docs.py
+++ b/docs/scripts/generate_plugin_docs.py
@@ -17,6 +17,20 @@ abstractions = ['FileList', 'File',
'Classifier'
]
+contributors = [
+ '[jklontz]: https://github.com/jklontz "Joshua C. Klontz, jklontz@ieee.org"',
+ '[mburge]: https://github.com/mburge "Dr. Mark J. Burge mburge@gmail.com"',
+ '[bklare]: https://github.com/bklare "Dr. Brendan F. Klare brendan.klare@ieee.org"',
+ '[mmtaborsky]: https://github.com/mmtaborsky "M. M. Taborsky mmtaborsky@gmail.com"',
+ '[sklum]: https://github.com/sklum "Scott J. Klum scott.klum@gmail.com"',
+ '[caotto]: https://github.com/caotto "Charles A. Otto ottochar@gmail.com"',
+ '[lbestrowden]: https://github.com/lbestrowden "Lacey S. Best-Rowden bestrow1@msu.edu"',
+ '[imaus10]: https://github.com/imaus10 "Austin Blanton imaus10@gmail.com"',
+ '[dgcrouse]: https://github.com/dgcrouse "David G. Crouse dgcrouse@gmail.com"',
+ '[baba1472]: https://github.com/baba1472 "Babatunde Ogunfemi ogunfemi.b@gmail.com"',
+ '[jcheney]: https://github.com/JordanCheney "Jordan Cheney jordan.cheney@gmail.com"'
+ ]
+
def subfiles(path):
return [name for name in os.listdir(path) if os.path.isfile(os.path.join(path, name)) and not name[0] == '.']
@@ -255,4 +269,9 @@ def main():
for name in sorted(names):
output_file.write(docs[name])
+
+ output_file.write("\n")
+ for contributor in contributors:
+ output_file.write(contributor + "\n")
+
main()