cn_font_split/link_subset/
mod.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
pub(crate) mod name_template;
mod output_css;
use crate::{message::EventFactory, runner::Context};
use cn_font_proto::{api_interface::EventMessage, INDEX_PROTO};

const HTML_TEMPLATE: &[u8] = include_bytes!("./index.html");
pub fn link_subset(ctx: &mut Context) {
    let css = ctx.input.css.clone().unwrap_or_default();

    let css_code = output_css::output_css(ctx, &css);
    // 输出 CSS 文件
    let file_name = css.file_name.unwrap_or("result.css".to_string());
    (ctx.callback)(EventMessage::output_data(
        &file_name,
        css_code.as_bytes().to_vec(),
    ));
    if ctx.input.test_html.unwrap_or(true) {
        (ctx.callback)(EventMessage::output_data(
            "index.html",
            HTML_TEMPLATE.to_vec(),
        ));
    }
    (ctx.callback)(EventMessage::output_data(
        "index.proto",
        INDEX_PROTO.to_vec(),
    ));
}