mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-04-02 13:55:17 +08:00
Added name highlighting in search results
This commit is contained in:
parent
f30b937bb0
commit
ab4e99bb18
@ -30,11 +30,17 @@ class SearchResultsFormatter
|
||||
$textContent = $entity->$textProperty;
|
||||
$terms = array_merge($options->exacts, $options->searches);
|
||||
|
||||
$matchRefs = $this->getMatchPositions($textContent, $terms);
|
||||
$mergedRefs = $this->sortAndMergeMatchPositions($matchRefs);
|
||||
$content = $this->formatTextUsingMatchPositions($mergedRefs, $textContent);
|
||||
$originalContentByNewAttribute = [
|
||||
'preview_name' => $entity->name,
|
||||
'preview_content' => $textContent,
|
||||
];
|
||||
|
||||
$entity->setAttribute('preview_content', new HtmlString($content));
|
||||
foreach ($originalContentByNewAttribute as $attributeName => $content) {
|
||||
$matchRefs = $this->getMatchPositions($content, $terms);
|
||||
$mergedRefs = $this->sortAndMergeMatchPositions($matchRefs);
|
||||
$formatted = $this->formatTextUsingMatchPositions($mergedRefs, $content);
|
||||
$entity->setAttribute($attributeName, new HtmlString($formatted));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2,7 +2,7 @@
|
||||
<a href="{{ $entity->getUrl() }}" class="{{$type}} {{$type === 'page' && $entity->draft ? 'draft' : ''}} {{$classes ?? ''}} entity-list-item" data-entity-type="{{$type}}" data-entity-id="{{$entity->id}}">
|
||||
<span role="presentation" class="icon text-{{$type}}">@icon($type)</span>
|
||||
<div class="content">
|
||||
<h4 class="entity-list-item-name break-text">{{ $entity->name }}</h4>
|
||||
<h4 class="entity-list-item-name break-text">{{ $entity->preview_name ?? $entity->name }}</h4>
|
||||
{{ $slot ?? '' }}
|
||||
</div>
|
||||
</a>
|
Loading…
x
Reference in New Issue
Block a user