-
-
diff --git a/pagesource/donate.md b/pagesource/donate.md
new file mode 100644
index 0000000..d27567c
--- /dev/null
+++ b/pagesource/donate.md
@@ -0,0 +1,18 @@
+# Profanity, a console based XMPP client - User Guide
+## User Guide
+
+
+### Donating
+
+Yes, the rumors are true. Developers also have to eat. They also have limited time.
+
+And yet some of them decide to use their free time to develop free software.
+
+You can help the development of Profanity and show your appreciation by donating.
+
+There are several ways to do so:
+
+1. Become a sponsor on [GitHub Sponsors](https://github.com/jublah)
+2. Write an email to jubalh@iodoru.org to ask for bank details
+3. Send Bitcoin to: bc1qx265eat7hfasqkqmk9qf38delydnrnuvzhzy0x
+
diff --git a/pagesource/donate.xml b/pagesource/donate.xml
deleted file mode 100644
index 5105a20..0000000
--- a/pagesource/donate.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
Donating
-
Yes, the rumors are true. Developers also have to eat. They also have limited time.
-
And yet some of them decide to use their free time to develop free software.
-
You can help the development of Profanity and show your appreciation by donating.
- There are several ways to do so:
-
1. Become a sponsor on GitHub Sponsors
- 2. Write an email to jubalh@iodoru.org to ask for bank details
- 3. Send Bitcoin to: bc1qx265eat7hfasqkqmk9qf38delydnrnuvzhzy0x
-
-
diff --git a/pagesource/faq.md b/pagesource/faq.md
new file mode 100644
index 0000000..85d5502
--- /dev/null
+++ b/pagesource/faq.md
@@ -0,0 +1,305 @@
+# Profanity, a console based XMPP client - FAQ
+## Frequently Asked Questions
+
+
+[](top)
+### Contents
+
+- [How do I connect with multiple accounts?](multiacc)
+- [OMEMO doesn't work for me](omemo)
+- [Why are my settings not persistent?](persistent)
+- [Where is the profrc file format described?](profrc)
+- [Will Profanity run on <some platform>?](platform)
+- [Will Profanity work with Google Talk?](gtalk)
+- [Will Profanity work with Facebook Chat?](facebook)
+- [Will Profanity work with Slack?](slack)
+- [Will Profanity work with MSN/Yahoo/AIM/IRC etc?](msn)
+- [Can Profanity use my keychain/keyring to retrieve my password?](keychain)
+- [Can I connect to more than one account at a time?](multiaccount)
+- [Why does the F1 key open terminal help rather than going back to the main console window?](termf1)
+- [Why can I not type anything in the input bar?](utf8encoding)
+- [How can I hide join/leave messages in MUCs?](mucpresence)
+- [I've found a bug/have a feature request, who do I tell?](bugs)
+- [I'd like to contribute, what should I do?](contrib)
+- [I'd like to donate to Profanity](donate)
+- [Are there more clients like this?](clients)
+- [How to connect to XMPP server using Tor](tor)
+- [How to connect to an onion XMPP server](onion)
+- [How to run the latest version on old distributions?](distrobox)
+- [How do I automatically open chat windows with contacts?[aut0open)
+
+
+
+
+[](multiacc)
+#### How do I connect with multiple accounts?
+
+Profanity only supports one account per instance. But you certainly can run
+several instances of Profanity! Run Profanity in multiple terminals or use a
+terminal multiplexer like screen or tmux. An example setup can be seen in this
+[blogpost](https://profanity-im.github.io/blog/post/how-to-run-profanity-instances-within-tmux/).
+
+#####[back to top](top)
+
+
+[](omemo)
+#### OMEMO doesn't work for me
+
+OMEMO support was added in 0.7.0. Version 0.11.1 fixed a lot of common bugs.
+But please make sure to run the *latest* version of Profanity.
+
+A common error is that the PEP nodes are wrongly configured. It could be that
+your server isn't configured the right way or that some client configured
+this the wrong way in the past. Profanity tries to correct this but might fail.
+See [issue 1538](https://github.com/profanity-im/profanity/issues/1538) for
+details.
+
+
+#####[back to top](top)
+
+
+[](platform)
+#### Will Profanity run on <some platform>?
+
+Profanity should run on any POSIX system, see the [install guide](install.html)
+for specifics.
+
+#####[back to top](top)
+
+
+[](gtalk)
+#### Will Profanity work with Google Talk?
+
+Profanity was able to work with Google Talk. But in 2013 after Google merged
+it's messenger products Google Talk, Google+ Messenger and Hangouts together
+XMPP support was
+[dropped](https://www.theverge.com/2013/5/15/4318830/inside-hangouts-googles-big-fix-for-its-messaging-mess).
+
+
+#####[back to top](top)
+
+
+[](facebook)
+#### Will Profanity work with Facebook Chat?
+
+Facebook have recently announced that they will no longer support the open
+XMPP chat protocol, so Profanity will no longer work with Facebook Chat.
+
+#####[back to top](top)
+
+
+[](slack)
+#### Will Profanity work with Slack?
+
+Provided the XMPP gateway has been enabled for your team, Profanity will work.
+See the
+[Slack page on gateways](https://slack.zendesk.com/hc/en-us/articles/201727913-Connecting-to-Slack-over-IRC-and-XMPP)
+
+#####[back to top](top)
+
+
+[](msn)
+#### Will Profanity work with MSN/Yahoo/AIM/IRC etc?
+
+No, Profanity is purely an XMPP chat client.
+
+#####[back to top](top)
+
+
+[](keychain)
+#### Can Profanity use my keychain/keyring to retrieve my password?
+
+Yes, the [`/account`](reference.html#account) command includes an
+`eval_password` property which can be used to execute a script to retrieve your
+password.
+
+For example on Ubuntu using gnome-keyring and
+[`secret-tool`](https://apps.ubuntu.com/cat/applications/libsecret-tools/):
+
+To add the password:
+```
+secret-tool store --label="Bobs account" xmpp bob@server.org
+```
+
+You will be prompted to enter the password.
+
+Command to use for the account eval_password property:
+```
+secret-tool lookup xmpp bob@server.org
+```
+
+On OS X, use the following command for the `eval_password` property:
+```
+security find-generic-password -s bob@server.org -w
+```
+
+You can also use Profanity together with `pass`, see this
+[guide](https://hispagatos.org/post/xmpp_profanity_and_pass)
+
+#####[back to top](top)
+
+
+[](multiaccount)
+#### Can I connect to more than one account at a time?
+
+No, the recommended way is to use multiple terminal windows, or a terminal
+multiplexer like GNU Screen or tmux.
+
+#####[back to top](top)
+
+
+[](persistent)
+#### Why are my settings not persistent?
+
+Because you did not use `/save`.
+
+#####[back to top](top)
+
+
+[](profrc)
+#### Where is the profrc file format described?
+
+Nowhere. Well, actually you cold read the source code.
+But you should not edit the profrc file yourself anyways.
+Just use the commands to manipulate the settings.
+And don't forget to `/save` before exiting.
+
+#####[back to top](top)
+
+
+[](termf1)
+#### Why does the F1 key open terminal help rather than going back to the main console window?
+
+Some terminals have a key binding for F1 to open help. You can use the alt-num
+keys to change windows, or if you prefer to use the F keys, you'll need to
+change the terminal setting to open help with another key.
+
+#####[back to top](top)
+
+
+[](utf8encoding)
+#### Why can I not type anything in the input bar?
+
+Profanity uses the ncursesw library to support wide characters, which requires
+a UTF-8 encoding. Try running the following (or the equivalent for your
+language's UTF-8 encoding) in the terminal before running profanity.
+```
+export LANG=en_US.UTF-8
+```
+
+######[back to top](top)
+
+
+[](mucpresence)
+#### How can I hide join/leave messages in MUCs?
+
+You can deactivate those messages with the following command:
+```
+/presence chat none
+```
+
+#####[back to top](top)
+
+
+[](bugs)
+#### I've found a bug/have a feature request who do I tell?
+
+If you have a github account, you can log an issue on the
+[issue tracker](https://github.com/profanity-im/profanity/issues?state=open).
+
+Alternatively you are welcome to post on the
+[mailing list](https://lists.posteo.de/listinfo/profanity).
+
+#####[back to top](top)
+
+
+[](contrib)
+#### I'd like to contribute, what should I do?
+
+A page has been written with some ideas for how to
+[help out](helpout.html).
+Any contributions/ideas are very welcome. Also see the
+[CONTRIBUTING.md](https://github.com/profanity-im/profanity/blob/master/CONTRIBUTING.md)
+file on GitHub.
+
+#####[back to top](top)
+
+
+[](donate)
+#### I'd like to donate to Profanity
+
+If you want to pay the developers and maintainers of Profanity a coffee there
+are various ways to do so.
+
+On [GitHub](https://github.com/profanity-im/profanity) there is a *Sponsor*
+button linking to relevant pages. If you want to send the money directly you
+can ask for an IBAN via [email](mailto:jubalh@iodoru.org).
+
+We also got selected for GitHub Sponsors. You can find the link also on the
+*Sponsor* button on GitHub.
+
+There is also the possibility to set a bounty for certain issues via
+[Bountysource](https://www.bountysource.com/teams/profanity).
+So in case you want to see a certain feature implemented or bug fixed you can
+set a bounty there and the person doing the work gets the reward.
+
+#####[back to top](top)
+
+
+[](clients)
+#### Are there more clients like this?
+
+Yes, there are several commandline clients:
+[freetalk](https://www.gnu.org/software/freetalk/),
+[mcabber](https://mcabber.com/),
+[poezio](https://poez.io) and
+[more clients](https://xmpp.org/software/clients.html).
+
+#####[back to top](top)
+
+
+[](tor)
+#### How to connect to XMPP server using Tor
+
+To connect to the XMPP server by the Tor network, you must launch Profanity
+with a tool called "[proxychains-ng](https://github.com/rofl0r/proxychains-ng)".
+
+#####[back to top](top)
+
+
+[](onion)
+#### How to connect to an onion XMPP server
+
+An onion XMPP server is a server which is providing an onion address to reach it
+inside the Tor network. You can specify the onion address with the
+[`/account`](reference.html#account) command in Profanity.
+```
+/account set account_name server address.onion
+```
+
+#####[back to top](top)
+
+
+[](distrobox)
+#### How to run the latest version on old distributions?
+
+Some distributions, like Debian, have backports repositories. You can also run
+Profanity in a container via distrobox. See our
+[blogpost](https://profanity-im.github.io/blog/post/distrobox/).
+
+#####[back to top](top)
+
+
+[](autoopen)
+#### How do I automatically open chat windows with contacts?
+
+To the right side you can see your roster. It contains all your contacts and
+rooms (MUCs). MUCs can be automatically joined via bookmarks. If you want to
+open a chat window to a user automatically upon the start of profanity you can
+write a script to do that. Put `/msg theusersnickname` into
+`~/.local/share/profanity/scripts/myautoscript`.
+And configure your account to automatically launch that script
+`/account set <account> startscript myautoscript`.
+
+#####[back to top](top)
+
diff --git a/pagesource/faq.xml b/pagesource/faq.xml
deleted file mode 100644
index d833d73..0000000
--- a/pagesource/faq.xml
+++ /dev/null
@@ -1,280 +0,0 @@
-
-
-
-
Profanity only supports one account per instance. But you certainly can run several instances of Profanity! Run Profanity in multiple terminals or use a terminal multiplexer like screen or tmux. An example setup can be seen in this blogpost.
-
OMEMO support was added in 0.7.0. Version 0.11.1 fixed a lot of common bugs. But please make sure to run the latest version of Profanity.
-
A common error is that the PEP nodes are wrongly configured. It could be that your server isn't configured the right way or that some client configured
- this the wrong way in the past. Profanity tries to correct this but might fail. See issue 1538 for details.
Profanity was able to work with Google Talk. But in 2013 after Google merged it's messenger products
- Google Talk, Google+ Messenger and Hangouts together XMPP support was dropped.
-
Nowhere. Well, actually you cold read the source code.
- But you should not edit the profrc file yourself anyways. Just use the commands to manipulate the settings.
- And don't forget to /save before exiting.
Why does the F1 key open terminal help rather than going back to the main console window?
-
Some terminals have a key binding for F1 to open help. You can use the alt-num keys to change windows, or
- if you prefer to use the F keys, you'll need to change the terminal setting to open help with another
- key.
Profanity uses the ncursesw library to support wide characters, which requires a UTF-8 encoding. Try
- running the following (or the equivalent for your language's UTF-8 encoding) in the terminal before
- running profanity.
A page has been written with some ideas for how to help out.
- Any contributions/ideas are very welcome. Also see the CONTRIBUTING.md
- file on GitHub.
If you want to pay the developers and maintainers of Profanity a coffee there are various ways to do so.
-
-
On GitHub there is a Sponsor button
- linking to relevant pages. If you want to send the money directly you can ask for an IBAN via email.
-
We also got selected for GitHub Sponsors. You can find the link also on the Sponsor button on
- GitHub.
-
There is also the possibility to set a bounty for certain issues via Bountysource. So in case you want to see a
- certain feature implemented or bug fixed you can set a bounty there and the person doing the work gets
- the reward.
An onion XMPP server is a server which is providing an onion address to reach it inside the Tor network.
- You can specify the onion address with the /account command in Profanity.
How do I automatically open chat windows with contacts?
-
To the right side you can see your roster. It contains all your contacts and
- rooms (MUCs). MUCs can be automatically joined via bookmarks. If you want to
- open a chat window to a user automatically upon the start of profanity you can
- write a script to do that. Put
- /msg theusersnickname
- into
- ~/.local/share/profanity/scripts/myautoscript.
- And configure your account to automatically launch that script
- /account set <account> startscript myautoscript.
-
-
-
-
diff --git a/pagesource/helpout.md b/pagesource/helpout.md
new file mode 100644
index 0000000..a0c60ae
--- /dev/null
+++ b/pagesource/helpout.md
@@ -0,0 +1,90 @@
+# Profanity, a console based XMPP client - Helping Out
+## Helping Out
+
+### Contents
+
+- [Use Profanity](use-profanity)
+- [Help with the website](website-help)
+- [Contribute code](contribute-code)
+- [Donate](donate)
+
+
+
+[](use-profanity)
+### Use Profanity
+
+The easiest way you can help out is just by using Profanity and sending any
+feedback you have to the
+[mailing list](https://lists.notraces.net/mailman/listinfo/profanity).
+Any feedback is welcome, although please keep it polite, and refrain from using
+profanity (pun intended).
+
+See [Reporting issues](issues.html) for information on where and how to report
+issues, and how to supply logs/debug information.
+
+
+
+[](website-help)
+### Help with the website
+
+The website often has small errors or omissions in documentation etc. The
+website source is also
+[available at GitHub](https://github.com/profanity-im/profanity-im.github.io)
+so feel free to send pull requests there.
+
+We're always interested to hear about profanity being used in different environments,
+and if you have any screenshots, we'd be happy to post them at the website.
+
+
+
+[](contribute-code)
+### Contribute code
+
+Code contributions are always very welcome. From the small (spelling fixes) to
+the large (new XMPP features).
+
+If you would like to get involved, you can submit a pull request, or if you just
+want to get involved but don't know how, email jubalh@iodoru.org.
+
+Also make sure to read the
+[CONTRIBUTING](https://github.com/profanity-im/profanity/blob/master/CONTRIBUTING.md)
+document on GitHub.
+
+To find a first issue to work on check out the various repositories:
+
+- [Profanity](https://github.com/profanity-im/profanity)
+- [Website](https://github.com/profanity-im/profanity-im.github.io)
+- [Plugins](https://github.com/profanity-im/profanity-plugins)
+
+Click on the tab called *Issues* in the repository on GitHub and go through
+them until you find something that interests you.
+
+We also tag our issues. So you can easily see if something is a bug or a
+feature request. Or which part of the code the issue is about, like e.g.
+*UI*.
+
+Especially check out the issues tagged as
+[help wanted](https://github.com/profanity-im/profanity/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22help%20wanted%22)
+
+You can also check out the milestones where we plan which issues should be
+solved for certain milestones/releases. The milestone called
+[next](https://github.com/profanity-im/profanity/issues?q=is%3Aissue%20state%3Aopen%20milestone%3Anext)
+contains the issues for the next release.
+
+People find it often the easiest to work on a bug that affects them personally.
+Or to implement a feature that they want to have. So think about what you want
+and need. You can also join our MUC to get help about getting started with
+development on Profanity.
+
+
+
+[](donate)
+### Donate
+
+Yes, the rumors are true. Developers also have to eat. They also have limited
+time.
+
+And yet some of them decide to use their free time to develop free software.
+
+If you want to say "Thank You", please consider [donating](donate.html).
+
diff --git a/pagesource/helpout.xml b/pagesource/helpout.xml
deleted file mode 100644
index ce41090..0000000
--- a/pagesource/helpout.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
The easiest way you can help out is just by using Profanity and sending any feedback you have to the mailing list.
- Any feedback is welcome, although please keep it polite, and refrain from using profanity (pun intended).
-
See Reporting issues for information on where and how to report issues, and how to supply logs/debug information.
-
-
-
-
Help with the website
-
-
The website often has small errors or omissions in documentation etc. The website source is also available at github so feel free to send pull requests there.
-
We're always interested to hear about profanity being used in different environments, and if you have any screenshots, we'd be happy to post them at the website.
-
-
-
-
Contribute code
-
-
Code contributions are always very welcome. From the small (spelling fixes) to the large (new XMPP features).
-
If you would like to get involved, you can submit a pull request, or if you just want to get involved but don't know how, email jubalh@iodoru.org.
-
Also make sure to read the CONTRIBUTING document on GitHub.
-
To find a first issue to work on check out the various repositories:
Click on the tab called Issues in the repository on GitHub and go through them until you find something that interests you.
-
We also tag our issues. So you can easily see if something is a bug or a feature request. Or which part of the code the issue is about, like e.g. UI.
-
Especially check out the issues tagged as help wanted.
-
You can also check out the milestones where we plan which issues should be solved for certain milestones/releases. The milestone called next contains the issues for the next release.
-
People find it often the easiest to work on a bug that affects them personally. Or to implement a feature that they want to have. So think about what you want and need. You can also join our MUC to get help about getting started with development on Profanity
-
-
-
-
Donate
-
-
Yes, the rumors are true. Developers also have to eat. They also have limited time.
-
And yet some of them decide to use their free time to develop free software.
-
If you want to say "Thank You", please consider donating.
-
-
diff --git a/pagesource/issues.md b/pagesource/issues.md
new file mode 100644
index 0000000..b777ab1
--- /dev/null
+++ b/pagesource/issues.md
@@ -0,0 +1,177 @@
+# Profanity, a console based XMPP client - Reporting issues
+## Reporting Issues
+
+### Contents
+
+- [Where to report issues](where)
+- [Attaching logs](proflogs)
+- [Attaching configuration files](config)
+- [Getting a backtrace](backtrace)
+
+ - [Enabling coredumps](ulimit)
+ - [Rebuild in debug mode](configuredebug)
+ - [Viewing the backtrace](viewingbacktrace)
+
+
+
+[](where)
+#### Where to report issues
+
+The best place to report issues is at the
+[github issue tracker](https://github.com/boothj5/profanity/issues).
+
+Other options are the
+[mailing list](https://lists.posteo.de/listinfo/profanity).
+
+The following would be helpful in diagnosing/reproducing the issue if you can
+possibly supply it:
+environment (OS, OS version, window manager, terminal type),
+profanity release version or commit hash if from development,
+XMPP server and/or recipient's XMPP client if the issue only occurs with certain
+servers/clients,
+finally any information about the build configuration and enabled features.
+
+If you cant supply the above information, a simple description will do.
+
+
+
+
+[](proflogs)
+#### Attaching logs
+
+The logs can often help to diagnose an issue. Firstly run Profanity in debug
+mode to enable full debug logging:
+```
+profanity -l DEBUG
+```
+
+Then recreate the issue and attach the log (or a useful section of it) found in:
+```
+$XDG_DATA_HOME/profanity/logs/profanity.log
+```
+
+Which on most systems is:
+```
+~/.local/share/profanity/logs/profanity.log
+```
+
+Remember to remove or obfuscate any private information in the logs. In
+particular check for credentials in connection logging. For example the auth
+mechanism PLAIN sends the credentials as a base64 string which can be easily
+reversed to get your username and password, e.g.:
+```
+12/12/2014 14:22:01: conn: DBG: SENT: <auth mechanism="PLAIN" xmlns="urn:ietf:params:xml:ns:xmpp-sasl">AG9saXZlci5tdWVoc2FtAE5oYTEyMDhnIw==</auth>
+```
+
+
+
+[](config)
+#### Attaching configuration files
+
+Some issues are only reproducible using certain configuration options, so
+attaching your config can also help. Profanity stores its core config in:
+```
+$XDG_CONFIG_HOME/profanity/profrc
+```
+
+Which on most systems is:
+```
+~/.config/profanity/profrc
+```
+
+Account specific configuration is specified in:
+```
+$XDG_DATA_HOME/profanity/accounts
+```
+
+Which on most systems is:
+```
+~/.local/share/profanity/accounts
+```
+
+Remember to remove or obfuscate any usernames/passwords from the configuration
+before sending, for example, account configuration will include your password
+if you have set one using the [/account](reference.html#account) command.
+
+
+
+[](backtrace)
+#### Getting a backtrace
+
+Segfaults and crashes usually result in a coredump which can be useful in
+debugging the problem. If you have the time, the following instructions should
+help when attaching a backtrace from a crash.
+
+
+
+[](ulimit)
+#### Enabling coredumps
+
+The following command will enable coredumps of unlimited size to be generated
+in the current terminal session:
+```
+ulimit -c unlimited
+```
+
+If you prefer to set a limit, the argument is in Kilobytes, for example to allow
+coredumps of up to 100MB:
+```
+ulimit -c 102400
+```
+
+Add the command to your `~/.bashrc` or equivalent to enable coredumps for all
+terminal sessions.
+
+
+
+
+[](configuredebug)
+#### Rebuild in debug mode
+
+Profanity needs to be rebuilt from source to enable more useful information in
+the coredump.
+
+In the source folder (where you extracted the download, or checked out from git)
+run the following:
+```
+./bootstrap.sh
+./configure-debug # calls ./configure with debug options
+make clean
+make
+```
+
+This will only build an executable in the source folder and will not overwrite
+your system installed version. To run the newly built version, in the source
+folder run:
+```
+./profanity
+```
+
+Note, if you installed from Homebrew on OSX it is recommended to clone and
+build from github (checking out the relevant release tag) using the above
+steps, unless you are happy with editing and reinstalling brew formula.
+
+
+
+
+[](viewingbacktrace)
+### Viewing the backtrace
+
+On Linux, you will need the GDB debugger installed for your distribution.
+
+The coredump will be created in the folder in which you built and ran
+profanity, firstly start GDB pointing to profanity and the coredump:
+```
+gdb ./profanity core
+```
+
+To view the backtrace in GDB:
+```
+bt
+```
+
+On OSX, the coredump can be found somewhere in the system console (usually in
+Applications->Utilities->Console in the finder). It should be named with
+"profanity" and the date and time of the crash.
+
+
diff --git a/pagesource/issues.xml b/pagesource/issues.xml
deleted file mode 100644
index 53c34b5..0000000
--- a/pagesource/issues.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
The following would be helpful in diagnosing/reproducing the issue if you can possibly supply it:
- environment (OS, OS version, window manager, terminal type), profanity release version or commit hash if
- from development, XMPP server and/or recipient's XMPP client if the issue only occurs with certain
- servers/clients, finally any information about the build configuration and enabled features.
-
If you cant supply the above information, a simple description will do.
-
-
-
-
Attaching logs
-
-
The logs can often help to diagnose an issue. Firstly run Profanity in debug mode to enable full debug
- logging:
-
profanity -l DEBUG
-
Then recreate the issue and attach the log (or a useful section of it) found in:
-
$XDG_DATA_HOME/profanity/logs/profanity.log
-
Which on most systems is:
-
~/.local/share/profanity/logs/profanity.log
-
Remember to remove or obfuscate any private information in the logs. In particular check for credentials
- in connection logging. For example the auth mechanism PLAIN sends the credentials as a base64 string
- which can be easily reversed to get your username and password, e.g.:
Some issues are only reproducible using certain configuration options, so attaching your config can also
- help. Profanity stores its core config in:
-
$XDG_CONFIG_HOME/profanity/profrc
-
Which on most systems is:
-
~/.config/profanity/profrc
-
Account specific configuration is specified in:
-
$XDG_DATA_HOME/profanity/accounts
-
Which on most systems is:
-
~/.local/share/profanity/accounts
-
Remember to remove or obfuscate any usernames/passwords from the configuration before sending, for
- example, account configuration will include your password if you have set one using the /account command.
-
-
-
-
Getting a backtrace
-
-
Segfaults and crashes usually result in a coredump which can be useful in debugging the problem. If you
- have the time, the following instructions should help when attaching a backtrace from a crash.
-
-
-
Enabling coredumps
-
The following command will enable coredumps of unlimited size to be generated in the current terminal
- session:
-
ulimit -c unlimited
-
If you prefer to set a limit, the argument is in Kilobytes, for example to allow coredumps of up to
- 100MB:
-
ulimit -c 102400
-
Add the command to your ~/.bashrc or equivalent to enable coredumps for all terminal
- sessions.
-
-
-
-
Rebuild in debug mode
-
Profanity needs to be rebuilt from source to enable more useful information in the coredump.
-
In the source folder (where you extracted the download, or checked out from git) run the following:
This will only build an executable in the source folder and will not overwrite your system installed
- version. To run the newly built version, in the source folder run:
-
./profanity
-
Note, if you installed from Homebrew on OSX it is recommended to clone and build from github (checking
- out the relevant release tag) using the above steps, unless you are happy with editing and reinstalling
- brew formula.
-
-
-
-
Viewing the backtrace
-
On Linux, you will need the GDB debugger installed for your distribution.
-
The coredump will be created in the folder in which you built and ran profanity, firstly start GDB
- pointing to profanity and the coredump:
-
gdb ./profanity core
-
To view the backtrace in GDB:
-
bt
-
On OSX, the coredump can be found somewhere in the system console (usually in
- Applications->Utilities->Console in the finder). It should be named with "profanity" and the date and
- time of the crash.
-
-
-
diff --git a/pagesource/plugins.md b/pagesource/plugins.md
new file mode 100644
index 0000000..9355f9a
--- /dev/null
+++ b/pagesource/plugins.md
@@ -0,0 +1,183 @@
+# Profanity, a console based XMPP client - User Guide
+## Plugins
+
+
+### Contents
+
+- [Overview](overview)
+- [Featured Plugins](featured-plugins)
+- [Developing Plugins](developing-plugins)
+
+ - [Python](python-plugins),
+ - [C](c-plugins)
+- [Themes and Settings](themes-settings)
+- [Contributing Plugins](contributing-plugins)
+
+
+
+[](overview)
+#### Overview
+
+Profanity supports plugins written in Python and C. The
+[profanity-plugins](https://github.com/profanity-im/profanity-plugins)
+project contains various plugins maintained by Profanity's author and other
+community maintained plugins.
+
+The master branch of the plugins repository is in sync with development in the
+master branch of Profanity. Branching is used to maintain plugins for releases
+of Profanity:
+
+| Version | Code link |
+| :--- | :--- |
+| Profanity 0.5.0 | [https://github.com/profanity-im/profanity-plugins/tree/0.5.0](https://github.com/profanity-im/profanity-plugins/tree/0.5.0) |
+| Profanity 0.5.1 to 0.6.0 | [https://github.com/profanity-im/profanity-plugins/tree/0.5.1](https://github.com/profanity-im/profanity-plugins/tree/0.5.1) |
+
+There is a
+[known issue](https://github.com/profanity-im/profanity/issues/749)
+that C plugins do not currently work on Cygwin.
+
+To install a Python plugin:
+```
+/plugins install ~/projects-git/profanity-plugins/say.py
+```
+
+Any module dependencies for the plugin should be on the Python system path.
+If a plugin imports modules relative to its location, these modules need to
+manually be copied to `~/.local/share/profanity/plugins/`
+
+To install a C plugin:
+```
+/plugins install ~/projects-git/profanity-plugins/pid/pid.so
+```
+
+See the [`/plugins`](reference.html#plugins) command for more information on
+installing and enabling/disabling plugins.
+
+If a plugin registers it's own commands, the usual [`/help`](reference.html#help)
+command can be used to find out more information:
+```
+/help say
+```
+
+
+
+[](featured-plugins)
+#### Featured Plugins
+
+This section list some of the plugins currently available.
+
+| Code link | Functionality |
+| :--- |:--- |
+| [`ascii.py`](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/ascii.py) | Convert text to ascii art text and send to the current recipient or room. |
+| [`browser.py`](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/browser.py) | Open received links in the system default browser. |
+| [`clients.py`](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/clients.py) | Show client software used by each occupant in the current chat room, using [xep-0092 Software version](https://xmpp.org/extensions/xep-0092.html). |
+| [`imgur.py`](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/imgur.py) | Send a local image file or a screenshot to a recipient or chat room using imgur.com. |
+| [`paste.py`](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/paste.py) | Send the contents of the clipboard to the current recipient or room. |
+| [`termuxnotify.py`](https://github.com/Neo-Oli/profanity-termux-notification) | Notifications for Termux on Android. |
+
+See also [`notifycmd.py`](https://github.com/Neo-Oli/profanity-notifycmd)
+for a generic version to run any system command on new messages.
+
+| Code link | Functionality |
+| :--- | :--- |
+| [`presence_notify.py`](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/presence_notify.py) | Configure desktop notifications for presence updates from contacts. |
+| [`say.py`](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/say.py) | Read out loud messages from recipients or in chat rooms. |
+| [`sounds.py`](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/sounds.py) | Play sounds when messages received.|
+| [`syscmd.py`](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/syscmd.py) | Display the result shell commands in a new window. Send results of shell commands to recipients or chat rooms. |
+| [`wikipedia-prof.py`](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/wikipedia-prof.py) | Search wikipedia and show search results, pages, links etc in a new window. |
+
+
+
+[](developing-plugins)
+#### Developing Plugins
+
+Profanity provides an API for plugins to access various functionality. Plugins
+may also implement 'hooks' that Profanity will call on specific events.
+
+
+
+[](python-plugins)
+#### Python
+
+Python plugins need to import the `prof` module to access the API.
+
+Profanity may be compiled against Python 2 or Python 3, so plugins should be
+able to work with both, the
+[future](https://pypi.org/project/future/) library can be used in most cases.
+
+Full documentation of the `prof` module and the hooks a plugin may implement
+can be found at:
+
+[0.5.1 to 0.6.0 Python API documentation](plugins/0.5.1/python/html/index.html)>
+
+Previous versions:
+
+[0.5.0](plugins/0.5.0/python/html/index.html)
+
+
+
+[](c-plugins)
+#### C
+
+C plugins need to include the `profapi.h` header to access the API, and must be
+linked against `libprofanity` using the linker flag `-lprofanity`.
+
+C plugins should include a `Makefile` to build a shared library (a `.so` file)
+which is the file Profanity will load.
+
+Full documentation of the `profapi.h` header and the hooks a plugin may
+implement can be found at:
+
+[0.5.1 to 0.6.0 C API documentation](plugins/0.5.1/c/html/index.html)
+
+Previous versions:
+
+[0.5.0](plugins/0.5.0/c/html/index.html)
+
+
+
+[](themes-settings)
+#### Themes and Settings
+
+Plugins may make use of themes and settings by accessing the following files:
+
+```
+~/.local/share/profanity/plugin_themes
+~/.local/share/profanity/plugin_settings
+```
+
+Example theme properties for
+[syscmd.py](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/syscmd.py):
+
+```
+[system]
+command=cyan
+result=green
+```
+
+Example settings for
+[say.py](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/say.py):
+
+```
+[say]
+args=-v english -s 120
+enabled=active
+```
+
+API functions are available to read and write to the settings and theme files.
+
+Plugins should contain documentation on the available settings and colours,
+most plugins have a command to manipulate settings.
+
+
+
+[](contributing-plugins)
+#### Contributing Plugins
+
+Submit a pull request to the
+[profanity-plugins](https://github.com/profanity-im/profanity-plugins)
+project.
+
+If the current API doesn't have what you need, raise an issue at the
+[Profanity](https://github.com/profanity-im/profanity) repository.
+
diff --git a/pagesource/plugins.xml b/pagesource/plugins.xml
deleted file mode 100644
index 92a6e6b..0000000
--- a/pagesource/plugins.xml
+++ /dev/null
@@ -1,239 +0,0 @@
-
-
-
-
-
- Profanity supports plugins written in Python and C. The profanity-plugins project
- contains various plugins maintained by Profanity's author and other community maintained plugins.
-
-
- The master branch of the plugins repository is in synch with development in the master branch of
- Profanity. Branching is used to maintain plugins for releases of Profanity:
-
- Any module dependencies for the plugin should be on the Python system path. If a plugin imports modules
- relative to its location, these modules need to manually be copied to
- ~/.local/share/profanity/plugins/
-
Search wikipedia and show search results, pages, links etc in a new window.
-
-
-
-
-
-
Developing Plugins
-
- Profanity provides an API for plugins to access various functionality. Plugins may also implement
- 'hooks' that Profanity will call on specific events.
-
-
-
Python
-
- Python plugins need to import the prof module to access the API.
-
-
- Profanity may be compiled against Python 2 or Python 3, so plugins should be able to work with both, the
- future library can be used in most
- cases.
-
-
- Full documentation of the prof module and the hooks a plugin may implement can be found
- at:
-
-
-
diff --git a/pagesource/xeps.md b/pagesource/xeps.md
new file mode 100644
index 0000000..0c58e30
--- /dev/null
+++ b/pagesource/xeps.md
@@ -0,0 +1,43 @@
+# Profanity, a console based XMPP client - Supported XEPs
+## Supported XEPs
+
+
+All the XEPs listed here are supported by Profanity. For some XEPs we are not
+sure which version of the XEP is implemented in Profanity in which case we left
+the **Supported Version** field blank.
+
+
+| XEP | Supported Version | Notes |
+| :--- | :--- | :--- |
+| [XEP-0012: Last Activity](https://www.xmpp.org/extensions/xep-0012.html) | 2.0 | |
+| [XEP-0027: Current Jabber OpenPGP Usage](https://www.xmpp.org/extensions/xep-0027.html) | 1.4 | |
+| [XEP-0030: Service Discovery](https://xmpp.org/extensions/xep-0030.html) | | |
+| [XEP-0045: Multi-User Chat](https://xmpp.org/extensions/xep-0045.html) | | |
+| [XEP-0048: Bookmarks](https://xmpp.org/extensions/xep-0048.html) | 1.2 | |
+| [XEP-0050: Ad-Hoc Commands](https://xmpp.org/extensions/xep-0050.html) | 1.3.0 | Since 0.6.0. No multi-step yet. |
+| [XEP-0060: Publish-Subscribe](https://xmpp.org/extensions/xep-0060.html) | 1.15.8 | Since 0.7.0. Used for OMEMO. |
+| [XEP-0077: In-Band Registration](https://xmpp.org/extensions/xep-0077.html) | 2.4 | Since 0.11.0. Only password change. |
+| [XEP-0085: Chat State Notifications](https://xmpp.org/extensions/xep-0085.html) | 2.1 | |
+| [XEP-0091: Legacy Delayed Delivery](https://xmpp.org/extensions/xep-0091.html) | 1.4 | |
+| [XEP-0092: Software Version](https://xmpp.org/extensions/xep-0092.html) | 1.1 | |
+| [XEP-0115: Entity Capabilities](https://xmpp.org/extensions/xep-0115.html) | | |
+| [XEP-0157: Contact Addresses for XMPP Services](https://xmpp.org/extensions/xep-0157.html) | 1.1.1 | Since 0.11.0. |
+| [XEP-0160: Best Practices for Handling Offline Messages](https://xmpp.org/extensions/xep-0160.html) | 1.0.1 | |
+| [XEP-0184: Message Delivery Receipts](https://xmpp.org/extensions/xep-0184.html) | 1.2 | |
+| [XEP-0191: Blocking Command](https://xmpp.org/extensions/xep-0191.html) | 1.3 | |
+| [XEP-0199: XMPP Ping](https://xmpp.org/extensions/xep-0199.html) | 2.0.1 | |
+| [XEP-0203: Delayed Delivery](https://xmpp.org/extensions/xep-0203.html) | 2.0 | |
+| [XEP-0245: The /me Command](https://xmpp.org/extensions/xep-0245.html) | 1.0 | |
+| [XEP-0249: Direct MUC Invitations](https://xmpp.org/extensions/xep-0249.html) | 1.0 | |
+| [XEP-0256: Last Activity in Presence](https://xmpp.org/extensions/xep-0256.html) | 1.1 | |
+| [XEP-0280: Message Carbons](https://xmpp.org/extensions/xep-0280.html) | 0.12.1 | |
+| [XEP-0308: Last Message Correction](https://xmpp.org/extensions/xep-0308.html) | 1.2.0 | Since 0.9.0. |
+| [XEP-0359: Unique and Stable Stanza IDs](https://xmpp.org/extensions/xep-0359.html) | 0.6.1 | Since 0.8.0. Only </origin-id>, no </stanza-id> yet.|
+| [XEP-0363: HTTP File Upload](https://xmpp.org/extensions/xep-0363.html) | 1.0.0 | |
+| [XEP-0364: Current Off-the-Record Messaging Usage](https://xmpp.org/extensions/xep-0364.html) | 0.3.2 | |
+| [XEP-0374: OpenPGP for XMPP Instant Messaging](https://xmpp.org/extensions/xep-0374.html) | 0.2.0 | Since 0.11.0. |
+| [XEP-0377: Spam Reporting](https://xmpp.org/extensions/xep-0377.html) | 0.3 | Since 0.11.0. |
+| [XEP-0384: OMEMO Encryption](https://xmpp.org/extensions/xep-0384.html) | 0.3.0 | Since 0.7.0. |
+| [XEP-0392: Consistent Color Generation](https://xmpp.org/extensions/xep-0392.html) | 0.7.0 | Since 0.8.0. |
+| [XEP-0454: OMEMO Media sharing](https://xmpp.org/extensions/xep-0454.html) | 0.1.0 | Since 0.10.0. |
+
diff --git a/pagesource/xeps.xml b/pagesource/xeps.xml
deleted file mode 100644
index 7118ae6..0000000
--- a/pagesource/xeps.xml
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
-
-
-
All the XEPs listed here are supported by Profanity. For some XEPs we are not sure which version of the XEP is implemented in Profanity in which case we left the Supported Version field blank.
||g' $(@:.xml=.tmpxml) > $@
+ rm -f $(@:.xml=.md) $(@:.xml=.tmpxml)
themegallery.html: gallery-template.xml
$(SBLG) -o $@ -t gallery-template.xml -c themegallery.xml
diff --git a/README.md b/README.md
index f68239e..0b92a3e 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,13 @@
Sources for https://profanity-im.github.io
-The website is generated from XML and Markdown sources using [sblg](https://kristaps.bsd.lv/sblg/) and [lowdown](https://kristaps.bsd.lv/lowdown).
+The website is generated from XML templates and Markdown sources using [sblg](https://kristaps.bsd.lv/sblg/) and [lowdown](https://kristaps.bsd.lv/lowdown).
## Reference
| To Change... | Edit File(s) | Format |
| :--- | :--- | :--- |
-| **Home Page (Landing)** | `index.xml` | XML Fragment |
-| **Top-Level Pages** (FAQ, Donate, etc.) | `pagesource/*.xml` | XML Fragment |
+| **Home Page (Landing)** | `index.content.md`, `index.features.md` and `index.screenshots.md` | Markdown |
+| **Top-Level Pages** (FAQ, Donate, etc.) | `pagesource/*.md` | Markdown |
| **Blog Posts** | `blogsource/content/post/*.md` | Markdown |
| **Blog User Profiles** | `blogsource/content/contributors/*.md` | Markdown |
| **Site Header/Footer (Home)** | `landing-template.xml` | HTML Template |
@@ -17,7 +17,7 @@ The website is generated from XML and Markdown sources using [sblg](https://kris
| **Style** | `css/*.css` | CSS |
### Page Sources
-The source files for the landing page (`index.xml`) and other top level pages in `pagesource/` are XML fragments. They contain the HTML content for the body, which is then injected into the appropriate header and footer templates.
+The source files for the landing page (`index.content.md`, `index.features.md` and `index.screenshots.md`) and other top level pages in `pagesource/` are writen in Markdown. They are transformed to HTML and then injected into the appropriate header and footer templates.
### Blog
Blog posts and contributor profiles are written in Markdown.
@@ -47,6 +47,6 @@ When a new version of Profanity is released:
1. Update the version string in `profanity_version.txt`.
2. Add the new `.tar.xz` and `.zip` source tarballs to the `tarballs/` directory.
-3. Generate the documentation for the new version (`profanity docgen` see RELEASE_NOTES.md in the profanity repo) and copy it to a new subdirectory in `guide/`. Add a link to the new guide in `pagesource/userguide.xml`.
+3. Generate the documentation for the new version (`profanity docgen` see RELEASE_NOTES.md in the profanity repo) and copy it to a new subdirectory in `guide/`. Add a link to the new guide in `pagesource/userguide.md`.
Do not manually update the version strings or SHA-256 hashes in `index.html`. These are calculated dynamically from the files during the build process on GitHub Actions.
diff --git a/blogsource/content/contributors/Makefile b/blogsource/content/contributors/Makefile
index df87837..c877a90 100644
--- a/blogsource/content/contributors/Makefile
+++ b/blogsource/content/contributors/Makefile
@@ -1,4 +1,5 @@
SBLG = sblg
+LOWDOWN = lowdown
CONTRIBUTORS = $(wildcard *.md)
CONTRIBUTORS_XML = $(CONTRIBUTORS:.md=.xml)
CONTRIBUTORS_OUT = $(CONTRIBUTORS_XML:.xml=.html)
@@ -12,12 +13,12 @@ $(CONTRIBUTORS_OUT) index.html: $(CONTRIBUTORS_XML) contributor-template.xml con
$(CONTRIBUTORS_XML): $(CONTRIBUTORS)
echo "" >$@
echo " " >>$@
- echo "
-
diff --git a/pagesource/accounts.md b/pagesource/accounts.md
index 37fd7a5..434cf29 100644
--- a/pagesource/accounts.md
+++ b/pagesource/accounts.md
@@ -1,13 +1,15 @@
-# Profanity, a console based XMPP client - Account Configuration
-## Account Configuration
+title: Profanity, a console based XMPP client - Account Configuration
+subtitle: Account Configuration
+
+${section_start}
-
### Contents
- [Configuring Accounts](#configuring-accounts)
-
-
+${section_end}
+
+${section_start}
### Configuring Accounts
@@ -46,4 +48,5 @@ presence.login=away
muc.service=rooms.mycompany.org
muc.nick=smithy
```
-
+
+${section_end}
diff --git a/pagesource/donate.md b/pagesource/donate.md
index d27567c..f5dc60f 100644
--- a/pagesource/donate.md
+++ b/pagesource/donate.md
@@ -1,7 +1,8 @@
-# Profanity, a console based XMPP client - User Guide
-## User Guide
+title: Profanity, a console based XMPP client - User Guide
+subtitle: User Guide
+
+${section_start}
-
### Donating
Yes, the rumors are true. Developers also have to eat. They also have limited time.
@@ -15,4 +16,5 @@ There are several ways to do so:
1. Become a sponsor on [GitHub Sponsors](https://github.com/jublah)
2. Write an email to jubalh@iodoru.org to ask for bank details
3. Send Bitcoin to: bc1qx265eat7hfasqkqmk9qf38delydnrnuvzhzy0x
-
+
+${section_end}
diff --git a/pagesource/faq.md b/pagesource/faq.md
index 85d5502..49e23aa 100644
--- a/pagesource/faq.md
+++ b/pagesource/faq.md
@@ -1,7 +1,8 @@
-# Profanity, a console based XMPP client - FAQ
-## Frequently Asked Questions
+title: Profanity, a console based XMPP client - FAQ
+subtitle: Frequently Asked Questions
+
+${section_start}
-
[](top)
### Contents
@@ -26,10 +27,11 @@
- [How to connect to XMPP server using Tor](tor)
- [How to connect to an onion XMPP server](onion)
- [How to run the latest version on old distributions?](distrobox)
-- [How do I automatically open chat windows with contacts?[aut0open)
+- [How do I automatically open chat windows with contacts?](autoopen)
-
-
+${section_end}
+
+${section_start}
[](multiacc)
#### How do I connect with multiple accounts?
@@ -40,8 +42,11 @@ terminal multiplexer like screen or tmux. An example setup can be seen in this
[blogpost](https://profanity-im.github.io/blog/post/how-to-run-profanity-instances-within-tmux/).
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](omemo)
#### OMEMO doesn't work for me
@@ -56,8 +61,11 @@ details.
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](platform)
#### Will Profanity run on <some platform>?
@@ -65,8 +73,11 @@ Profanity should run on any POSIX system, see the [install guide](install.html)
for specifics.
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](gtalk)
#### Will Profanity work with Google Talk?
@@ -77,8 +88,11 @@ XMPP support was
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](facebook)
#### Will Profanity work with Facebook Chat?
@@ -86,8 +100,11 @@ Facebook have recently announced that they will no longer support the open
XMPP chat protocol, so Profanity will no longer work with Facebook Chat.
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](slack)
#### Will Profanity work with Slack?
@@ -96,16 +113,22 @@ See the
[Slack page on gateways](https://slack.zendesk.com/hc/en-us/articles/201727913-Connecting-to-Slack-over-IRC-and-XMPP)
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](msn)
#### Will Profanity work with MSN/Yahoo/AIM/IRC etc?
No, Profanity is purely an XMPP chat client.
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](keychain)
#### Can Profanity use my keychain/keyring to retrieve my password?
@@ -137,8 +160,11 @@ You can also use Profanity together with `pass`, see this
[guide](https://hispagatos.org/post/xmpp_profanity_and_pass)
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](multiaccount)
#### Can I connect to more than one account at a time?
@@ -146,16 +172,22 @@ No, the recommended way is to use multiple terminal windows, or a terminal
multiplexer like GNU Screen or tmux.
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](persistent)
#### Why are my settings not persistent?
Because you did not use `/save`.
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](profrc)
#### Where is the profrc file format described?
@@ -165,8 +197,11 @@ Just use the commands to manipulate the settings.
And don't forget to `/save` before exiting.
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](termf1)
#### Why does the F1 key open terminal help rather than going back to the main console window?
@@ -175,8 +210,11 @@ keys to change windows, or if you prefer to use the F keys, you'll need to
change the terminal setting to open help with another key.
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](utf8encoding)
#### Why can I not type anything in the input bar?
@@ -188,8 +226,11 @@ export LANG=en_US.UTF-8
```
######[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](mucpresence)
#### How can I hide join/leave messages in MUCs?
@@ -199,8 +240,11 @@ You can deactivate those messages with the following command:
```
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](bugs)
#### I've found a bug/have a feature request who do I tell?
@@ -211,8 +255,11 @@ Alternatively you are welcome to post on the
[mailing list](https://lists.posteo.de/listinfo/profanity).
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](contrib)
#### I'd like to contribute, what should I do?
@@ -223,8 +270,11 @@ Any contributions/ideas are very welcome. Also see the
file on GitHub.
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](donate)
#### I'd like to donate to Profanity
@@ -244,8 +294,11 @@ So in case you want to see a certain feature implemented or bug fixed you can
set a bounty there and the person doing the work gets the reward.
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](clients)
#### Are there more clients like this?
@@ -256,8 +309,11 @@ Yes, there are several commandline clients:
[more clients](https://xmpp.org/software/clients.html).
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](tor)
#### How to connect to XMPP server using Tor
@@ -265,8 +321,11 @@ To connect to the XMPP server by the Tor network, you must launch Profanity
with a tool called "[proxychains-ng](https://github.com/rofl0r/proxychains-ng)".
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](onion)
#### How to connect to an onion XMPP server
@@ -278,8 +337,11 @@ inside the Tor network. You can specify the onion address with the
```
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](distrobox)
#### How to run the latest version on old distributions?
@@ -288,8 +350,11 @@ Profanity in a container via distrobox. See our
[blogpost](https://profanity-im.github.io/blog/post/distrobox/).
#####[back to top](top)
-
-
+
+${section_end}
+
+${section_start}
+
[](autoopen)
#### How do I automatically open chat windows with contacts?
@@ -302,4 +367,5 @@ And configure your account to automatically launch that script
`/account set <account> startscript myautoscript`.
#####[back to top](top)
-
+
+${section_end}
diff --git a/pagesource/helpout.md b/pagesource/helpout.md
index a0c60ae..6388d03 100644
--- a/pagesource/helpout.md
+++ b/pagesource/helpout.md
@@ -1,6 +1,8 @@
-# Profanity, a console based XMPP client - Helping Out
-## Helping Out
-
+title: Profanity, a console based XMPP client - Helping Out
+subtitle: Helping Out
+
+${section_start}
+
### Contents
- [Use Profanity](use-profanity)
@@ -8,8 +10,11 @@
- [Contribute code](contribute-code)
- [Donate](donate)
-
-
+
+${section_end}
+
+${section_start}
+
[](use-profanity)
### Use Profanity
@@ -22,8 +27,10 @@ profanity (pun intended).
See [Reporting issues](issues.html) for information on where and how to report
issues, and how to supply logs/debug information.
-
-
+${section_end}
+
+${section_start}
+
[](website-help)
### Help with the website
@@ -35,8 +42,10 @@ so feel free to send pull requests there.
We're always interested to hear about profanity being used in different environments,
and if you have any screenshots, we'd be happy to post them at the website.
-
-
+${section_end}
+
+${section_start}
+
[](contribute-code)
### Contribute code
@@ -76,8 +85,10 @@ Or to implement a feature that they want to have. So think about what you want
and need. You can also join our MUC to get help about getting started with
development on Profanity.
-
-
+${section_end}
+
+${section_start}
+
[](donate)
### Donate
@@ -87,4 +98,5 @@ time.
And yet some of them decide to use their free time to develop free software.
If you want to say "Thank You", please consider [donating](donate.html).
-
+
+${section_end}
diff --git a/pagesource/issues.md b/pagesource/issues.md
index b777ab1..02ac7b2 100644
--- a/pagesource/issues.md
+++ b/pagesource/issues.md
@@ -1,6 +1,8 @@
-# Profanity, a console based XMPP client - Reporting issues
-## Reporting Issues
-
+title: Profanity, a console based XMPP client - Reporting issues
+subtitle: Reporting Issues
+
+${section_start}
+
### Contents
- [Where to report issues](where)
@@ -12,8 +14,11 @@
- [Rebuild in debug mode](configuredebug)
- [Viewing the backtrace](viewingbacktrace)
-
-
+
+${section_end}
+
+${section_start}
+
[](where)
#### Where to report issues
@@ -33,9 +38,10 @@ finally any information about the build configuration and enabled features.
If you cant supply the above information, a simple description will do.
-
+${section_end}
+
+${section_start}
-
[](proflogs)
#### Attaching logs
@@ -63,8 +69,10 @@ reversed to get your username and password, e.g.:
12/12/2014 14:22:01: conn: DBG: SENT: <auth mechanism="PLAIN" xmlns="urn:ietf:params:xml:ns:xmpp-sasl">AG9saXZlci5tdWVoc2FtAE5oYTEyMDhnIw==</auth>
```
-
-
+${section_end}
+
+${section_start}
+
[](config)
#### Attaching configuration files
@@ -93,8 +101,10 @@ Remember to remove or obfuscate any usernames/passwords from the configuration
before sending, for example, account configuration will include your password
if you have set one using the [/account](reference.html#account) command.
-
-
+${section_end}
+
+${section_start}
+
[](backtrace)
#### Getting a backtrace
@@ -102,8 +112,10 @@ Segfaults and crashes usually result in a coredump which can be useful in
debugging the problem. If you have the time, the following instructions should
help when attaching a backtrace from a crash.
-
-
+${section_end}
+
+${section_start}
+
[](ulimit)
#### Enabling coredumps
@@ -122,8 +134,9 @@ ulimit -c 102400
Add the command to your `~/.bashrc` or equivalent to enable coredumps for all
terminal sessions.
-
-
+${section_end}
+
+${section_start}
[](configuredebug)
#### Rebuild in debug mode
@@ -151,8 +164,9 @@ Note, if you installed from Homebrew on OSX it is recommended to clone and
build from github (checking out the relevant release tag) using the above
steps, unless you are happy with editing and reinstalling brew formula.
-
-
+${section_end}
+
+${section_start}
[](viewingbacktrace)
### Viewing the backtrace
@@ -174,4 +188,4 @@ On OSX, the coredump can be found somewhere in the system console (usually in
Applications->Utilities->Console in the finder). It should be named with
"profanity" and the date and time of the crash.
-
+${section_end}
diff --git a/pagesource/plugins.md b/pagesource/plugins.md
index 9355f9a..f54e454 100644
--- a/pagesource/plugins.md
+++ b/pagesource/plugins.md
@@ -1,7 +1,8 @@
-# Profanity, a console based XMPP client - User Guide
-## Plugins
+title: Profanity, a console based XMPP client - User Guide
+subtitle: Plugins
+
+${section_start}
-
### Contents
- [Overview](overview)
@@ -10,11 +11,14 @@
- [Python](python-plugins),
- [C](c-plugins)
+
- [Themes and Settings](themes-settings)
- [Contributing Plugins](contributing-plugins)
-
-
+${section_end}
+
+${section_start}
+
[](overview)
#### Overview
@@ -59,8 +63,10 @@ command can be used to find out more information:
/help say
```
-
-
+${section_end}
+
+${section_start}
+
[](featured-plugins)
#### Featured Plugins
@@ -86,16 +92,20 @@ for a generic version to run any system command on new messages.
| [`syscmd.py`](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/syscmd.py) | Display the result shell commands in a new window. Send results of shell commands to recipients or chat rooms. |
| [`wikipedia-prof.py`](https://github.com/profanity-im/profanity-plugins/blob/0.5.1/stable/wikipedia-prof.py) | Search wikipedia and show search results, pages, links etc in a new window. |
-
-
+${section_end}
+
+${section_start}
+
[](developing-plugins)
#### Developing Plugins
Profanity provides an API for plugins to access various functionality. Plugins
may also implement 'hooks' that Profanity will call on specific events.
-
-
+${section_end}
+
+${section_start}
+
[](python-plugins)
#### Python
@@ -114,8 +124,10 @@ Previous versions:
[0.5.0](plugins/0.5.0/python/html/index.html)
-
-
+${section_end}
+
+${section_start}
+
[](c-plugins)
#### C
@@ -134,8 +146,10 @@ Previous versions:
[0.5.0](plugins/0.5.0/c/html/index.html)
-
-
+${section_end}
+
+${section_start}
+
[](themes-settings)
#### Themes and Settings
@@ -169,8 +183,10 @@ API functions are available to read and write to the settings and theme files.
Plugins should contain documentation on the available settings and colours,
most plugins have a command to manipulate settings.
-
-
+${section_end}
+
+${section_start}
+
[](contributing-plugins)
#### Contributing Plugins
@@ -180,4 +196,5 @@ project.
If the current API doesn't have what you need, raise an issue at the
[Profanity](https://github.com/profanity-im/profanity) repository.
-
+
+${section_end}
diff --git a/pagesource/userguide.md b/pagesource/userguide.md
index 5f5da04..2b239a8 100644
--- a/pagesource/userguide.md
+++ b/pagesource/userguide.md
@@ -1,7 +1,8 @@
-# Profanity, a console based XMPP client - User Guide
-## User Guide
+title: Profanity, a console based XMPP client - User Guide
+subtitle: User Guide
+
+${section_start}
-
### Userguides
- [For latest development version](guide/latest/userguide.html)
@@ -18,4 +19,5 @@
- [For version 0.9.X](guide/090/userguide.html)
- [For version 0.8.X](guide/080/userguide.html)
- [For version 0.7.X](guide/070/userguide.html)
-
+
+${section_end}
diff --git a/pagesource/xeps.md b/pagesource/xeps.md
index 0c58e30..bcb5ee1 100644
--- a/pagesource/xeps.md
+++ b/pagesource/xeps.md
@@ -1,7 +1,8 @@
-# Profanity, a console based XMPP client - Supported XEPs
-## Supported XEPs
+title: Profanity, a console based XMPP client - Supported XEPs
+subtitle: Supported XEPs
+
+${section_start}
-
All the XEPs listed here are supported by Profanity. For some XEPs we are not
sure which version of the XEP is implemented in Profanity in which case we left
the **Supported Version** field blank.
@@ -40,4 +41,5 @@ the **Supported Version** field blank.
| [XEP-0384: OMEMO Encryption](https://xmpp.org/extensions/xep-0384.html) | 0.3.0 | Since 0.7.0. |
| [XEP-0392: Consistent Color Generation](https://xmpp.org/extensions/xep-0392.html) | 0.7.0 | Since 0.8.0. |
| [XEP-0454: OMEMO Media sharing](https://xmpp.org/extensions/xep-0454.html) | 0.1.0 | Since 0.10.0. |
-
+
+${section_end}