[at-spi2-core: 1/4] Docs: Move to gi-docgen




commit 837c050e48ea73f6dcf5ef9ff7120bc7da8b38ad
Author: Thomas Booker <tw booker outlook com>
Date:   Sat Sep 10 14:11:44 2022 +1200

    Docs: Move to gi-docgen

 .gitlab-ci.yml                                |   6 +-
 atk/atkaction.c                               |   6 +-
 atk/atkcomponent.c                            |   6 +-
 atk/atkdocument.c                             |   6 +-
 atk/atkeditabletext.c                         |   9 +-
 atk/atkgobjectaccessible.c                    |   7 +-
 atk/atkhyperlink.c                            |   7 +-
 atk/atkhyperlinkimpl.c                        |   6 +-
 atk/atkhypertext.c                            |   7 +-
 atk/atkimage.c                                |   6 +-
 atk/atkmisc.c                                 |   6 +-
 atk/atknoopobject.c                           |   6 +-
 atk/atknoopobjectfactory.c                    |   6 +-
 atk/atkobject.c                               |   8 +-
 atk/atkobjectfactory.c                        |   6 +-
 atk/atkplug.c                                 |   8 +-
 atk/atkrange.c                                |   6 +-
 atk/atkregistry.c                             |   6 +-
 atk/atkrelation.c                             |   6 +-
 atk/atkrelationset.c                          |   6 +-
 atk/atkselection.c                            |   7 +-
 atk/atksocket.c                               |   9 +-
 atk/atkstate.c                                |   9 +-
 atk/atkstateset.c                             |   6 +-
 atk/atkstreamablecontent.c                    |   7 +-
 atk/atktable.c                                |   7 +-
 atk/atktablecell.c                            |   9 +-
 atk/atktext.c                                 |   7 +-
 atk/atkutil.c                                 |   6 +-
 atk/atkutil.h                                 |  11 +-
 atk/atkvalue.c                                |   8 +-
 atk/atkversion.c                              |   8 +-
 atk/atkwindow.c                               |   8 +-
 atk/meson.build                               |   4 +-
 atspi/atspi-accessible.c                      |  10 +
 atspi/atspi-application.c                     |  10 +
 atspi/atspi-collection.c                      |  11 +
 atspi/atspi-component.c                       |  16 +
 atspi/atspi-constants.h                       |   6 +
 atspi/atspi-device-listener.c                 |  10 +
 atspi/atspi-editabletext.c                    |  12 +
 atspi/atspi-event-listener.c                  |  12 +
 atspi/atspi-hyperlink.c                       |  15 +
 atspi/atspi-hypertext.c                       |  13 +
 atspi/atspi-matchrule.c                       |   7 +
 atspi/atspi-misc.c                            |   6 +
 atspi/atspi-registry.c                        |  12 +
 atspi/atspi-relation.c                        |  11 +
 atspi/atspi-selection.c                       |  13 +
 atspi/atspi-stateset.c                        |   7 +
 atspi/atspi-table.c                           |  16 +
 atspi/atspi-text.c                            |  15 +
 atspi/atspi-types.h                           |  11 +-
 atspi/atspi-value.c                           |  12 +
 doc/atk.toml.in                               |  52 ++
 doc/atk/atk-docs.xml                          | 146 -----
 doc/atk/atk-sections.txt                      | 785 --------------------------
 doc/atk/meson.build                           |  32 --
 doc/atk/xml/gtkdocentities.ent.in             |   8 -
 doc/atk/xml/meson.build                       |  14 -
 doc/libatspi.toml.in                          |  44 ++
 doc/libatspi/libatspi-docs.sgml               |  57 --
 doc/libatspi/libatspi-sections.txt            | 688 ----------------------
 doc/libatspi/libatspi.types                   |  25 -
 doc/libatspi/meson.build                      |  32 --
 doc/libatspi/tmpl/atspi-accessible.sgml       | 334 -----------
 doc/libatspi/tmpl/atspi-action.sgml           |  82 ---
 doc/libatspi/tmpl/atspi-application.sgml      |  47 --
 doc/libatspi/tmpl/atspi-collection.sgml       |  99 ----
 doc/libatspi/tmpl/atspi-component.sgml        | 194 -------
 doc/libatspi/tmpl/atspi-constants.sgml        | 500 ----------------
 doc/libatspi/tmpl/atspi-device-listener.sgml  |  98 ----
 doc/libatspi/tmpl/atspi-document.sgml         |  59 --
 doc/libatspi/tmpl/atspi-editabletext.sgml     | 104 ----
 doc/libatspi/tmpl/atspi-event-listener.sgml   | 156 -----
 doc/libatspi/tmpl/atspi-hyperlink.sgml        | 114 ----
 doc/libatspi/tmpl/atspi-hypertext.sgml        |  65 ---
 doc/libatspi/tmpl/atspi-image.sgml            |  80 ---
 doc/libatspi/tmpl/atspi-listener-private.sgml |  22 -
 doc/libatspi/tmpl/atspi-matchrule.sgml        |  54 --
 doc/libatspi/tmpl/atspi-misc-private.sgml     | 357 ------------
 doc/libatspi/tmpl/atspi-misc.sgml             |  53 --
 doc/libatspi/tmpl/atspi-object.sgml           |  35 --
 doc/libatspi/tmpl/atspi-registry.sgml         | 133 -----
 doc/libatspi/tmpl/atspi-relation.sgml         |  66 ---
 doc/libatspi/tmpl/atspi-selection.sgml        | 118 ----
 doc/libatspi/tmpl/atspi-stateset.sgml         | 122 ----
 doc/libatspi/tmpl/atspi-table.sgml            | 324 -----------
 doc/libatspi/tmpl/atspi-text.sgml             | 336 -----------
 doc/libatspi/tmpl/atspi-types.sgml            | 187 ------
 doc/libatspi/tmpl/atspi-value.sgml            |  83 ---
 doc/libatspi/tmpl/libatspi-unused.sgml        |  82 ---
 doc/libatspi/version.xml.in                   |   1 -
 doc/logo.png                                  | Bin 0 -> 18242 bytes
 doc/meson.build                               |  76 ++-
 doc/urlmap.js                                 |  17 +
 subprojects/gi-docgen.wrap                    |   6 +
 tests/atk/testvalue.c                         |   5 +-
 98 files changed, 534 insertions(+), 5819 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 740bc14d..210928a2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -187,10 +187,10 @@ reference:
     MESON_EXTRA_FLAGS: "--buildtype=release -Ddocs=true"
   script:
     - meson setup ${MESON_EXTRA_FLAGS} --prefix /usr _build .
-    - ninja -C _build libatspi-doc atk-doc   # target names generated by meson's gnome.gtkdoc function
+    - ninja -C _build doc/atk doc/libatspi  # target names generated by meson's gnome.gtkdoc function
     - mkdir _reference
-    - mv _build/doc/libatspi/html _reference/libatspi
-    - mv _build/doc/atk/html _reference/atk
+    - mv _build/doc/libatspi _reference/libatspi
+    - mv _build/doc/atk _reference/atk
   artifacts:
     paths:
       - _reference
