feat(content processor): update processing method
This commit is contained in:
98
config.yaml
98
config.yaml
@@ -20,22 +20,22 @@ operators:
|
|||||||
fallback_name: char_1013_chen2_2
|
fallback_name: char_1013_chen2_2
|
||||||
id: char_1013_chen2
|
id: char_1013_chen2
|
||||||
operator_logo: logo_rhodes_override
|
operator_logo: logo_rhodes_override
|
||||||
title: Ch'en the Holungday
|
title: 'Arknights: Ch''en/Chen the Holungday - 明日方舟:假日威龙陈'
|
||||||
version: __get_version
|
version: ${func:get_version()}
|
||||||
project.json:
|
project.json:
|
||||||
description: 'Arknights: Ch''en/Chen the Holungday Live 2D\n明日方舟:假日威龙陈 Live
|
description: 'Arknights: Ch''en/Chen the Holungday Live 2D\n明日方舟:假日威龙陈 Live
|
||||||
2D\nThe model is extracted from game with Spine support.\n模型来自游戏内提取,支持Spine\nPlease
|
2D\nThe model is extracted from game with Spine support.\n模型来自游戏内提取,支持Spine\nPlease
|
||||||
set your FPS target in Wallpaper Engine > Settings > Performance > FPS\n请在
|
set your FPS target in Wallpaper Engine > Settings > Performance > FPS\n请在
|
||||||
Wallpaper Engine > 设置 > 性能 > FPS 下设置FPS\n\nLive preview on: https://arknights.halyul.dev/chen\nGithub:
|
Wallpaper Engine > 设置 > 性能 > FPS 下设置FPS\n\nLive preview on: https://arknights.halyul.dev/chen\nGithub:
|
||||||
https://github.com/Halyul/aklive2d'
|
https://github.com/Halyul/aklive2d'
|
||||||
title: 'Arknights: Ch''en/Chen the Holungday - 明日方舟:假日威龙陈'
|
title: ${var:index.html->title}
|
||||||
ui_logo_opacity: 100
|
ui_logo_opacity: ${var:_operator_settings.js->opacity}
|
||||||
ui_logo_ratio: 61.8
|
ui_logo_ratio: 61.8
|
||||||
ui_operator_logo: 'true'
|
ui_operator_logo: 'true'
|
||||||
ui_position_padding_bottom: 1
|
ui_position_padding_bottom: ${var:_operator_settings.js->viewport_bottom}
|
||||||
ui_position_padding_left: 0
|
ui_position_padding_left: ${var:_operator_settings.js->viewport_left}
|
||||||
ui_position_padding_right: 0
|
ui_position_padding_right: ${var:_operator_settings.js->viewport_right}
|
||||||
ui_position_padding_top: 1
|
ui_position_padding_top: ${var:_operator_settings.js->viewport_top}
|
||||||
workshopid: 2564643862
|
workshopid: 2564643862
|
||||||
nearl:
|
nearl:
|
||||||
_operator_settings.js:
|
_operator_settings.js:
|
||||||
@@ -52,22 +52,22 @@ operators:
|
|||||||
fallback_name: char_1014_nearl2_2
|
fallback_name: char_1014_nearl2_2
|
||||||
id: char_1014_nearl2
|
id: char_1014_nearl2
|
||||||
operator_logo: logo_kazimierz
|
operator_logo: logo_kazimierz
|
||||||
title: Nearl the Radiant Knight
|
title: 'Arknights: Nearl the Radiant Knight - 明日方舟:耀骑士临光'
|
||||||
version: __get_version
|
version: ${func:get_version()}
|
||||||
project.json:
|
project.json:
|
||||||
description: 'Arknights: Nearl the Radiant Knight Live 2D\n明日方舟:耀骑士临光 Live 2D\nThe
|
description: 'Arknights: Nearl the Radiant Knight Live 2D\n明日方舟:耀骑士临光 Live 2D\nThe
|
||||||
model is extracted from game with Spine support.\n模型来自游戏内提取,支持Spine\nPlease
|
model is extracted from game with Spine support.\n模型来自游戏内提取,支持Spine\nPlease
|
||||||
set your FPS target in Wallpaper Engine > Settings > Performance > FPS\n请在
|
set your FPS target in Wallpaper Engine > Settings > Performance > FPS\n请在
|
||||||
Wallpaper Engine > 设置 > 性能 > FPS 下设置FPS\n\nLive preview on: https://arknights.halyul.dev/nearl\nGithub:
|
Wallpaper Engine > 设置 > 性能 > FPS 下设置FPS\n\nLive preview on: https://arknights.halyul.dev/nearl\nGithub:
|
||||||
https://github.com/Halyul/aklive2d'
|
https://github.com/Halyul/aklive2d'
|
||||||
title: 'Arknights: Nearl the Radiant Knight - 明日方舟:耀骑士临光'
|
title: ${var:index.html->title}
|
||||||
ui_logo_opacity: 30
|
ui_logo_opacity: ${var:_operator_settings.js->opacity}
|
||||||
ui_logo_ratio: 61.8
|
ui_logo_ratio: 61.8
|
||||||
ui_operator_logo: 'true'
|
ui_operator_logo: 'true'
|
||||||
ui_position_padding_bottom: 0
|
ui_position_padding_bottom: ${var:_operator_settings.js->viewport_bottom}
|
||||||
ui_position_padding_left: 2
|
ui_position_padding_left: ${var:_operator_settings.js->viewport_left}
|
||||||
ui_position_padding_right: 3
|
ui_position_padding_right: ${var:_operator_settings.js->viewport_right}
|
||||||
ui_position_padding_top: 10
|
ui_position_padding_top: ${var:_operator_settings.js->viewport_top}
|
||||||
workshopid: 2642836787
|
workshopid: 2642836787
|
||||||
nian:
|
nian:
|
||||||
_operator_settings.js:
|
_operator_settings.js:
|
||||||
@@ -75,6 +75,7 @@ operators:
|
|||||||
fallbackImage_width: 2048
|
fallbackImage_width: 2048
|
||||||
filename: dyn_illust_char_2014_nian
|
filename: dyn_illust_char_2014_nian
|
||||||
fps: 60
|
fps: 60
|
||||||
|
opacity: 30
|
||||||
viewport_bottom: 5
|
viewport_bottom: 5
|
||||||
viewport_left: 2
|
viewport_left: 2
|
||||||
viewport_right: 2
|
viewport_right: 2
|
||||||
@@ -83,22 +84,22 @@ operators:
|
|||||||
fallback_name: char_2014_nian_2
|
fallback_name: char_2014_nian_2
|
||||||
id: char_2014_nian
|
id: char_2014_nian
|
||||||
operator_logo: logo_sui
|
operator_logo: logo_sui
|
||||||
title: Nian
|
title: 'Arknights: Nian - 明日方舟:年'
|
||||||
version: __get_version
|
version: ${func:get_version()}
|
||||||
project.json:
|
project.json:
|
||||||
description: 'Arknights: Nian Live 2D\n明日方舟:年 Live 2D\nThe model is extracted
|
description: 'Arknights: Nian Live 2D\n明日方舟:年 Live 2D\nThe model is extracted
|
||||||
from game with Spine support.\n模型来自游戏内提取,支持Spine\nPlease set your FPS target
|
from game with Spine support.\n模型来自游戏内提取,支持Spine\nPlease set your FPS target
|
||||||
in Wallpaper Engine > Settings > Performance > FPS\n请在 Wallpaper Engine >
|
in Wallpaper Engine > Settings > Performance > FPS\n请在 Wallpaper Engine >
|
||||||
设置 > 性能 > FPS 下设置FPS\n\nLive preview on: https://arknights.halyul.dev/nian\nGithub:
|
设置 > 性能 > FPS 下设置FPS\n\nLive preview on: https://arknights.halyul.dev/nian\nGithub:
|
||||||
https://github.com/Halyul/aklive2d'
|
https://github.com/Halyul/aklive2d'
|
||||||
title: 'Arknights: Nian - 明日方舟:年'
|
title: ${var:index.html->title}
|
||||||
ui_logo_opacity: 30
|
ui_logo_opacity: ${var:_operator_settings.js->opacity}
|
||||||
ui_logo_ratio: 61.8
|
ui_logo_ratio: 61.8
|
||||||
ui_operator_logo: 'true'
|
ui_operator_logo: 'true'
|
||||||
ui_position_padding_bottom: 5
|
ui_position_padding_bottom: ${var:_operator_settings.js->viewport_bottom}
|
||||||
ui_position_padding_left: 2
|
ui_position_padding_left: ${var:_operator_settings.js->viewport_left}
|
||||||
ui_position_padding_right: 2
|
ui_position_padding_right: ${var:_operator_settings.js->viewport_right}
|
||||||
ui_position_padding_top: 3
|
ui_position_padding_top: ${var:_operator_settings.js->viewport_top}
|
||||||
workshopid: 2564642594
|
workshopid: 2564642594
|
||||||
rosmontis:
|
rosmontis:
|
||||||
_operator_settings.js:
|
_operator_settings.js:
|
||||||
@@ -115,22 +116,22 @@ operators:
|
|||||||
fallback_name: char_391_rosmon_2
|
fallback_name: char_391_rosmon_2
|
||||||
id: char_391_rosmon
|
id: char_391_rosmon
|
||||||
operator_logo: logo_rhodes_override
|
operator_logo: logo_rhodes_override
|
||||||
title: Rosmontis
|
title: 'Arknights: Rosmontis - 明日方舟:迷迭香'
|
||||||
version: __get_version
|
version: ${func:get_version()}
|
||||||
project.json:
|
project.json:
|
||||||
description: 'Arknights: Rosmontis Live 2D\n明日方舟:迷迭香 Live 2D\nThe model is extracted
|
description: 'Arknights: Rosmontis Live 2D\n明日方舟:迷迭香 Live 2D\nThe model is extracted
|
||||||
from game with Spine support.\n模型来自游戏内提取,支持Spine\nPlease set your FPS target
|
from game with Spine support.\n模型来自游戏内提取,支持Spine\nPlease set your FPS target
|
||||||
in Wallpaper Engine > Settings > Performance > FPS\n请在 Wallpaper Engine >
|
in Wallpaper Engine > Settings > Performance > FPS\n请在 Wallpaper Engine >
|
||||||
设置 > 性能 > FPS 下设置FPS\n\nLive preview on: https://arknights.halyul.dev/rosmontis\nGithub:
|
设置 > 性能 > FPS 下设置FPS\n\nLive preview on: https://arknights.halyul.dev/rosmontis\nGithub:
|
||||||
https://github.com/Halyul/aklive2d'
|
https://github.com/Halyul/aklive2d'
|
||||||
title: 'Arknights: Rosmontis - 明日方舟:迷迭香'
|
title: ${var:index.html->title}
|
||||||
ui_logo_opacity: 100
|
ui_logo_opacity: ${var:_operator_settings.js->opacity}
|
||||||
ui_logo_ratio: 61.8
|
ui_logo_ratio: 61.8
|
||||||
ui_operator_logo: 'true'
|
ui_operator_logo: 'true'
|
||||||
ui_position_padding_bottom: -1
|
ui_position_padding_bottom: ${var:_operator_settings.js->viewport_bottom}
|
||||||
ui_position_padding_left: 0
|
ui_position_padding_left: ${var:_operator_settings.js->viewport_left}
|
||||||
ui_position_padding_right: -14
|
ui_position_padding_right: ${var:_operator_settings.js->viewport_right}
|
||||||
ui_position_padding_top: -38
|
ui_position_padding_top: ${var:_operator_settings.js->viewport_top}
|
||||||
workshopid: 2642834981
|
workshopid: 2642834981
|
||||||
skadi:
|
skadi:
|
||||||
_operator_settings.js:
|
_operator_settings.js:
|
||||||
@@ -138,6 +139,7 @@ operators:
|
|||||||
fallbackImage_width: 2048
|
fallbackImage_width: 2048
|
||||||
filename: dyn_illust_char_1012_skadi2
|
filename: dyn_illust_char_1012_skadi2
|
||||||
fps: 60
|
fps: 60
|
||||||
|
opacity: 30
|
||||||
viewport_bottom: -12
|
viewport_bottom: -12
|
||||||
viewport_left: -5
|
viewport_left: -5
|
||||||
viewport_right: -10
|
viewport_right: -10
|
||||||
@@ -146,22 +148,22 @@ operators:
|
|||||||
fallback_name: char_1012_skadi2_2
|
fallback_name: char_1012_skadi2_2
|
||||||
id: char_1012_skadi2
|
id: char_1012_skadi2
|
||||||
operator_logo: logo_egir
|
operator_logo: logo_egir
|
||||||
title: Skadi the Corrupting Heart
|
title: 'Arknights: Skadi the Corrupting Heart - 明日方舟:浊心斯卡蒂'
|
||||||
version: __get_version
|
version: ${func:get_version()}
|
||||||
project.json:
|
project.json:
|
||||||
description: 'Arknights: Skadi the Corrupting Heart Live 2Di\r\n明日方舟:浊心斯卡蒂 Live
|
description: 'Arknights: Skadi the Corrupting Heart Live 2Di\r\n明日方舟:浊心斯卡蒂 Live
|
||||||
2Di\r\nThe model is extracted from game with Spine support.\r\n模型来自游戏内提取,支持Spine\r\nPlease
|
2Di\r\nThe model is extracted from game with Spine support.\r\n模型来自游戏内提取,支持Spine\r\nPlease
|
||||||
set your FPS target in Wallpaper Engine > Settings > Performance > FPS\r\n请在
|
set your FPS target in Wallpaper Engine > Settings > Performance > FPS\r\n请在
|
||||||
Wallpaper Engine > 设置 > 性能 > FPS 下设置FPS\r\n\r\nLive preview on: https://arknights.halyul.dev/skadi\r\nGithub:
|
Wallpaper Engine > 设置 > 性能 > FPS 下设置FPS\r\n\r\nLive preview on: https://arknights.halyul.dev/skadi\r\nGithub:
|
||||||
https://github.com/Halyul/aklive2d'
|
https://github.com/Halyul/aklive2d'
|
||||||
title: 'Arknights: Skadi the Corrupting Heart - 明日方舟:浊心斯卡蒂'
|
title: ${var:index.html->title}
|
||||||
ui_logo_opacity: 30
|
ui_logo_opacity: ${var:_operator_settings.js->opacity}
|
||||||
ui_logo_ratio: 61.8
|
ui_logo_ratio: 61.8
|
||||||
ui_operator_logo: 'true'
|
ui_operator_logo: 'true'
|
||||||
ui_position_padding_bottom: -12
|
ui_position_padding_bottom: ${var:_operator_settings.js->viewport_bottom}
|
||||||
ui_position_padding_left: -5
|
ui_position_padding_left: ${var:_operator_settings.js->viewport_left}
|
||||||
ui_position_padding_right: -10
|
ui_position_padding_right: ${var:_operator_settings.js->viewport_right}
|
||||||
ui_position_padding_top: 0
|
ui_position_padding_top: ${var:_operator_settings.js->viewport_top}
|
||||||
workshopid: 2492307783
|
workshopid: 2492307783
|
||||||
w:
|
w:
|
||||||
_operator_settings.js:
|
_operator_settings.js:
|
||||||
@@ -178,22 +180,22 @@ operators:
|
|||||||
fallback_name: char_113_cqbw_2
|
fallback_name: char_113_cqbw_2
|
||||||
id: char_113_cqbw
|
id: char_113_cqbw
|
||||||
operator_logo: logo_babel
|
operator_logo: logo_babel
|
||||||
title: W
|
title: 'Arknights: W - 明日方舟:W'
|
||||||
version: __get_version
|
version: ${func:get_version()}
|
||||||
project.json:
|
project.json:
|
||||||
description: 'Arknights: W Live 2D\n明日方舟:W Live 2D\nThe model is extracted from
|
description: 'Arknights: W Live 2D\n明日方舟:W Live 2D\nThe model is extracted from
|
||||||
game with Spine support.\n模型来自游戏内提取,支持Spine\nPlease set your FPS target in
|
game with Spine support.\n模型来自游戏内提取,支持Spine\nPlease set your FPS target in
|
||||||
Wallpaper Engine > Settings > Performance > FPS\n请在 Wallpaper Engine > 设置
|
Wallpaper Engine > Settings > Performance > FPS\n请在 Wallpaper Engine > 设置
|
||||||
> 性能 > FPS 下设置FPS\n\nLive preview on: https://arknights.halyul.dev/w\nGithub:
|
> 性能 > FPS 下设置FPS\n\nLive preview on: https://arknights.halyul.dev/w\nGithub:
|
||||||
https://github.com/Halyul/aklive2d'
|
https://github.com/Halyul/aklive2d'
|
||||||
title: 'Arknights: W - 明日方舟:W'
|
title: ${var:index.html->title}
|
||||||
ui_logo_opacity: 30
|
ui_logo_opacity: ${var:_operator_settings.js->opacity}
|
||||||
ui_logo_ratio: 61.8
|
ui_logo_ratio: 61.8
|
||||||
ui_operator_logo: 'true'
|
ui_operator_logo: 'true'
|
||||||
ui_position_padding_bottom: 1
|
ui_position_padding_bottom: ${var:_operator_settings.js->viewport_bottom}
|
||||||
ui_position_padding_left: 3
|
ui_position_padding_left: ${var:_operator_settings.js->viewport_left}
|
||||||
ui_position_padding_right: -3
|
ui_position_padding_right: ${var:_operator_settings.js->viewport_right}
|
||||||
ui_position_padding_top: 0
|
ui_position_padding_top: ${var:_operator_settings.js->viewport_top}
|
||||||
workshopid: 2642838078
|
workshopid: 2642838078
|
||||||
server:
|
server:
|
||||||
operator_folder: ./operator/
|
operator_folder: ./operator/
|
||||||
|
|||||||
@@ -44,17 +44,13 @@ class Config:
|
|||||||
viewport_right=int,
|
viewport_right=int,
|
||||||
viewport_top=int,
|
viewport_top=int,
|
||||||
viewport_bottom=int,
|
viewport_bottom=int,
|
||||||
|
opacity=int,
|
||||||
),
|
),
|
||||||
"project.json": dict(
|
"project.json": dict(
|
||||||
description=str,
|
description=str,
|
||||||
title=str,
|
title=str,
|
||||||
ui_logo_opacity=int,
|
|
||||||
ui_logo_ratio=float,
|
ui_logo_ratio=float,
|
||||||
ui_operator_logo=str,
|
ui_operator_logo=str,
|
||||||
ui_position_padding_left=int,
|
|
||||||
ui_position_padding_right=int,
|
|
||||||
ui_position_padding_top=int,
|
|
||||||
ui_position_padding_bottom=int,
|
|
||||||
workshopid=int,
|
workshopid=int,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,9 +7,6 @@ class ContentProcessor:
|
|||||||
self.config = config["operators"][operator_name]
|
self.config = config["operators"][operator_name]
|
||||||
self.file_to_process = [key for key, value in self.config.items() if key.startswith("_") is False]
|
self.file_to_process = [key for key, value in self.config.items() if key.startswith("_") is False]
|
||||||
self.settings = self.config
|
self.settings = self.config
|
||||||
self.evalable = [
|
|
||||||
"__get_version"
|
|
||||||
]
|
|
||||||
self.__process_value()
|
self.__process_value()
|
||||||
|
|
||||||
def process(self, file_path):
|
def process(self, file_path):
|
||||||
@@ -17,8 +14,8 @@ class ContentProcessor:
|
|||||||
with open(file_path, "r") as f:
|
with open(file_path, "r") as f:
|
||||||
content = f.read()
|
content = f.read()
|
||||||
if file_path.name in self.file_to_process:
|
if file_path.name in self.file_to_process:
|
||||||
content = Formatter(content, "{# ", " #}")
|
content = Matcher(content, "${format:", "}", self.settings)
|
||||||
return content.format(**self.settings[file_path.name])
|
return content.format(file_path.name)
|
||||||
else:
|
else:
|
||||||
return content
|
return content
|
||||||
|
|
||||||
@@ -36,32 +33,54 @@ class ContentProcessor:
|
|||||||
def __process_value(self):
|
def __process_value(self):
|
||||||
for item_key, item_value in self.settings.items():
|
for item_key, item_value in self.settings.items():
|
||||||
for key, value in item_value.items():
|
for key, value in item_value.items():
|
||||||
replace_value = value
|
matcher = Matcher(value, "${", "}", self.settings)
|
||||||
# if value in evalable
|
if matcher.match():
|
||||||
if value in self.evalable:
|
replace_value = matcher.process()
|
||||||
if value == "__get_version":
|
else:
|
||||||
replace_value = self.__get_version()
|
replace_value = value
|
||||||
else:
|
|
||||||
raise Exception("Unsupported function name: {}".format(value))
|
|
||||||
self.settings[item_key][key] = replace_value
|
self.settings[item_key][key] = replace_value
|
||||||
# copy dict value _operator_settings.js to {id}_settings.js
|
# copy dict value _operator_settings.js to {id}_settings.js
|
||||||
settings_filename = "{}_settings.js".format(self.settings["index.html"]["id"])
|
settings_filename = "{}_settings.js".format(self.settings["index.html"]["id"])
|
||||||
self.settings[settings_filename] = self.settings["_operator_settings.js"]
|
self.settings[settings_filename] = self.settings["_operator_settings.js"]
|
||||||
self.file_to_process.append(settings_filename)
|
self.file_to_process.append(settings_filename)
|
||||||
|
|
||||||
def __get_version(self):
|
class Evalable:
|
||||||
|
def get_version():
|
||||||
with open(pathlib.Path.cwd().joinpath("Version"), "r") as f:
|
with open(pathlib.Path.cwd().joinpath("Version"), "r") as f:
|
||||||
version = f.read()
|
version = f.read()
|
||||||
return version
|
return version
|
||||||
|
|
||||||
class Formatter:
|
class Matcher:
|
||||||
def __init__(self, content, start, end):
|
def __init__(self, content, start, end, settings):
|
||||||
self.content = content
|
|
||||||
self.start = start
|
self.start = start
|
||||||
self.end = end
|
self.end = end
|
||||||
|
self.content = str(content)
|
||||||
|
self.settings = settings
|
||||||
|
|
||||||
|
def match(self):
|
||||||
|
return self.content.startswith(self.start) and self.content.endswith(self.end)
|
||||||
|
|
||||||
def format(self, **kwargs):
|
def process(self):
|
||||||
for key, value in kwargs.items():
|
type = self.content.replace(self.start, "").replace(self.end, "").split(":")[0]
|
||||||
|
name = self.content.replace(self.start, "").replace(self.end, "").split(":")[1]
|
||||||
|
if type == "func":
|
||||||
|
try:
|
||||||
|
replace_value = eval("Evalable." + name)
|
||||||
|
except Exception as e:
|
||||||
|
raise e
|
||||||
|
elif type == "var":
|
||||||
|
replace_value = self.settings
|
||||||
|
for var in name.split("->"):
|
||||||
|
try:
|
||||||
|
replace_value = replace_value[var]
|
||||||
|
except Exception as e:
|
||||||
|
raise e
|
||||||
|
else:
|
||||||
|
raise Exception("Unsupported type: {}".format(type))
|
||||||
|
return replace_value
|
||||||
|
|
||||||
|
def format(self, filename):
|
||||||
|
for key, value in self.settings[filename].items():
|
||||||
identifier = self.start + key + self.end
|
identifier = self.start + key + self.end
|
||||||
self.content = self.content.replace(identifier, str(value))
|
self.content = self.content.replace(identifier, str(value))
|
||||||
return self.content
|
return self.content
|
||||||
|
|||||||
@@ -6,24 +6,24 @@
|
|||||||
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,maximum-scale=1,user-scalable=no">
|
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,maximum-scale=1,user-scalable=no">
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||||
<meta name="renderer" content="webkit">
|
<meta name="renderer" content="webkit">
|
||||||
<title>{# title #}</title>
|
<title>${format:title}</title>
|
||||||
<link rel="stylesheet" href="./assets/style.css?v={# version #}">
|
<link rel="stylesheet" href="./assets/style.css?v=${format:version}">
|
||||||
<link rel="stylesheet" href="./assets/spine-player.css?v={# version #}">
|
<link rel="stylesheet" href="./assets/spine-player.css?v=${format:version}">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body style="background-image: url('./operator/operator_bg.png');">
|
<body style="background-image: url('./operator/operator_bg.png');">
|
||||||
<div id="dev"></div>
|
<div id="dev"></div>
|
||||||
<image src="./operator/{# operator_logo #}.png" class="logo invert-filter" id="logo" alt="operator logo" />
|
<image src="./operator/${format:operator_logo}.png" class="logo invert-filter" id="logo" alt="operator logo" />
|
||||||
<div id="widget-wrapper">
|
<div id="widget-wrapper">
|
||||||
<div id="container"></div>
|
<div id="container"></div>
|
||||||
<div id="fallback" class="hide" style="background-image: url('./operator/{# fallback_name #}.png');"></div>
|
<div id="fallback" class="hide" style="background-image: url('./operator/${format:fallback_name}.png');"></div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
<script type="text/javascript" src="./assets/spine-player.js?v={# version #}"></script>
|
<script type="text/javascript" src="./assets/spine-player.js?v=${format:version}"></script>
|
||||||
<script type="text/javascript" src="./operator/{# id #}_assets.js?v={# version #}"></script>
|
<script type="text/javascript" src="./operator/${format:id}_assets.js?v=${format:version}"></script>
|
||||||
<script type="text/javascript" src="./operator/{# id #}_settings.js?v={# version #}"></script>
|
<script type="text/javascript" src="./operator/${format:id}_settings.js?v=${format:version}"></script>
|
||||||
<script type="text/javascript" src="./assets/settings.js?v={# version #}"></script>
|
<script type="text/javascript" src="./assets/settings.js?v=${format:version}"></script>
|
||||||
<script type="text/javascript" src="./assets/runner.js?v={# version #}"></script>
|
<script type="text/javascript" src="./assets/runner.js?v=${format:version}"></script>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
Reference in New Issue
Block a user