From d3126833f47599975f97781884ee689f14f6a49e Mon Sep 17 00:00:00 2001 From: Wouter J Date: Sat, 30 Nov 2013 10:28:40 +0100 Subject: [PATCH 01/14] Added sphinx files --- Makefile | 153 ++++++++++++++++++++++++++++++++ conf.py | 266 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ make.bat | 153 ++++++++++++++++++++++++++++++++ 3 files changed, 572 insertions(+) create mode 100644 Makefile create mode 100644 conf.py create mode 100644 make.bat diff --git a/Makefile b/Makefile new file mode 100644 index 00000000000..d97f2e1cae5 --- /dev/null +++ b/Makefile @@ -0,0 +1,153 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + -rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/SymfonyCMF.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/SymfonyCMF.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/SymfonyCMF" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/SymfonyCMF" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." diff --git a/conf.py b/conf.py new file mode 100644 index 00000000000..a8767f77f27 --- /dev/null +++ b/conf.py @@ -0,0 +1,266 @@ +# -*- coding: utf-8 -*- +# +# Symfony CMF documentation build configuration file, created by +# sphinx-quickstart on Sat Jul 28 21:58:57 2012. +# +# 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('.')) + +sys.path.append(os.path.abspath('_exts')) + +# adding PhpLexer +from sphinx.highlighting import lexers +from pygments.lexers.web import PhpLexer + +# -- 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.todo', + 'sensio.sphinx.refinclude', 'sensio.sphinx.configurationblock', 'sensio.sphinx.phpcode'] + +# 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 = 'Symfony2 Framework Documentation' +copyright = '' + +# 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 = '2.2' +# The full version, including alpha/beta/rc tags. +# release = '2.2.13' + +# 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 = [] + +# -- Settings for symfony doc extension --------------------------------------------------- + +# enable highlighting for PHP code not between ```` by default +lexers['php'] = PhpLexer(startinline=True) +lexers['php-annotations'] = PhpLexer(startinline=True) +lexers['php-standalone'] = PhpLexer(startinline=True) +lexers['php-symfony'] = PhpLexer(startinline=True) + +# use PHP as the primary domain +primary_domain = 'php' + +# set url for API links +api_url = 'http://api.symfony.com/master/%s' + + +# -- 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 = 'SymfonyCMFdoc' + + +# -- 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', 'SymfonyCMF.tex', u'Symfony CMF Documentation', + u'Symfony CMF community', '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', 'symfonycmf', u'Symfony CMF Documentation', + [u'Symfony CMF community'], 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', 'SymfonyCMF', u'Symfony CMF Documentation', + u'Symfony CMF community', 'SymfonyCMF', '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' + +# Use PHP syntax highlighting in code examples by default +highlight_language='php' diff --git a/make.bat b/make.bat new file mode 100644 index 00000000000..d97f2e1cae5 --- /dev/null +++ b/make.bat @@ -0,0 +1,153 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + -rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/SymfonyCMF.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/SymfonyCMF.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/SymfonyCMF" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/SymfonyCMF" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." From 71a2ff45fb25fa47dfa927803b70f5824f2b5c99 Mon Sep 17 00:00:00 2001 From: Wouter J Date: Sat, 30 Nov 2013 10:22:57 +0100 Subject: [PATCH 02/14] Added needed config files --- .gitmodules | 3 +++ .travis.yml | 10 ++++++++++ requirements.txt | 1 + 3 files changed, 14 insertions(+) create mode 100644 .gitmodules create mode 100644 .travis.yml create mode 100644 requirements.txt diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000000..b89ad54cc41 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "sphinx-php"] + path = _exts + url = git://github.com/fabpot/sphinx-php.git diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000000..6382bb9e8a9 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,10 @@ +language: python + +python: + - "2.7" + +install: + - "git submodule update --init" + - "pip install -q -r requirements.txt --use-mirrors" + +script: sphinx-build -nW -b html -d _build/doctrees . _build/html diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000000..3049177233e --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +Sphinx==1.1.3 From f3cb8b1b2ed27150b0c7aaf8a2aa04dc2a2fc65e Mon Sep 17 00:00:00 2001 From: Wouter J Date: Sat, 30 Nov 2013 13:19:01 +0100 Subject: [PATCH 03/14] Fixed submodules --- .gitmodules | 4 ++-- _exts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) create mode 160000 _exts diff --git a/.gitmodules b/.gitmodules index b89ad54cc41..486727b665d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "sphinx-php"] - path = _exts - url = git://github.com/fabpot/sphinx-php.git + path = _exts + url = http://github.com/fabpot/sphinx-php diff --git a/_exts b/_exts new file mode 160000 index 00000000000..6fea4b1c996 --- /dev/null +++ b/_exts @@ -0,0 +1 @@ +Subproject commit 6fea4b1c996bbbe5993232c37425222145de5380 From 85b1b02e6e8d36f2ee21dec9f9116c6f19028657 Mon Sep 17 00:00:00 2001 From: Wouter J Date: Sat, 30 Nov 2013 13:28:26 +0100 Subject: [PATCH 04/14] Try to supress bundle doc warnings --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index a8767f77f27..b64e07d1725 100644 --- a/conf.py +++ b/conf.py @@ -71,7 +71,7 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -exclude_patterns = ['_build'] +exclude_patterns = ['_build', 'bundles'] # The reST default role (used for this markup: `text`) to use for all documents. #default_role = None From c51561315eb491aa3f354f885c62da40840dc3a8 Mon Sep 17 00:00:00 2001 From: Wouter J Date: Sat, 30 Nov 2013 16:43:30 +0100 Subject: [PATCH 05/14] Added .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000000..353db42d925 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +_exts From 6cad0083c8e7cea099a58b46d0df2618946f7d7e Mon Sep 17 00:00:00 2001 From: Wouter J Date: Sat, 14 Dec 2013 14:10:55 +0100 Subject: [PATCH 06/14] Updated travis config --- .travis.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.travis.yml b/.travis.yml index 6382bb9e8a9..f5bad642ef4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,6 +5,16 @@ python: install: - "git submodule update --init" + - "git clone http://github.com/sensiolabs/SensioFrameworkExtraBundle _bndls/sensio-framework-extra" + - "git clone http://github.com/sensiolabs/SensioGeneratorBundle _bndls/sensio-generator" + - "git clone http://github.com/doctrine/DoctrineFixturesBundle _bndls/doctrine-fixtures" + - "git clone http://github.com/doctrine/DoctrineMigrationsBundle _bndls/doctrine-migrations" + - "git clone http://github.com/doctrine/DoctrineMongoDBBundle _bndls/doctrine-mongodb" + - "mv _bndls/doctrine-mongodb/Resources/doc bundles/DoctrineMongoDBBundle" + - "mv _bndls/doctrine-migrations/Resources/doc bundles/DoctrineMigrationsBundle" + - "mv _bndls/doctrine-fixtures/Resources/doc bundles/DoctrineFixturesBundle" + - "mv _bndls/sensio-framework-extra/Resources/doc bundles/SensioFrameworkExtraBundle" + - "mv _bndls/sensio-generator/Resources/doc bundles/SensioGeneratorBundle" - "pip install -q -r requirements.txt --use-mirrors" script: sphinx-build -nW -b html -d _build/doctrees . _build/html From b1d9e624353f53427299be7d1ee81225572ef0ed Mon Sep 17 00:00:00 2001 From: Wouter J Date: Sat, 14 Dec 2013 14:15:09 +0100 Subject: [PATCH 07/14] Revert changes --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index b64e07d1725..3d645db3798 100644 --- a/conf.py +++ b/conf.py @@ -71,7 +71,7 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -exclude_patterns = ['_build', 'bundles'] +# exclude_patterns = ['_build', 'bundles'] # The reST default role (used for this markup: `text`) to use for all documents. #default_role = None From b6f693e872d479605f3f544f5bfdcce5b2fbccbb Mon Sep 17 00:00:00 2001 From: Wouter J Date: Sat, 14 Dec 2013 14:20:15 +0100 Subject: [PATCH 08/14] Added CMF --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index f5bad642ef4..3eece8fbe59 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,7 @@ install: - "git clone http://github.com/doctrine/DoctrineFixturesBundle _bndls/doctrine-fixtures" - "git clone http://github.com/doctrine/DoctrineMigrationsBundle _bndls/doctrine-migrations" - "git clone http://github.com/doctrine/DoctrineMongoDBBundle _bndls/doctrine-mongodb" + - "git clone http://github.com/symfony-cmf/symfony-cmf-docs cmf" - "mv _bndls/doctrine-mongodb/Resources/doc bundles/DoctrineMongoDBBundle" - "mv _bndls/doctrine-migrations/Resources/doc bundles/DoctrineMigrationsBundle" - "mv _bndls/doctrine-fixtures/Resources/doc bundles/DoctrineFixturesBundle" From 8dec7293f736c28d0c896c03338c54b35c655fc9 Mon Sep 17 00:00:00 2001 From: Tom Van Looy Date: Sun, 15 Dec 2013 21:52:38 +0100 Subject: [PATCH 09/14] sparse checkouts --- .travis.yml | 12 +----------- install.sh | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 11 deletions(-) create mode 100644 install.sh diff --git a/.travis.yml b/.travis.yml index 3eece8fbe59..c20155875c2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,17 +5,7 @@ python: install: - "git submodule update --init" - - "git clone http://github.com/sensiolabs/SensioFrameworkExtraBundle _bndls/sensio-framework-extra" - - "git clone http://github.com/sensiolabs/SensioGeneratorBundle _bndls/sensio-generator" - - "git clone http://github.com/doctrine/DoctrineFixturesBundle _bndls/doctrine-fixtures" - - "git clone http://github.com/doctrine/DoctrineMigrationsBundle _bndls/doctrine-migrations" - - "git clone http://github.com/doctrine/DoctrineMongoDBBundle _bndls/doctrine-mongodb" - - "git clone http://github.com/symfony-cmf/symfony-cmf-docs cmf" - - "mv _bndls/doctrine-mongodb/Resources/doc bundles/DoctrineMongoDBBundle" - - "mv _bndls/doctrine-migrations/Resources/doc bundles/DoctrineMigrationsBundle" - - "mv _bndls/doctrine-fixtures/Resources/doc bundles/DoctrineFixturesBundle" - - "mv _bndls/sensio-framework-extra/Resources/doc bundles/SensioFrameworkExtraBundle" - - "mv _bndls/sensio-generator/Resources/doc bundles/SensioGeneratorBundle" + - "bash install.sh" - "pip install -q -r requirements.txt --use-mirrors" script: sphinx-build -nW -b html -d _build/doctrees . _build/html diff --git a/install.sh b/install.sh new file mode 100644 index 00000000000..315f9671e60 --- /dev/null +++ b/install.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +function sparse_checkout { + mkdir sparse_checkout + cd sparse_checkout + git init + git config core.sparsecheckout true + git remote add -f origin http://github.com/$1/$2 + echo Resources/doc > .git/info/sparse-checkout + git checkout master + mv Resources/doc ../bundles/$2 + cd .. + rm -rf sparse_checkout +} + +sparse_checkout sensiolabs SensioFrameworkExtraBundle +sparse_checkout sensiolabs SensioGeneratorBundle +sparse_checkout doctrine DoctrineFixturesBundle +sparse_checkout doctrine DoctrineMigrationsBundle +sparse_checkout doctrine DoctrineMongoDBBundle +git clone http://github.com/symfony-cmf/symfony-cmf-docs cmf + From 37eb1376826b5c30452af8a3710bec6f9036d1c0 Mon Sep 17 00:00:00 2001 From: WouterJ Date: Sat, 1 Feb 2014 11:44:59 +0100 Subject: [PATCH 10/14] Update documentation --- contributing/documentation/format.rst | 98 ++++++++------------------- 1 file changed, 27 insertions(+), 71 deletions(-) diff --git a/contributing/documentation/format.rst b/contributing/documentation/format.rst index 6180f214061..491d27df407 100644 --- a/contributing/documentation/format.rst +++ b/contributing/documentation/format.rst @@ -7,25 +7,26 @@ The Symfony2 documentation uses `reStructuredText`_ as its markup language and reStructuredText ---------------- -reStructuredText "is an easy-to-read, what-you-see-is-what-you-get plaintext -markup syntax and parser system". +reStructuredText *"is an easy-to-read, what-you-see-is-what-you-get plaintext +markup syntax and parser system"*. You can learn more about its syntax by reading existing Symfony2 `documents`_ or by reading the `reStructuredText Primer`_ on the Sphinx website. -If you are familiar with Markdown, be careful as things are sometimes very -similar but different: +.. caution:: -* Lists starts at the beginning of a line (no indentation is allowed); + If you are familiar with Markdown, be careful as things are sometimes very + similar but different: -* Inline code blocks use double-ticks (````like this````). + * Lists starts at the beginning of a line (no indentation is allowed); + * Inline code blocks use double-ticks (````like this````). Sphinx ------ Sphinx is a build system that adds some nice tools to create documentation from reStructuredText documents. As such, it adds new directives and -interpreted text roles to standard reST `markup`_. +interpreted text roles to the standard reST `markup`_. Syntax Highlighting ~~~~~~~~~~~~~~~~~~~ @@ -71,7 +72,7 @@ directive to show the configuration in all supported configuration formats .. code-block:: xml - + .. code-block:: php @@ -87,7 +88,7 @@ The previous reST snippet renders as follow: .. code-block:: xml - + .. code-block:: php @@ -95,27 +96,21 @@ The previous reST snippet renders as follow: The current list of supported formats are the following: -+-----------------+-------------+ -| Markup format | Displayed | -+=================+=============+ -| html | HTML | -+-----------------+-------------+ -| xml | XML | -+-----------------+-------------+ -| php | PHP | -+-----------------+-------------+ -| yaml | YAML | -+-----------------+-------------+ -| jinja | Twig | -+-----------------+-------------+ -| html+jinja | Twig | -+-----------------+-------------+ -| html+php | PHP | -+-----------------+-------------+ -| ini | INI | -+-----------------+-------------+ -| php-annotations | Annotations | -+-----------------+-------------+ +=============== ============== +Markup format Displayed +=============== ============== +html HTML +xml XML +php PHP +yaml YAML +jinja Twig +html+jinja Twig +html+php PHP +ini INI +php-annotations Annotations +php-standalone Standalone Use +php-symfony Framework Use +=============== ============== Adding Links ~~~~~~~~~~~~ @@ -169,53 +164,14 @@ Testing Documentation To test documentation before a commit: * Install `Sphinx`_; - -* Run the `Sphinx quick setup`_; - -* Install the Sphinx extensions (see below); - +* Install the Sphinx extensions using git submodules: ``git submodule update --init``; +* (Optionally) Install the bundle docs and CMF docs: ``bash install.sh``; * Run ``make html`` and view the generated HTML in the ``build`` directory. -Installing the Sphinx extensions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* Download the extension from the `source`_ repository - -* Copy the ``sensio`` directory to the ``_exts`` folder under your source - folder (where ``conf.py`` is located) - -* Add the following to the ``conf.py`` file: - -.. code-block:: py - - # ... - sys.path.append(os.path.abspath('_exts')) - - # adding PhpLexer - from sphinx.highlighting import lexers - from pygments.lexers.web import PhpLexer - - # ... - # add the extensions to the list of extensions - extensions = [..., 'sensio.sphinx.refinclude', 'sensio.sphinx.configurationblock', 'sensio.sphinx.phpcode'] - - # enable highlighting for PHP code not between ```` by default - lexers['php'] = PhpLexer(startinline=True) - lexers['php-annotations'] = PhpLexer(startinline=True) - lexers['php-standalone'] = PhpLexer(startinline=True) - lexers['php-symfony'] = PhpLexer(startinline=True) - - # use PHP as the primary domain - primary_domain = 'php' - - # set URL for API links - api_url = 'http://api.symfony.com/master/%s' - .. _reStructuredText: http://docutils.sourceforge.net/rst.html .. _Sphinx: http://sphinx-doc.org/ .. _documents: https://github.com/symfony/symfony-docs .. _reStructuredText Primer: http://sphinx-doc.org/rest.html .. _markup: http://sphinx-doc.org/markup/ .. _Pygments website: http://pygments.org/languages/ -.. _source: https://github.com/fabpot/sphinx-php .. _Sphinx quick setup: http://sphinx-doc.org/tutorial.html#setting-up-the-documentation-sources From 8093719ee3758b914ee0e4204b4d0fec05f92461 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Perrin?= Date: Thu, 20 Mar 2014 14:51:45 +0100 Subject: [PATCH 11/14] Dynamic form modification cookbook: Fix inclusion of code Includes in a code block don't work, replace them with the actual code --- cookbook/form/dynamic_form_modification.rst | 52 ++++++++++++++++++- .../dynamic_form_modification_ajax_js.rst.inc | 25 --------- 2 files changed, 50 insertions(+), 27 deletions(-) delete mode 100644 cookbook/form/dynamic_form_modification_ajax_js.rst.inc diff --git a/cookbook/form/dynamic_form_modification.rst b/cookbook/form/dynamic_form_modification.rst index b963bab1e5d..bd4f60e0165 100644 --- a/cookbook/form/dynamic_form_modification.rst +++ b/cookbook/form/dynamic_form_modification.rst @@ -653,7 +653,31 @@ field according to the current selection in the ``sport`` field: {# ... #} {{ form_end(form) }} - .. include:: /cookbook/form/dynamic_form_modification_ajax_js.rst.inc + .. code-block:: html+php @@ -664,7 +688,31 @@ field according to the current selection in the ``sport`` field: end($form) ?> - .. include:: /cookbook/form/dynamic_form_modification_ajax_js.rst.inc + The major benefit of submitting the whole form to just extract the updated ``position`` field is that no additional server-side code is needed; all the diff --git a/cookbook/form/dynamic_form_modification_ajax_js.rst.inc b/cookbook/form/dynamic_form_modification_ajax_js.rst.inc deleted file mode 100644 index 09e255808db..00000000000 --- a/cookbook/form/dynamic_form_modification_ajax_js.rst.inc +++ /dev/null @@ -1,25 +0,0 @@ - \ No newline at end of file From 1e8b0d4279694738cd5524206af9ff49c3c6029d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Perrin?= Date: Thu, 20 Mar 2014 14:52:13 +0100 Subject: [PATCH 12/14] Small fixes in code style --- cookbook/form/dynamic_form_modification.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/cookbook/form/dynamic_form_modification.rst b/cookbook/form/dynamic_form_modification.rst index bd4f60e0165..2add7ddd759 100644 --- a/cookbook/form/dynamic_form_modification.rst +++ b/cookbook/form/dynamic_form_modification.rst @@ -116,7 +116,7 @@ the event listener might look like the following:: public function buildForm(FormBuilderInterface $builder, array $options) { // ... - $builder->addEventListener(FormEvents::PRE_SET_DATA, function(FormEvent $event){ + $builder->addEventListener(FormEvents::PRE_SET_DATA, function(FormEvent $event) { $product = $event->getData(); $form = $event->getForm(); @@ -147,7 +147,8 @@ the event listener might look like the following:: $builder->addEventListener(FormEvents::PRE_SET_DATA, array($this, 'onPreSetData')); } - public function onPreSetData(FormEvent $event){ + public function onPreSetData(FormEvent $event) + { // ... } } @@ -253,7 +254,7 @@ Using an event listener, your form might look like this:: ->add('subject', 'text') ->add('body', 'textarea') ; - $builder->addEventListener(FormEvents::PRE_SET_DATA, function(FormEvent $event){ + $builder->addEventListener(FormEvents::PRE_SET_DATA, function(FormEvent $event) { // ... add a choice list of friends of the current application user }); } @@ -656,7 +657,7 @@ field according to the current selection in the ``sport`` field: