31 lines
763 B
Python
31 lines
763 B
Python
|
def _generate_html_page_impl(ctx):
|
||
|
ctx.actions.expand_template(
|
||
|
template = ctx.file.template,
|
||
|
output = ctx.outputs.output,
|
||
|
substitutions = {
|
||
|
"{PAGE}": ctx.attr.page,
|
||
|
},
|
||
|
)
|
||
|
|
||
|
generate_html_page = rule(
|
||
|
implementation = _generate_html_page_impl,
|
||
|
attrs = {
|
||
|
"template": attr.label(
|
||
|
default = Label("//ts:page.html"),
|
||
|
allow_single_file = [".html"],
|
||
|
),
|
||
|
"page": attr.string(mandatory = True),
|
||
|
"output": attr.output(mandatory = True),
|
||
|
},
|
||
|
)
|
||
|
|
||
|
def generate_page(page, name = "page"):
|
||
|
output = page + ".html"
|
||
|
|
||
|
generate_html_page(
|
||
|
name = name,
|
||
|
page = page,
|
||
|
output = output,
|
||
|
visibility = ["//visibility:public"],
|
||
|
)
|