Skip to content

Commit b119df4

Browse files
committed
Split README into sphinx docs
1 parent ac1a219 commit b119df4

14 files changed

Lines changed: 880 additions & 94 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ test_data
77
dist
88
.cache
99
.tox
10+
_build

AUTHORS.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
Credits
2-
=======
2+
-------
33

4-
doc2dash is written and maintained by Hynek Schlawack and various
4+
``doc2dash`` is written and maintained by Hynek Schlawack and various
55
contributors:
66

7-
- Dirkjan Ochtman
8-
- Bogdan Popescu
9-
- Łukasz Langa
7+
- `Bogdan Popescu <http://kapeli.com/dash>`_
8+
- `Dirkjan Ochtman <https://github.com/djc>`_
9+
- `Łukasz Langa <https://github.com/ambv>`_

CONTRIBUTING.rst

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
How To Contribute
22
=================
33

4-
Every open source project lives from the generous help by contributors that sacrifice their time and doc2dash is no different.
4+
Every open source project lives from the generous help by contributors that sacrifice their time and ``doc2dash`` is no different.
55

66
To make participation as pleasant as possible, this project adheres to the `Code of Conduct`_ by the Python Software Foundation.
77

@@ -15,22 +15,20 @@ Here are a few hints and rules to get you started:
1515
This is a hard rule; patches with missing tests or documentation won’t be merged – if a feature is not tested or documented, it doesn’t exist.
1616
- Obey `PEP 8`_ and `PEP 257`_.
1717
- Write `good commit messages`_.
18-
- Ideally, squash_ your commits, i.e. make your pull requests just one commit.
1918

2019
.. note::
2120
If you have something great but aren’t sure whether it adheres -- or even can adhere -- to the rules above: **please submit a pull request anyway**!
2221

2322
In the best case, we can mold it into something, in the worst case the pull request gets politely closed.
2423
There’s absolutely nothing to fear.
2524

26-
Thank you for considering to contribute to doc2dash!
25+
Thank you for considering to contribute to ``doc2dash``!
2726

2827

29-
.. _squash: http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
3028
.. _`PEP 8`: http://www.python.org/dev/peps/pep-0008/
3129
.. _`PEP 257`: http://www.python.org/dev/peps/pep-0257/
3230
.. _`good commit messages`: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
33-
.. _`Code of Conduct`: http://www.python.org/psf/codeofconduct/
34-
.. _changelog: https://github.com/hynek/doc2dash/blob/master/HISTORY.rst
31+
.. _`Code of Conduct`: https://www.python.org/psf/codeofconduct/
32+
.. _changelog: https://github.com/hynek/doc2dash/blob/master/docs/changelog.rst
3533
.. _AUTHORS.rst: https://github.com/hynek/doc2dash/blob/master/AUTHORS.rst
3634
.. _`semantic versioning`: http://semver.org

MANIFEST.in

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1-
include *.rst *.txt LICENSE tox.ini .travis.yml
1+
include *.rst *.txt LICENSE tox.ini .travis.yml docs/Makefile
22
recursive-include tests *.py *.html *.inv
3+
recursive-include docs *.rst *.py *.bat
4+
prune docs/_build

README.rst

Lines changed: 11 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
doc2dash: Create docsets for Dash.app
2-
=====================================
1+
doc2dash: Create docsets for Dash.app and clones
2+
================================================
33

44
.. image:: https://pypip.in/version/doc2dash/badge.svg
55
:target: https://pypi.python.org/pypi/doc2dash/
@@ -13,87 +13,18 @@ doc2dash: Create docsets for Dash.app
1313
:target: https://coveralls.io/r/hynek/doc2dash?branch=master
1414
:alt: Current coverage
1515

16+
.. begin
1617
17-
``doc2dash`` is a MIT licensed extensible `Documentation Set`_ generator intended to be used with the dash_ API browser for OS X.
1818
19-
If you’ve never heard of dash, you’re missing out:
20-
Together with ``doc2dash`` it’s all your API documentation at your fingertips!
21-
22-
23-
Supported input types
24-
---------------------
25-
26-
Currently, the following source types are supported:
27-
28-
- Sphinx_’s HTML output (nearly every single Python project out there)
29-
- pydoctor_’s HTML output (Twisted_!)
30-
31-
Feel free to help adding more! While ``doc2dash`` is implemented in Python, the scope for the supported documentation types is unlimited.
32-
So go on and submit a parser for your favourite Ruby, Haskell, Lisp, Erlang, JavaScript, … format!
33-
34-
35-
Usage
36-
-----
37-
38-
The usage is as simple as: ::
39-
40-
$ doc2dash -A <docdir>
41-
42-
``doc2dash`` will create a new directory called ``<docdir>.docset`` in ``~/Library/Application Support/doc2dash/DocSets`` containing a dash-compatible docset with a SQLite_ index.
43-
When finished, the docset is automatically added to dash.
44-
45-
Full usage: ::
19+
``doc2dash`` is an MIT-licensed extensible `Documentation Set`_ generator intended to be used with the `Dash.app`_ API browser for OS X or one of its many :ref:`clones <clones>`.
4620

