mkdocs-document-dates 3.7.3__tar.gz → 3.7.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mkdocs_document_dates-3.7.3/mkdocs_document_dates.egg-info → mkdocs_document_dates-3.7.4}/PKG-INFO +2 -1
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/plugin.py +6 -1
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/.DS_Store +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/templates/recently_updated_group.html +10 -2
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/utils.py +30 -11
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4/mkdocs_document_dates.egg-info}/PKG-INFO +2 -1
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates.egg-info/requires.txt +1 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/pyproject.toml +3 -3
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/setup.py +1 -1
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/LICENSE +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/MANIFEST.in +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/README.md +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/__init__.py +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/cache_manager.py +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/hooks/pre-commit +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/hooks_installer.py +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/config/user.config.css +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/config/user.config.js +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/core/core.css +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/core/core.js +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/core/default.config.js +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/core/md5.min.js +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/core/timeago.full.min.js +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/core/timeago.min.js +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/core/utils.js +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/fonts/material-icons.css +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/fonts/materialicons.woff2 +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/templates/recently_updated_detail.html +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/templates/recently_updated_grid.html +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/templates/recently_updated_list.html +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/tippy/backdrop.css +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/tippy/light.css +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/tippy/material.css +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/tippy/popper.min.js +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/tippy/scale.css +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/tippy/shift-away.css +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/tippy/tippy.css +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/tippy/tippy.umd.min.js +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates.egg-info/SOURCES.txt +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates.egg-info/dependency_links.txt +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates.egg-info/entry_points.txt +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates.egg-info/top_level.txt +0 -0
- {mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/setup.cfg +0 -0
{mkdocs_document_dates-3.7.3/mkdocs_document_dates.egg-info → mkdocs_document_dates-3.7.4}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mkdocs-document-dates
|
|
3
|
-
Version: 3.7.
|
|
3
|
+
Version: 3.7.4
|
|
4
4
|
Summary: A new generation MkDocs plugin for displaying exact creation date, last updated date, authors, email of documents
|
|
5
5
|
Author-email: Aaron Wang <aaronwqt@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -13,6 +13,7 @@ Requires-Python: >=3.7
|
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
License-File: LICENSE
|
|
15
15
|
Requires-Dist: mkdocs<=1.6.1,>=1.6
|
|
16
|
+
Requires-Dist: properdocs>=1.6.5
|
|
16
17
|
Dynamic: license-file
|
|
17
18
|
|
|
18
19
|
# mkdocs-document-dates
|
|
@@ -205,9 +205,14 @@ class DocumentDatesPlugin(BasePlugin):
|
|
|
205
205
|
exclude_list = recently_updated_config.get('exclude', [])
|
|
206
206
|
limit = recently_updated_config.get('limit', 10)
|
|
207
207
|
|
|
208
|
+
# 获取站点 URL 路径前缀
|
|
209
|
+
site_url = config.get("site_url", "")
|
|
210
|
+
base_path = urlparse(site_url).path.rstrip("/")
|
|
211
|
+
prefix = f"{base_path}/" if base_path else "/"
|
|
212
|
+
|
|
208
213
|
# 获取最近更新的文档数据
|
|
209
214
|
recent_exclude_patterns = compile_exclude_patterns(exclude_list)
|
|
210
|
-
recently_updated_docs = get_recently_updated_files(self.last_updated_dates, files, recent_exclude_patterns, limit, self.recent_enable)
|
|
215
|
+
recently_updated_docs = get_recently_updated_files(self.last_updated_dates, files, recent_exclude_patterns, limit, self.recent_enable, prefix)
|
|
211
216
|
|
|
212
217
|
# 将数据注入到 config['extra'] 中供全局访问
|
|
213
218
|
if not config.get('extra', {}).get("recently_updated_docs", {}):
|
{mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/static/.DS_Store
RENAMED
|
Binary file
|
|
@@ -260,11 +260,19 @@
|
|
|
260
260
|
--summary-lines-grid: {{ summary_lines.grid }};
|
|
261
261
|
--summary-lines-detail: {{ summary_lines.detail }};
|
|
262
262
|
">
|
|
263
|
-
{%- for
|
|
263
|
+
{%- for doc in recent_docs %}
|
|
264
|
+
{%- set title = doc.title | default('') %}
|
|
265
|
+
{%- set url = doc.url | default('') %}
|
|
266
|
+
{%- set updated_dt = doc.updated_dt | default('') %}
|
|
267
|
+
{%- set updated = doc.updated | default(updated_dt[:10]) %}
|
|
268
|
+
{%- set cover = doc.cover | default('') %}
|
|
269
|
+
{%- set summary = doc.summary | default('') %}
|
|
270
|
+
{%- set readtime = doc.readtime | default(0) %}
|
|
271
|
+
{%- set tags = doc.tags | default([]) %}
|
|
264
272
|
<div class="article-card">
|
|
265
273
|
<a class="card-header" href="{{ url }}" target="_blank">
|
|
266
274
|
<div class="card-title">{{ title }}</div>
|
|
267
|
-
<time class="dd-timeago card-date" datetime="{{
|
|
275
|
+
<time class="dd-timeago card-date" datetime="{{ updated_dt }}">{{ updated }}</time>
|
|
268
276
|
</a>
|
|
269
277
|
<div class="card-body">
|
|
270
278
|
{%- if cover %}
|
|
@@ -8,6 +8,7 @@ import fnmatch
|
|
|
8
8
|
import re
|
|
9
9
|
import math
|
|
10
10
|
from pathlib import Path
|
|
11
|
+
from operator import itemgetter
|
|
11
12
|
from datetime import datetime
|
|
12
13
|
from collections import defaultdict
|
|
13
14
|
from mkdocs.structure.files import Files
|
|
@@ -143,7 +144,7 @@ def load_git_last_updated_dates(docs_dir_path: Path):
|
|
|
143
144
|
return doc_mtime_map
|
|
144
145
|
|
|
145
146
|
# 建议在 on_page_markdown 之后的全局事件中调用,因为需要读取 page.meta 中的信息
|
|
146
|
-
def get_recently_updated_files(existing_dates: dict, files: Files, exclude_list: list, limit: int = 10, recent_enable: bool = False):
|
|
147
|
+
def get_recently_updated_files(existing_dates: dict, files: Files, exclude_list: list, limit: int = 10, recent_enable: bool = False, prefix: str = ""):
|
|
147
148
|
recently_updated_results = []
|
|
148
149
|
if recent_enable:
|
|
149
150
|
files_meta = []
|
|
@@ -163,8 +164,8 @@ def get_recently_updated_files(existing_dates: dict, files: Files, exclude_list:
|
|
|
163
164
|
|
|
164
165
|
# 获取文档其它信息
|
|
165
166
|
title = file.page.title if file.page and file.page.title else file.name
|
|
166
|
-
url = file.page.url if file.page and file.page.url else file.url
|
|
167
|
-
tags = file.page.meta.get("tags") or []
|
|
167
|
+
url = prefix + (file.page.url if file.page and file.page.url else file.url)
|
|
168
|
+
tags = (file.page.meta.get("tags") or []) if file.page else []
|
|
168
169
|
|
|
169
170
|
cover = ''
|
|
170
171
|
summary = ''
|
|
@@ -172,25 +173,43 @@ def get_recently_updated_files(existing_dates: dict, files: Files, exclude_list:
|
|
|
172
173
|
# authors = []
|
|
173
174
|
if file.page:
|
|
174
175
|
cover = file.page.meta.get('cover', '')
|
|
176
|
+
if cover and not cover.startswith(('http', 'ftp')):
|
|
177
|
+
cover = prefix + cover.lstrip('/')
|
|
175
178
|
# authors = file.page.meta.document_dates.authors
|
|
176
179
|
if file.page.file:
|
|
177
180
|
summary, readtime = analyze_markdown(file.page.file.content_string)
|
|
178
181
|
|
|
179
|
-
meta_readtime = int(file.page.meta.get('readtime') or 0)
|
|
182
|
+
meta_readtime = int((file.page.meta.get('readtime') or 0) if file.page else 0)
|
|
180
183
|
readtime = meta_readtime if meta_readtime > 0 else readtime
|
|
181
184
|
|
|
182
185
|
# 存储信息(更新时间、路径、标题、URL、封面、摘要、阅读时间、标签)
|
|
183
|
-
files_meta.append(
|
|
186
|
+
files_meta.append({
|
|
187
|
+
"updated_ts": mtime,
|
|
188
|
+
"rel_path": rel_path,
|
|
189
|
+
"title": title,
|
|
190
|
+
"url": url,
|
|
191
|
+
"cover": cover,
|
|
192
|
+
"summary": summary,
|
|
193
|
+
"readtime": readtime,
|
|
194
|
+
"tags": tags,
|
|
195
|
+
})
|
|
184
196
|
# existing_map[rel_path] = mtime
|
|
185
197
|
|
|
186
198
|
# 构建最近更新列表
|
|
187
199
|
if files_meta:
|
|
200
|
+
fmt_full = "%Y-%m-%d %H:%M:%S"
|
|
201
|
+
fmt_date = "%Y-%m-%d"
|
|
188
202
|
# heapq 取 top limit
|
|
189
|
-
top_results = heapq.nlargest(limit, files_meta, key=
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
203
|
+
top_results = heapq.nlargest(limit, files_meta, key=itemgetter("updated_ts"))
|
|
204
|
+
|
|
205
|
+
for doc in top_results:
|
|
206
|
+
dt = datetime.fromtimestamp(doc["updated_ts"])
|
|
207
|
+
|
|
208
|
+
recently_updated_results.append({
|
|
209
|
+
**doc,
|
|
210
|
+
"updated_dt": dt.strftime(fmt_full),
|
|
211
|
+
"updated": dt.strftime(fmt_date),
|
|
212
|
+
})
|
|
194
213
|
|
|
195
214
|
return recently_updated_results
|
|
196
215
|
|
|
@@ -503,4 +522,4 @@ def analyze_markdown(md: str) -> list:
|
|
|
503
522
|
summary = MD_SYNTAX_RE.sub("", " ".join(summary_lines)).strip()
|
|
504
523
|
minutes = max(1, math.ceil(seconds / 60))
|
|
505
524
|
|
|
506
|
-
return summary, minutes
|
|
525
|
+
return summary, minutes
|
{mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4/mkdocs_document_dates.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mkdocs-document-dates
|
|
3
|
-
Version: 3.7.
|
|
3
|
+
Version: 3.7.4
|
|
4
4
|
Summary: A new generation MkDocs plugin for displaying exact creation date, last updated date, authors, email of documents
|
|
5
5
|
Author-email: Aaron Wang <aaronwqt@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -13,6 +13,7 @@ Requires-Python: >=3.7
|
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
License-File: LICENSE
|
|
15
15
|
Requires-Dist: mkdocs<=1.6.1,>=1.6
|
|
16
|
+
Requires-Dist: properdocs>=1.6.5
|
|
16
17
|
Dynamic: license-file
|
|
17
18
|
|
|
18
19
|
# mkdocs-document-dates
|
|
@@ -4,15 +4,15 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "mkdocs-document-dates"
|
|
7
|
-
version = "3.7.
|
|
7
|
+
version = "3.7.4"
|
|
8
8
|
description = "A new generation MkDocs plugin for displaying exact creation date, last updated date, authors, email of documents"
|
|
9
9
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
10
10
|
requires-python = ">=3.7"
|
|
11
11
|
license = "MIT"
|
|
12
12
|
authors = [{ name = "Aaron Wang", email = "aaronwqt@gmail.com" }]
|
|
13
13
|
dependencies = [
|
|
14
|
-
"mkdocs>=1.6,<=1.6.1"
|
|
15
|
-
|
|
14
|
+
"mkdocs>=1.6,<=1.6.1",
|
|
15
|
+
"properdocs>=1.6.5"
|
|
16
16
|
]
|
|
17
17
|
classifiers = [
|
|
18
18
|
"Programming Language :: Python :: 3",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/__init__.py
RENAMED
|
File without changes
|
{mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/cache_manager.py
RENAMED
|
File without changes
|
{mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/hooks/pre-commit
RENAMED
|
File without changes
|
{mkdocs_document_dates-3.7.3 → mkdocs_document_dates-3.7.4}/mkdocs_document_dates/hooks_installer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|