添加github actions

This commit is contained in:
xunbu
2025-08-21 15:02:16 +08:00
parent a808e83b4e
commit fbb8f93b94
4 changed files with 211 additions and 0 deletions

87
lite_mac.spec Normal file
View File

@@ -0,0 +1,87 @@
# -*- mode: python ; coding: utf-8 -*-
# 导入 os 模块以更好地处理路径
import os
from PyInstaller.utils.hooks import collect_all
# --- 数据文件和二进制文件 ---
# 路径分隔符已更正为 '/',这在所有平台上都更具兼容性
datas = [
('./docutranslate/static', 'docutranslate/static'),
('./docutranslate/template', 'docutranslate/template')
]
binaries = []
hiddenimports=['markdown.extensions.tables','pymdownx.arithmatex','pymdownx.superfences','pymdownx.highlight','pygments']
# 使用 collect_all 来收集依赖
# 这部分代码是跨平台的,无需修改
for i in ['pygments']:
tmp_ret = collect_all(i)
datas += tmp_ret[0]
binaries += tmp_ret[1]
hiddenimports += tmp_ret[2]
# --- 分析阶段 ---
a = Analysis(
# 【修改 1】: 使用正斜杠 '/' 作为路径分隔符
['docutranslate/app.py'],
pathex=[],
binaries=binaries,
datas=datas,
hiddenimports=hiddenimports,
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=["docling","docutranslate.converter.x2md.converter_docling"],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)
# --- EXE 和 COLLECT 阶段 ---
# EXE 仅创建 Unix 可执行文件
exe = EXE(
pyz,
a.scripts,
[], # binaries 和 datas 移到下面的 BUNDLE/COLLECT 中
[],
name='DocuTranslate',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
runtime_tmpdir=None,
# 【修改 2】: 如果是 GUI 应用,建议设为 False
console=True,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch='universal2', # 推荐 'universal2' 以支持 Apple Silicon 和 Intel
codesign_identity=None,
entitlements_file=None,
)
# --- BUNDLE 阶段 (macOS 核心) ---
# 【修改 3】: 使用 BUNDLE 创建 .app 包,而不是单独的 EXE
# 这将生成一个标准的 macOS 应用程序
app = BUNDLE(
exe,
name='DocuTranslate.app',
# 【修改 4】: 使用 .icns 格式的图标
icon='DocuTranslate.icns',
bundle_identifier='cc.xunbu.docutranslate', # 推荐设置一个唯一的包标识符
info_plist={
'NSHighResolutionCapable': 'True',
'NSPrincipalClass': 'NSApplication',
'NSAppleScriptEnabled': False,
'CFBundleDisplayName': 'DocuTranslate',
'CFBundleName': 'DocuTranslate',
'CFBundleVersion': '1.0.0',
'CFBundleShortVersionString': '1.0',
'NSHumanReadableCopyright': 'Copyright © 2023 Your Name. All rights reserved.'
}
)
# 将 a.datas 和 a.binaries 添加到 .app 包中
app.datas += a.datas
app.binaries += a.binaries