diff --git a/doc/_templates/index.html b/doc/_templates/index.html
index 30373f06b..e0a8ce68a 100644
--- a/doc/_templates/index.html
+++ b/doc/_templates/index.html
@@ -5,8 +5,8 @@
{%trans%}What users say:{%endtrans%}
-
{%trans%}“Cheers for a great tool that actually makes programmers want
- to write documentation!”{%endtrans%}
+
{%trans%}“Cheers for a great tool that actually makes programmers want
+ to write documentation!“{%endtrans%}
{%trans%}
diff --git a/doc/_themes/sphinx13/layout.html b/doc/_themes/sphinx13/layout.html
index bf28cd089..5a2a71bfc 100644
--- a/doc/_themes/sphinx13/layout.html
+++ b/doc/_themes/sphinx13/layout.html
@@ -57,8 +57,8 @@
{% endblock %}
{% block rootrellink %}
-
Sphinx home |
- Documentation »
+ Sphinx home |
+ Documentation »
{% endblock %}
{% block header %}
diff --git a/doc/conf.py b/doc/conf.py
index f3bf569f8..269b67275 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -36,9 +36,9 @@ epub_author = 'Georg Brandl'
epub_publisher = 'http://sphinx-doc.org/'
epub_scheme = 'url'
epub_identifier = epub_publisher
-epub_pre_files = [('index.html', 'Welcome')]
-epub_post_files = [('install.html', 'Installing Sphinx'),
- ('develop.html', 'Sphinx development')]
+epub_pre_files = [('index.xhtml', 'Welcome')]
+epub_post_files = [('install.xhtml', 'Installing Sphinx'),
+ ('develop.xhtml', 'Sphinx development')]
epub_exclude_files = ['_static/opensearch.xml', '_static/doctools.js',
'_static/jquery.js', '_static/searchtools.js',
'_static/underscore.js', '_static/basic.css',
@@ -48,6 +48,7 @@ epub_max_image_width = 0
epub_show_urls = 'inline'
epub_use_index = False
epub_guide = (('toc', 'contents.xhtml', u'Table of Contents'),)
+epub3_description = 'Sphinx documentation generator system manual'
latex_documents = [('contents', 'sphinx.tex', 'Sphinx Documentation',
'Georg Brandl', 'manual', 1)]
diff --git a/doc/config.rst b/doc/config.rst
index b579d7e2b..2d427042f 100644
--- a/doc/config.rst
+++ b/doc/config.rst
@@ -1388,6 +1388,10 @@ the `Dublin Core metadata `_.
a chapter, but can be confusing because it mixes entries of different
depth in one list. The default value is ``True``.
+ .. note::
+
+ ``epub3`` builder ignores ``epub_tocdup`` option(always ``False``)
+
.. confval:: epub_tocscope
This setting control the scope of the epub table of contents. The setting
diff --git a/sphinx/builders/epub.py b/sphinx/builders/epub.py
index f0aa97277..f5f0d8098 100644
--- a/sphinx/builders/epub.py
+++ b/sphinx/builders/epub.py
@@ -15,6 +15,7 @@ import re
import codecs
import zipfile
from os import path
+from datetime import datetime
try:
from PIL import Image
@@ -28,7 +29,6 @@ from docutils import nodes
from sphinx import addnodes
from sphinx.builders.html import StandaloneHTMLBuilder
-from sphinx.util.i18n import format_date
from sphinx.util.osutil import ensuredir, copyfile, EEXIST
from sphinx.util.smartypants import sphinx_smarty_pants as ssp
from sphinx.util.console import brown
@@ -129,8 +129,7 @@ GUIDE_TEMPLATE = u'''\
TOCTREE_TEMPLATE = u'toctree-l%d'
DOCTYPE = u'''
-'''
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">'''
LINK_TARGET_TEMPLATE = u' [%(uri)s]'
@@ -541,8 +540,7 @@ class EpubBuilder(StandaloneHTMLBuilder):
metadata['copyright'] = self.esc(self.config.epub_copyright)
metadata['scheme'] = self.esc(self.config.epub_scheme)
metadata['id'] = self.esc(self.config.epub_identifier)
- metadata['date'] = self.esc(format_date('%Y-%m-%d', language=self.config.language,
- warn=self.warn))
+ metadata['date'] = self.esc(datetime.utcnow().strftime("%Y-%m-%d"))
metadata['files'] = files
metadata['spine'] = spine
metadata['guide'] = guide
diff --git a/sphinx/builders/epub3.py b/sphinx/builders/epub3.py
index a91779f88..d792bd6e9 100644
--- a/sphinx/builders/epub3.py
+++ b/sphinx/builders/epub3.py
@@ -12,6 +12,7 @@
import codecs
from os import path
+from datetime import datetime
from sphinx.builders.epub import EpubBuilder
@@ -41,13 +42,12 @@ NAVIGATION_DOC_TEMPLATE = u'''\