chore: update tools

This commit is contained in:
Alter-xyz
2025-05-16 21:41:57 +08:00
parent fc5082f203
commit ccec883584
4 changed files with 103 additions and 53 deletions

View File

@@ -4,7 +4,9 @@ import re
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
def generate_contributing_section(repo_owner, repo_name, target_dir_relative, filename, language):
def generate_contributing_section(
repo_owner, repo_name, target_dir_relative, filename, language
):
repo_url = f"https://github.com/{repo_owner}/{repo_name}"
if language == "zh":
contributing_section = f"""
@@ -56,7 +58,7 @@ It will be automatically generated by the script.
</Card>
</CardGroup>
"""
elif language == "jp":
elif language == "ja":
contributing_section = f"""
{{/*
Contributing Section
@@ -83,13 +85,19 @@ It will be automatically generated by the script.
"""
else:
raise ValueError(
"Unsupported language. Supported languages are 'zh', 'en', and 'jp'.")
"Unsupported language. Supported languages are 'zh', 'en', and 'ja'."
)
return contributing_section
def append_content_to_files(
target_dir_relative, repo_owner, repo_name, language, base_dir=BASE_DIR, file_extension=".mdx"
target_dir_relative,
repo_owner,
repo_name,
language,
base_dir=BASE_DIR,
file_extension=".mdx",
):
target_path = os.path.join(base_dir, target_dir_relative)
@@ -106,8 +114,15 @@ def append_content_to_files(
current_dir_relative = os.path.relpath(root, base_dir)
try:
with open(filepath, "a", encoding="utf-8") as f:
f.write(generate_contributing_section(
repo_owner, repo_name, current_dir_relative, filename, language))
f.write(
generate_contributing_section(
repo_owner,
repo_name,
current_dir_relative,
filename,
language,
)
)
appended_count += 1
except (IOError, OSError) as e:
print(f"Error processing file {filepath}: {e}")
@@ -118,7 +133,9 @@ def append_content_to_files(
)
def remove_contributing_section(target_dir_relative, base_dir=BASE_DIR, file_extension=".mdx"):
def remove_contributing_section(
target_dir_relative, base_dir=BASE_DIR, file_extension=".mdx"
):
target_path = os.path.join(base_dir, target_dir_relative)
if not os.path.isdir(target_path):
print(f"Error: Directory '{target_path}' not found.")
@@ -133,7 +150,9 @@ def remove_contributing_section(target_dir_relative, base_dir=BASE_DIR, file_ext
with open(filepath, "r", encoding="utf-8") as f:
content = f.read()
pattern = re.compile(
r"\{\/\*\s*Contributing Section[\s\S]*?\*\/\}[\s\S]*?<CardGroup cols=\"2\">[\s\S]*?</CardGroup>", re.DOTALL)
r"\{\/\*\s*Contributing Section[\s\S]*?\*\/\}[\s\S]*?<CardGroup cols=\"2\">[\s\S]*?</CardGroup>",
re.DOTALL,
)
new_content = re.sub(pattern, "", content)
if new_content != content:
with open(filepath, "w", encoding="utf-8") as f:
@@ -145,7 +164,8 @@ def remove_contributing_section(target_dir_relative, base_dir=BASE_DIR, file_ext
fix_md_endings(target_dir_relative, base_dir, file_extension)
print(
f"Finished processing directory tree starting at '{target_path}'. "
f"Removed from {removed_count} files. Encountered {error_count} errors.")
f"Removed from {removed_count} files. Encountered {error_count} errors."
)
def fix_md_endings(target_dir_relative, base_dir=BASE_DIR, file_extension=".mdx"):
@@ -174,49 +194,73 @@ def fix_md_endings(target_dir_relative, base_dir=BASE_DIR, file_extension=".mdx"
error_count += 1
print(
f"Finished processing directory tree starting at '{target_path}'. "
f"Fixed line endings and trailing lines in {fixed_count} files. Encountered {error_count} errors.")
f"Fixed line endings and trailing lines in {fixed_count} files. Encountered {error_count} errors."
)
def refresh(
target_dir_relative,
repo_owner,
repo_name,
language,
base_dir=BASE_DIR,
file_extension=".mdx",
):
remove_contributing_section(target_dir_relative, base_dir, file_extension)
append_content_to_files(
target_dir_relative, repo_owner, repo_name, language, base_dir, file_extension
)
def loop(dict):
for config_name, config_data in dict.items():
refresh(
target_dir_relative=config_data["target_dir_relative"],
repo_owner=config_data["repo_owner"],
repo_name=config_data["repo_name"],
language=config_data["language"],
)
if __name__ == "__main__":
remove_contributing_section(target_dir_relative="plugin_dev_en")
remove_contributing_section(target_dir_relative="plugin_dev_zh")
remove_contributing_section(target_dir_relative="en")
remove_contributing_section(target_dir_relative="ja-jp")
remove_contributing_section(target_dir_relative="zh-hans")
remove_contributing_section(target_dir_relative="api_access")
append_content_to_files(
target_dir_relative="plugin_dev_en",
repo_owner="langgenius",
repo_name="dify-docs-mintlify",
language="en"
)
append_content_to_files(
target_dir_relative="plugin_dev_zh",
repo_owner="langgenius",
repo_name="dify-docs-mintlify",
language="zh"
)
append_content_to_files(
target_dir_relative="en",
repo_owner="langgenius",
repo_name="dify-docs-mintlify",
language="en"
)
append_content_to_files(
target_dir_relative="ja-jp",
repo_owner="langgenius",
repo_name="dify-docs-mintlify",
language="jp"
)
append_content_to_files(
target_dir_relative="zh-hans",
repo_owner="langgenius",
repo_name="dify-docs-mintlify",
language="zh"
)
append_content_to_files(
target_dir_relative="api_access",
repo_owner="langgenius",
repo_name="dify-docs-mintlify",
language="en"
)
process = {
# Help Documentation
"zh_help": {
"target_dir_relative": "zh-hans",
"repo_owner": "langgenius",
"repo_name": "dify-docs-mintlify",
"language": "zh",
},
"en_help": {
"target_dir_relative": "en",
"repo_owner": "langgenius",
"repo_name": "dify-docs-mintlify",
"language": "en",
},
"ja_help": {
"target_dir_relative": "ja-jp",
"repo_owner": "langgenius",
"repo_name": "dify-docs-mintlify",
"language": "ja",
},
# Plugin Development
"zh_plugin_dev": {
"target_dir_relative": "plugin_dev_zh",
"repo_owner": "langgenius",
"repo_name": "dify-docs-mintlify",
"language": "zh",
},
"en_plugin_dev": {
"target_dir_relative": "plugin_dev_en",
"repo_owner": "langgenius",
"repo_name": "dify-docs-mintlify",
"language": "en",
},
"ja_plugin_dev": {
"target_dir_relative": "plugin_dev_ja-jp",
"repo_owner": "langgenius",
"repo_name": "dify-docs-mintlify",
"language": "ja"
},
}
loop(process)

View File

@@ -1,5 +1,5 @@
import os
import yaml
import yaml # pip install pyyaml
import re
import datetime

1
tools/requirements.txt Normal file
View File

@@ -0,0 +1 @@
PyYAML==6.0.2