1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
From f37eb5e81c996800e2e69180fa225dfef3943c84 Mon Sep 17 00:00:00 2001
From: Brian May <bam@debian.org>
Date: Fri, 29 Jul 2016 08:06:08 +1000
Subject: Support reproducible builds
See https://github.com/mkdocs/mkdocs/issues/938
---
mkdocs/commands/build.py | 3 ++-
mkdocs/nav.py | 6 +++++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/mkdocs/commands/build.py b/mkdocs/commands/build.py
index 614173d..66fef62 100644
--- a/mkdocs/commands/build.py
+++ b/mkdocs/commands/build.py
@@ -5,6 +5,7 @@ from datetime import datetime
import io
import logging
import os
+import time
from jinja2.exceptions import TemplateNotFound
import jinja2
@@ -83,7 +84,7 @@ def get_global_context(nav, config):
'google_analytics': config['google_analytics'],
'mkdocs_version': mkdocs.__version__,
- 'build_date_utc': datetime.utcnow(),
+ 'build_date_utc': datetime.utcfromtimestamp(int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))),
'config': config
}
diff --git a/mkdocs/nav.py b/mkdocs/nav.py
index b72e21f..07f6505 100644
--- a/mkdocs/nav.py
+++ b/mkdocs/nav.py
@@ -137,7 +137,11 @@ class Page(object):
self.abs_url = url
self.active = False
self.url_context = url_context
- self.update_date = datetime.datetime.now().strftime("%Y-%m-%d")
+
+ try:
+ self.update_date = datetime.datetime.utcfromtimestamp(int(os.environ['SOURCE_DATE_EPOCH']))
+ except KeyError:
+ self.update_date = datetime.datetime.now().strftime("%Y-%m-%d")
# Relative paths to the input markdown file and output html file.
self.input_path = path
|