diff --git a/.travis.yml b/.travis.yml index 8e71c327..a1a17f61 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,12 +21,15 @@ before_script: - cd .. # creating librarys' links and updating cache - sudo ldconfig - +# installing sphinx, needed for documentation + - sudo apt-get install python-sphinx script: - mkdir build && cd build - cmake .. - make -j3 +# build docs separately + - make docs notifications: email: false diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b7db143..bf709e72 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,3 +48,4 @@ cmake_policy(SET CMP0011 NEW) add_subdirectory(core) add_subdirectory(testing) add_subdirectory(other) +add_subdirectory(docs) diff --git a/cmake/FindSphinx.cmake b/cmake/FindSphinx.cmake new file mode 100644 index 00000000..833bfd4d --- /dev/null +++ b/cmake/FindSphinx.cmake @@ -0,0 +1,16 @@ +find_program(SPHINX_EXECUTABLE NAMES sphinx-build + HINTS + $ENV{SPHINX_DIR} + PATH_SUFFIXES bin + DOC "Sphinx documentation generator" +) + +include(FindPackageHandleStandardArgs) + +find_package_handle_standard_args(Sphinx DEFAULT_MSG + SPHINX_EXECUTABLE +) + +mark_as_advanced( + SPHINX_EXECUTABLE +) diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt new file mode 100644 index 00000000..14126cfd --- /dev/null +++ b/docs/CMakeLists.txt @@ -0,0 +1,40 @@ +# cmake should not fail if sphinx is missing +find_package(Sphinx) + +if(SPHINX_EXECUTABLE) + + if(NOT DEFINED SPHINX_THEME) + set(SPHINX_THEME default) + endif() + + if(NOT DEFINED SPHINX_THEME_DIR) + set(SPHINX_THEME_DIR) + endif() + + # configured documentation tools and intermediate build results + set(BINARY_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/_build") + + # Sphinx cache with pickled ReST documents + set(SPHINX_CACHE_DIR "${CMAKE_CURRENT_BINARY_DIR}/_doctrees") + + # HTML output directory + set(SPHINX_HTML_DIR "${CMAKE_CURRENT_BINARY_DIR}/html") + + configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/conf.py" + "${BINARY_BUILD_DIR}/conf.py" + @ONLY) + + add_custom_target(docs + ${SPHINX_EXECUTABLE} + -b html + -c "${BINARY_BUILD_DIR}" + "${CMAKE_CURRENT_SOURCE_DIR}" + "${SPHINX_HTML_DIR}" + COMMENT "Building HTML documentation with Sphinx") +else() + add_custom_target(docs + echo + "Please install python-sphinx to build the docs or read the docs online: https://projecttox.readthedocs.org/en/latest" + COMMENT "No sphinx executebale found") +endif() diff --git a/docs/commands.md b/docs/commands.md deleted file mode 100644 index 8669bb9b..00000000 --- a/docs/commands.md +++ /dev/null @@ -1,25 +0,0 @@ -# Tox User Commands -Here's a list of commands that nTox accepts, -which can all be used by starting your line with -a */*. Currently there can be no spaces before this. - -* */f* [ID] - + Add a friend with ID [ID]. -* */d* - + Call doMessenger() which does...something? -* */m* \[FRIEND\_NUM\] \[MESSAGE\] - + Message \[FRIEND\_NUM\] \[MESSAGE\]. -* */n* \[NAME\] - + Change your username to \[NAME\]. -* */l* - + Print your list of friends. (like you have any) -* */s* \[STATUS\] - + Set your status to \[STATUS\]. -* */a* \[ID\] - + Accept friend request from \[ID\]. -* */i* - + Print useful info about your client. -* */h* - + Print some help. -* */q/* - + Quit Tox. (why ;_;) diff --git a/docs/commands.rst b/docs/commands.rst new file mode 100644 index 00000000..ab7e60d1 --- /dev/null +++ b/docs/commands.rst @@ -0,0 +1,48 @@ +Tox User Commands +================= + +Here's a list of commands that nTox accepts, which can all be used by +starting your line with a */*. Currently there can be no spaces before +this. + +- */f* [ID] + + - Add a friend with ID [ID]. + +- */d* + + - Call doMessenger() which does...something? + +- */m* [FRIEND\_NUM] [MESSAGE] + + - Message [FRIEND\_NUM] [MESSAGE]. + +- */n* [NAME] + + - Change your username to [NAME]. + +- */l* + + - Print your list of friends. (like you have any) + +- */s* [STATUS] + + - Set your status to [STATUS]. + +- */a* [ID] + + - Accept friend request from [ID]. + +- */i* + + - Print useful info about your client. + +- */h* + + - Print some help. + +- */q/* + + - Quit Tox. (why ;\_;) + + diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 00000000..afebb632 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,242 @@ +# -*- coding: utf-8 -*- +# +# ProjectTox documentation build configuration file, created by +# sphinx-quickstart on Wed Jul 31 23:07:35 2013. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys, os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ----------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'ProjectTox' +copyright = u'2013, Tox Team' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '0.1' +# The full version, including alpha/beta/rc tags. +release = '0.1' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + + +# -- Options for HTML output --------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'ProjectToxdoc' + + +# -- Options for LaTeX output -------------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('index', 'ProjectTox.tex', u'ProjectTox Documentation', + u'Tox Team', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output -------------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'projecttox', u'ProjectTox Documentation', + [u'Tox Team'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------------ + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'ProjectTox', u'ProjectTox Documentation', + u'Tox Team', 'ProjectTox', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 00000000..10e0d1d2 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,25 @@ +.. ProjectTox documentation master file, created by + sphinx-quickstart on Wed Jul 31 23:07:35 2013. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to ProjectTox's documentation! +====================================== + +Contents: + +.. toctree:: + start_guide.rst + install.rst + commands.rst + :maxdepth: 2 + + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/docs/install.rst b/docs/install.rst new file mode 100644 index 00000000..c5fea5d1 --- /dev/null +++ b/docs/install.rst @@ -0,0 +1,129 @@ +Install Instructions +==================== + +Linux +--------- + +First, install the build dependencies :: + + bash apt-get install build-essential libtool autotools-dev automake libconfig-dev ncurses-dev cmake checkinstall + +.. note :: ``libconfig-dev`` should be >= 1.4. + + +Then you'll need a recent version of `libsodium `_ :: + + git clone git://github.com/jedisct1/libsodium.git + cd libsodium + git checkout tags/0.4.2 + ./autogen.sh + ./configure && make check + sudo checkinstall --install --pkgname libsodium --pkgversion 0.4.2 --nodoc + sudo ldconfig`` + +Finally, fetch the Tox source code and run cmake :: + + git clone git://github.com/irungentoo/ProjectTox-Core.git + cd ProjectTox-Core && mkdir build && cd build + cmake .. + +Then you can build any of the files in `/testing`_ and `/other`_ that are currently +supported on your platform by running :: + + make name_of_c_file + +For example, to build `Messenger_test.c`_ you would run :: + + make Messenger_test + + +Or you could just build everything that is supported on your platform by +running :: + bash make + +OS X +------ + +Homebrew +~~~~~~~~~~ +:: + + brew install libtool automake autoconf libconfig libsodium cmake + cmake . + make + sudo make install + +Non-homebrew +~~~~~~~~~~~~ + +Much the same as Linux, remember to install the latest XCode and the +developer tools (Preferences -> Downloads -> Command Line Tools). Users +running Mountain Lion and the latest version of XCode (4.6.3) will also +need to install libtool, automake and autoconf. They are easy enough to +install, grab them from http://www.gnu.org/software/libtool/, +http://www.gnu.org/software/autoconf/ and +http://www.gnu.org/software/automake/, then follow these steps for each: + +:: + + ./configure + make + sudo make install + +Do not install them from macports (or any dependencies for that matter) +as they get shoved in the wrong directory and make your life more +annoying. + +Another thing you may want to install is the latest gcc, this caused me +a few problems as XCode from 4.3 no longer includes gcc and instead uses +LLVM-GCC, a nice install guide can be found at +http://caiustheory.com/install-gcc-421-apple-build-56663-with-xcode-42 + +Windows +--------- + +You should install: + +* `MinGW `_'s C compiler +* `CMake `_ + +You have to `modify your PATH environment +variable `_ so that it +contains MinGW's bin folder path. With default settings, the bin folder +is located at ``C:\MinGW\bin``, which means that you would have to +append ``;C:\MinGW\bin`` to the PATH variable. + +Then you should either clone this repo by using git, or just download a +`zip of current Master +branch `_ +and extract it somewhere. + +After that you should get precompiled package of libsodium from +`here `_ +and extract the archive into this repo's root. That is, ``sodium`` +folder should be along with ``core``, ``testing`` and other folders. + +Navigate in ``cmd`` to this repo and run:: + + mkdir build && cd build + cmake -G "MinGW Makefiles" .. + +Then you can build any of the `/testing`_ and `/other`_ that are currently +supported on your platform by running:: + + mingw32-make name_of_c_file + +For example, to build `Messenger_test.c`_ you would run:: + + mingw32-make Messenger_test`` + +Or you could just build everything that is supported on your platform by +running:: + + mingw32-make + + +.. _/testing: https://github.com/irungentoo/ProjectTox-Core/tree/master/testing +.. _/other: https://github.com/irungentoo/ProjectTox-Core/tree/master/other + +.. _Messenger_test.c: https://github.com/irungentoo/ProjectTox-Core/tree/master/other/Messanger_test.c diff --git a/docs/start_guide.de.md b/docs/start_guide.de.md deleted file mode 100644 index 7dfd52ca..00000000 --- a/docs/start_guide.de.md +++ /dev/null @@ -1,40 +0,0 @@ -# Tox nutzen -1. Tox erstellen -2. Fehler korrigieren -3. Im IRC nach Hilfe fragen -4. Auf Debug-Reise für Entwickler -5. Tox wirklich erstellen -6. ??? - -Trotz der ganzen Arbeit, die wir bisher in Tox -gesteckt haben, gibt es noch keine richtige -Anleitung, wie man Tox _benutzt_. -Dies ist ein anwenderfreundlicher Versuch. - -1. Verbinde dich zum Netzwerk! - + Du musst dich zu einem Bootstrap-Server verbinden, um einen öffentlichen Schlüssel zu erhalten. - + Wo finde ich einen öffentlichen Server? Zur Zeit hier: - (die Hilfe-Nachricht von nTox ohne Kommandos hilft auch) - + 198.46.136.167 33445 728925473812C7AAC482BE7250BCCAD0B8CB9F737BF3D42ABD34459C1768F854 - + 192.81.133.111 33445 8CD5A9BF0A6CE358BA36F7A653F99FA6B258FF756E490F52C1F98CC420F78858 - + 66.175.223.88 33445 AC4112C975240CAD260BB2FCD134266521FAAF0A5D159C5FD3201196191E4F5D - + 192.184.81.118 33445 5CD7EB176C19A2FD840406CD56177BB8E75587BB366F7BB3004B19E3EDC04143 -2. Finde einen Freund! - + Jetzt, da du im Netzwerk bist, brauchst du einen Freund. Um einen zu bekommen, - musst du eine Anfrage senden oder erhalten. Was eine Anfrage ist? - Es ist wie eine Freundschaftsanfrage, jedoch benutzen wir unglaublich schaurige - und kryptische Nummern anstatt Namen. When nTox startet, erscheint _deine_ lange, - schaurige Nummer, auch *öffentlicher Schlüssel* genannt. Diesen kannst du an - andere Personen weitergeben und sie können dich als "Freund" hinzufügen. Oder du - fügst andere Personen mit dem */f*-Befehl hinzu, wenn du möchtest. -3. Chatte drauf los! - + Benutze nun den */m*-Befehl, um eine Nachricht an jemanden zu senden. Wow, du chattest! -4. Mach etwas kaputt! - + Jep, pre-alpha-alpha-Software stürzt manchmal ab. Wir arbeiten daran. - + Bitte melde alle Abstürze entweder an die GitHub-Seite oder #tox-dev im freenode-IRC. -5. Nichts ist kaputt, aber was bedeutet */f*? - + nTox liest einen Text als Befehl, wenn das erste Zeichen ein Schrägstrich ist ('/'). - Du kannst alle Befehle in commands.md nachlesen. -6. Benutze und unterstütze Tox! - + Programmiere, debugge, dokumentiere, übersetze für uns, oder sprich einfach über uns! - + Je mehr Interesse wir erhalten, desto mehr Arbeit wird getan und desto besser wird Tox. diff --git a/docs/start_guide.de.rst b/docs/start_guide.de.rst new file mode 100644 index 00000000..4ebe7dc6 --- /dev/null +++ b/docs/start_guide.de.rst @@ -0,0 +1,66 @@ +Tox nutzen +========== + +1. :doc:`Tox erstellen ` +2. Fehler korrigieren +3. Im IRC nach Hilfe fragen +4. Auf Debug-Reise für Entwickler +5. Tox wirklich erstellen +6. ??? + +Trotz der ganzen Arbeit, die wir bisher in Tox gesteckt haben, gibt es +noch keine richtige Anleitung, wie man Tox *benutzt*. Dies ist ein +anwenderfreundlicher Versuch. + +1. Verbinde dich zum Netzwerk! + + - Du musst dich zu einem Bootstrap-Server verbinden, um einen + öffentlichen Schlüssel zu erhalten. + - Wo finde ich einen öffentlichen Server? Zur Zeit hier: (die + Hilfe-Nachricht von nTox ohne Kommandos hilft auch) + + - 198.46.136.167 33445 + 728925473812C7AAC482BE7250BCCAD0B8CB9F737BF3D42ABD34459C1768F854 + - 192.81.133.111 33445 + 8CD5A9BF0A6CE358BA36F7A653F99FA6B258FF756E490F52C1F98CC420F78858 + - 66.175.223.88 33445 + AC4112C975240CAD260BB2FCD134266521FAAF0A5D159C5FD3201196191E4F5D + - 192.184.81.118 33445 + 5CD7EB176C19A2FD840406CD56177BB8E75587BB366F7BB3004B19E3EDC04143 + +2. Finde einen Freund! + + - Jetzt, da du im Netzwerk bist, brauchst du einen Freund. Um einen + zu bekommen, musst du eine Anfrage senden oder erhalten. Was eine + Anfrage ist? Es ist wie eine Freundschaftsanfrage, jedoch benutzen + wir unglaublich schaurige und kryptische Nummern anstatt Namen. + When nTox startet, erscheint *deine* lange, schaurige Nummer, auch + *öffentlicher Schlüssel* genannt. Diesen kannst du an andere + Personen weitergeben und sie können dich als "Freund" hinzufügen. + Oder du fügst andere Personen mit dem */f*-Befehl hinzu, wenn du + möchtest. + +3. Chatte drauf los! + + - Benutze nun den */m*-Befehl, um eine Nachricht an jemanden zu + senden. Wow, du chattest! + +4. Mach etwas kaputt! + + - Jep, pre-alpha-alpha-Software stürzt manchmal ab. Wir arbeiten + daran. + - Bitte melde alle Abstürze entweder an die GitHub-Seite oder + #tox-dev im freenode-IRC. + +5. Nichts ist kaputt, aber was bedeutet */f*? + + - nTox liest einen Text als Befehl, wenn das erste Zeichen ein + Schrägstrich ist ('/'). Du kannst alle Befehle in commands.md + nachlesen. + +6. Benutze und unterstütze Tox! + + - Programmiere, debugge, dokumentiere, übersetze für uns, oder + sprich einfach über uns! + - Je mehr Interesse wir erhalten, desto mehr Arbeit wird getan und + desto besser wird Tox. diff --git a/docs/start_guide.md b/docs/start_guide.md deleted file mode 100644 index 9ced4078..00000000 --- a/docs/start_guide.md +++ /dev/null @@ -1,38 +0,0 @@ -# Using Tox -1. [Build Tox](../INSTALL.md) -2. Fix errors -3. Consult IRC for help -4. Go on debugging journey for devs -5. Build Tox for real -6. ??? - -For all the work we've put into Tox so far, -there isn't yet a decent guide for how you _use_ -Tox. Here's a user-friendly attempt at it. - -1. Connect to the network! - + You need to connect to a bootstrapping server, to give you a public key. - + Where can I find a public server? Right here, as of now: - (the help message from running `nTox` with no args will help) - + `198.46.136.167 33445 728925473812C7AAC482BE7250BCCAD0B8CB9F737BF3D42ABD34459C1768F854` - + `192.81.133.111 33445 8CD5A9BF0A6CE358BA36F7A653F99FA6B258FF756E490F52C1F98CC420F78858` - + `66.175.223.88 33445 AC4112C975240CAD260BB2FCD134266521FAAF0A5D159C5FD3201196191E4F5D` - + `192.184.81.118 33445 5CD7EB176C19A2FD840406CD56177BB8E75587BB366F7BB3004B19E3EDC04143` -2. Find a friend! - + Now that you're on the network, you need a friend. To get one of those, - you need to to send or receive a request. What's a request, you ask? - It's like a friend request, but we use really scary and cryptic numbers - instead of names. When `nTox` starts, it shows _your_ long, scary number, - called your *public key*. Give that to people, and they can add you as - a "friend". Or, you can add someone else, with the `/f` command, if you like. -3. Chat it up! - + Now use the `/m` command to send a message to someone. Wow, you're chatting! -4. But something broke! - + Yeah, pre-alpha-alpha software tends to do that. We're working on it. - + Please report all crashes to either the GitHub page, or `#tox-dev` on freenode. -5. Nothing broke, but what does `/f` mean? - + `nTox` parses text as a command if the first character is a forward-slash (`/`). - You can check all commands in commands.md. -6. Use and support Tox! - + Code for us, debug for us, document for us, translate for us, even just talk about us! - + The more interest we get, the more work gets done, the better Tox is. diff --git a/docs/start_guide.rst b/docs/start_guide.rst new file mode 100644 index 00000000..19ef982e --- /dev/null +++ b/docs/start_guide.rst @@ -0,0 +1,63 @@ +Using Tox +========= + +.. note:: There is a German version of this page available: :doc:`start_guide.de` + + +1. :doc:`Build Tox ` +2. Fix errors +3. Consult IRC for help +4. Go on debugging journey for devs +5. Build Tox for real +6. ??? + +For all the work we've put into Tox so far, there isn't yet a decent +guide for how you *use* Tox. Here's a user-friendly attempt at it. + +1. Connect to the network! + + - You need to connect to a bootstrapping server, to give you a + public key. + - Where can I find a public server? Right here, as of now: (the help + message from running ``nTox`` with no args will help) + + - ``198.46.136.167 33445 728925473812C7AAC482BE7250BCCAD0B8CB9F737BF3D42ABD34459C1768F854`` + - ``192.81.133.111 33445 8CD5A9BF0A6CE358BA36F7A653F99FA6B258FF756E490F52C1F98CC420F78858`` + - ``66.175.223.88 33445 AC4112C975240CAD260BB2FCD134266521FAAF0A5D159C5FD3201196191E4F5D`` + - ``192.184.81.118 33445 5CD7EB176C19A2FD840406CD56177BB8E75587BB366F7BB3004B19E3EDC04143`` + +2. Find a friend! + + - Now that you're on the network, you need a friend. To get one of + those, you need to to send or receive a request. What's a request, + you ask? It's like a friend request, but we use really scary and + cryptic numbers instead of names. When ``nTox`` starts, it shows + *your* long, scary number, called your *public key*. Give that to + people, and they can add you as a "friend". Or, you can add + someone else, with the ``/f`` command, if you like. + +3. Chat it up! + + - Now use the ``/m`` command to send a message to someone. Wow, + you're chatting! + +4. But something broke! + + - Yeah, pre-alpha-alpha software tends to do that. We're working on + it. + - Please report all crashes to either the GitHub page, or + ``#tox-dev`` on freenode. + +5. Nothing broke, but what does ``/f`` mean? + + - ``nTox`` parses text as a command if the first character is a + forward-slash (``/``). You can check all commands in commands.md. + +6. Use and support Tox! + + - Code for us, debug for us, document for us, translate for us, even + just talk about us! + - The more interest we get, the more work gets done, the better Tox + is. + +