Skip to content

Conversation

@7emotions
Copy link

@7emotions 7emotions commented Jul 1, 2024

Brief Mechanism

Use jieba to segment titles and text when creating search index and use Intl, a native API of JavaScript, to segment query string.

Steps

Configure mkdocs.yml


plugins:
  - search:
      lang: 
        - cn
      separator: '[\s\-\.]+'

Override transform

The steps for overriding refer to here

{% extends "base.html" %}

{% block config %}
  <script>
    var search = {
        transform: function(query) {
            query = query + ' astopwordflagbylorenzo'; // Trigger stop-word mechanism
            return query
                .replace(/(?:^|\s+)[*+-:^~]+(?=\s+|$)/g, "")
                .trim()
                .replace(/\s+|\b$/g, "* ")
        }
    }
  </script>
{% endblock %}

Result

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant