= LaunchyOpenSearch
== DESCRIPTION:
LaunchyOpenSearch is a Ruby library and commandline tool that allows to parse
OpenSearch XML files and include them as search engines in the Weby plugin of
the keystroke app launcher Launchy by editing Launchy's ini config file.
== FEATURES/PROBLEMS:
== SYNOPSIS:
=== Commandline
Launchy should be closed while using OpenSearchLaunchy
launchy-opensearch youtube.xml
=== Library
Notice that the library is written with an underscore instead of the dash used
in the gem's and commandline tool's name
require 'launchy_opensearch'
Determine launchy ini path
config_path = Aef::LaunchyOpenSearch.launchy_config_path
Parse an OpenSearch engine into a variable
new_engine = Aef::LaunchyOpenSearch.parse_opensearch_file('youtube.xml')
Read the launchy ini file into a variable
config = Aef::LaunchyOpenSearch.read_config_hash(config_path)
Extract hash with current search engines
current_engines = Aef::LaunchyOpenSearch.extract_config_hash(config)
Add new engine to the engines hash
new_engines = current_engines + new_engine
Patch the engines hash into the config hash
Aef::LaunchyOpenSearch.patch_config_hash(config, new_engines)
Write the config hash as ini back to the disk
Aef::LaunchyOpenSearch.write_config_hash(config, config_path)
== REQUIREMENTS:
- rubygems
- hpricot
- facets
- sys-uname
=== Additional for commandline
=== Additional for automated testing
== INSTALL:
=== Normal
gem install launchy-opensearch
Additionally for the commandline tool:
gem install user-choices
=== High security (recommended)
There is a high security installation option available through rubygems. It is
highly recommended over the normal installation, although it may be a bit less
comfortable. To use the installation method, you will need my public key, which
I use for cryptographic signatures on all my gems. You can find the public key
and more detailed verification information in the aef-certificates section of my
rubyforge project[https://rubyforge.org/frs/?group_id=7890&release_id=31749]
Add the key to your rubygems' trusted certificates by the following command:
gem cert --add aef.pem
Now you can install the gem while automatically verifying it's signature by the
following command:
gem install launchy-opensearch --ignore-dependencies -P HighSecurity
Please notice that you will need other keys for dependent libraries, so you may
have to install dependencies manually.
=== Automated testing
You can test this package through rspec on your system. First find the path
where the gem was installed to:
gem which launchy-opensearch
Go into the root directory of the installed gem and run the following command
to start the test runner:
rake spec
On Windows systems you have to run the following instead:
spec spec/**/*_spec.rb
If something goes wrong you should be noticed through failing examples.
== DEVELOPMENT:
This software is developed in the source code management system git hosted
at github.com. You can download the most recent sourcecode through the following
command:
git clone git://github.com/aef/launchy-opensearch.git
Help on making this software better is always very appreciated. If you want your
changes to be included in the official release, please send me a patch through
the project's tracker[https://rubyforge.org/tracker/?group_id=7890] at
rubyforge.org. You can generate a patch-file by the following command:
git diff > patch.diff
Please make sure to write tests for your changes and notice that I can't promise
to include your changes before reviewing them.
== LICENSE:
Copyright 2009 Alexander E. Fischer aef@raxys.net
This file is part of LaunchyOpenSearch.
LaunchyOpenSearch is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.