diff --git a/atk/atkaction.c b/atk/atkaction.c
index bc12cb23..03407aae 100644
--- a/atk/atkaction.c
+++ b/atk/atkaction.c
@@ -22,10 +22,10 @@
 #include "atkaction.h"
 
 /**
- * SECTION:atkaction
- * @Short_description: The ATK interface provided by UI components
+ * AtkAction:
+ * 
+ * The ATK interface provided by UI components
  * which the user can activate/interact with.
- * @Title:AtkAction
  *
  * #AtkAction should be implemented by instances of #AtkObject classes
  * with which the user can interact directly, i.e. buttons,
diff --git a/atk/atkcomponent.c b/atk/atkcomponent.c
index 3949116b..271f1fa3 100644
--- a/atk/atkcomponent.c
+++ b/atk/atkcomponent.c
@@ -22,11 +22,11 @@
 #include "atkcomponent.h"
 
 /**
- * SECTION:atkcomponent
- * @Short_description: The ATK interface provided by UI components
+ * AtkComponent:
+ * 
+ * The ATK interface provided by UI components
  * which occupy a physical area on the screen.
  * which the user can activate/interact with.
- * @Title:AtkComponent
  *
  * #AtkComponent should be implemented by most if not all UI elements
  * with an actual on-screen presence, i.e. components which can be
diff --git a/atk/atkdocument.c b/atk/atkdocument.c
index b661c267..b4825ebd 100644
--- a/atk/atkdocument.c
+++ b/atk/atkdocument.c
@@ -22,10 +22,10 @@
 #include "atkdocument.h"
 
 /**
- * SECTION:atkdocument
- * @Short_description: The ATK interface which represents the toplevel
+ * AtkDocument:
+ *
+ * The ATK interface which represents the toplevel
  *  container for document content.
- * @Title:AtkDocument
  *
  * The AtkDocument interface should be supported by any object whose
  * content is a representation or view of a document.  The AtkDocument
diff --git a/atk/atkeditabletext.c b/atk/atkeditabletext.c
index d44f8bff..7085be36 100644
--- a/atk/atkeditabletext.c
+++ b/atk/atkeditabletext.c
@@ -22,10 +22,9 @@
 #include "atkeditabletext.h"
 
 /**
- * SECTION:atkeditabletext
- * @Short_description: The ATK interface implemented by components
- *  containing user-editable text content.
- * @Title:AtkEditableText
+ * AtkEditableText:
+ *
+ * The ATK interface implemented by components containing user-editable text content.
  *
  * #AtkEditableText should be implemented by UI components which
  * contain text which the user can edit, via the #AtkObject
@@ -35,7 +34,7 @@
  * which implements #AtkEditableText is by definition an #AtkText
  * implementor as well.
  *
- * See also: #AtkText
+ * See [iface@AtkText]
  */
 
 GType
diff --git a/atk/atkgobjectaccessible.c b/atk/atkgobjectaccessible.c
index d651c439..83967c46 100644
--- a/atk/atkgobjectaccessible.c
+++ b/atk/atkgobjectaccessible.c
@@ -24,10 +24,9 @@
 #include <atk/atkutil.h>
 
 /**
- * SECTION:atkgobjectaccessible
- * @Short_description: This object class is derived from AtkObject and
- *  can be used as a basis implementing accessible objects.
- * @Title:AtkGObjectAccessible
+ * AtkGObjectAccessible:
+ *
+ * This object class is derived from AtkObject and can be used as a basis implementing accessible objects.
  *
  * This object class is derived from AtkObject. It can be used as a
  * basis for implementing accessible objects for GObjects which are
diff --git a/atk/atkhyperlink.c b/atk/atkhyperlink.c
index ae2e2e76..4caa8d44 100644
--- a/atk/atkhyperlink.c
+++ b/atk/atkhyperlink.c
@@ -22,10 +22,9 @@
 #include <glib/gi18n-lib.h>
 
 /**
- * SECTION:atkhyperlink
- * @Short_description: An ATK object which encapsulates a link or set
- *  of links in a hypertext document.
- * @Title:AtkHyperlink
+ * AtkHyperlink:
+ *
+ * An ATK object which encapsulates a link or set of links in a hypertext document.
  *
  * An ATK object which encapsulates a link or set of links (for
  * instance in the case of client-side image maps) in a hypertext
diff --git a/atk/atkhyperlinkimpl.c b/atk/atkhyperlinkimpl.c
index 7021bcf6..0814fa61 100644
--- a/atk/atkhyperlinkimpl.c
+++ b/atk/atkhyperlinkimpl.c
@@ -23,10 +23,10 @@
 #include "atkhyperlinkimpl.h"
 
 /**
- * SECTION:atkhyperlinkimpl
- * @Short_description: An interface from which the AtkHyperlink
+ * AtkHyperlinImpl:
+ *
+ * An interface from which the AtkHyperlink
  *  associated with an AtkObject may be obtained.
- * @Title:AtkHyperlinImpl
  *
  * AtkHyperlinkImpl allows AtkObjects to refer to their associated
  * AtkHyperlink instance, if one exists.  AtkHyperlinkImpl differs
diff --git a/atk/atkhypertext.c b/atk/atkhypertext.c
index 984899a5..6a664db4 100644
--- a/atk/atkhypertext.c
+++ b/atk/atkhypertext.c
@@ -22,10 +22,9 @@
 #include "atkhypertext.h"
 
 /**
- * SECTION:atkhypertext
- * @Short_description: The ATK interface which provides standard
- *  mechanism for manipulating hyperlinks.
- * @Title:AtkHypertext
+ * AtkHypertext:
+ *
+ * The ATK interface which provides standard mechanism for manipulating hyperlinks.
  *
  * An interface used for objects which implement linking between
  * multiple resource or content locations, or multiple 'markers'
diff --git a/atk/atkimage.c b/atk/atkimage.c
index 3a7bdc78..7ea9d163 100644
--- a/atk/atkimage.c
+++ b/atk/atkimage.c
@@ -22,10 +22,10 @@
 #include "atkimage.h"
 
 /**
- * SECTION:atkimage
- * @Short_description: The ATK Interface implemented by components
+ * AtkImage:
+ *
+ * The ATK Interface implemented by components
  *  which expose image or pixmap content on-screen.
- * @Title:AtkImage
  *
  * #AtkImage should be implemented by #AtkObject subtypes on behalf of
  * components which display image/pixmap information onscreen, and
diff --git a/atk/atkmisc.c b/atk/atkmisc.c
index cd59a079..beca3db2 100644
--- a/atk/atkmisc.c
+++ b/atk/atkmisc.c
@@ -22,9 +22,9 @@
 #include "atkmisc.h"
 
 /**
- * SECTION:atkmisc
- * @Short_description: A set of ATK utility functions for thread locking
- * @Title:AtkMisc
+ * AtkMisc:
+ *
+ * A set of ATK utility functions for thread locking
  *
  * A set of utility functions for thread locking. This interface and
  * all his related methods are deprecated since 2.12.
diff --git a/atk/atknoopobject.c b/atk/atknoopobject.c
index 41b6551d..939bee83 100644
--- a/atk/atknoopobject.c
+++ b/atk/atknoopobject.c
@@ -23,9 +23,9 @@
 #include "atknoopobject.h"
 
 /**
- * SECTION:atknoopobject
- * @Short_description: An AtkObject which purports to implement all ATK interfaces.
- * @Title:AtkNoOpObject
+ * AtkNoOpObject:
+ *
+ * An AtkObject which purports to implement all ATK interfaces.
  *
  * An AtkNoOpObject is an AtkObject which purports to implement all
  * ATK interfaces. It is the type of AtkObject which is created if an
diff --git a/atk/atknoopobjectfactory.c b/atk/atknoopobjectfactory.c
index 501476b7..3026cac4 100644
--- a/atk/atknoopobjectfactory.c
+++ b/atk/atknoopobjectfactory.c
@@ -24,9 +24,9 @@
 #include "atknoopobjectfactory.h"
 
 /**
- * SECTION:atknoopobjectfactory
- * @Short_description: The AtkObjectFactory which creates an AtkNoOpObject.
- * @Title:AtkNoOpObjectFactory
+ * AtkNoOpObjectFactory:
+ *
+ * The AtkObjectFactory which creates an AtkNoOpObject.
  *
  * The AtkObjectFactory which creates an AtkNoOpObject. An instance of
  * this is created by an AtkRegistry if no factory type has not been
diff --git a/atk/atkobject.c b/atk/atkobject.c
index 68827af3..fb96b730 100644
--- a/atk/atkobject.c
+++ b/atk/atkobject.c
@@ -30,9 +30,9 @@
 #include "atkprivate.h"
 
 /**
- * SECTION:atkobject
- * @Short_description: The base object class for the Accessibility Toolkit API.
- * @Title:AtkObject
+ * AtkObject:
+ *
+ * The base object class for the Accessibility Toolkit API.
  *
  * This class is the primary class for accessibility support via the
  * Accessibility ToolKit (ATK).  Objects which are instances of
@@ -52,7 +52,7 @@
  * implementation is insufficient, via instances of a new #AtkObject
  * subclass.
  *
- * See also: #AtkObjectFactory, #AtkRegistry.  (GTK+ users see also
+ * See [class@AtkObjectFactory], [class@AtkRegistry].  (GTK+ users see also
  * #GtkAccessible).
  *
  */
diff --git a/atk/atkobjectfactory.c b/atk/atkobjectfactory.c
index 298f3c24..a49464c6 100644
--- a/atk/atkobjectfactory.c
+++ b/atk/atkobjectfactory.c
@@ -23,10 +23,10 @@
 #include "atknoopobjectfactory.h"
 
 /**
- * SECTION:atkobjectfactory
- * @Short_description: The base object class for a factory used to
+ * AtkObjectFactory:
+ *
+ * The base object class for a factory used to
  *  create accessible objects for objects of a specific GType.
- * @Title:AtkObjectFactory
  *
  * This class is the base object class for a factory used to create an
  * accessible object for a specific GType. The function
diff --git a/atk/atkplug.c b/atk/atkplug.c
index ddd86ed0..87a7aeee 100644
--- a/atk/atkplug.c
+++ b/atk/atkplug.c
@@ -23,13 +23,11 @@
 #include "atkplug.h"
 
 /**
- * SECTION:atkplug
- * @Short_description: Toplevel for embedding into other processes
- * @Title: AtkPlug
- * @See_also: #AtkPlug
+ * AtkPlug:
  *
- * See #AtkSocket
+ * Toplevel for embedding into other processes
  *
+ * See [class@AtkSocket]
  */
 
 static void atk_component_interface_init (AtkComponentIface *iface);
diff --git a/atk/atkrange.c b/atk/atkrange.c
index bb69ca5c..b8ae3422 100644
--- a/atk/atkrange.c
+++ b/atk/atkrange.c
@@ -24,9 +24,9 @@
 #include "atkvalue.h"
 
 /**
- * SECTION:atkrange
- * @Short_description: A given range or subrange, to be used with #AtkValue
- * @Title:AtkRange
+ * AtkRange:
+ *
+ * A given range or subrange, to be used with #AtkValue
  *
  * #AtkRange are used on #AtkValue, in order to represent the full
  * range of a given component (for example an slider or a range
diff --git a/atk/atkregistry.c b/atk/atkregistry.c
index 45fabdeb..efa9cb49 100644
--- a/atk/atkregistry.c
+++ b/atk/atkregistry.c
@@ -23,11 +23,11 @@
 #include "atknoopobjectfactory.h"
 
 /**
- * SECTION:atkregistry
- * @Short_description: An object used to store the GType of the
+ * AtkRegistry:
+ *
+ * An object used to store the GType of the
  * factories used to create an accessible object for an object of a
  * particular GType.
- * @Title:AtkRegistry
  *
  * The AtkRegistry is normally used to create appropriate ATK "peers"
  * for user interface components.  Application developers usually need
diff --git a/atk/atkrelation.c b/atk/atkrelation.c
index 6dcb1c47..4ea9de81 100644
--- a/atk/atkrelation.c
+++ b/atk/atkrelation.c
@@ -24,10 +24,10 @@
 #include "atk.h"
 
 /**
- * SECTION:atkrelation
- * @Short_description: An object used to describe a relation between a
+ * AtkRelation:
+ *
+ * An object used to describe a relation between a
  *  object and one or more other objects.
- * @Title:AtkRelation
  *
  * An AtkRelation describes a relation between an object and one or
  * more other objects. The actual relations that an object has with
diff --git a/atk/atkrelationset.c b/atk/atkrelationset.c
index 95d50e66..476a8216 100644
--- a/atk/atkrelationset.c
+++ b/atk/atkrelationset.c
@@ -24,10 +24,10 @@
 #include "atk.h"
 
 /**
- * SECTION:atkrelationset
- * @Short_description: A set of AtkRelations, normally the set of
+ * AtkRelationSet:
+ *
+ * A set of AtkRelations, normally the set of
  *  AtkRelations which an AtkObject has.
- * @Title:AtkRelationSet
  *
  * The AtkRelationSet held by an object establishes its relationships
  * with objects beyond the normal "parent/child" hierarchical
diff --git a/atk/atkselection.c b/atk/atkselection.c
index d4bd8363..34d6a5b7 100644
--- a/atk/atkselection.c
+++ b/atk/atkselection.c
@@ -22,10 +22,9 @@
 #include "atkselection.h"
 
 /**
- * SECTION:atkselection
- * @Short_description: The ATK interface implemented by container
- *  objects whose #AtkObject children can be selected.
- * @Title:AtkSelection
+ * AtkSelection:
+ *
+ * The ATK interface implemented by container objects whose #AtkObject children can be selected.
  *
  * #AtkSelection should be implemented by UI components with children
  * which are exposed by #atk_object_ref_child and
diff --git a/atk/atksocket.c b/atk/atksocket.c
index 887fb5c0..7cedba0c 100644
--- a/atk/atksocket.c
+++ b/atk/atksocket.c
@@ -23,10 +23,9 @@
 #include "atksocket.h"
 
 /**
- * SECTION:atksocket
- * @Short_description: Container for AtkPlug objects from other processes
- * @Title: AtkSocket
- * @See_also: #AtkPlug
+ * AtkSocket:
+ *
+ * Container for AtkPlug objects from other processes
  *
  * Together with #AtkPlug, #AtkSocket provides the ability to embed
  * accessibles from one process into another in a fashion that is
@@ -50,6 +49,8 @@
  * atk_object_get_n_accessible_children() and
  * atk_object_ref_accessible_child(). All the logic related to those
  * functions will be implemented by the IPC layer.
+ *
+ * See [class@AtkPlug]
  */
 
 static void atk_socket_finalize   (GObject *obj);
diff --git a/atk/atkstate.c b/atk/atkstate.c
index 5d5bd175..369c6ab4 100644
--- a/atk/atkstate.c
+++ b/atk/atkstate.c
@@ -24,13 +24,14 @@
 #include <string.h>
 
 /**
- * SECTION:atkstate
- * @Short_description: An AtkState describes a single state of an object.
- * @Title:AtkState
+ * AtkState:
+ *
+ * An AtkState describes a single state of an object.
  *
  * An AtkState describes a single state of an object. The full set of states
  * that apply to an object at a given time are contained in its #AtkStateSet.
- * See also #atk_object_ref_state_set and #atk_object_notify_state_change.
+ *
+ * See [id@atk_object_ref_state_set] and [id@atk_object_notify_state_change]
  */
 
 static guint last_type = ATK_STATE_LAST_DEFINED;
diff --git a/atk/atkstateset.c b/atk/atkstateset.c
index d240ee6e..957786d6 100644
--- a/atk/atkstateset.c
+++ b/atk/atkstateset.c
@@ -25,9 +25,9 @@
 #include "atkstateset.h"
 
 /**
- * SECTION:atkstateset
- * @Short_description: An AtkStateSet contains the states of an object.
- * @Title:AtkStateSet
+ * AtkStateSet:
+ *
+ * An AtkStateSet contains the states of an object.
  *
  * An AtkStateSet is a read-only representation of the full set of #AtkStates
  * that apply to an object at a given time. This set is not meant to be
diff --git a/atk/atkstreamablecontent.c b/atk/atkstreamablecontent.c
index 571ca2b6..2ace98ed 100644
--- a/atk/atkstreamablecontent.c
+++ b/atk/atkstreamablecontent.c
@@ -22,10 +22,9 @@
 #include "atkstreamablecontent.h"
 
 /**
- * SECTION:atkstreamablecontent
- * @Short_description: The ATK interface which provides access to
- *  streamable content.
- * @Title:AtkStreamableContent
+ * AtkStreamableContent:
+ *
+ * The ATK interface which provides access to streamable content.
  *
  * An interface whereby an object allows its backing content to be
  * streamed to clients.  Typical implementors would be images or
diff --git a/atk/atktable.c b/atk/atktable.c
index 082de56d..dbdfca39 100644
--- a/atk/atktable.c
+++ b/atk/atktable.c
@@ -23,10 +23,9 @@
 #include "atkmarshal.h"
 
 /**
- * SECTION:atktable
- * @Short_description: The ATK interface implemented for UI components
- *  which contain tabular or row/column information.
- * @Title:AtkTable
+ * AtkTable:
+ *
+ * The ATK interface implemented for UI components which contain tabular or row/column information.
  *
  * #AtkTable should be implemented by components which present
  * elements ordered via rows and columns.  It may also be used to
diff --git a/atk/atktablecell.c b/atk/atktablecell.c
index 1cec6fa2..67bfdbfb 100644
--- a/atk/atktablecell.c
+++ b/atk/atktablecell.c
@@ -23,16 +23,15 @@
 
 
 /**
- * SECTION:atktablecell
- * @Short_description: The ATK interface implemented for a cell inside
- * a two-dimentional #AtkTable
- * @Title:AtkTableCell
+ * AtkTableCell:
+ *
+ * The ATK interface implemented for a cell inside a two-dimentional #AtkTable
  *
  * Being #AtkTable a component which present elements ordered via rows
  * and columns, an #AtkTableCell is the interface which each of those
  * elements, so "cells" should implement.
  *
- * See also #AtkTable.
+ * See [iface@AtkTable]
  */
 
 typedef AtkTableCellIface AtkTableCellInterface;
