mkdocs-document-dates 0.3.0__tar.gz → 0.4.0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mkdocs-document-dates
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: A MkDocs plugin for displaying accurate document creation and last modification dates.
5
5
  Home-page: https://github.com/jaywhj/mkdocs-document-dates
6
6
  Author: Aaron Wang
@@ -66,7 +66,7 @@ plugins:
66
66
  time_format: '%H:%M:%S' # Time format
67
67
  position: bottom # Display position: top (after title) or bottom (end of document)
68
68
  exclude: # List of file patterns to exclude
69
- - "private/*" # Exclude all files in private directory
69
+ - "private/*" # Exclude all files in private directory, including subdirectories
70
70
  - "drafts/*.md" # Exclude all markdown files in drafts directory
71
71
  - "temp.md" # Exclude specific file
72
72
  - "*.tmp" # Exclude all files with .tmp extension
@@ -44,7 +44,7 @@ plugins:
44
44
  time_format: '%H:%M:%S' # Time format
45
45
  position: bottom # Display position: top (after title) or bottom (end of document)
46
46
  exclude: # List of file patterns to exclude
47
- - "private/*" # Exclude all files in private directory
47
+ - "private/*" # Exclude all files in private directory, including subdirectories
48
48
  - "drafts/*.md" # Exclude all markdown files in drafts directory
49
49
  - "temp.md" # Exclude specific file
50
50
  - "*.tmp" # Exclude all files with .tmp extension
@@ -91,11 +91,36 @@ class DocumentDatesPlugin(BasePlugin):
91
91
 
92
92
  def on_page_markdown(self, markdown, page, config, files):
93
93
  """处理页面内容,添加日期信息"""
94
- file_path = page.file.abs_src_path
94
+ file_path = Path(page.file.abs_src_path)
95
+ docs_dir = Path(config['docs_dir'])
95
96
 
96
97
  # 检查是否在排除列表中
97
98
  for exclude_pattern in self.config['exclude']:
98
- if Path(file_path).match(exclude_pattern):
99
+ # 处理目录递归排除(如 private/*)
100
+ if exclude_pattern.endswith('/*'):
101
+ base_dir = exclude_pattern[:-2] # 移除 /*
102
+ try:
103
+ # 检查当前文件是否在指定目录或其子目录中
104
+ rel_path = file_path.relative_to(docs_dir)
105
+ if str(rel_path).startswith(f"{base_dir}/"):
106
+ return markdown
107
+ except ValueError:
108
+ continue
109
+
110
+ # 处理特定目录下的特定类型文件(如 drafts/*.md)
111
+ elif '/*.' in exclude_pattern:
112
+ dir_part, ext_part = exclude_pattern.split('/*.')
113
+ if (file_path.parent.name == dir_part and
114
+ file_path.suffix == f".{ext_part}"):
115
+ return markdown
116
+
117
+ # 处理特定后缀文件(如 *.tmp)
118
+ elif exclude_pattern.startswith('*.'):
119
+ if file_path.suffix == f".{exclude_pattern[2:]}":
120
+ return markdown
121
+
122
+ # 处理精确文件匹配(如 temp.md)
123
+ elif file_path.name == exclude_pattern:
99
124
  return markdown
100
125
 
101
126
  # 直接获取日期信息
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mkdocs-document-dates
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: A MkDocs plugin for displaying accurate document creation and last modification dates.
5
5
  Home-page: https://github.com/jaywhj/mkdocs-document-dates
6
6
  Author: Aaron Wang
@@ -66,7 +66,7 @@ plugins:
66
66
  time_format: '%H:%M:%S' # Time format
67
67
  position: bottom # Display position: top (after title) or bottom (end of document)
68
68
  exclude: # List of file patterns to exclude
69
- - "private/*" # Exclude all files in private directory
69
+ - "private/*" # Exclude all files in private directory, including subdirectories
70
70
  - "drafts/*.md" # Exclude all markdown files in drafts directory
71
71
  - "temp.md" # Exclude specific file
72
72
  - "*.tmp" # Exclude all files with .tmp extension
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="mkdocs-document-dates",
8
- version="0.3.0",
8
+ version="0.4.0",
9
9
  author="Aaron Wang",
10
10
  description="A MkDocs plugin for displaying accurate document creation and last modification dates.",
11
11
  long_description=long_description,