# HG changeset patch
# Node ID 0f7835711651
# Parent  803afd860d6f
diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -19,3 +19,5 @@
 ^po\/.+\.pot$
 ^obj-.+\/
 ^old\/
+^subprojects\/.+\/
+
diff --git a/convey.yml b/convey.yml
--- a/convey.yml
+++ b/convey.yml
@@ -41,10 +41,10 @@
     script:
       - set -ex
       - meson build-docs
-      - ninja -C build-docs talkatu-doc
+      - ninja -C build-docs doc
   docs-export:
     type: docker/export
-    files: build-docs/talkatu/reference/html:talkatu-docs
+    files: build-docs/talkatu/reference/talkatu:talkatu-docs
 
 plans:
   debian-bullseye-amd64:
diff --git a/meson.build b/meson.build
--- a/meson.build
+++ b/meson.build
@@ -2,15 +2,15 @@
 # Project Info
 ###############################################################################
 project('talkatu', 'c', version : '0.1.0-dev',
-  license : 'GPL-2.0-or-later',
-  meson_version : '>=0.56.0',
-  default_options : ['c_std=c99'])
+	license : 'GPL-2.0-or-later',
+	meson_version : '>=0.56.0',
+	default_options : ['c_std=c99'])
 
 parts = meson.project_version().split('-')
 if parts.length() > 1
-  extra = parts[1]
+	extra = parts[1]
 else
-  extra = ''
+	extra = ''
 endif
 
 parts = parts[0].split('.')
@@ -61,6 +61,22 @@
 endif
 
 ###############################################################################
+# Documentation
+###############################################################################
+if get_option('doc') and not get_option('introspection')
+	error('Documentation requires GObject Introspection.')
+endif
+
+gidocgen_dep = dependency(
+	'gi-docgen', version: '>= 2021.1',
+	fallback: ['gi-docgen', 'dummy_dep'],
+	required: get_option('doc')
+)
+
+gidocgen = find_program('gi-docgen', required : get_option('doc'))
+docs_dir = get_option('prefix') / get_option('datadir') / 'doc'
+
+###############################################################################
 # Build Info
 ###############################################################################
 compiler = meson.get_compiler('c')
@@ -106,6 +122,15 @@
 subdir('vapi')
 
 ###############################################################################
+# doc alias target
+###############################################################################
+if get_option('doc')
+	doc_targets = [talkatu_doc]
+
+	alias_target('doc', doc_targets)
+endif
+
+###############################################################################
 # devenv
 ###############################################################################
 if meson.version().version_compare('>=0.58.0')
diff --git a/subprojects/gi-docgen.wrap b/subprojects/gi-docgen.wrap
new file mode 100644
--- /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=ssh://git@gitlab.gnome.org:GNOME/gi-docgen.git
+revision=main
+depth=1
diff --git a/talkatu/meson.build b/talkatu/meson.build
--- a/talkatu/meson.build
+++ b/talkatu/meson.build
@@ -214,12 +214,15 @@
 		sources : TALKATU_SOURCES + TALKATU_HEADERS +
 		          TALKATU_PUBLIC_BUILT_SOURCES +
 		          TALKATU_PUBLIC_BUILT_HEADERS,
+		export_packages : ['talkatu'],
+		extra_args : ['--quiet', '--warn-all', '-DTALKATU_COMPILATION'],
+		header : 'talkatu/talkatu.h',
 		includes : ['GModule-2.0', 'GObject-2.0', 'Gtk-3.0'],
+		install : true,
 		namespace : 'Talkatu',
+		nsversion : '@0@.0'.format(TALKATU_MAJOR_VERSION),
 		symbol_prefix : 'talkatu',
-		nsversion : '@0@.0'.format(TALKATU_MAJOR_VERSION),
-		extra_args : ['--quiet', '--warn-all', '-DTALKATU_COMPILATION'],
-		install : true)
+	)
 	TALKATU_GENERATED_TARGETS += talkatu_gir
 endif
 
@@ -250,8 +253,5 @@
 # Subdirectories
 ###############################################################################
 subdir('tests')
+subdir('reference')
 
-if get_option('doc')
-	subdir('reference')
-endif
-
diff --git a/talkatu/reference/Dockerfile b/talkatu/reference/Dockerfile
deleted file mode 100644
--- a/talkatu/reference/Dockerfile
+++ /dev/null
@@ -1,6 +0,0 @@
-FROM rwgrim/goserve
-
-EXPOSE 3000
-
-COPY html html
-
diff --git a/talkatu/reference/meson.build b/talkatu/reference/meson.build
--- a/talkatu/reference/meson.build
+++ b/talkatu/reference/meson.build
@@ -1,40 +1,32 @@
-DOC_MODULE = 'talkatu'
+talkatu_doc_content_files = []
 
