diff --git a/README.md b/README.md
index fe41f30..a12f559 100644
--- a/README.md
+++ b/README.md
@@ -172,7 +172,7 @@ The key's value must be a string which defines the template's content.
 
 If you set the Layout to plain, the page layout can be customized using HTML comments inside the markdown:
 
-```
+```markdown
 
 
 
@@ -421,6 +421,9 @@ By default, mark provides several built-in templates and macros:
   - Title: Defines the text next to the expand/collapse icon.
   - Body: The Text that it is expanded to.
 
+* template: `ac:profile` to display a short summary of a given Confluence user's profile.
+  - Name: The username of the Confluence user whose profile summary you wish to show.
+
 * macro `@{...}` to mention user by name specified in the braces.
 
 ## Template & Macros Usecases
diff --git a/pkg/mark/stdlib/stdlib.go b/pkg/mark/stdlib/stdlib.go
index 3a1cb2a..2025492 100644
--- a/pkg/mark/stdlib/stdlib.go
+++ b/pkg/mark/stdlib/stdlib.go
@@ -136,7 +136,11 @@ func templates(api *confluence.API) (*template.Template, error) {
 		`ac:link:user`: text(
 			`{{ with .Name | user }}`,
 			/**/ ``,
-			/**/ ``,
+			/**/ `{{ with .AccountID }}`,
+			/****/ ``,
+			/**/ `{{ else }}`,
+			/****/ ``,
+			/**/ `{{ end }}`,
 			/**/ ``,
 			`{{ else }}`,
 			/**/ `{{ .Name }}`,
@@ -319,6 +323,22 @@ func templates(api *confluence.API) (*template.Template, error) {
 			``,
 		),
 
+		/* https://confluence.atlassian.com/conf59/user-profile-macro-792499223.html */
+
+		`ac:profile`: text(
+			`{{ with .Name | user  }}`,
+			`{{printf "\n"}}`,
+			`{{printf "\n"}}`,
+			`{{ with .AccountID }}`,
+			/**/ `{{printf "\n"}}`,
+			`{{ else }}`,
+			/**/ ``,
+			`{{ end }}`,
+			`{{printf "\n"}}`,
+			`{{printf "\n"}}`,
+			`{{ end }}`,
+		),
+
 		// TODO(seletskiy): more templates here
 	} {
 		templates, err = templates.New(name).Parse(body)