Bernhard Scheirle


About Me

Hello, my name is Bernhard.
I'm a computer science student at Karlsruher Institute of Technology.

Contact Me



blogroll


Tipue Search - Tag support


Wie ihr vielleicht wisst benutze die Suche (rechts oben) das jQuery Plugin Tipue Search. Dieses durchsucht eine json Datei, in welcher der gesamte Inhalt der Seite gespeichert ist. Die json Datei wird beim erstellen der Seite durch eine pelican Plugin generiert.

Das Plugin exportiert die Tags der einzelnen Artikel aber nicht, also beheben wir das mal schnell:

tipue_search.py - create_json_node(...) - ca. Zeile 43:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
if getattr(page, 'category') == 'None':
    page_category = ''
else:
    page_category = page.category.name

page_tags = ''
if hasattr(page, 'tags'):
    for tag in page.tags:
        page_tags = page_tags + ' ' + tag.name
page_url = self.siteurl + '/' + page.url

node = {'title': page_title,
        'text': page_text,
        'category': page_category,
        'tags': page_tags,
        'loc': page_url}

 self.json_nodes.append(node)

Nun müssen wir der Tipue Search nur noch beibringen auch Kategorien zu durchsuchen (diese wurden vorher als Tags behandelt :|).

tipuesearch.js - getTipueSearch(...) - ca. Zeile 209:

1
2
3
4
5
6
7
8
if (tipuesearch_in.pages[i].tags.search(pat) != -1)
{
    score -= (100000 - i);
}
if (tipuesearch_in.pages[i].category.search(pat) != -1)
{
    score -= (100000 -i);
}

So nun werden sowohl Tags als auch Kategorien durchsucht.

Comments


There are no comments yet. Why aren't you the FIRST and shout something?

Add a Comment

You may format you comment with Markdown.

Comment Atom Feed