-# Header files or dirs to ignore when scanning. Use base file/dir names
-ignore_hfiles = [
-    'talkatu.h',
-    'talkatuenums.h',
-    'talkaturesources.h',
-]
-ignore_hfiles += TALKATU_PRIVATE_HEADERS
-
-# Extra options to supply to gtkdoc-scan.
-scan_args = [
-    '--rebuild-types',
-    '--rebuild-sections',
-    '--ignore-headers=' + ' '.join(ignore_hfiles),
-]
+if get_option('doc')
+	talkatu_toml = configure_file(
+		input : 'talkatu.toml.in',
+		output : 'talkatu.toml',
+		configuration : version_conf,
+		install : true,
+		install_dir : docs_dir / 'talkatu',
+	)
 
-# Extra options to supply to gtkdoc-mkdb.
-mkdb_args = [
-    '--ignore-files=' + ' '.join(ignore_hfiles),
-]
-
-talkatu_version_xml = configure_file(
-    input : 'version.xml.in',
-    output : 'version.xml',
-    configuration : version_conf)
+	talkatu_doc = custom_target('talkatu-doc',
+		input : [ talkatu_toml, talkatu_gir[0] ],
+		output : 'talkatu',
+		command : [
+			gidocgen,
+			'generate',
+			'--quiet',
+			'--fatal-warnings',
+			'--config=@INPUT0@',
+			'--output-dir=@OUTPUT@',
+			'--no-namespace-dir',
+			'--content-dir=@0@'.format(meson.current_source_dir()),
+			'@INPUT1@'
+		],
+		depend_files : [ talkatu_doc_content_files ],
+		build_by_default : true,
+		install : true,
+		install_dir : docs_dir,
+	)
+endif
 
