Skip to content

Commit 1041766

Browse files
committed
Fixed time sneaking into default post format string
1 parent e741f80 commit 1041766

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

material/plugins/blog/plugin.py

+9-3
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import posixpath
2626
import yaml
2727

28-
from babel.dates import format_datetime
28+
from babel.dates import format_date, format_datetime
2929
from datetime import datetime
3030
from jinja2 import pass_context
3131
from jinja2.runtime import Context
@@ -780,10 +780,16 @@ def _format_path_for_pagination(self, view: View, page: int):
780780

781781
# -------------------------------------------------------------------------
782782

783-
# Format date
783+
# Format date - if the given format string refers to a predefined format,
784+
# we format the date without a time component in order to keep sane default
785+
# behavior, since authors will not expect time to be relevant for most posts
786+
# as by our assumptions - see https://t.ly/Yi7ZC
784787
def _format_date(self, date: datetime, format: str, config: MkDocsConfig):
785788
locale: str = config.theme["language"].replace("-", "_")
786-
return format_datetime(date, format = format, locale = locale)
789+
if format in ["full", "long", "medium", "short"]:
790+
return format_date(date, format = format, locale = locale)
791+
else:
792+
return format_datetime(date, format = format, locale = locale)
787793

788794
# Format date for post
789795
def _format_date_for_post(self, date: datetime, config: MkDocsConfig):

src/plugins/blog/plugin.py

+9-3
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import posixpath
2626
import yaml
2727

28-
from babel.dates import format_datetime
28+
from babel.dates import format_date, format_datetime
2929
from datetime import datetime
3030
from jinja2 import pass_context
3131
from jinja2.runtime import Context
@@ -780,10 +780,16 @@ def _format_path_for_pagination(self, view: View, page: int):
780780

781781
# -------------------------------------------------------------------------
782782

783-
# Format date
783+
# Format date - if the given format string refers to a predefined format,
784+
# we format the date without a time component in order to keep sane default
785+
# behavior, since authors will not expect time to be relevant for most posts
786+
# as by our assumptions - see https://t.ly/Yi7ZC
784787
def _format_date(self, date: datetime, format: str, config: MkDocsConfig):
785788
locale: str = config.theme["language"].replace("-", "_")
786-
return format_datetime(date, format = format, locale = locale)
789+
if format in ["full", "long", "medium", "short"]:
790+
return format_date(date, format = format, locale = locale)
791+
else:
792+
return format_datetime(date, format = format, locale = locale)
787793

788794
# Format date for post
789795
def _format_date_for_post(self, date: datetime, config: MkDocsConfig):

0 commit comments

Comments
 (0)