Changes

Jump to: navigation, search

Zimlib

342 bytes added, 09:12, 13 November 2016
See also
The '''zimlib''' is the standard implementation of the [[ZIM file format|ZIM specification]]. It is a library which implements the read and write method for ZIM files. The zimlib is released under the [https://www.gnu.org/licenses/old-licenses/gpl-2.0.html GPLv2 license terms]. Use libzim the zimlib in your own software - like reader applications - to make them ZIM-capable without the need having to dig too much into the ZIM file format. Have a look to the [[Releases]] or [[git]] pages to get more information about how to download it.
== Programming ==
=== Introduction ===zimlib is written in C++. To use the library, you need the include files of zimlib have to link against libzimzimlib. Both are installed when zimlib is built with the normal "(<tt>./autogen.sh; ./configure; make; make install"</tt>).
Errors are handled with exceptions. When something goes wrong, zimlib throws an error, which is always derived from std::exception.
#include <zim/fileiterator.h>
#include <iostream>
 
int main(int argc, char* argv[])
{
You may save that file under the name "zimlist.cpp" and compile using the command:
'''<tt>g++ -o zimlist -lzim zimlist.cpp</tt>'''. You get a program, which lists the urls and titles of the file named ''wikipedia.zim''. Of course it is better to pass that name as a parameter in argc/argv. But this should be an easy task for you, so I do not show that.
In subsequent examples I show only the code needed to use the library. The main-function with the error catcher should always be in place.
The method zim::Search::search implements a full text search. For that it needs the full text index file. The full text index file is also a zim file, so you pass the index file as second paramter of type zim::File. The search-method is then called with the SearchResults-reference and a string, containing a space delimited list of words. The full text search then returns a list of articles where at least one of the words is found. Each article is weighted and the result is sorted by weight starting with the highest weighted article.
 
== Methods ==
== See also ==
* [[Releases]]
* [[Bindings]]
* [[Readers]]
* [[zimwriterdb]]
* [[zimdump]]
* [[Git|Get the source code]]
* in [https://tracker.debian.org/pkg/zimlib Debian]

Navigation menu