Merge branch 'master' of github.com:boothj5/profanity-plugins
This commit is contained in:
54
README.md
Normal file
54
README.md
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
profanity-plugins
|
||||||
|
=================
|
||||||
|
|
||||||
|
Plugin support for Profanity is currently in development at the `plugins` branch.
|
||||||
|
|
||||||
|
Currently supported languages for writing plugins are Python, Ruby and C.
|
||||||
|
|
||||||
|
Building Profanity with plugin support
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
Check out the `plugins` branch and run the usual:
|
||||||
|
|
||||||
|
```
|
||||||
|
./bootstrap.sh
|
||||||
|
./configure
|
||||||
|
make
|
||||||
|
sudo make install
|
||||||
|
```
|
||||||
|
|
||||||
|
The last step will create a shared library `libprofanity` and install headers required for developing C plugins. If you don't want to run any C plugins, you can omit the last step.
|
||||||
|
|
||||||
|
You will need python-dev, ruby-dev and libtool packages installed on your system.
|
||||||
|
|
||||||
|
Loading plugins
|
||||||
|
---------------
|
||||||
|
|
||||||
|
1. Copy the plugin
|
||||||
|
|
||||||
|
For Python and Ruby plugins, copy the plugin to `$XDG_DATA/profanity/plugins/`, (`~/.local/share/profanity/plugins/` on most systems).
|
||||||
|
|
||||||
|
For C plugins, build the plugin using the supplied Makefile, and then copy the `.so` file to the same location.
|
||||||
|
|
||||||
|
2. Add to profrc
|
||||||
|
|
||||||
|
For all types of plugins, the list of plugins to acutally load when starting Profanity is defined in `$XDG_CONFIG/profanity/profrc` (`~/.config/profanity/profrc` on most systems).
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
[plugins]
|
||||||
|
load=browser.py;connect.py;ChatStart.rb;cricket-score.py;platform-info.py;whoami.py;ascii.py
|
||||||
|
```
|
||||||
|
|
||||||
|
Example plugin code
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Whilst the API is being developed, the following test plugins are a good reference of possible hooks and API calls available:
|
||||||
|
|
||||||
|
```
|
||||||
|
python-test.py
|
||||||
|
RubyTest.rb
|
||||||
|
test-c-plugin/*
|
||||||
|
```
|
||||||
|
|
||||||
Reference in New Issue
Block a user