镜像自地址
https://github.com/binary-husky/gpt_academic.git
已同步 2025-12-06 14:36:48 +00:00
56 行
1.9 KiB
Python
56 行
1.9 KiB
Python
from functools import lru_cache
|
|
from toolbox import get_conf
|
|
CODE_HIGHLIGHT, ADD_WAIFU, LAYOUT = get_conf("CODE_HIGHLIGHT", "ADD_WAIFU", "LAYOUT")
|
|
|
|
def minimize_js(common_js_path):
|
|
try:
|
|
import rjsmin, hashlib, glob, os
|
|
# clean up old minimized js files, matching `common_js_path + '.min.*'`
|
|
for old_min_js in glob.glob(common_js_path + '.min.*.js'):
|
|
os.remove(old_min_js)
|
|
# use rjsmin to minimize `common_js_path`
|
|
c_jsmin = rjsmin.jsmin
|
|
with open(common_js_path, "r") as f:
|
|
js_content = f.read()
|
|
minimized_js_content = c_jsmin(js_content)
|
|
# compute sha256 hash of minimized js content
|
|
sha_hash = hashlib.sha256(minimized_js_content.encode()).hexdigest()[:8]
|
|
minimized_js_path = common_js_path + '.min.' + sha_hash + '.js'
|
|
# save to minimized js file
|
|
with open(minimized_js_path, "w") as f:
|
|
f.write(minimized_js_content)
|
|
# return minimized js file path
|
|
return minimized_js_path
|
|
except:
|
|
return common_js_path
|
|
|
|
@lru_cache
|
|
def get_common_html_javascript_code():
|
|
js = "\n"
|
|
common_js_path_list = [
|
|
"themes/common.js",
|
|
"themes/theme.js",
|
|
"themes/tts.js",
|
|
"themes/init.js",
|
|
"themes/welcome.js",
|
|
]
|
|
|
|
if ADD_WAIFU: # 添加Live2D
|
|
common_js_path_list += [
|
|
"themes/waifu_plugin/jquery.min.js",
|
|
"themes/waifu_plugin/jquery-ui.min.js",
|
|
]
|
|
|
|
for common_js_path in common_js_path_list:
|
|
if '.min.' not in common_js_path:
|
|
minimized_js_path = minimize_js(common_js_path)
|
|
else:
|
|
minimized_js_path = common_js_path
|
|
jsf = f"file={minimized_js_path}"
|
|
js += f"""<script src="{jsf}"></script>\n"""
|
|
|
|
if not ADD_WAIFU:
|
|
js += """<script>window.loadLive2D = function(){};</script>\n"""
|
|
|
|
return js
|