DioxideCN / Tool-Bench

为Halo博客集成更多标签样式与功能支持
GNU General Public License v3.0
47 stars 3 forks source link

KaTeX插件跟你这个插件有冲突,导致KaTeX失效 #16

Open chengzhongxue opened 1 year ago

DioxideCN commented 1 year ago
@Component
@RequiredArgsConstructor
@Slf4j
public class DefaultPostContentHandler implements ReactivePostContentHandler {

    private final ReactiveSettingFetcher reactiveSettingFetcher;

    private static void injectJS(PostContentContext contentContext, String inline_selector,
        String display_selector) {
        String parsedKatexScript =
            KaTeXJSInjector.getParsedKatexScript(inline_selector, display_selector);
        contentContext.setContent(parsedKatexScript + "\n" + contentContext.getContent());
    }

    @Override
    public Mono<PostContentContext> handle(PostContentContext contentContext) {
        return reactiveSettingFetcher.fetch("basic", BasicConfig.class).map(basicConfig -> {
            injectJS(contentContext, basicConfig.getInline_selector(),
                basicConfig.getDisplay_selector());
            return contentContext;
        }).onErrorResume(e -> {
            log.error("KaTeX PostContent handle failed", Throwables.getRootCause(e));
            return Mono.just(contentContext);
        });
    }
}

Katex插件渲染公式是依赖KaTeXJSInjector类生成的Html标签来注入latex表达式渲染的js的,你看下使用了ToolBench后在文章页内还有没有相关的Html片段?

kanon-H commented 1 year ago

我这边发现的现象是先安装了[KaTeX],[ToolBeanch]就会安装失败,卸载[KaTex]后再安装[ToolBeanch]可以安装成功

DioxideCN commented 1 year ago

我这边发现的现象是先安装了[KaTeX],[ToolBeanch]就会安装失败,卸载[KaTex]后再安装[ToolBeanch]可以安装成功

能提供详细的错误日志吗