-content_files = [
-]
-
-gnome.gtkdoc(DOC_MODULE,
-    main_xml : DOC_MODULE + '-docs.xml',
-    src_dir : talkatu_inc,
-    dependencies : talkatu_dep,
-    install : true,
-    scan_args : scan_args,
-    mkdb_args : mkdb_args,
-    gobject_typesfile : DOC_MODULE + '.types',
-    content_files : content_files,
-)
diff --git a/talkatu/reference/talkatu-docs.xml b/talkatu/reference/talkatu-docs.xml
deleted file mode 100644
--- a/talkatu/reference/talkatu-docs.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-
-<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
-<!ENTITY version SYSTEM "version.xml">
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
-  <bookinfo>
-    <title>Talkatu Reference Manual</title>
-    <abstract>
-      <title>Talkatu &version;</title>
-      <para>
-        Talkatu is a collection of Gtk+ widgets that are useful for
-        communication applications like Pidgin.
-      </para>
-    </abstract>
-  </bookinfo>
-
-  <part id="object-hierarchy">
-    <title>Object Hierarchy</title>
-
-    <xi:include href="xml/tree_index.sgml"/>
-  </part>
-
-  <part id="API">
-	  <title>API Reference</title>
-
-    <xi:include href="xml/talkatuactiongroup.xml"/>
-    <xi:include href="xml/talkatutag.xml"/>
-    <xi:include href="xml/talkatutagtable.xml"/>
-
-    <xi:include href="xml/talkatubuffer.xml"/>
-    <xi:include href="xml/talkatuhtmlbuffer.xml"/>
-    <xi:include href="xml/talkatumarkdownbuffer.xml"/>
-    <xi:include href="xml/talkatuwholebuffer.xml"/>
-
-    <xi:include href="xml/talkatumarkup.xml"/>
-
-    <xi:include href="xml/talkatuhistory.xml"/>
-    <xi:include href="xml/talkatuhistoryrow.xml"/>
-
-    <xi:include href="xml/talkatuhtmlrenderer.xml"/>
-    <xi:include href="xml/talkatuhtmlpangorenderer.xml"/>
-
-    <xi:include href="xml/talkatuinput.xml"/>
-
-    <xi:include href="xml/talkatueditor.xml"/>
-    <xi:include href="xml/talkatuview.xml"/>
-
-    <xi:include href="xml/talkatumessage.xml"/>
-    <xi:include href="xml/talkatumessageactions.xml"/>
-
-    <xi:include href="xml/talkatutoolbar.xml"/>
-    <xi:include href="xml/talkatutooldrawer.xml"/>
-    <xi:include href="xml/talkatumenutoolbutton.xml"/>
-
-    <xi:include href="xml/talkatuscrolledwindow.xml"/>
-
-    <xi:include href="xml/talkatutypinglabel.xml"/>
-
-    <xi:include href="xml/talkatuattachment.xml"/>
-    <xi:include href="xml/talkatuattachmentdialog.xml"/>
-    <xi:include href="xml/talkatuattachmentpreview.xml"/>
-    <xi:include href="xml/talkatusimpleattachment.xml"/>
-
-    <xi:include href="xml/talkatucore.xml"/>
-    <xi:include href="xml/talkatucodeset.xml"/>
-    <xi:include href="xml/talkatuversion.xml"/>
-
-    <xi:include href="xml/talkatulinkdialog.xml"/>
-  </part>
-
-  <index id="api-index-full">
-    <title>Index</title>
-    <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
-  </index>
-  <index id="api-index-deprecated" role="deprecated">
-    <title>Index of deprecated symbols</title>
-    <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
-  </index>
-  <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
-</book>
diff --git a/talkatu/reference/talkatu.toml.in b/talkatu/reference/talkatu.toml.in
new file mode 100644
--- /dev/null
+++ b/talkatu/reference/talkatu.toml.in
@@ -0,0 +1,48 @@
+[library]
+version = "@TALKATU_VERSION@"
+browse_url = "https://keep.imfreedom.org/talkatu/talkatu/"
+repository_url = "https://keep.imfreedom.org/talkatu/talkatu/"
+website_url = "https://keep.imfreedom.org/talkatu/talkatu/"
+authors = "Talkatu Developers"
+logo_url = ""
+license = "LGPL-2.1-or-later"
+description = "Talkatu Plugin Library"
+dependencies = [ "GLib-2.0", "GObject-2.0", "GModule-2.0", "Gtk-3.0" ]
+devhelp = true
+search_index = true
+
+  [dependencies."GLib-2.0"]
+  name = "GLib"
+  description = "General-purpose, portable utility library."
+  docs_url = "https://docs.gtk.org/glib/"
+
+  [dependencies."GObject-2.0"]
+  name = "GObject"
+  description = "The base type system library"
+  docs_url = "https://docs.gtk.org/gobject/"
+
+  [dependencies."GModule-2.0"]
+  name = "GModule"
+  description = "Portable API for dynamically loading modules"
+  docs_url = "https://docs.gtk.org/gmodule/"
+
+  [dependencies."Gtk-3.0"]
+  name = "Gtk"
+  description = "The GTK toolkit"
+  docs_url = "https://docs.gtk.org/gtk3/"
+
+[theme]
+name = "basic"
+show_index_summary = true
+show_class_hierarchy = true
+
+[source-location]
+base_url = "https://keep.imfreedom.org/talkatu/talkatu/file/default/"
+
+[extra]
+# The same order will be used when generating the index
+content_files = [
+]
+content_images = [
+]
+urlmap_file = "urlmap.js"
diff --git a/talkatu/reference/urlmap.js b/talkatu/reference/urlmap.js
new file mode 100644
--- /dev/null
+++ b/talkatu/reference/urlmap.js
@@ -0,0 +1,10 @@
+// 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/' ],
+    [ 'GModule', 'https://docs.gtk.org/gmodule/' ],
+    [ 'Gtk', 'https://docs.gtk.org/gtk3/' ],
+]
diff --git a/talkatu/reference/version.xml.in b/talkatu/reference/version.xml.in
deleted file mode 100644
--- a/talkatu/reference/version.xml.in
+++ /dev/null
@@ -1,2 +0,0 @@
-@TALKATU_VERSION@
-
diff --git a/talkatu/talkatuactiongroup.c b/talkatu/talkatuactiongroup.c
--- a/talkatu/talkatuactiongroup.c
+++ b/talkatu/talkatuactiongroup.c
@@ -29,21 +29,6 @@
 #include "talkatu/talkatutag.h"
 
 /**
- * SECTION:talkatuactiongroup
- * @Title: Talkatu Actions
- * @Short_description: GAction Helpers
- *
- * A lot of Talkatu's user interaction is handled by #GAction's.  These
- * functions help make that easier.
- */
-
-/**
- * TALKATU_TYPE_ACTION_GROUP:
- *
- * The standard _get_type macro for #TalkatuActionGroup.
- */
-
-/**
  * TalkatuActionGroup:
  *
  * A #GSimpleActionGroup subclass that contains all of the actions for
diff --git a/talkatu/talkatuattachment.c b/talkatu/talkatuattachment.c
--- a/talkatu/talkatuattachment.c
+++ b/talkatu/talkatuattachment.c
@@ -21,21 +21,6 @@
 #include <glib/gi18n-lib.h>
 
 /**
- * SECTION:talkatuattachment
- * @Title: Attachments
- * @Short_description: Message Attachments
- *
- * Attachments can be images, files, etc that can be attached to a
- * #TalkatuMessage.
- */
-
-/**
- * TALKATU_TYPE_ATTACHMENT:
- *
- * The standard _get_type macro for #TalkatuAttachment.
- */
-
-/**
  * TalkatuAttachment:
  *
  * TalkatuAttachment represents an attached file.  The files can be any type of
diff --git a/talkatu/talkatuattachmentdialog.c b/talkatu/talkatuattachmentdialog.c
--- a/talkatu/talkatuattachmentdialog.c
+++ b/talkatu/talkatuattachmentdialog.c
@@ -21,20 +21,6 @@
 #include "talkatu/talkatuattachmentdialog.h"
 
 /**
- * SECTION:talkatuattachmentdialog
- * @Title: Attachment Dialog
- * @Short_description: A GtkDialog for sending message attachments.
- *
- * A #GtkDialog that allows the user to customize attachments for a message.
- */
-
-/**
- * TALKATU_TYPE_ATTACHMENT_DIALOG:
- *
- * The standard _get_type macro for #TalkatuAttachmentDialog.
- */
-
-/**
  * TalkatuAttachmentDialog:
  *
  * A #GtkDialog that allows the user to customize an image message.
diff --git a/talkatu/talkatuattachmentpreview.c b/talkatu/talkatuattachmentpreview.c
--- a/talkatu/talkatuattachmentpreview.c
+++ b/talkatu/talkatuattachmentpreview.c
@@ -21,20 +21,6 @@
 #include "talkatu/talkatuattachmentpreview.h"
 
 /**
- * SECTION:talkatuattachmentpreview
- * @Title: Attachment Preview
- * @Short_description: Previews for TalkatuAttachments.
- *
- * A simple widget that displays a preview of a #TalkatuAttachment.
- */
-
-/**
- * TALKATU_TYPE_ATTACHMENT_PREVIEW:
- *
- * The standard _get_type macro for #TalkatuAttachmentPreview.
- */
-
-/**
  * TalkatuAttachmentPreview:
  *
  * A #GtkWidget that displays a preview of a #TalkatuAttachment and allows the
diff --git a/talkatu/talkatubuffer.c b/talkatu/talkatubuffer.c
--- a/talkatu/talkatubuffer.c
+++ b/talkatu/talkatubuffer.c
@@ -26,22 +26,6 @@
 #include <talkatu/talkatutagtable.h>
 
 /**
- * SECTION:talkatubuffer
- * @Title: Text Buffer
- * @Short_description: Common behavior for Talkatu text buffers.
- *
- * Talkatu implements a couple of different types of text buffers.  This API
- * tries to abstract the commonalities between them and make it easier to
- * create text buffers for additional markup types.
- */
-
-/**
- * TALKATU_TYPE_BUFFER:
- *
- * The standard _get_type macro for #TalkatuBuffer.
- */
-
-/**
  * TalkatuBuffer:
  *
  * A #GtkTextBuffer subclass that will automatically apply formatting according
diff --git a/talkatu/talkatucodeset.c b/talkatu/talkatucodeset.c
--- a/talkatu/talkatucodeset.c
+++ b/talkatu/talkatucodeset.c
@@ -18,15 +18,6 @@
 
 #include "talkatu/talkatucodeset.h"
 
-/**
- * SECTION:talkatucodeset
- * @Title: Codeset Helpers
- * @Short_description: Helpers for handling different codesets.
- *
- * Dealing with user supplied input means handling different codesets and this
- * API helps with that.
- */
-
 /******************************************************************************
  * Public API
  *****************************************************************************/
