DEV Community

Cover image for Ghost Finder - The most advanced ghost search plugin
King Rayhan
King Rayhan

Posted on • Updated on

Ghost Finder - The most advanced ghost search plugin

GitHub logo kingRayhan / ghost-finder

The most advanced ghost search plugin

Ghost Finder

Here's a helpful npm package I made. This addon allows you to easily and sweetly incorporate search features into your ghost theme. It operates using the Ghost Content API.

Installation

npm install ghost-finder
Enter fullscreen mode Exit fullscreen mode

OR

download Download Latest Release

Include script

<script src="{{asset "ghost-finder/dist/ghost-finder.js"}}"></script>
Enter fullscreen mode Exit fullscreen mode

Setup markup

<div>
  <input id="search-input" type="text" placeholder="Type to search" />
  <div id="search-result"></div>
</div>
Enter fullscreen mode Exit fullscreen mode

Activate the plugin

new GhostFinder({
    input: '#search-input',
    showResult: '#search-result',
    contentApiKey: //CONTENT API KEY...,
})
Enter fullscreen mode Exit fullscreen mode

To see how you can get contentApiKey , Click Here


Options

Name Default Value Details
input null Required DOM selector of search input
showResult null Required DOM selector where search result will be pluged-in
homeUrl current website url Your ghost

Installation

Include script

<script src="{{asset "ghost-search/dist/ghost-finder.js"}}"></script>
Enter fullscreen mode Exit fullscreen mode

Setup markup

<div>
    <input id="search-input" type="text" placeholder="Type to search" />
    <div id="search-result"></div>
</div>
Enter fullscreen mode Exit fullscreen mode

Activate the plugin

<script>
    new GhostFinder({
        input: '#search-input',
        showResult: '#search-result',
        contentApiKey: //CONTENT API KEY...,
    })
</script>
Enter fullscreen mode Exit fullscreen mode

To see how you can get contentApiKey , Click Here


Options

Name Default Value Details
input null Required DOM selector of search input
showResult null Required DOM selector where search result will be pluged-in
homeUrl current website url Your ghost site url
contentApiKey null Required content api key
resultTemplate see bellow Result wrapper template for search result
singleResultTemplate see bellow Single search result template
excerpt_length 15 word count to show in ##excerpt variable
time_format 'MMMM Do YYYY' Time format string for ##published_at variable

Default templates

Result Template

<ul class="search-results-wrapper">
    <p>Search match(es): ##resultCount</p>
    ##results
</ul>
Enter fullscreen mode Exit fullscreen mode

Single Result Template

<li><a href="##url">##title</a></li>
Enter fullscreen mode Exit fullscreen mode

Variables

Field Name Purpose
##title Post title
##url Post url
##primary_tag_name Name of primary tag
##primary_tag_url Url of primary tag
##primary_author_name Name of primary author
##primary_author_url Profile url of primary author
##primary_author_avater Profile photo of primary author
##excerpt show some words of the post content. Default words count is 15
##published_at Post publication date. Format can be change by time_format option
##feature_image Post featured image url
##resultCount Matched result count

http://bit.ly/create-ghost-theme

Top comments (0)