Add support for append-pre/post

This commit is contained in:
Adrian Vollmer 2022-10-12 14:48:36 +02:00
parent 25fb93219c
commit fadbb72e67
4 changed files with 35 additions and 3 deletions

View File

@ -6,6 +6,8 @@ def main():
embed_assets( embed_assets(
args.input_path, args.input_path,
output_path=args.output_path, output_path=args.output_path,
append_pre=args.append_pre,
append_post=args.append_post,
) )

View File

@ -25,6 +25,20 @@ parser.add_argument(
version=__version__, version=__version__,
) )
parser.add_argument(
'-P', '--append-pre',
default="",
help='append JS code to inject_pre script (default: %(default)s)',
)
parser.add_argument(
'-p', '--append-post',
default="",
help='append JS code to inject_post script (default: %(default)s)',
)
parser.add_argument( parser.add_argument(
'input_path', 'input_path',
help='input path to the root HTML file', help='input path to the root HTML file',

View File

@ -29,7 +29,7 @@ SCRIPT_PATH = os.path.abspath(os.path.dirname(__file__))
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def embed_assets(index_file, output_path=None): def embed_assets(index_file, output_path=None, append_pre="", append_post=""):
init_files = {} init_files = {}
for filename in [ for filename in [
@ -55,10 +55,12 @@ def embed_assets(index_file, output_path=None):
if not output_path: if not output_path:
output_path = os.path.join(base_dir, new_base_name) output_path = os.path.join(base_dir, new_base_name)
before = init_files['inject_pre.js'] + append_pre
after = init_files['inject_post.js'] + append_post
file_tree = load_filetree( file_tree = load_filetree(
base_dir, base_dir,
before=init_files['inject_pre.js'], before=before,
after=init_files['inject_post.js'], after=after,
exclude_pattern=new_base_name, exclude_pattern=new_base_name,
) )

View File

@ -50,6 +50,8 @@ class ZundlerBuilder(StandaloneHTMLBuilder):
embed_assets( embed_assets(
input_path, input_path,
output_path=output_path, output_path=output_path,
append_pre=self.config.zundler_append_pre,
append_post=self.config.zundler_append_post,
) )
@ -75,6 +77,18 @@ def setup(app):
'', '',
) )
app.add_config_value(
'zundler_append_pre',
'',
'',
)
app.add_config_value(
'zundler_append_post',
'',
'',
)
app.add_builder(ZundlerBuilder) app.add_builder(ZundlerBuilder)
return { return {