diff --git a/talkatu/talkatucore.c b/talkatu/talkatucore.c
--- a/talkatu/talkatucore.c
+++ b/talkatu/talkatucore.c
@@ -20,14 +20,6 @@
 
 #include "talkatu/talkatucore.h"
 
-/**
- * SECTION:talkatucore
- * @Title: Core API
- * @Short_description: Core API
- *
- * The core API of Talkatu.
- */
-
 /******************************************************************************
  * API
  *****************************************************************************/
diff --git a/talkatu/talkatueditor.c b/talkatu/talkatueditor.c
--- a/talkatu/talkatueditor.c
+++ b/talkatu/talkatueditor.c
@@ -25,21 +25,6 @@
 #include <talkatu/talkatutoolbar.h>
 
 /**
- * SECTION:talkatueditor
- * @Title: Editor
- * @Short_description: A simple editor composed of other Talkatu Widgets
- *
- * TalkatuEditor is a composite widget of #TalkatuToolbar and #TalkatuView to
- * help make them easier to use.
- */
-
-/**
- * TALKATU_TYPE_EDITOR:
- *
- * The standard _get_type macro for #TalkatuEditor.
- */
-
-/**
  * TalkatuEditor:
  *
  * A composite widget that contains a #TalkatuToolbar, #TalkatuInput, and an
diff --git a/talkatu/talkatuhistory.c b/talkatu/talkatuhistory.c
--- a/talkatu/talkatuhistory.c
+++ b/talkatu/talkatuhistory.c
@@ -25,21 +25,6 @@
 #include <talkatu/talkatumessage.h>
 
 /**
- * SECTION:talkatuhistory
- * @Title: History View
- * @Short_description: Chat history widget
- *
- * This widget is used to display the conversation history.  It doesn't care if
- * it is multi user or one to one.
- */
-
-/**
- * TALKATU_TYPE_HISTORY:
- *
- * The standard _get_type macro for #TalkatuHistory.
- */
-
-/**
  * TalkatuHistory:
  *
  * A #TalkatuView subclass that is used to display a conversation.
diff --git a/talkatu/talkatuhistoryrow.c b/talkatu/talkatuhistoryrow.c
--- a/talkatu/talkatuhistoryrow.c
+++ b/talkatu/talkatuhistoryrow.c
@@ -25,20 +25,6 @@
 #include <talkatu/talkatuhtmlrenderer.h>
 
 /**
- * SECTION:talkatuhistoryrow
- * @Title: History Row
- * @Short_description: History message widget
- *
- * This widget is used to display a single message in the conversation history.
- */
-
-/**
- * TALKATU_TYPE_HISTORY_ROW:
- *
- * The standard _get_type macro for #TalkatuHistoryRow.
- */
-
-/**
  * TalkatuHistoryRow:
  *
  * A #GtkListBoxRow subclass that is used to display a #TalkatuMessage.
diff --git a/talkatu/talkatuhtmlbuffer.c b/talkatu/talkatuhtmlbuffer.c
--- a/talkatu/talkatuhtmlbuffer.c
+++ b/talkatu/talkatuhtmlbuffer.c
@@ -25,21 +25,6 @@
 #include "talkatu/talkatutagtable.h"
 
 /**
- * SECTION:talkatuhtmlbuffer
- * @Title: HTML Buffer
- * @Short_description: HTML support
- *
- * Support for HTML is provided via a custom GtkTextBuffer that knows how
- * to render it properly.
- */
-
-/**
- * TALKATU_TYPE_HTML_BUFFER:
- *
- * The standard _get_type macro for #TalkatuHtmlBuffer.
- */
-
-/**
  * TalkatuHtmlBuffer:
  *
  * A #TalkatuBuffer subclass that renders HTML.
diff --git a/talkatu/talkatuhtmlrenderer.c b/talkatu/talkatuhtmlrenderer.c
--- a/talkatu/talkatuhtmlrenderer.c
+++ b/talkatu/talkatuhtmlrenderer.c
@@ -21,22 +21,6 @@
 #include "talkatuhtmlrenderer.h"
 
 /**
- * SECTION:talkatuhtmlrenderer
- * @Title: HTML Renderer
- * @Short_description: An Expat-like HTML Renderer
- *
- * #TalkatuHtmlRenderer is an abstract class that will parse HTML and call the
- * registered instance methods for each element allowing subclasses to render
- * the HTML however they like.
- */
-
-/**
- * TALKATU_TYPE_HTML_RENDERER:
- *
- * The standard _get_type macro for #TalkatuHtmlRenderer.
- */
-
-/**
  * TalkatuHtmlRendererClass:
  * @reset: The method to call to reset the renderer.  This allows the renderer
  *         to be reused.
diff --git a/talkatu/talkatuinput.c b/talkatu/talkatuinput.c
--- a/talkatu/talkatuinput.c
+++ b/talkatu/talkatuinput.c
@@ -32,20 +32,6 @@
 #include "talkatu/talkatusimpleattachment.h"
 
 /**
- * SECTION:talkatuinput
- * @Title: Input Widget
- * @Short_description: The main Talkatu input widget.
- *
- * #TalkatuInput handles all of the details for sending messages.
- */
-
-/**
- * TALKATU_TYPE_INPUT:
- *
- * The standard _get_type macro for #TalkatuInput.
- */
-
-/**
  * TalkatuInput:
  *
  * #TalkatuInput is the main input widget for Talkatu.  It supports WYSIWYG
diff --git a/talkatu/talkatulinkdialog.c b/talkatu/talkatulinkdialog.c
--- a/talkatu/talkatulinkdialog.c
+++ b/talkatu/talkatulinkdialog.c
@@ -21,20 +21,6 @@
 #include "talkatu/talkatulinkdialog.h"
 
 /**
- * SECTION:talkatulinkdialog
- * @Title: Link Dialog
- * @Short_description: A GtkDialog for creating a link.
- *
- * A simple dialog to aid in the creation of a link.
- */
-
-/**
- * TALKATU_TYPE_LINK_DIALOG:
- *
- * The standard _get_type macro for #TalkatuLinkDialog.
- */
-
-/**
  * TalkatuLinkDialog:
  *
  * A simple #GtkDialog subclass to allow the user to create a link.
diff --git a/talkatu/talkatumarkdownbuffer.c b/talkatu/talkatumarkdownbuffer.c
--- a/talkatu/talkatumarkdownbuffer.c
+++ b/talkatu/talkatumarkdownbuffer.c
@@ -26,21 +26,6 @@
 #include "talkatu/talkatutagtable.h"
 
 /**
- * SECTION:talkatumarkdownbuffer
- * @Title: Markdown Buffer
- * @Short_description: Markdown support
- *
- * Support for Markdown is provided via a custom GtkTextBuffer that knows how
- * to render it properly.
- */
-
-/**
- * TALKATU_TYPE_MARKDOWN_BUFFER:
- *
- * The standard _get_type macro for #TalkatuMarkdownBuffer.
- */
-
-/**
  * TalkatuMarkdownBuffer:
  *
  * A #TalkatuBuffer subclass that renders markdown.
diff --git a/talkatu/talkatumarkup.c b/talkatu/talkatumarkup.c
--- a/talkatu/talkatumarkup.c
+++ b/talkatu/talkatumarkup.c
@@ -22,15 +22,6 @@
 #include <talkatu/talkatumarkup.h>
 #include <talkatu/talkatutag.h>
 
-/**
- * SECTION:talkatumarkup
- * @Title: Markup Helpers
- * @Short_description: Helpers for reading/writing markup to GtkTextBuffers.
- *
- * This API provides the ability to serialize and deserialize mark to/from
- * GtkTextBuffers.
- */
-
 /******************************************************************************
  * Helpers
  *****************************************************************************/
