Update README
This commit is contained in:
94
README.md
94
README.md
@@ -1,59 +1,22 @@
|
|||||||
profanity-plugins
|
profanity-plugins
|
||||||
=================
|
=================
|
||||||
|
|
||||||
Plugin support for Profanity is currently in development.
|
|
||||||
|
|
||||||
* The `master` branch of Profanity now includes support for C and Python plugins.
|
|
||||||
* The `plugins` branch contains additional support for Ruby and Lua, but is unstable.
|
|
||||||
|
|
||||||
For a list of outstanding issues before releasing 0.5.0, see: https://github.com/boothj5/profanity/milestones/0.5.0
|
|
||||||
|
|
||||||
* [Website documentation](http://www.profanity.im/plugins.html)
|
* [Website documentation](http://www.profanity.im/plugins.html)
|
||||||
|
|
||||||
Building Profanity with plugin support
|
Building Profanity with plugin support
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
|
|
||||||
Additional dependencies required:
|
Dependencies required:
|
||||||
|
|
||||||
```
|
```
|
||||||
autoconf-archive
|
autoconf-archive
|
||||||
libtool
|
libtool
|
||||||
```
|
```
|
||||||
|
|
||||||
Plus the development packages for supported languages:
|
For Python plugins the following is also required:
|
||||||
|
|
||||||
```
|
```
|
||||||
python-dev
|
python-dev
|
||||||
lua-dev
|
|
||||||
ruby-dev
|
|
||||||
```
|
|
||||||
|
|
||||||
Build with:
|
|
||||||
|
|
||||||
```
|
|
||||||
./bootstrap.sh
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
```
|
|
||||||
|
|
||||||
After building, run `profanity -v` to see which language support is available, example output:
|
|
||||||
|
|
||||||
```
|
|
||||||
Profanity, version 0.5.0dev.plugins-python.63a7316
|
|
||||||
Copyright (C) 2012 - 2016 James Booth <boothj5web@gmail.com>.
|
|
||||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
|
||||||
|
|
||||||
This is free software; you are free to change and redistribute it.
|
|
||||||
There is NO WARRANTY, to the extent permitted by law.
|
|
||||||
|
|
||||||
Build information:
|
|
||||||
XMPP library: libmesode
|
|
||||||
Desktop notification support: Enabled
|
|
||||||
OTR support: Enabled
|
|
||||||
PGP support: Enabled
|
|
||||||
C plugins: Enabled
|
|
||||||
Python plugins: Enabled
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Installing plugins
|
Installing plugins
|
||||||
@@ -62,51 +25,17 @@ Installing plugins
|
|||||||
Use the `/plugins install` command, e.g.
|
Use the `/plugins install` command, e.g.
|
||||||
|
|
||||||
```
|
```
|
||||||
/plugins install ~/projects-git/profanity-plugins/say.py
|
/plugins install ~/projects-git/profanity-plugins/stable/say.py
|
||||||
```
|
```
|
||||||
|
|
||||||
See the `/help plugins` command for further plugin management options.
|
See the `/help plugins` command for further plugin management options.
|
||||||
|
|
||||||
More help on plugins
|
Branches
|
||||||
--------------------
|
--------
|
||||||
|
|
||||||
* `/plugins` - Shows a list of loaded plugins.
|
`0.5.0`: Maintenance branch for plugins compatible with the current Profanity release 0.5.0
|
||||||
* `/help commands plugins` - Shows commands defined by plugins
|
`0.5.1`: Development for the next Profanity patch release 0.5.1
|
||||||
* `/help <plugin_cmd>` - Show help for a plugin command, e.g. `/help browser`
|
`master`: Development for the next Profanity major release 0.6.0
|
||||||
|
|
||||||
Plugin themes
|
|
||||||
-------------
|
|
||||||
|
|
||||||
The plugins API includes functions to print themed output to the console or a plugins window. The themes need to be added to
|
|
||||||
|
|
||||||
```
|
|
||||||
~/.local/share/profanity/plugin_themes
|
|
||||||
```
|
|
||||||
|
|
||||||
For example ([syscmd.py](https://github.com/boothj5/profanity-plugins/blob/master/syscmd.py) plugin):
|
|
||||||
|
|
||||||
```
|
|
||||||
[system]
|
|
||||||
command=cyan
|
|
||||||
result=green
|
|
||||||
```
|
|
||||||
|
|
||||||
Plugin settings
|
|
||||||
---------------
|
|
||||||
|
|
||||||
The plugins API also includes functions to read and write settings. The settings are stored in:
|
|
||||||
|
|
||||||
```
|
|
||||||
~/.local/share/profanity/plugin_settings
|
|
||||||
```
|
|
||||||
|
|
||||||
For example ([say.py](https://github.com/boothj5/profanity-plugins/blob/master/say.py) plugin):
|
|
||||||
|
|
||||||
```
|
|
||||||
[say]
|
|
||||||
args=-v english -s 120
|
|
||||||
enabled=active
|
|
||||||
```
|
|
||||||
|
|
||||||
Developing plugins
|
Developing plugins
|
||||||
------------------
|
------------------
|
||||||
@@ -117,10 +46,3 @@ API Documentation:
|
|||||||
* [C API](http://www.profanity.im/plugins/c/html/profapi_8h.html)
|
* [C API](http://www.profanity.im/plugins/c/html/profapi_8h.html)
|
||||||
* [C hooks](http://www.profanity.im/plugins/c/html/profhooks_8h.html)
|
* [C hooks](http://www.profanity.im/plugins/c/html/profhooks_8h.html)
|
||||||
|
|
||||||
Example test plugins (Ruby and Lua examples might not be up to date):
|
|
||||||
* [tests/test-c-plugin.c](https://github.com/boothj5/profanity-plugins/blob/master/tests/test-c-plugin/test-c-plugin.c)
|
|
||||||
* [tests/python-test.py](https://github.com/boothj5/profanity-plugins/blob/master/tests/python-test.py)
|
|
||||||
* [tests/RubyTest.rb](https://github.com/boothj5/profanity-plugins/blob/master/tests/RubyTest.rb)
|
|
||||||
* [tests/luatest.lua](https://github.com/boothj5/profanity-plugins/blob/master/tests/luatest.lua)
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user