From 4ec372ad0aeb5699d48ae214703a7f3f17e992d9 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Fri, 1 Nov 2013 15:28:37 +0100 Subject: [PATCH 1/3] docs: Strip commands and unchanged configs --- docs/conf.py | 296 +++++++++++++-------------------------------------- 1 file changed, 76 insertions(+), 220 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 5a75b7d4..3759c698 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,16 +1,6 @@ -# -*- coding: utf-8 -*- -# -# Mopidy documentation build configuration file, created by -# sphinx-quickstart on Fri Feb 5 22:19:08 2010. -# -# 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. +# encoding: utf-8 + +"""Mopidy documentation build configuration file""" from __future__ import unicode_literals @@ -18,6 +8,17 @@ import os import sys +# -- Read The Docs configuration ---------------------------------------------- + +RTD_NEW_THEME = True + + +# -- Workarounds to have autodoc generate API docs ---------------------------- + +sys.path.insert(0, os.path.abspath(os.path.dirname(__file__))) +sys.path.insert(0, os.path.abspath(os.path.dirname(__file__) + '/../')) + + class Mock(object): def __init__(self, *args, **kwargs): pass @@ -43,7 +44,6 @@ class Mock(object): else: return Mock() - MOCK_MODULES = [ 'cherrypy', 'dbus', @@ -68,213 +68,8 @@ MOCK_MODULES = [ for mod_name in MOCK_MODULES: sys.modules[mod_name] = Mock() -# 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(os.path.dirname(__file__))) -sys.path.insert(0, os.path.abspath(os.path.dirname(__file__) + '/../')) - -# When RTD builds the project, it sets the READTHEDOCS environment variable to -# the string True. -on_rtd = os.environ.get('READTHEDOCS', None) == 'True' - -# Enable Read the Docs' new theme -RTD_NEW_THEME = True - -# -- General configuration ---------------------------------------------------- - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = [ - 'sphinx.ext.autodoc', - 'sphinx.ext.extlinks', - 'sphinx.ext.graphviz', - 'sphinx.ext.viewcode', -] - -# 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' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = 'Mopidy' -copyright = '2009-2013, Stein Magnus Jodal and contributors' - -# 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 full version, including alpha/beta/rc tags. -from mopidy.utils.versioning import get_version -release = get_version() -# The short X.Y version. -version = '.'.join(release.split('.')[:2]) - - -# 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 documents that shouldn't be included in the build. -#unused_docs = [] - -# List of directories, relative to source directory, that shouldn't be searched -# for source files. -exclude_trees = ['_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 = ['mopidy.'] - - -# -- Options for HTML output -------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. Major themes that come with -# Sphinx are currently 'default' and 'sphinxdoc'. -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 = ['_themes'] - -# 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. -if on_rtd: - html_logo = '_static/mopidy.png' - -# 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_use_modindex = 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, 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 = '' - -# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = '' - -# Output file base name for HTML help builder. -htmlhelp_basename = 'Mopidydoc' - - -# -- Options for LaTeX output ------------------------------------------------- - -# The paper size ('letter' or 'a4'). -#latex_paper_size = 'letter' - -# The font size ('10pt', '11pt' or '12pt'). -#latex_font_size = '10pt' - -# Grouping the document tree into LaTeX files. List of tuples (source start -# file, target name, title, author, documentclass [howto/manual]). -latex_documents = [ - ( - 'index', - 'Mopidy.tex', - 'Mopidy Documentation', - 'Stein Magnus Jodal', - '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 - -# Additional stuff for the LaTeX preamble. -#latex_preamble = '' - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_use_modindex = True - - -needs_sphinx = '1.0' - -extlinks = {'issue': ('https://github.com/mopidy/mopidy/issues/%s', '#')} +# -- Custom Sphinx object types ----------------------------------------------- def setup(app): from sphinx.ext.autodoc import cut_lines @@ -283,3 +78,64 @@ def setup(app): b'confval', 'confval', objname='configuration value', indextemplate='pair: %s; configuration value') + + +# -- General configuration ---------------------------------------------------- + +needs_sphinx = '1.0' + +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.extlinks', + 'sphinx.ext.graphviz', + 'sphinx.ext.viewcode', +] + +templates_path = ['_templates'] +source_suffix = '.rst' +master_doc = 'index' + +project = 'Mopidy' +copyright = '2009-2013, Stein Magnus Jodal and contributors' + +from mopidy.utils.versioning import get_version +release = get_version() +version = '.'.join(release.split('.')[:2]) + +exclude_trees = ['_build'] + +pygments_style = 'sphinx' + +modindex_common_prefix = ['mopidy.'] + + +# -- Options for HTML output -------------------------------------------------- + +html_theme = 'default' +html_theme_path = ['_themes'] +html_static_path = ['_static'] + +html_use_modindex = True +html_use_index = True +html_split_index = False +html_show_sourcelink = True + +htmlhelp_basename = 'Mopidy' + + +# -- Options for LaTeX output ------------------------------------------------- + +latex_documents = [ + ( + 'index', + 'Mopidy.tex', + 'Mopidy Documentation', + 'Stein Magnus Jodal and contributors', + 'manual' + ), +] + + +# -- Options for extlink extension -------------------------------------------- + +extlinks = {'issue': ('https://github.com/mopidy/mopidy/issues/%s', '#')} From be5582e2122f8cb7786b0a6bb9e7ed363a06c84b Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Fri, 1 Nov 2013 16:39:03 +0100 Subject: [PATCH 2/3] docs: Add manpages for all commands --- docs/commands/index.rst | 13 +++ docs/commands/mopidy-convert-config.rst | 99 ++++++++++++++++++ docs/commands/mopidy-scan.rst | 59 +++++++++++ docs/commands/mopidy.rst | 124 +++++++++++++++++++++++ docs/conf.py | 27 +++++ docs/index.rst | 1 + docs/running.rst | 128 ++---------------------- 7 files changed, 330 insertions(+), 121 deletions(-) create mode 100644 docs/commands/index.rst create mode 100644 docs/commands/mopidy-convert-config.rst create mode 100644 docs/commands/mopidy-scan.rst create mode 100644 docs/commands/mopidy.rst diff --git a/docs/commands/index.rst b/docs/commands/index.rst new file mode 100644 index 00000000..bc169465 --- /dev/null +++ b/docs/commands/index.rst @@ -0,0 +1,13 @@ +.. _commands: + +******** +Commands +******** + +Mopidy comes with the following commands: + +.. toctree:: + :maxdepth: 1 + :glob: + + ** diff --git a/docs/commands/mopidy-convert-config.rst b/docs/commands/mopidy-convert-config.rst new file mode 100644 index 00000000..7f1e6242 --- /dev/null +++ b/docs/commands/mopidy-convert-config.rst @@ -0,0 +1,99 @@ +.. _mopidy-convert-config: + +***************************** +mopidy-convert-config command +***************************** + +Synopsis +======== + +mopidy-convert-config + [-h] [--version] [-q] [-v] + + +Description +=========== + +Mopidy is a music server which can play music both from multiple sources, like +your local hard drive, radio streams, and from Spotify and SoundCloud. Searches +combines results from all music sources, and you can mix tracks from all +sources in your play queue. Your playlists from Spotify or SoundCloud are also +available for use. + +The ``mopidy-convert-config`` command is used to convert ``settings.py`` +configuration files used by ``mopidy`` < 0.14 to the ``mopidy.conf`` config +file used by ``mopidy`` >= 0.14. + + +Options +======= + +.. program:: mopidy-convert-config + +This program does not take any options. It looks for the pre-0.14 settings file +at ``$XDG_CONFIG_DIR/mopidy/settings.py``, and if it exists it converts it and +ouputs a Mopidy 0.14 compatible ini-format configuration. If you don't already +have a config file at ``$XDG_CONFIG_DIR/mopidy/mopidy.conf``, you're asked if +you want to save the converted config to that file. + + +Example +======= + +Given the following contents in ``~/.config/mopidy/settings.py``: + +:: + + LOCAL_MUSIC_PATH = u'~/music' + MPD_SERVER_HOSTNAME = u'::' + SPOTIFY_PASSWORD = u'secret' + SPOTIFY_USERNAME = u'alice' + +Running ``mopidy-convert-config`` will convert the config and create a new +``mopidy.conf`` config file: + +.. code-block:: none + + $ mopidy-convert-config + Checking /home/alice/.config/mopidy/settings.py + Converted config: + + [spotify] + username = alice + password = ******** + + [mpd] + hostname = :: + + [local] + media_dir = ~/music + + Write new config to /home/alice/.config/mopidy/mopidy.conf? [yN] y + Done. + +Contents of ``~/.config/mopidy/mopidy.conf`` after the conversion: + +.. code-block:: ini + + [spotify] + username = alice + password = secret + + [mpd] + hostname = :: + + [local] + media_dir = ~/music + + +See also +======== + +:ref:`mopidy(1) ` + + +Reporting bugs +============== + +Report bugs to Mopidy's issue tracker at + diff --git a/docs/commands/mopidy-scan.rst b/docs/commands/mopidy-scan.rst new file mode 100644 index 00000000..e8c25f77 --- /dev/null +++ b/docs/commands/mopidy-scan.rst @@ -0,0 +1,59 @@ +.. _mopidy-scan-cmd: + +******************* +mopidy-scan command +******************* + +Synopsis +======== + +mopidy-scan + [-h] [--version] [-q] [-v] + + +Description +=========== + +Mopidy is a music server which can play music both from multiple sources, like +your local hard drive, radio streams, and from Spotify and SoundCloud. Searches +combines results from all music sources, and you can mix tracks from all +sources in your play queue. Your playlists from Spotify or SoundCloud are also +available for use. + +The ``mopidy-scan`` command is used to index a music library to make it +available for playback with ``mopidy``. + + +Options +======= + +.. program:: mopidy-scan + +.. cmdoption:: --version + + Show Mopidy's version number and exit. + +.. cmdoption:: -h, --help + + Show help message and exit. + +.. cmdoption:: -q, --quiet + + Show less output: warning level and higher. + +.. cmdoption:: -v, --verbose + + Show more output: debug level and higher. + + +See also +======== + +:ref:`mopidy(1) ` + + +Reporting bugs +============== + +Report bugs to Mopidy's issue tracker at + diff --git a/docs/commands/mopidy.rst b/docs/commands/mopidy.rst new file mode 100644 index 00000000..df4766c3 --- /dev/null +++ b/docs/commands/mopidy.rst @@ -0,0 +1,124 @@ +.. _mopidy-cmd: + +************** +mopidy command +************** + +Synopsis +======== + +mopidy + [-h] [--version] [-q] [-v] [--save-debug-log] [--show-config] + [--show-deps] [--config CONFIG_FILES] [-o CONFIG_OVERRIDES] + + +Description +=========== + +Mopidy is a music server which can play music both from multiple sources, like +your local hard drive, radio streams, and from Spotify and SoundCloud. Searches +combines results from all music sources, and you can mix tracks from all +sources in your play queue. Your playlists from Spotify or SoundCloud are also +available for use. + +The ``mopidy`` command is used to start the server. + + +Options +======= + +.. program:: mopidy + +.. cmdoption:: -h, --help + + Show help message and exit. + +.. cmdoption:: --version + + Show Mopidy's version number and exit. + +.. cmdoption:: -q, --quiet + + Show less output: warning level and higher. + +.. cmdoption:: -v, --verbose + + Show more output: debug level and higher. + +.. cmdoption:: --save-debug-log + + Save debug log to the file specified in the :confval:`logging/debug_file` + config value, typically ``./mopidy.log``. + +.. cmdoption:: --show-config + + Show the current effective config. All configuration sources are merged + together to show the effective document. Secret values like passwords are + masked out. Config for disabled extensions are not included. + +.. cmdoption:: --show-deps + + Show dependencies, their versions and installation location. + +.. cmdoption:: --config + + Specify config file to use. To use multiple config files, separate them + with colon. The later files override the earlier ones if there's a + conflict. + +.. cmdoption:: -o