|
25 | 25 | import posixpath
|
26 | 26 | import yaml
|
27 | 27 |
|
28 |
| -from babel.dates import format_datetime |
| 28 | +from babel.dates import format_date, format_datetime |
29 | 29 | from datetime import datetime
|
30 | 30 | from jinja2 import pass_context
|
31 | 31 | from jinja2.runtime import Context
|
@@ -780,10 +780,16 @@ def _format_path_for_pagination(self, view: View, page: int):
|
780 | 780 |
|
781 | 781 | # -------------------------------------------------------------------------
|
782 | 782 |
|
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 |
784 | 787 | def _format_date(self, date: datetime, format: str, config: MkDocsConfig):
|
785 | 788 | 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) |
787 | 793 |
|
788 | 794 | # Format date for post
|
789 | 795 | def _format_date_for_post(self, date: datetime, config: MkDocsConfig):
|
|
0 commit comments