Open main menu

Extension:Doxysearch

MediaWiki extensions manual
OOjs UI icon advanced.svg
Doxysearch
Release status: beta
Implementation Tag
Description Interface of Doxysearch
Author(s) Akio Nishimura (akionuxtalk)
Latest version 0.4
License GNU General Public License 2.0 or later
Download http://gitlab.akionux.net/akionux/Doxysearch/tags
$wgDoxysearchEngines
Doxygen, Doxyseach
Translate the Doxysearch extension if it is available at translatewiki.net
Check usage and version matrix.

The Doxysearch extension provides a simple interface for Doxysearch(Doxygen search engine).

Preparing doxysearch engineEdit

For the detailed information, see following manual :

Edit Doxyfile and make sure to set following options:

% vim Doxyfile
SEARCHENGINE           = YES
SEARCHENGINE_URL = https://located/path/of/doxysearch.cgi
SERVER_BASED_SEARCH    = YES
EXTERNAL_SEARCH        = YES

If you do not have doxysearch.cgi and doxyindexer on your system, you need to build them from the source code of doxygen.

Copy doxysearch.cgi to your Doxygen directory:

cd ~/path/to/Doxygen/html
cp ~/Downloads/doxygen-1.8.5/bin/doxysearch.cgi .

Execute doxyindexer at Doxygen and move generated doxysearch.db to html directory:

% cd ~/path/to/Doxygen
% ~/Downloads/doxygen-1.8.5/bin/doxyindexer searchdata.xml
Processing searchdata.xml...
% mv doxysearch.db html

Also, edit httpd.conf and give ExecCGI option to the directory where doxysearch.cgi is located.

        <Directory /var/lib/www/path/to/Doxygen/html>
                Options +ExecCGI
                AddHandler cgi-script .cgi
        </Directory>

InstallationEdit

  • Download and place the file(s) in a directory called Doxysearch in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    require_once "$IP/extensions/Doxysearch/Doxysearch.php";
    
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration parametersEdit

$wgDoxysearchEngines
Set $wgDoxysearchEngines to register doxysearch engines. For example,
$wgDoxysearchEngines = array(
    'engine_name1' => array(
        'name' => 'Engine name 1',
        'url' => 'https://examples1.com/doxysearch.cgi',
        'auth' => 'digest',
        'user' => 'user',
        'password' => 'password',
        'ssl_verifypeer' => False,
        'ssl_verifyhost' => False,
    ),
    'engine_name2' => array(
        'name' => 'Engine name 2',
        'url' => 'http://examples2.com/doxysearch.cgi',
    ),
);
Parameters of an array are explained below:
name
Full name of the Doxysearch engine.
url
URL of a Doxysearch engine which is provided with doxysearch.cgi.
auth
Method for the authentication of HTTP(S). You can choose the method from 'basic', 'digest' or 'none'(no authentication). 'none' is set if you do not set this parameter.
user
User name for the authentication of HTTP(S).
password
Password for the authentication of HTTP(S).
ssl_verifypeer
Whether to verify SSL certificate. The default is True.
ssl_verifyhost
verify SSL host name. The default is True.

UsageEdit

  • Search "ExampleClass" from a search engine located at https://www.example.com/documentation/doxysearch.cgi where an authentication is required with ignoring verifications of SSL certificate and host name :
<doxysearch url="https://www.example.com/documentation/doxysearch.cgi" q="ExampleClass" auth="digest" user="username" password="password" ssl_verifypeer=False ssl_verifyhost=False />
  • Search "ExampleClass" from the search engine "engine_name" which was registered in $wgDoxysearchEngines set at your LocalSettings.php :
<doxysearch name="engine_name" q="ExampleClass" />
  • Show 3rd result as the first :
<doxysearch name="engine_name" q="ExampleClass" i=3/>
  • Specify number of results and page number :
<doxysearch name="engine_name" q="ExampleClass" n=5 p=2/>
  • Specify separators between keys and separators between items :
<doxysearch name="engine_name" q="ExampleClass" n=5 p=2 ksep="|" isep="/"/>

See alsoEdit