diff --git a/.gulp/Settings.ts b/.gulp/Settings.ts
index 81d2f38..c5d0096 100644
--- a/.gulp/Settings.ts
+++ b/.gulp/Settings.ts
@@ -45,6 +45,16 @@ export class Settings
      */
     private stylePath = "css";
 
+    /**
+     * The path to the root of the template-source.
+     */
+    private templateSource = "Templates";
+
+    /**
+     * The path to save the templates to.
+     */
+    private templatePath = "templates";
+
     /**
      * The path to the test-directory.
      */
@@ -172,6 +182,34 @@ export class Settings
         return this.RootPath(this.stylePath, ...path);
     }
 
+    /**
+     * Creates a path relative to the root of the template-source.
+     *
+     * @param path
+     * The path to join.
+     *
+     * @returns
+     * The joined path.
+     */
+    public TemplateSource(...path: string[])
+    {
+        return this.SourceRoot(this.templateSource, ...path);
+    }
+
+    /**
+     * Creates a path relative to the directory to save the templates to.
+     *
+     * @param path
+     * The path to join.
+     *
+     * @returns
+     * The joined path.
+     */
+    public TemplatePath(...path: string[])
+    {
+        return this.RootPath(this.templatePath, ...path);
+    }
+
     /**
      * Creates a path relative to the test-directory.
      *
diff --git a/gulpfile.ts b/gulpfile.ts
index 02c2ebc..76a0aa9 100644
--- a/gulpfile.ts
+++ b/gulpfile.ts
@@ -157,7 +157,8 @@ export async function Build()
     await Promise.all(
         [
             Library(),
-            Theme()
+            Theme(),
+            Templates()
         ]);
 }
 
@@ -315,6 +316,18 @@ export async function Theme()
 
 Theme.description = "Builds the theme.";
 
+/**
+ * Builds the templates.
+ */
+export function Templates()
+{
+    return gulp.src(
+        settings.TemplateSource("**")).pipe(
+            gulp.dest(settings.TemplatePath()));
+}
+
+Templates.description = "Builds the templates.";
+
 /**
  * Stops a watch-task.
  */