From 5ba680d7622b2249a56b73f5aad31f883e31c60c Mon Sep 17 00:00:00 2001 From: Gyuho Lee Date: Thu, 14 Jun 2018 12:56:09 -0700 Subject: [PATCH] docs: initial commit for architecture docs Signed-off-by: Gyuho Lee --- docs/.gitignore | 2 + docs/Makefile | 20 ++++ docs/client-architecture.rst | 24 +++++ docs/conf.py | 199 +++++++++++++++++++++++++++++++++++ docs/img/etcd.png | Bin 0 -> 4380 bytes docs/index.rst | 11 ++ docs/make.bat | 36 +++++++ docs/requirements.txt | 27 +++++ 8 files changed, 319 insertions(+) create mode 100644 docs/.gitignore create mode 100644 docs/Makefile create mode 100644 docs/client-architecture.rst create mode 100644 docs/conf.py create mode 100644 docs/img/etcd.png create mode 100644 docs/index.rst create mode 100644 docs/make.bat create mode 100644 docs/requirements.txt diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 000000000..d4e11e5ea --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,2 @@ +_build + diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 000000000..129679271 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SPHINXPROJ = etcd +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/docs/client-architecture.rst b/docs/client-architecture.rst new file mode 100644 index 000000000..b7d61cf7a --- /dev/null +++ b/docs/client-architecture.rst @@ -0,0 +1,24 @@ +.. _client-architecture: + +######################## +etcd Client Architecture +######################## + + +.. image:: img/etcd.png + :width: 100px + :align: center + :height: 100px + + +What is etcd Client? +==================== + +Hello World! + + +etcd Client Use Case? +===================== + +Hello World! + diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 000000000..06e84ea05 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,199 @@ +# -*- coding: utf-8 -*- +# +# Configuration file for the Sphinx documentation builder. +# +# This file does only contain a selection of the most common options. For a +# full list see the documentation: +# http://www.sphinx-doc.org/en/master/config + +# -- Path setup -------------------------------------------------------------- + +# 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. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = u'etcd' +copyright = u'2018, etcd' +author = u'etcd' + +# The short X.Y version +version = u'' +# The full version, including alpha/beta/rc tags +release = u'' + + +# -- 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 = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.doctest', + 'sphinx.ext.intersphinx', + 'sphinx.ext.todo', + 'sphinx.ext.coverage', + 'sphinx.ext.mathjax', + 'sphinx.ext.ifconfig', + 'sphinx.ext.viewcode', + 'sphinx.ext.githubpages', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path . +exclude_patterns = [u'_build', 'Thumbs.db', '.DS_Store'] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + + +# -- 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 = "sphinx_rtd_theme" +html_theme_path = ["_themes", ] + +# 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 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', 'img'] + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. +# +# html_sidebars = {} + + +# -- Options for HTMLHelp output --------------------------------------------- + +# Output file base name for HTML help builder. +htmlhelp_basename = 'etcddoc' + + +# -- 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': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'etcd.tex', u'etcd Documentation', + u'etcd', 'manual'), +] + + +# -- Options for manual page output ------------------------------------------ + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'etcd', u'etcd Documentation', + [author], 1) +] + + +# -- 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 = [ + (master_doc, 'etcd', u'etcd Documentation', + author, 'etcd', 'One line description of project.', + 'Miscellaneous'), +] + + +# -- Options for Epub output ------------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = project +epub_author = author +epub_publisher = author +epub_copyright = copyright + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +# +# epub_identifier = '' + +# A unique identification for the text. +# +# epub_uid = '' + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + + +# -- Extension configuration ------------------------------------------------- + +# -- Options for intersphinx extension --------------------------------------- + +# Example configuration for intersphinx: refer to the Python standard library. +intersphinx_mapping = {'https://docs.python.org/': None} + +# -- Options for todo extension ---------------------------------------------- + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = True \ No newline at end of file diff --git a/docs/img/etcd.png b/docs/img/etcd.png new file mode 100644 index 0000000000000000000000000000000000000000..8bf92948b63d001b7931ee6e9cc5bbbab12f0c3e GIT binary patch literal 4380 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 WQYgW|fxY+u0000NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% + +:end +popd diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 000000000..ae5af0dff --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,27 @@ +alabaster==0.7.10 +Babel==2.4.0 +certifi==2017.7.27.1 +chardet==3.0.4 +docutils==0.14 +functools32==3.2.3.post2 +idna==2.5 +imagesize==0.7.1 +Jinja2==2.9.6 +jsonschema==2.6.0 +MarkupSafe==1.0 +Pygments==2.2.0 +pytz==2017.2 +PyYAML==3.12 +requests==2.18.3 +six==1.10.0 +snowballstemmer==1.2.1 +Sphinx==1.6.3 +sphinx-rtd-theme==0.4.0 +sphinxcontrib-httpdomain==1.5.0 +sphinxcontrib-openapi==0.3.1 +sphinxcontrib-websupport==1.0.1 +typing==3.6.2 +urllib3==1.22 +sphinx-tabs==1.1.6 +recommonmark==0.4.0 +sphinxcontrib-spelling