Sone aims to provide social network functionality for [Freenet](https://freenetproject.org/) (also here [on GitHub](https://github.com/freenet/)).
+## Compiling
+
+Soneās build process is handled by [Gradle](https://gradle.org/). Just use the Gradle wrapper that comes with Sone:
+
+ # ./gradlew clean build fatJar
+
+This will resolve Soneās dependencies, compile Sone, run all the tests, and put the file `sone-jar-with-dependencies.jar` into the `build/libs` directory. This is the file that you can load from Freenetās plugin manager to run Sone.
+
## Installing
### Prerequisites
For Sone to work you will need a running Freenet node, of course. You will also need the Web of Trust plugin from the official plugins listed on your nodeās plugin manager page (*Configuration ā Plugins* in the menu).
-If you already have a web of trust identity, you can skip the next section.
-
-You will also need to create an identity in the web of trust. Select *Community* from the menu, choose āGenerateā and follow the instructions on-screen until your identity has been created.
+You will also need a web of trust identity to use Sone. If you do not already have a web of trust identity, select *Community* from the menu, choose āGenerateā and follow the instructions on-screen until your identity has been created.
### Loading/Installing
-For Sone to work you will need a running Freenet node and the WebOfTrust plugin. Loading Sone happens from Freenetās web interface using the āAdd an Unofficial Plugin from Freenetā section from the nodeās plugin manager at *Configuration ā Plugins*, at the bottom of the page. Enter the key of the plugin (starting with āUSK@ā) into the text field and press the āLoadā button. The plugin should then be downloaded from Freenet and started once itās ready.
+#### From Freenet
+
+If you just want to run the latest version of Sone you first have to obtain the plugin key from [Soneās homepage in Freenet](USK@nwa8lHa271k2QvJ8aa0Ov7IHAV-DFOCFgmDt3X6BpCI,DuQSUZiI~agF8c-6tjsFFGuZ8eICrzWCILB60nT8KKo,AQACAAE/sone/75/). Now head over to your nodeās plugin manager which you can reach from the menu at *Configuration ā Plugins*. At the bottom of the page thereās a section called āAdd an Unofficial Plugin from Freenet.ā Enter the key of the plugin into the text field and press the āLoadā button. The plugin should then be downloaded from Freenet and started once itās ready.
+
+#### From Disk
+
+If you have compiled Sone yourself, thereās a different section on the plugin manager page, called āAdd an Unofficial Plugin.ā Enter the full path name of the JAR file created by Gradle and press the āLoadā button. Sone should then be ready instantly.
The node will remember which plugins you loaded so that you donāt need to do that again after your node restarts (e.g. for updates).
-## Usage
+## Basic Usage
### Creating a Sone
### Writing Posts
If you choose *Sone* from the menu or simply click the large avatar on the top of the page you will be taken to the āPost Feedā page. It lists your posts as well as posts of all Sones that you follow. You can also write your own posts from here: just click inside the text field at the top of the page, it will expand into a larger box that you can write your post in. (It is also resizable and does not place a limit on the amount of text you want to write.) When you are done, hit the āPostā button right next to it. Your post will then appear at the top of your post feed.
+
+### Replying to Posts
+
+Now, a social network wouldnāt be much fun if you couldnāt talk with other people, and the easiest way to get in touch with them is to reply to one of their posts. To do so, just press the āCommentā link below a post. A text field will appear in which you can simply enter your text. You can press the ā+ā button on the left side to choose a different identity to post with (in case you have more than one), and once youāre done you hit the āPost Replyā button. The reply will then appear below the post you replied to.
+
+### Liking Posts and Replies
+
+āLikingā is quite the mysterious function. It doesnāt necessarily mean that you literally like something someone said, it is more of a general approval, or a āme too.ā That being said, pressing this button has no other consequences than showing other people that you did press this button.
+
+## Advanced Topics
+
+### Addings Links to Posts/Replies
+
+When displaying posts and replies, Sone first parses the text. Special elements, such as Freenet URIs and Sone elements with a special syntax, are replaced with formatting that allow your browser to navigate the elements. Sone recognizes the following elements:
+
+* Links to Freenet URIs are linked to as-is. Make sure to separate the URI from surrounding text by whitespace, such as space or line breaks, or interpunction, such as commas and periods.
+* Links to other Soneās profiles are added by the prefix āsone://ā followed by the ID of the Sone. It is also possible to get the link for a Sone from a post or reply by that Sone; just copy the URL behind the ā[link author]ā link.
+* Links to other posts are added by the prefix āpost://ā followed by the ID of the post. You can also find the post ID behind the ā[link post]ā link below a post.