diff --git a/atk/atktext.c b/atk/atktext.c
index 95b91f92..a2da5989 100644
--- a/atk/atktext.c
+++ b/atk/atktext.c
@@ -25,10 +25,9 @@
 #include <string.h>
 
 /**
- * SECTION:atktext
- * @Short_description: The ATK interface implemented by components
- *  with text content.
- * @Title:AtkText
+ * AtkText:
+ *
+ * The ATK interface implemented by components with text content.
  *
  * #AtkText should be implemented by #AtkObjects on behalf of widgets
  * that have text content which is either attributed or otherwise
diff --git a/atk/atkutil.c b/atk/atkutil.c
index ec61612d..7e1870b6 100644
--- a/atk/atkutil.c
+++ b/atk/atkutil.c
@@ -23,9 +23,9 @@
 #include "atkmarshal.h"
 
 /**
- * SECTION:atkutil
- * @Short_description: A set of ATK utility functions for event and toolkit support.
- * @Title:AtkUtil
+ * AtkUtil:
+ *
+ * A set of ATK utility functions for event and toolkit support.
  *
  * A set of ATK utility functions which are used to support event
  * registration of various types, and obtaining the 'root' accessible
diff --git a/atk/atkutil.h b/atk/atkutil.h
index 2bac9631..28371d85 100644
--- a/atk/atkutil.h
+++ b/atk/atkutil.h
@@ -54,7 +54,7 @@ typedef struct _AtkKeyEventStruct AtkKeyEventStruct;
  * supported are events of type "focus:".  Most clients of ATK will prefer to 
  * attach signal handlers for the various ATK signals instead.
  *
- * see atk_add_focus_tracker.
+ * see [id@atk_add_focus_tracker]
  **/
 typedef void  (*AtkEventListener) (AtkObject* obj);
 /**
@@ -64,7 +64,7 @@ typedef void  (*AtkEventListener) (AtkObject* obj);
  * called in order to initialize the per-object event registration system
  * used by #AtkEventListener, if any preparation is required.  
  *
- * see atk_focus_tracker_init.
+ * see [id@atk_focus_tracker_init]
  **/
 typedef void  (*AtkEventListenerInit) (void);
 /**
@@ -81,13 +81,16 @@ typedef void  (*AtkEventListenerInit) (void);
  * discarded without being passed to the normal GUI recipient; FALSE (zero) if the 
  * event dispatch to the client application should proceed as normal.
  *
- * see atk_add_key_event_listener.
+ * see [id@atk_add_key_event_listener]
  **/
 typedef gint  (*AtkKeySnoopFunc)  (AtkKeyEventStruct *event,
                                   gpointer user_data);
 
 /**
  * AtkKeyEventStruct:
+ *
+ * Encapsulates information about a key event.
+ *
  * @type: An AtkKeyEventType, generally one of ATK_KEY_EVENT_PRESS or ATK_KEY_EVENT_RELEASE
  * @state: A bitmask representing the state of the modifier keys immediately after the event takes place.   
  * The meaning of the bits is currently defined to match the bitmask used by GDK in
@@ -104,8 +107,6 @@ typedef gint  (*AtkKeySnoopFunc)  (AtkKeyEventStruct *event,
  * @timestamp: A timestamp in milliseconds indicating when the event occurred.  
  * These timestamps are relative to a starting point which should be considered arbitrary, 
  * and only used to compare the dispatch times of events to one another.
- *
- * Encapsulates information about a key event.
  **/
 struct _AtkKeyEventStruct {
   gint type;
diff --git a/atk/atkvalue.c b/atk/atkvalue.c
index ae7242f7..2b352dd0 100644
--- a/atk/atkvalue.c
+++ b/atk/atkvalue.c
@@ -28,11 +28,9 @@
 #include "atkprivate.h"
 
 /**
- * SECTION:atkvalue
- * @Short_description: The ATK interface implemented by valuators and
- *  components which display or select a value from a bounded range of
- *  values.
- * @Title:AtkValue
+ * AtkValue:
+ *
+ * The ATK interface implemented by valuators and components which display or select a value from a bounded 
range of values.
  *
  * #AtkValue should be implemented for components which either display
  * a value from a bounded range, or which allow the user to specify a
diff --git a/atk/atkversion.c b/atk/atkversion.c
index eae1460b..388a801e 100644
--- a/atk/atkversion.c
+++ b/atk/atkversion.c
@@ -25,9 +25,11 @@
 #include "atk.h"
 
 /**
- * SECTION:atkversion
- * @Short_description: Variables and functions to check the ATK version
- * @Title: Versioning macros
+ * atkversion:
+ *
+ * TODO title Versioning macros
+ *
+ * Variables and functions to check the ATK version
  *
  * ATK provides a set of macros and methods for checking the version
  * of the library at compile and run time.
diff --git a/atk/atkwindow.c b/atk/atkwindow.c
index 8e7ad8ac..8f6d06a1 100644
--- a/atk/atkwindow.c
+++ b/atk/atkwindow.c
@@ -23,15 +23,15 @@
 #include "atkmarshal.h"
 
 /**
- * SECTION:atkwindow
- * @Short_description: The ATK Interface provided by UI components that represent a top-level window.
- * @Title: AtkWindow
- * @See_also: #AtkObject
+ * AtkWindow:
+ *
+ * The ATK Interface provided by UI components that represent a top-level window.
  *
  * #AtkWindow should be implemented by the UI elements that represent
  * a top-level window, such as the main window of an application or
  * dialog.
  *
+ * See [class@AtkObject]
  */
 
 enum {
diff --git a/atk/meson.build b/atk/meson.build
index e99160e3..d216b680 100644
--- a/atk/meson.build
+++ b/atk/meson.build
@@ -138,7 +138,7 @@ libatk = library(atk_api_name,
 atk_sources_dep = [ atk_enum_h ]
 
 if have_gir
-  atk_sources_dep += gnome.generate_gir(libatk,
+  atk_gir = gnome.generate_gir(libatk,
     sources: atk_sources + atk_headers + [ atk_enum_h ] + [ atk_version_h ],
     namespace: 'Atk',
     nsversion: atk_api_version,
@@ -153,6 +153,8 @@ if have_gir
       '-DATK_COMPILATION',
     ],
   )
+
+  atk_sources_dep += atk_gir
 endif
 
 libatk_dep = declare_dependency(link_with: libatk,
diff --git a/atspi/atspi-accessible.c b/atspi/atspi-accessible.c
index 9c4725a4..d7d3f833 100644
--- a/atspi/atspi-accessible.c
+++ b/atspi/atspi-accessible.c
@@ -26,6 +26,16 @@
 #include "atspi-accessible-private.h"
 #include <string.h>
 
+/**
+ * AtspiAccessible:
+ *
+ * The base interface which is implemented by all accessible objects.
+ *
+ * All objects support interfaces for querying their contained 'children'
+ * and position in the accessible-object hierarchy, whether or not they
+ * actually have children.
+ */
+
 enum {
   REGION_CHANGED,
   MODE_CHANGED,
diff --git a/atspi/atspi-application.c b/atspi/atspi-application.c
index cccaf861..8045a819 100644
--- a/atspi/atspi-application.c
+++ b/atspi/atspi-application.c
@@ -23,6 +23,16 @@
 
 #include "atspi-private.h"
 
+/**
+ * AtspiApplication:
+ *
+ * An interface identifying the root object associated
+ * with a running application.
+ *
+ * An interface identifying an object which is the root of the
+ * hierarchy associated with a running application.
+ */
+
 G_DEFINE_TYPE (AtspiApplication, atspi_application, G_TYPE_OBJECT)
 
 static void
diff --git a/atspi/atspi-collection.c b/atspi/atspi-collection.c
index 34fbbabe..caf335be 100644
--- a/atspi/atspi-collection.c
+++ b/atspi/atspi-collection.c
@@ -25,6 +25,17 @@
 
 /* TODO: Improve documentation and implement some missing functions */
 
+/**
+ * AtspiCollection
+ *
+ * An interface designed to allow accessibles which satisfy a set of
+ * criteria to be returned.
+ *
+ * An interface designed to allow accessibles which satisfy a set of
+ * criteria to be returned. This interface can be used to avoid iteration
+ * or client-side search of the object tree.
+ */
+
 /**
  * atspi_collection_is_ancestor_of:
  *
diff --git a/atspi/atspi-component.c b/atspi/atspi-component.c
index 59879bb7..4a0238f2 100644
--- a/atspi/atspi-component.c
+++ b/atspi/atspi-component.c
@@ -30,6 +30,22 @@
 #include "atspi-private.h"
 #include "atspi-accessible-private.h"
 
+/**
+ * AtspiComponent
+ *
+ * An interface implemented by objects which have onscreen visual
+ * representations.
+ *
+ * The Component interface is implemented by objects which occupy on-screen
+ * space, e.g. objects which have onscreen visual representations. The methods
+ * in Component allow clients to identify where the objects lie in the onscreen
+ * coordinate system, their relative size, stacking order, and position. It
+ * also provides a mechanism whereby keyboard focus may be transferred to
+ * specific user interface elements programmatically.  This is a 2D API.
+ * Coordinates of 3D objects are projected into the 2-dimensional screen view
+ * for purposes of this interface.
+ */
+
 void
 atspi_rect_free (AtspiRect *rect)
 {
diff --git a/atspi/atspi-constants.h b/atspi/atspi-constants.h
index af9c4c20..9c0eb34f 100644
--- a/atspi/atspi-constants.h
+++ b/atspi/atspi-constants.h
@@ -84,6 +84,12 @@
 
  */
 
+/**
+ * AtspiConstants:
+ *
+ * Constant definitions needed by multiple interfaces.
+ */
+
 #ifndef _ATSPI_CONSTANTS_H_
 #define _ATSPI_CONSTANTS_H_
 #ifdef __cplusplus
diff --git a/atspi/atspi-device-listener.c b/atspi/atspi-device-listener.c
index e23b58d5..964d9160 100644
--- a/atspi/atspi-device-listener.c
+++ b/atspi/atspi-device-listener.c
@@ -25,6 +25,16 @@
 #include "atspi-private.h"
 #include <stdio.h>
 
+/**
+ * AtspiDevicelistener:
+ *
+ * An interface for creating and manipulating
+ * device listeners.
+ *
+ * An interface for creating and manipulating
+ * device listeners with callback functions.
+ */
+
 typedef struct
 {
   AtspiDeviceListenerCB    callback;
diff --git a/atspi/atspi-editabletext.c b/atspi/atspi-editabletext.c
index 350617eb..75af1593 100644
--- a/atspi/atspi-editabletext.c
+++ b/atspi/atspi-editabletext.c
@@ -23,6 +23,18 @@
 
 #include "atspi-private.h"
 
+/**
+ * AtspiEditabletext:
+ *
+ * An interface that provides methods for modifying textual content
+ * of components which support editing.
+ *
+ * Derived from atspi-text, the atspi-editabletext interface
+ * provides methods for modifying textual content of components
+ * which support editing. EditableText also interacts with the
+ * system clipboard via copy, cut, and paste methods.
+ */
+
 #if 0
 /* TODO: implement */
 /**
diff --git a/atspi/atspi-event-listener.c b/atspi/atspi-event-listener.c
index 8b172434..4c268c41 100644
--- a/atspi/atspi-event-listener.c
+++ b/atspi/atspi-event-listener.c
@@ -28,6 +28,18 @@
 #include <strings.h>
 #include <ctype.h>
 
+/**
+ * AtspiEventListener:
+ *
+ * A generic interface implemented by objects for the receipt of event
+ * notifications.
+ *
+ * A generic interface implemented by objects for the receipt of event
+ * notifications. atspi-event-listener is the interface via which clients of
+ * the atspi-registry receive notification of changes to an application's user
+ * interface and content.
+ */
+
 typedef struct
 {
   AtspiEventListenerCB callback;
diff --git a/atspi/atspi-hyperlink.c b/atspi/atspi-hyperlink.c
index c01f547b..c815a31e 100644
--- a/atspi/atspi-hyperlink.c
+++ b/atspi/atspi-hyperlink.c
@@ -24,6 +24,21 @@
 
 #include "atspi-private.h"
 
+/**
+ * AtspiHyperlink:
+ *
+ * Instances of atspi-hyperlink are the means by which end users
+ * and clients interact with linked content.
+ *
+ *  Instances of atspi-hyperlink are returned by
+ * atspi-hypertext objects, and are the means by
+ * which end users and clients interact with linked,
+ * and in some cases embedded, content. These instances
+ * may have multiple "anchors", where an anchor corresponds to a
+ * reference to a particular resource with a corresponding resource
+ * identified (URI).
+ */
+
 G_DEFINE_TYPE (AtspiHyperlink, atspi_hyperlink, ATSPI_TYPE_OBJECT)
 
 static void
diff --git a/atspi/atspi-hypertext.c b/atspi/atspi-hypertext.c
index 7ddaab6b..ffe20f21 100644
--- a/atspi/atspi-hypertext.c
+++ b/atspi/atspi-hypertext.c
@@ -24,6 +24,19 @@
 
 #include "atspi-private.h"
 
+/**
+ * AtspiHypertext:
+ *
+ * An interface used for objects which implement linking between
+ * multiple resource locations.
+ *
+ * An interface used for objects which implement linking between
+ * multiple resource or content locations, or multiple 'markers'
+ * within a single document. A hypertext instance is associated
+ * with one or more hyperlinks which are associated with particular
+ * offests within the hypertext's content.
+ */
+
 /**
  * atspi_hypertext_get_n_links:
  * @obj: a pointer to the #AtspiHypertext implementor on which to operate.
diff --git a/atspi/atspi-matchrule.c b/atspi/atspi-matchrule.c
index 6fb42107..a75150ee 100644
--- a/atspi/atspi-matchrule.c
+++ b/atspi/atspi-matchrule.c
@@ -24,6 +24,13 @@
 
 #include "atspi-private.h"
 
+/**
+ * AtspiMatchRule:
+ *
+ * An interface that allows the definition of match rules
+ * for accessible objects.
+ */
+
 G_DEFINE_TYPE (AtspiMatchRule, atspi_match_rule, G_TYPE_OBJECT)
 
 static void
diff --git a/atspi/atspi-misc.c b/atspi/atspi-misc.c
index cc7e54dd..dc22a53b 100644
--- a/atspi/atspi-misc.c
+++ b/atspi/atspi-misc.c
@@ -37,6 +37,12 @@
 #include <string.h>
 #include <ctype.h>
 
+/**
+ * AtspiMisc:
+ *
+ * Miscellaneous methods for using AT-SPI services.
+ */
+
 static void handle_get_items (DBusPendingCall *pending, void *user_data);
 
 static DBusConnection *bus = NULL;
diff --git a/atspi/atspi-registry.c b/atspi/atspi-registry.c
index 382308fd..752ef8af 100644
--- a/atspi/atspi-registry.c
+++ b/atspi/atspi-registry.c
@@ -26,6 +26,18 @@
 
 #include "atspi-private.h"
 
+/**
+ * AtspiRegistry:
+ *
+ * A service through which applications providing accessibility services
+ * can rendezvous with consumers of those services.
+ *
+ * A service through which applications providing accessibility services (servers)
+ * can rendezvous with consumers of those services (Assistive Technologies). The
+ * atspi-registry is the first "port of call" for accessible applications and for
+ * assistive technologies wishing to query and interact with those applications.
+ */
+
 typedef struct
 {
   AtspiDeviceListener *listener;
diff --git a/atspi/atspi-relation.c b/atspi/atspi-relation.c
index 10063439..527826f6 100644
--- a/atspi/atspi-relation.c
+++ b/atspi/atspi-relation.c
@@ -24,6 +24,17 @@
 
 #include "atspi-private.h"
 
+/**
+ * AtspiRelation:
+ *
+ * An interface via which non-hierarchical relationships
+ * are indicated.
+ *
+ * An interface via which non-hierarchical relationships
+ * are indicated. An instance of this interface represents
+ * a "one-to-many" correspondance.
+ */
+
 /**
  * atspi_relation_get_relation_type:
  * @obj: a pointer to the #AtspiRelation object to query.
diff --git a/atspi/atspi-selection.c b/atspi/atspi-selection.c
index 0e728450..ead851b5 100644
--- a/atspi/atspi-selection.c
+++ b/atspi/atspi-selection.c
@@ -24,6 +24,19 @@
 
 #include "atspi-private.h"
 
+/**
+ * AtspiSelection:
+ *
+ * An interface which indicates that an object exposes a 'selection' model,
+ * allowing the selection of one or more of its children.
+ *
+ * An interface which indicates that an object exposes a 'selection'
+ * model, allowing the selection of one or more of its children.
+ * Read-only Selection instances are possible, in which case the
+ * interface is used to programmatically determine the selected-ness
+ * of its children.
+ */
+
 /**
  * atspi_selection_get_n_selected_children:
  * @obj: a pointer to the #AtspiSelection implementor on which to operate.
diff --git a/atspi/atspi-stateset.c b/atspi/atspi-stateset.c
index dd99d91b..2d5ca644 100644
--- a/atspi/atspi-stateset.c
+++ b/atspi/atspi-stateset.c
@@ -24,6 +24,13 @@
 
 #include "atspi-private.h"
 
+/**
+ * AtspiStateSet:
+ *
+ * The atspi-stateset objects implement wrappers around a
+ * bitmap of accessible states.
+ */
+
 static void atspi_state_set_class_init (AtspiStateSetClass *klass);
 
 G_DEFINE_TYPE (AtspiStateSet, atspi_state_set, G_TYPE_OBJECT)
diff --git a/atspi/atspi-table.c b/atspi/atspi-table.c
index 08718f4b..b2027e1e 100644
--- a/atspi/atspi-table.c
+++ b/atspi/atspi-table.c
@@ -25,6 +25,22 @@
 #include <stdlib.h> /* for malloc */
 #include "atspi-private.h"
 
+/**
+ * AtspiTable:
+ *
+ * An interface used by containers whose data is arranged in a tabular form.
+ *
+ * An interface used by containers whose contained data is arranged
+ * in a tabular (i.e. row-column) form. Tables may resemble
+ * a two-dimensional grid, as in a spreadsheet, or may feature objects
+ * which span multiple rows and/or columns, but whose bounds are
+ * aligned on a row/column matrix. Objects within tables are children
+ * of the table object, and they may be referenced either via a child
+ * index or via a row/column pair. Table 'cells' may implement other
+ * interfaces, such as Text, Action, Image, and Component, and should do
+ * so as appropriate to their onscreen rresentation and/or behavior.
+ */
+
 /**
  * atspi_table_get_caption:
  * @obj: a pointer to the #AtspiTable implementor on which to operate.
diff --git a/atspi/atspi-text.c b/atspi/atspi-text.c
index de99773e..f85d3f3e 100644
--- a/atspi/atspi-text.c
+++ b/atspi/atspi-text.c
@@ -23,6 +23,21 @@
  */
 
 #include "atspi-private.h"
+
+/**
+ * AtspiText:
+ *
+ * An interface implemented by objects which place textual
+ * information onscreen.
+ *
+ * The text interface should be implemented by objects which place textual
+ * information onscreen as character strings or glyphs. The text interface
+ * allows access to textual content including display attributes and
+ * semantic hints associated with runs of text, and to bounding boc
+ * information for glyphs and substrings. It also alows portions of text to
+ * be selected, if the objects StateSet includes STATE_SELECTABLE_TEXT.
+ */
+
 /**
  * atspi_range_copy:
  * @src: a pointer to the source #AtspiRange object that will be copied.
diff --git a/atspi/atspi-types.h b/atspi/atspi-types.h
index ab43ca8c..8eca6dd5 100644
--- a/atspi/atspi-types.h
+++ b/atspi/atspi-types.h
@@ -29,6 +29,12 @@
 
 #include "atspi-constants.h"
 
+/**
+ * AtspiTypes:
+ *
+ * Type definitions needed by multiple interfaces.
+ */
+
 typedef struct _AtspiAccessible AtspiAccessible;
 typedef struct _AtspiAction AtspiAction;
 typedef struct _AtspiCollection AtspiCollection;
@@ -133,8 +139,9 @@ typedef struct _AtspiKeySet
 } AtspiKeySet;
 
 /**
- *AtspiKeyListenerSyncType:
-  * @ATSPI_KEYLISTENER_NOSYNC: Events may be delivered asynchronously, 
+ * AtspiKeyListenerSyncType:
+ *
+ * @ATSPI_KEYLISTENER_NOSYNC: Events may be delivered asynchronously,
  * which means in some cases they may already have been delivered to the 
  * application before the AT client receives the notification.  
  * @ATSPI_KEYLISTENER_SYNCHRONOUS: Events are delivered synchronously, before the 
diff --git a/atspi/atspi-value.c b/atspi/atspi-value.c
index 714fdb6e..54300319 100644
--- a/atspi/atspi-value.c
+++ b/atspi/atspi-value.c
@@ -24,6 +24,18 @@
 
 #include "atspi-private.h"
 
+/**
+ * AtspiValue:
+ *
+ * An interface supporting a one-dimensional scalar
+ * to be modified, or which reflects its value.
+ *
+ * An interface supporting a one-dimensional scalar
+ * to be modified, or which reflects its value. If
+ * STATE_EDITABLE is not present, the value is
+ * treated as "read only".
+ */
+
 /**
  * atspi_value_get_minimum_value:
  * @obj: a pointer to the #AtspiValue implementor on which to operate. 
diff --git a/doc/atk.toml.in b/doc/atk.toml.in
new file mode 100644
index 00000000..f45fcde5
--- /dev/null
+++ b/doc/atk.toml.in
@@ -0,0 +1,52 @@
+[library]
+version = "@VERSION@"
+browse_url = "https://gitlab.gnome.org/GNOME/at-spi2-core/";
+repository_url = "https://gitlab.gnome.org/GNOME/at-spi2-core.git";
+website_url = "https://wiki.gnome.org/Accessibility";
+docs_url = "https://gnome.pages.gitlab.gnome.org/at-spi2-core/atk/";
+authors = "ATK Development Team"
+license = "LGPL-2.1-or-later"
+description = """GNOME provides support for accessibility devices using the ATK
+framework. This framework defines a set of interfaces to which
+graphical interface components adhere. This allows, for instance,
+screen readers to read the text of an interface and interact with its
+controls. ATK support is built into GTK+ 3 and the rest of the GNOME
+platform, so any application using GTK+ 3 will have reasonable
+accessibility support for free.
+GTK4 now includes accessibility support natively and does not need ATK."""
+devhelp = true
+search_index = true
+logo_url = "logo.png"
+
+dependencies = ["GObject-2.0",]
+
+  [dependencies."GObject-2.0"]
+  name = "GObject"
+  description = "The base type system library"
+  docs_url = "https://docs.gtk.org/gobject/";
+
+related = ["Atspi-2.0"]
+
+  [related."Atspi-2.0"]
+  name = "AT-SPI"
+  description = "The Assistive Technology Service Provider Interface"
+  docs_url = "https://gnome.pages.gitlab.gnome.org/at-spi2-core/libatspi/";
+
+[theme]
+name = "basic"
+show_index_summary = true
+show_class_hierarchy = true
+
+[source-location]
+# The base URL for the web UI
+base_url = "https://gitlab.gnome.org/GNOME/at-spi2-core/-/blob/HEAD/";
+# The format for links, using "filename" and "line" for the format
+file_format = "{filename}#L{line}"
+
+[extra]
+content_files = [
+]
+content_images = [
+  "logo.png",
+]
+urlmap_file = "urlmap.js"
diff --git a/doc/libatspi.toml.in b/doc/libatspi.toml.in
new file mode 100644
index 00000000..eb47cca6
--- /dev/null
+++ b/doc/libatspi.toml.in
@@ -0,0 +1,44 @@
+[library]
+version = "@VERSION@"
+browse_url = "https://gitlab.gnome.org/GNOME/at-spi2-core/";
+repository_url = "https://gitlab.gnome.org/GNOME/at-spi2-core.git";
+website_url = "https://wiki.gnome.org/Accessibility";
+doc_url = "https://gnome.pages.gitlab.gnome.org/at-spi2-core/libatspi/";
+authors = "The AT-SPI2 maintainers"
+license = "LGPL-2.1-or-later"
+description = "The Assistive Technology Service Provider Interface, version 2"
+dependencies = ["GObject-2.0",]
+devhelp = true
+search_index = true
+logo_url = "logo.png"
+
+  [dependencies."GObject-2.0"]
+  name = "GObject"
+  description = "The base type system library"
+  docs_url = "https://docs.gtk.org/gobject/";
+
+related = ["Atk"]
+
+  [related."Atk"]
+  name = "Atk"
+  description = "The Accessibility toolkite"
+  docs_url = "https://gnome.pages.gitlab.gnome.org/at-spi2-core/atk/";
+
+[theme]
+name = "basic"
+show_index_summary = true
+show_class_hierarchy = true
+
+[source-location]
+# The base URL for the web UI
+base_url = "https://gitlab.gnome.org/GNOME/at-spi2-core/-/blob/HEAD/";
+# The format for links, using "filename" and "line" for the format
+file_format = "{filename}#L{line}"
+
+[extra]
+content_files = [
+]
+content_images = [
+  "logo.png",
+]
+urlmap_file = "urlmap.js"
diff --git a/doc/logo.png b/doc/logo.png
new file mode 100644
index 00000000..bc4ede7b
Binary files /dev/null and b/doc/logo.png differ
diff --git a/doc/meson.build b/doc/meson.build
index 5fcf20e2..0de4f72e 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -1,2 +1,74 @@
-subdir('libatspi')
-subdir('atk')
+dependency('gi-docgen', version: '>= 2021.1',
+           fallback: ['gi-docgen', 'dummy_dep'],
+           native: true,
+           required: get_option('docs'))
+
+gidocgen = find_program('gi-docgen')
+
+docs_dir = atspi_datadir / 'doc'
+
+gidocgen_common_args = [
+  '--quiet',
+  '--no-namespace-dir',
+  '--fatal-warnings',
+]
+
+################################ ATK
+atk_expand_content_files =[]
+
+atk_toml_data = configuration_data()
+atk_toml_data.set('VERSION', meson.project_version())
+
+atk_toml = configure_file(
+  input: 'atk.toml.in',
+  output: 'atk.toml',
+  configuration: atk_toml_data
+)
+
+custom_target('atk-doc',
+  input: [ atk_toml, atk_gir[0] ],
+  output: 'atk',
+  command: [
+    gidocgen,
+    'generate',
+    gidocgen_common_args,
+    '--config=@INPUT0@',
+    '--output-dir=@OUTPUT@',
+    '--content-dir=@0@'.format(meson.current_source_dir()),
+    '@INPUT1@',
+  ],
+  install: true,
+  install_dir: docs_dir,
+  depend_files: atk_expand_content_files,
+)
+
+
+################################ libatspi
+libatspi_expand_content_files = []
+
+libatspi_toml_data = configuration_data()
+libatspi_toml_data.set('VERSION', meson.project_version())
+
+libatspi_toml = configure_file(
+  input: 'libatspi.toml.in',
+  output: 'libatspi.toml',
+  configuration: libatspi_toml_data
+)
+
+custom_target('libatspi-doc',
+  input: [ libatspi_toml, libatspi_gir[0] ],
+  output: 'libatspi',
+  command: [
+    gidocgen,
+    'generate',
+    gidocgen_common_args,
+    '--config=@INPUT0@',
+    '--output-dir=@OUTPUT@',
+    '--content-dir=@0@'.format(meson.current_source_dir()),
+    '@INPUT1@',
+  ],
+  install: true,
+  install_dir: docs_dir,
+  depend_files: libatspi_expand_content_files,
+)
+
diff --git a/doc/urlmap.js b/doc/urlmap.js
new file mode 100644
index 00000000..13eab868
--- /dev/null
+++ b/doc/urlmap.js
@@ -0,0 +1,17 @@
+// SPDX-FileCopyrightText: 2021 GNOME Foundation
+// SPDX-License-Identifier: LGPL-2.1-or-later
+
+// A map between namespaces and base URLs for their online documentation
+baseURLs = [
+  [ 'GLib', 'https://docs.gtk.org/glib/' ],
+  [ 'GObject', 'https://docs.gtk.org/gobject/' ],
+  [ 'Gio', 'https://docs.gtk.org/gio/' ],
+  [ 'Gdk', 'https://docs.gtk.org/gdk3/' ],
+  [ 'GdkX11', 'https://docs.gtk.org/gdk3-x11/' ],
+  [ 'Gtk', 'https://docs.gtk.org/gtk3/' ],
+  [ 'Pango', 'https://docs.gtk.org/Pango/' ],
+  [ 'PangoCairo', 'https://docs.gtk.org/PangoCairo/' ],
+  [ 'GdkPixbuf', 'https://docs.gtk.org/gdk-pixbuf/' ],
+  [ 'Atk', 'https://gnome.pages.gitlab.gnome.org/at-spi2-core/atk/' ],
+  [ 'Atspi', 'https://gnome.pages.gitlab.gnome.org/at-spi2-core/libatspi/' ],
+]
diff --git a/subprojects/gi-docgen.wrap b/subprojects/gi-docgen.wrap
new file mode 100644
index 00000000..333e77a1
--- /dev/null
+++ b/subprojects/gi-docgen.wrap
@@ -0,0 +1,6 @@
+[wrap-git]
+directory=gi-docgen
+url=https://gitlab.gnome.org/GNOME/gi-docgen.git
+push-url=git gitlab gnome org:GNOME/gi-docgen.git
+revision=main
+depth=1
diff --git a/tests/atk/testvalue.c b/tests/atk/testvalue.c
index 6bc8a54e..441f7f14 100644
--- a/tests/atk/testvalue.c
+++ b/tests/atk/testvalue.c
@@ -22,8 +22,9 @@
 #include <atk/atk.h>
 
 /**
- * SECTION:testvalue
- * @Short_description: this example serves as a unit test for AtkValue
+ * TestValue:
+ *
+ * this example serves as a unit test for AtkValue
  *  and also as an example of how to implement #AtkValue on a given
  *  GObject.
  *


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]