diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore
index ad67ef7d9a..f0d29d1c36 100644
--- a/docs/reference/gtk/tmpl/.gitignore
+++ b/docs/reference/gtk/tmpl/.gitignore
@@ -23,6 +23,7 @@ gtkrecentchooserdialog.sgml
gtkrecentchoosermenu.sgml
gtkrecentchooserwidget.sgml
gtkrecentmanager.sgml
+gtkscale.sgml
gtkscalebutton.sgml
gtkseparator.sgml
gtkseparatormenuitem.sgml
diff --git a/docs/reference/gtk/tmpl/gtkscale.sgml b/docs/reference/gtk/tmpl/gtkscale.sgml
deleted file mode 100644
index e4e6d512da..0000000000
--- a/docs/reference/gtk/tmpl/gtkscale.sgml
+++ /dev/null
@@ -1,193 +0,0 @@
-
-GtkScale
-
-
-Base class for GtkHScale and GtkVScale
-
-
-
-A #GtkScale is a slider control used to select a numeric value.
-To use it, you'll probably want to investigate the methods on
-its base class, #GtkRange, in addition to the methods for #GtkScale itself.
-To set the value of a scale, you would normally use gtk_range_set_value().
-To detect changes to the value, you would normally use the "value_changed"
-signal.
-
-
-GtkScale as GtkBuildable
-
-GtkScale supports a custom <marks> element, which
-can contain multiple <mark> elements. The "value" and "position"
-attributes have the same meaning as gtk_scale_add_mark() parameters of the
-same name. If the element is not empty, its content is taken as the markup
-to show at the mark. It can be translated with the usual "translatable and
-"context" attributes.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-The fields of the #GtkScale-struct struct should only be accessed via
-the accessor functions.
-
-
-
-
-
-
-
-
-@scale:
-@value:
-@Returns:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@orientation:
-@adjustment:
-@Returns:
-
-
-
-
-
-
-
-@orientation:
-@min:
-@max:
-@step:
-@Returns:
-
-
-
-
-
-
-
-@scale:
-@digits:
-
-
-
-
-
-
-
-@scale:
-@draw_value:
-
-
-
-
-
-
-
-@scale:
-@pos:
-
-
-
-
-
-
-
-@scale:
-@Returns:
-
-
-
-
-
-
-
-@scale:
-@Returns:
-
-
-
-
-
-
-
-@scale:
-@Returns:
-
-
-
-
-
-
-
-@scale:
-@Returns:
-
-
-
-
-
-
-
-@scale:
-@x:
-@y:
-
-
-
-
-
-
-
-@scale:
-@value:
-@position:
-@markup:
-
-
-
-
-
-
-
-@scale:
-
-
diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c
index e03013dc23..853b1cf769 100644
--- a/gtk/gtkscale.c
+++ b/gtk/gtkscale.c
@@ -42,6 +42,30 @@
#include "gtkbuildable.h"
#include "gtkbuilderprivate.h"
+
+/**
+ * SECTION:gtkscale
+ * @Short_description: Base class for #GtkHScale and #GtkVScale
+ * @Title: GtkScale
+ *
+ * A #GtkScale is a slider control used to select a numeric value.
+ * To use it, you'll probably want to investigate the methods on
+ * its base class, #GtkRange, in addition to the methods for #GtkScale itself.
+ * To set the value of a scale, you would normally use gtk_range_set_value().
+ * To detect changes to the value, you would normally use the
+ * #GtkRange::value_changed signal.
+ *
+ * GtkScale as GtkBuildable
+ * GtkScale supports a custom <marks> element, which
+ * can contain multiple <mark> elements. The "value" and "position"
+ * attributes have the same meaning as gtk_scale_add_mark() parameters of the
+ * same name. If the element is not empty, its content is taken as the markup
+ * to show at the mark. It can be translated with the usual "translatable and
+ * "context" attributes.
+ *
+ */
+
+
#define MAX_DIGITS (64) /* don't change this,
* a) you don't need to and
* b) you might cause buffer owerflows in