diff --git a/mercurial/templates/atom/bookmarkentry.tmpl b/mercurial/templates/atom/bookmarkentry.tmpl
new file mode 100644
--- /dev/null
+++ b/mercurial/templates/atom/bookmarkentry.tmpl
@@ -0,0 +1,8 @@
+
+ {bookmark|escape}
+
+ {urlbase}{url}#bookmark-{node}
+ {date|rfc3339date}
+ {date|rfc3339date}
+ {bookmark|strip|escape}
+
diff --git a/mercurial/templates/atom/bookmarks.tmpl b/mercurial/templates/atom/bookmarks.tmpl
new file mode 100644
--- /dev/null
+++ b/mercurial/templates/atom/bookmarks.tmpl
@@ -0,0 +1,11 @@
+{header}
+ {urlbase}{url}
+
+
+
{repo|escape}: bookmarks
+ {repo|escape} bookmark history
+ Mercurial SCM
+ {latestentry%feedupdated}
+
+{entries%bookmarkentry}
+
diff --git a/mercurial/templates/atom/map b/mercurial/templates/atom/map
--- a/mercurial/templates/atom/map
+++ b/mercurial/templates/atom/map
@@ -8,4 +8,6 @@ filelog = filelog.tmpl
filelogentry = filelogentry.tmpl
tags = tags.tmpl
tagentry = tagentry.tmpl
+bookmarks = bookmarks.tmpl
+bookmarkentry = bookmarkentry.tmpl
error = error.tmpl
diff --git a/mercurial/templates/rss/bookmarkentry.tmpl b/mercurial/templates/rss/bookmarkentry.tmpl
new file mode 100644
--- /dev/null
+++ b/mercurial/templates/rss/bookmarkentry.tmpl
@@ -0,0 +1,6 @@
+-
+ {bookmark|escape}
+ {urlbase}{url}rev/{node|short}
+
+ {date|rfc822date}
+
diff --git a/mercurial/templates/rss/bookmarks.tmpl b/mercurial/templates/rss/bookmarks.tmpl
new file mode 100644
--- /dev/null
+++ b/mercurial/templates/rss/bookmarks.tmpl
@@ -0,0 +1,6 @@
+{header}
+ {repo|escape}: bookmarks
+ {repo|escape} bookmark history
+ {entries%bookmarkentry}
+
+
diff --git a/mercurial/templates/rss/map b/mercurial/templates/rss/map
--- a/mercurial/templates/rss/map
+++ b/mercurial/templates/rss/map
@@ -7,4 +7,6 @@ filelog = filelog.tmpl
filelogentry = filelogentry.tmpl
tags = tags.tmpl
tagentry = tagentry.tmpl
+bookmarks = bookmarks.tmpl
+bookmarkentry = bookmarkentry.tmpl
error = error.tmpl