cn_font_split/link_subset/
mod.rs

1pub(crate) mod name_template;
2mod output_css;
3use crate::{message::EventFactory, runner::Context};
4use cn_font_proto::{api_interface::EventMessage, INDEX_PROTO};
5
6const HTML_TEMPLATE: &[u8] = include_bytes!("./index.html");
7pub fn link_subset(ctx: &mut Context) {
8    let css = ctx.input.css.clone().unwrap_or_default();
9
10    let css_code = output_css::output_css(ctx, &css);
11    // 输出 CSS 文件
12    let file_name = css.file_name.unwrap_or("result.css".to_string());
13    (ctx.callback)(EventMessage::output_data(
14        &file_name,
15        css_code.as_bytes().to_vec(),
16    ));
17    if ctx.input.test_html.unwrap_or(true) {
18        (ctx.callback)(EventMessage::output_data(
19            "index.html",
20            HTML_TEMPLATE.to_vec(),
21        ));
22    }
23    (ctx.callback)(EventMessage::output_data(
24        "index.proto",
25        INDEX_PROTO.to_vec(),
26    ));
27}