diff --git a/.gitignore b/.gitignore
index 1377554..c478f8c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
*.swp
+src/public
diff --git a/src/.hugo_build.lock b/src/.hugo_build.lock
new file mode 100644
index 0000000..e69de29
diff --git a/src/index.html b/src/content/_index.html
similarity index 77%
rename from src/index.html
rename to src/content/_index.html
index 1aaac68..3fb5346 100644
--- a/src/index.html
+++ b/src/content/_index.html
@@ -1,53 +1,11 @@
-
-
-
-
-
- Enroll - Reverse-engineering servers into Ansible
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+---
+title: "Enroll"
+html_title: "Enroll - Reverse-engineering servers into Ansible"
+description: "Enroll inspects Debian-like and RedHat-like Linux hosts and generates Ansible roles/playbooks from what it finds. Harvest → Manifest → Manage."
+og_title: "Enroll - Reverse-engineering servers into Ansible"
+og_description: "Harvest a host's real configuration and turn it into Ansible roles/playbooks. Safe-by-default, with optional SOPS encryption."
+og_type: "website"
+---
@@ -279,8 +237,8 @@ enroll explain /path/to/harvest.sops \
--format json
-
'explain' tells you why something was included, but also why something was excluded.
-
+ 'explain' tells you why something was included, but also why something was excluded.
+
@@ -395,54 +353,3 @@ sudo dnf install enroll
-
-
-
-
-
-
-
-
diff --git a/src/docs.html b/src/content/docs.html
similarity index 87%
rename from src/docs.html
rename to src/content/docs.html
index 60fd91b..af9b7a8 100644
--- a/src/docs.html
+++ b/src/content/docs.html
@@ -1,50 +1,8 @@
-
-
-
-
-
- Enroll Docs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+---
+title: "Docs"
+html_title: "Enroll Docs"
+description: "How Enroll works: harvest, manifest, modes, and configuration."
+---