• @guqing guqing commented on pull request #6348 in halo-dev/halo

    将“可能有用的信息”传递出去将会有价值。

    首先不是给出的参数越多越好,尽可能贴合来满足需求即可,按照这个逻辑我可以一股脑的将发布时间、作者、labels 等全提供给调用这,但是有什么价值呢,我之前已经说了这应该通过我给出的 keywords 来提现而不是标题,如果要贴合标题应该是去定义 keywords 让其包含标题中的重要关键词来提升相关性评分,摘要需要依赖标题只有一种情况就是文章内容太少几乎由图片组成,这种情况下应该交由用户手动填写摘要,或者用户写了关键词来根据关键词生成摘要。

    0 0
  • @guqing guqing commented on pull request #6348 in halo-dev/halo

    你这种只是特例,并不具有参考意义,文章与标题没有任何关系的情况少之又少。而且我所说的并不等于完全使用标题来生成摘要,只是标题具有很重要的参考意义,通常来说是核心思想。你所说的生成式和摘要式,他们抽取的时候也都会基于标题做一定的权重(不止文章标题,h1,h2 这也叫做标题,不过是叫做区域标题)。

    参考 halo-dev/halo#6348 (comment)

    0 0
  • @guqing guqing commented on pull request #388 in halo-dev/docs

    使用示例简单一点,将两个类合并为一个就行,上面的内容已经介绍过了,主要展示使用 ExtensionGetter 获取到 SearchEngine .class 并调用一下 SearchEngine 的方法即可,不需要区分单示例还是多示例给出 SearchEngine 扩展点的文档引用即可

    0 0
  • @guqing guqing commented on pull request #388 in halo-dev/docs

    进阶使用的章节建议移除,后续放在 与其他插件交互 的章节目录下单独作为一章插件如何被扩展或者插件如何定义自己的扩展点

    0 0
  • @guqing guqing commented on pull request #388 in halo-dev/docs

    注意 ExtensionGetter 类需要用代码块包裹,这里无法在建议中内嵌代码块符号

    0 0
  • @guqing guqing commented on pull request #388 in halo-dev/docs
    `ExtensionGetter` 接口的定义如下:
    
    public interface ExtensionGetter {
    
        /**
         * Get only one enabled extension from system configuration.
         *
         * @param extensionPoint is extension point class.
         * @return implementation of the corresponding extension point. If no configuration is found,
         * we will use the default implementation from application context instead.
         */
        <T extends ExtensionPoint> Mono<T> getEnabledExtension(Class<T> extensionPoint);
    
        /**
         * Get the extension(s) according to the {@link ExtensionPointDefinition} queried
         * by incoming extension point class.
         *
         * @param extensionPoint extension point class
         * @return implementations of the corresponding extension point.
         * @throws IllegalArgumentException if the incoming extension point class does not have
         *                                  the {@link ExtensionPointDefinition}.
         */
        <T extends ExtensionPoint> Flux<T> getEnabledExtensions(Class<T> extensionPoint);
    
        /**
         * Get all extensions according to extension point class.
         *
         * @param extensionPointClass extension point class
         * @param <T> type of extension point
         * @return a bunch of extension points.
         */
        <T extends ExtensionPoint> Flux<T> getExtensions(Class<T> extensionPointClass);
    }
    
    包括以下方法:
    
    1. `getEnabledExtension(Class<T> extensionPoint)`: 获取一个在扩展设置中已启用的扩展。如果没有找到对应配置,将使用 Halo 中的默认扩展,如果 Halo 没有提供默认实现则找到一个由**已启用插件**提供的可用扩展。
    2. `getEnabledExtensions(Class<T> extensionPoint)`: 根据传入的扩展点类获取所有已启用扩展。如果没有在扩展设置页面配置过则会返回所有可用的扩展。
    3. `getExtensions(Class<T> extensionPointClass)`: 获取所有与扩展点类相关的扩展,不论有没有在扩展设置中启用它。
    
    具体使用 `getEnabledExtension` 方法或者 `getEnabledExtensions` 方法取决于扩展点声明的 `type` 是 `SINGLETON` 还是 `MULTI_INSTANCE`。
    
    通过使用 `ExtensionGetter`,开发者可以轻松地在插件中访问和管理各种扩展点,提升插件的功能和灵活性。
    
    如果想了解 Halo 提供的扩展点请参考:[扩展点](./extension-points/index.md)。
    
    0 0
  • @guqing guqing commented on pull request #388 in halo-dev/docs

    首先这篇文档的主要作用是介绍 ExtensionGetter 的使用,那么就直接干脆一点不要说插件扩展,这部分内容后续放在与其他插件交互 的章节目录下包括:插件如何被扩展,如何监听其他插件的共享事件和插件依赖等章节

    在 Halo 插件开发中,`ExtensionGetter` 是一个重要的接口,用于获取和管理 Halo 或其他插件提供的扩展。它提供了多种方法来根据扩展点获取扩展,确保插件能够灵活地集成和使用各种扩展功能。
    
    0 0
  • @guqing guqing commented on pull request #388 in halo-dev/docs
    description: 了解如何在插件中使用 `ExtensionGetter` 获取扩展
    
    0 0
  • @guqing guqing commented on pull request #6348 in halo-dev/halo

    首先摘要分为两种,生成式摘要和抽取式摘要,生成是摘要一般是总结文章内容的核心观点来表达这篇内容的主要概念而不应该受标题的影响,抽取式摘要根据的是词频也不需要依赖与标题

    0 0
  • @guqing guqing commented on pull request #6348 in halo-dev/halo

    @ruibaby @JohnNiang any ideas?

    0 0