47-
Usage: doc2dash [OPTIONS] SOURCE
48-
49-
Convert docs from SOURCE to Dash.app's docset format.
50-
51-
Options:
52-
-f, --force force overwriting if destination already exists
53-
-n, --name NAME name docset explicitly
54-
-q, --quiet limit output to errors and warnings
55-
-v, --verbose be verbose
56-
-d, --destination PATH destination directory for docset, ignored if -A
57-
is specified [default: .]
58-
-a, --add-to-dash automatically add resulting docset to Dash.app
59-
-A, --add-to-global create docset in doc2dash's default global
60-
directory [~/Library/Application Support/
61-
doc2dash/DocSets] and add it to Dash.app
62-
-i, --icon FILENAME add PNG icon to docset
63-
-I, --index-page FILENAME set the file that is shown when the docset is
64-
clicked within Dash.app
65-
--version Show the version and exit.
66-
--help Show this message and exit.
67-
68-
69-
Hints
70-
-----
71-
For Sphinx, you get the best results using the intersphinx_ parser that is used automatically if a version 2 ``objects.inv`` file is present.
72-
This approach obviates parsing problems completely by using that machine readable file using Sphinx’s own APIs.
73-
74-
75-
Installation
76-
------------
77-
78-
The latest stable version can be always found on PyPI_ and can therefore be installed using a simple::
79-
80-
$ pip install --user doc2dash
81-
82-
If you haven’t pip_ yet, installation should be as easy as::
83-
84-
$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
21+
If you’ve never heard of Dash.app, you’re missing out:
22+
Together with ``doc2dash`` it’s all your API documentation at your fingertips!
8523

86-
``doc2dash`` runs on Python 2.7, and 3.3+, and PyPy.
24+
``doc2dash``\ ’s documentation lives at `Read the Docs <http://doc2dash.readthedocs.org/>`_, the code on `GitHub <https://github.com/hynek/doc2dash>`_.
25+
It’s tested on Python 2.7, 3.3+, and PyPy.
26+
Both Linux and OS X are supported although certain features are only available on OS X.
8727

8828

89-
.. _`Documentation Set`: https://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/Documentation_Sets/000-Introduction/introduction.html
90-
.. _dash: http://kapeli.com/dash/
91-
.. _`Python 3`: http://getpython3.com/
92-
.. _pydoctor: https://launchpad.net/pydoctor
93-
.. _Sphinx: http://sphinx.pocoo.org/
94-
.. _SQLite: http://www.sqlite.org/
95-
.. _PyPI: http://pypi.python.org/pypi/doc2dash/
96-
.. _Twisted: http://twistedmatrix.com/
97-
.. _homebrew: http://mxcl.github.com/homebrew/
98-
.. _pip: http://www.pip-installer.org/en/latest/installing.html#alternative-installation-procedures
99-
.. _intersphinx: http://sphinx-doc.org/latest/ext/intersphinx.html
29+
.. _`Documentation Set`: https://developer.apple.com/legacy/library/documentation/DeveloperTools/Conceptual/Documentation_Sets/010-Overview_of_Documentation_Sets/docset_overview.html#//apple_ref/doc/uid/TP40005266-CH13-SW6
30+
.. _`Dash.app`: http://kapeli.com/dash/