diff --git a/talkatu/talkatumenutoolbutton.c b/talkatu/talkatumenutoolbutton.c
--- a/talkatu/talkatumenutoolbutton.c
+++ b/talkatu/talkatumenutoolbutton.c
@@ -21,21 +21,6 @@
 #include "talkatu/talkatumenutoolbutton.h"
 
 /**
- * SECTION:talkatumenutoolbutton
- * @Title: Menu Tool Button
- * @Short_description: A simple menu tool button.
- *
- * The normal #GtkMenuToolButton forces you to have an action on the always
- * visible button.  This #GtkToolItem instead just uses a label with no action.
- */
-
-/**
- * TALKATU_TYPE_MENU_TOOL_BUTTON:
- *
- * The standard _get_type macro for #TalkatuMenuToolButton.
- */
-
-/**
  * TalkatuMenuToolButton:
  *
  * A #GtkToolButton subclass that behaves like a #GtkComboBox.
diff --git a/talkatu/talkatumessage.c b/talkatu/talkatumessage.c
--- a/talkatu/talkatumessage.c
+++ b/talkatu/talkatumessage.c
@@ -22,21 +22,6 @@
 #include "talkatu/talkatuenums.h"
 
 /**
- * SECTION:talkatumessage
- * @Title: Message
- * @Short_description: A message representation
- *
- * Talkatu needs a way to represent a message in a client agnostic way, this is
- * the API that does that.
- */
-
-/**
- * TALKATU_TYPE_MESSAGE:
- *
- * The standard _get_type macro for #TalkatuMessage.
- */
-
-/**
  * TalkatuMessage:
  *
  * #TalkatuMessage is an opaque data structure and can only be accessed using
diff --git a/talkatu/talkatumessageactions.c b/talkatu/talkatumessageactions.c
--- a/talkatu/talkatumessageactions.c
+++ b/talkatu/talkatumessageactions.c
@@ -21,21 +21,6 @@
 #include "talkatu/talkatumessageactions.h"
 
 /**
- * SECTION:talkatumessageactions
- * @Title: Message actions
- * @Short_description: A display widget for #TalkatuMessage's
- *
- * Talkatu provides a simple formatting message_actions that gives the user the ability
- * to format any #TalkatuBuffer via the formatting actions.
- */
-
-/**
- * TALKATU_TYPE_MESSAGE_ACTIONS:
- *
- * The standard _get_type macro for #TalkatuMessageActions.
- */
-
-/**
  * TalkatuMessageActions:
  *
  * A composite #GtkWidget to allow the user to interact with a message in a
diff --git a/talkatu/talkatuscrolledwindow.c b/talkatu/talkatuscrolledwindow.c
--- a/talkatu/talkatuscrolledwindow.c
+++ b/talkatu/talkatuscrolledwindow.c
@@ -21,26 +21,11 @@
 #include <talkatu/talkatuscrolledwindow.h>
 
 /**
- * SECTION:talkatuscrolledwindow
- * @Title: Enhanced Scrolled Window
- * @Short_description: An enhanced GtkScrolledWindow
- *
+ * TalkatuScrolledWindow:
  * This widget is a simple subclass of #GtkScrolledWindow that has helpers for
- * keyboard navigation as well as the ability to automatically scroll to the end
- * when new items are added if the widget was already scrolled all the way to
- * the bottom.
- */
-
-/**
- * TALKATU_TYPE_SCROLLED_WINDOW:
- *
- * The standard _get_type macro for #TalkatuScrolledWindow.
- */
-
-/**
- * TalkatuScrolledWindow:
- *
- * An enhanced #GtkScrolledWindow subclass.
+ * keyboard navigation as well as the ability to automatically scroll to the
+ * bottom when new items are added if the widget was already scrolled all the
+ * way to the bottom.
  */
 struct _TalkatuScrolledWindow {
 	GtkScrolledWindow parent;
diff --git a/talkatu/talkatusimpleattachment.c b/talkatu/talkatusimpleattachment.c
--- a/talkatu/talkatusimpleattachment.c
+++ b/talkatu/talkatusimpleattachment.c
@@ -21,26 +21,11 @@
 #include <glib/gi18n-lib.h>
 
 /**
- * SECTION:talkatusimpleattachment
- * @Title: Simple Attachments
- * @Short_description: A Simple Message Attachment
+ * TalkatuSimpleAttachment:
  *
  * #TalkatuSimpleAttachment is simple implementation of the #TalkatuAttachment
- * interface.  This is the easiest way to create a #TalkatuAttachment and attach
- * it to a #TalkatuMessage.
- */
-
-/**
- * TALKATU_TYPE_SIMPLE_ATTACHMENT:
- *
- * The standard _get_type macro for #TalkatuSimpleAttachment.
- */
-
-/**
- * TalkatuSimpleAttachment:
- *
- * TalkatuSimpleAttachment is an opaque data structure and can not be used
- * directly.
+ * interface.  This is the easiest way to create a #TalkatuAttachment and
+ * attach it to a #TalkatuMessage.
  */
 struct _TalkatuSimpleAttachment {
 	GObject parent;
diff --git a/talkatu/talkatutag.c b/talkatu/talkatutag.c
--- a/talkatu/talkatutag.c
+++ b/talkatu/talkatutag.c
@@ -21,20 +21,6 @@
 #include "talkatu/talkatuenums.h"
 
 /**
- * SECTION:talkatutag
- * @Title: Tags
- * @Short_description: Helpers for handling tags.
- *
- * Talkatu deals with a lot of tags which this API tries to make easier.
- */
-
-/**
- * TALKATU_TYPE_TAG:
- *
- * The standard _get_type macro for #TalkatuTag.
- */
-
-/**
  * TALKATU_TAG_ANCHOR:
  *
  * A constant that represents an anchor or link font style.
diff --git a/talkatu/talkatutagtable.c b/talkatu/talkatutagtable.c
--- a/talkatu/talkatutagtable.c
+++ b/talkatu/talkatutagtable.c
@@ -25,21 +25,6 @@
 #include <talkatu/talkatutagtable.h>
 
 /**
- * SECTION:talkatutagtable
- * @Title: TagTable
- * @Short_description: A simple formatting tag_table
- *
- * Talkatu provides a simple formatting tag_table that gives the user the ability
- * to format any #TalkatuBuffer via the formatting actions.
- */
-
-/**
- * TALKATU_TYPE_TAG_TABLE:
- *
- * The standard _get_type macro for #TalkatuTagTable.
- */
-
-/**
  * TalkatuTagTable:
  *
  * A #GtkTextTagTable subclass that is preloaded with all of the #TalkatuTag's.
diff --git a/talkatu/talkatutoolbar.c b/talkatu/talkatutoolbar.c
--- a/talkatu/talkatutoolbar.c
+++ b/talkatu/talkatutoolbar.c
@@ -21,21 +21,6 @@
 #include "talkatu/talkatutoolbar.h"
 
 /**
- * SECTION:talkatutoolbar
- * @Title: Toolbar
- * @Short_description: A simple formatting toolbar
- *
- * Talkatu provides a simple formatting toolbar that gives the user the ability
- * to format any #TalkatuBuffer via the formatting actions.
- */
-
-/**
- * TALKATU_TYPE_TOOLBAR:
- *
- * The standard _get_type macro for #TalkatuToolbar.
- */
-
-/**
  * TalkatuToolbar:
  *
  * The formatting toolbar for #TalkatuView's.  It's based on the
diff --git a/talkatu/talkatutooldrawer.c b/talkatu/talkatutooldrawer.c
--- a/talkatu/talkatutooldrawer.c
+++ b/talkatu/talkatutooldrawer.c
@@ -21,22 +21,6 @@
 #include "talkatu/talkatutooldrawer.h"
 #include "talkatu/talkatumenutoolbutton.h"
 
-/**
- * SECTION:talkatutooldrawer
- * @Title: ToolDrawer Tool Item
- * @Short_description: A GtkToolItem that can be expand to show multiple items.
- *
- * A #TalkatuToolDrawer is a #GtkToolItem that groups many #GtkToolItems into a
- * collection that can be collapsed into a single item to eliminate clutter in
- * the user interface.
- */
-
-/**
- * TALKATU_TYPE_TOOL_DRAWER:
- *
- * The standard _get_type macro for #TalkatuToolDrawer.
- */
-
 typedef struct {
 	GAction *action;
 	gchar *markup;
diff --git a/talkatu/talkatutypinglabel.c b/talkatu/talkatutypinglabel.c
--- a/talkatu/talkatutypinglabel.c
+++ b/talkatu/talkatutypinglabel.c
@@ -24,9 +24,7 @@
 #include <talkatu/talkatutypinglabel.h>
 
 /**
- * SECTION:talkatutypinglabel
- * @Title: TypingLabel
- * @Short_description: A GtkLabel that displays who's typing
+ * TalkatuTypingLabel:
  *
  * This widget implements a simple interface for displaying who is currently
  * typing.  You can call talkatu_typing_label_start_typing() whenever you
@@ -39,18 +37,6 @@
  * Usernames are passed in as strings and their default display can be
  * overridden by connecting to the #TalkatuTypingLabel::changed signal.
  */
-
-/**
- * TALKATU_TYPE_TYPING_LABEL:
- *
- * The standard _get_type macro for #TalkatuTypingLabel.
- */
-
-/**
- * TalkatuTypingLabel:
- *
- * A #GtkLabel subclass that keeps track of who's typing.
- */
 typedef struct {
 	GtkLabel parent;
 
diff --git a/talkatu/talkatuview.c b/talkatu/talkatuview.c
--- a/talkatu/talkatuview.c
+++ b/talkatu/talkatuview.c
@@ -31,21 +31,6 @@
 #include "talkatu/talkatuview.h"
 
 /**
- * SECTION:talkatuview
- * @Title: Text View
- * @Short_description: Widget that displays a TalkatuBuffer
- *
- * #TalkatuView handles the display of a #TalkatuBuffer, the keybindings for
- * applying formats, as well as displaying links.
- */
-
-/**
- * TALKATU_TYPE_VIEW:
- *
- * The standard _get_type macro for #TalkatuView.
- */
-
-/**
  * TalkatuViewClass:
  * @format_activate: The class handler for the #TalkatuView::format_activate
  *                   signal.
diff --git a/talkatu/talkatuwholebuffer.c b/talkatu/talkatuwholebuffer.c
--- a/talkatu/talkatuwholebuffer.c
+++ b/talkatu/talkatuwholebuffer.c
@@ -22,21 +22,6 @@
 #include "talkatu/talkatuwholebuffer.h"
 
 /**
- * SECTION:talkatuwholebuffer
- * @Title: Whole Buffer
- * @Short_description: A whole format text buffer
- *
- * TalkatuWholeBuffer is a #GtkTextBuffer who's formatting applied to the
- * entire buffer and not on a character by character basis.
- */
-
-/**
- * TALKATU_TYPE_WHOLE_BUFFER:
- *
- * The standard _get_type macro for #TalkatuWholeBuffer.
- */
-
-/**
  * TalkatuWholeBuffer:
  *
  * A #TalkatuBuffer subclass that applies formatting to the entire buffer