docs/Makefile

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
# Makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line.
5+
SPHINXOPTS =
6+
SPHINXBUILD = sphinx-build
7+
PAPER =
8+
BUILDDIR = _build
9+
10+
# User-friendly check for sphinx-build
11+
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
12+
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
13+
endif
14+
15+
# Internal variables.
16+
PAPEROPT_a4 = -D latex_paper_size=a4
17+
PAPEROPT_letter = -D latex_paper_size=letter
18+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
19+
# the i18n builder cannot share the environment and doctrees with the others
20+
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
21+
22+
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
23+
24+
help:
25+
@echo "Please use \`make <target>' where <target> is one of"
26+
@echo " html to make standalone HTML files"
27+
@echo " dirhtml to make HTML files named index.html in directories"
28+
@echo " singlehtml to make a single large HTML file"
29+
@echo " pickle to make pickle files"
30+
@echo " json to make JSON files"
31+
@echo " htmlhelp to make HTML files and a HTML help project"
32+
@echo " qthelp to make HTML files and a qthelp project"
33+
@echo " devhelp to make HTML files and a Devhelp project"
34+
@echo " epub to make an epub"
35+
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
36+
@echo " latexpdf to make LaTeX files and run them through pdflatex"
37+
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
38+
@echo " text to make text files"
39+
@echo " man to make manual pages"
40+
@echo " texinfo to make Texinfo files"
41+
@echo " info to make Texinfo files and run them through makeinfo"
42+
@echo " gettext to make PO message catalogs"
43+
@echo " changes to make an overview of all changed/added/deprecated items"
44+
@echo " xml to make Docutils-native XML files"
45+
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
46+
@echo " linkcheck to check all external links for integrity"
47+
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
48+
49+
clean:
50+
rm -rf $(BUILDDIR)/*
51+
52+
html:
53+
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
54+
@echo
55+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
56+
57+
dirhtml:
58+
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
59+
@echo
60+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
61+
62+
singlehtml:
63+
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
64+
@echo
65+
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
66+
67+
pickle:
68+
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
69+
@echo
70+
@echo "Build finished; now you can process the pickle files."
71+
72+
json:
73+
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
74+
@echo
75+
@echo "Build finished; now you can process the JSON files."
76+
77+
htmlhelp:
78+
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
79+
@echo
80+
@echo "Build finished; now you can run HTML Help Workshop with the" \
81+
".hhp project file in $(BUILDDIR)/htmlhelp."
82+
83+
qthelp:
84+
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
85+
@echo
86+
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
87+
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
88+
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/doc2dash.qhcp"
89+
@echo "To view the help file:"
90+
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/doc2dash.qhc"
91+
92+
devhelp:
93+
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
94+
@echo
95+
@echo "Build finished."
96+
@echo "To view the help file:"
97+
@echo "# mkdir -p $$HOME/.local/share/devhelp/doc2dash"
98+
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/doc2dash"
99+
@echo "# devhelp"
100+
101+
epub:
102+
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
103+
@echo
104+
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
105+
106+
latex:
107+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
108+
@echo
109+
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
110+
@echo "Run \`make' in that directory to run these through (pdf)latex" \
111+
"(use \`make latexpdf' here to do that automatically)."
112+
113+
latexpdf:
114+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
115+
@echo "Running LaTeX files through pdflatex..."
116+
$(MAKE) -C $(BUILDDIR)/latex all-pdf
117+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
118+
119+
latexpdfja:
120+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
121+
@echo "Running LaTeX files through platex and dvipdfmx..."
122+
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
123+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
124+
125+
text:
126+
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
127+
@echo
128+
@echo "Build finished. The text files are in $(BUILDDIR)/text."
129+
130+
man:
131+
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
132+
@echo
133+
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
134+
135+
texinfo:
136+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
137+
@echo
138+
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
139+
@echo "Run \`make' in that directory to run these through makeinfo" \
140+
"(use \`make info' here to do that automatically)."
141+
142+
info:
143+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
144+
@echo "Running Texinfo files through makeinfo..."
145+
make -C $(BUILDDIR)/texinfo info
146+
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
147+
148+
gettext:
149+
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
150+
@echo
151+
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
152+
153+
changes:
154+
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
155+
@echo
156+
@echo "The overview file is in $(BUILDDIR)/changes."
157+
158+
linkcheck:
159+
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
160+
@echo
161+
@echo "Link check complete; look for any errors in the above output " \
162+
"or in $(BUILDDIR)/linkcheck/output.txt."
163+
164+
doctest:
165+
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
166+
@echo "Testing of doctests in the sources finished, look at the " \
167+
"results in $(BUILDDIR)/doctest/output.txt."
168+
169+
xml:
170+
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
171+
@echo
172+
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
173+
174+
pseudoxml:
175+
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
176+
@echo
177+
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."

HISTORY.rst renamed to docs/changelog.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.. :changelog:
22
3-
History
4-
=======
3+
Changelog
4+
=========
55

66

77
2.0.0 (UNRELEASED)
@@ -14,6 +14,7 @@ History
1414
- Internally quite a few changes happened.
1515
Most prominently tuples and namedtuples have been replaced by real classes.
1616
Porting your parsers is trivial though.
17+
- Added Sphinx-based documentation.
1718

1819

1920
1.2.1 (2014-07-24)

0 commit comments

Comments
 (0)