-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Re-organize existing documentation into new structure. #318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
sphinx==1.5.6 | ||
sphinx_rtd_theme |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
- url: plugin_discovery.html#plugin-creation-and-discovery | ||
reason: named link to first header | ||
- url: single_source_version.html#single-sourcing-the-project-version | ||
reason: named link to first header | ||
- url: deployment.html#application-deployment | ||
reason: named link to first header | ||
- url: patching.html | ||
reason: dropped incomplete topic | ||
- url: plugin_discovery.html#plugin-creation-and-discovery | ||
reason: named link to first header | ||
- url: deployment.html#application-deployment | ||
reason: named link to first header | ||
- url: additional.html#additional-topics | ||
reason: named link to first header | ||
- url: quickstart.html#quickstart | ||
reason: named link to first header | ||
- url: additional.html#additional-topics | ||
reason: named link to first header | ||
- url: platforms.html#platform-integtation | ||
reason: named link to first header |
Large diffs are not rendered by default.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
Discussions | ||
########### | ||
|
||
**Discussions** are focused on providing comprehensive information about a | ||
specific topic. If you're just trying to get stuff done, see | ||
:doc:`/guides/index`. | ||
|
||
.. toctree:: | ||
:maxdepth: 1 | ||
|
||
deploying-python-applications | ||
pip-vs-easy-install | ||
install-requires-vs-requirements | ||
wheel-vs-egg |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
============================= | ||
Plugin creation and discovery | ||
============================= | ||
================================ | ||
Creating and discovering plugins | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Like before, maybe "Create and discover plugins"? |
||
================================ | ||
|
||
:Page Status: Complete | ||
:Last Reviewed: 2017-04-10 | ||
|
@@ -61,8 +61,8 @@ naming convention. | |
Using namespace packages | ||
======================== | ||
|
||
:doc:`Namespace packages <namespace_packages>` can be used to provide a | ||
convention for where to place plugins and also provides a way to perform | ||
:doc:`Namespace packages <packaging-namespace-packages>` can be used to provide | ||
a convention for where to place plugins and also provides a way to perform | ||
discovery. For example, if you make the sub-package ``myapp.plugins`` a | ||
namespace package then other :term:`distributions <Distribution Package>` can | ||
provide modules and packages to that namespace. Once installed, you can use | ||
|
@@ -117,8 +117,8 @@ to :func:`setup`'s ``packages`` argument instead of using | |
|
||
.. warning:: Namespace packages are a complex feature and there are several | ||
different ways to create them. It's highly recommended to read the | ||
:doc:`namespace_packages` documentation and clearly document which | ||
approach is preferred for plugins to your project. | ||
:doc:`packaging-namespace-packages` documentation and clearly document | ||
which approach is preferred for plugins to your project. | ||
|
||
Using package metadata | ||
====================== | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
.. _`Hosting your Own Simple Repository`: | ||
|
||
================================== | ||
Hosting your Own Simple Repository | ||
Hosting your own simple repository | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Like before, maybe "Host your own simple repository"? |
||
================================== | ||
|
||
:Page Status: Complete | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
Guides | ||
###### | ||
|
||
**Guides** are focused on accomplishing a specific task and assume that you are | ||
already familiar with the basics of Python packaging. If you're looking for an | ||
introduction to packaging, see :doc:`/tutorials/index`. | ||
|
||
.. toctree:: | ||
:maxdepth: 1 | ||
|
||
tool-recommendations | ||
installing-using-linux-tools | ||
installing-scientific-packages | ||
multi-version-installs | ||
single-sourcing-package-version | ||
supporting-multiple-python-versions | ||
packaging-binary-extensions | ||
supporting-windows-using-appveyor | ||
packaging-namespace-packages | ||
creating-and-discovering-plugins | ||
index-mirrors-and-caches | ||
hosting-your-own-index |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
.. _`Binary Extensions`: | ||
|
||
================= | ||
Binary Extensions | ||
================= | ||
=========================== | ||
Packaging binary extensions | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Like before, maybe "Package binary extensions"? |
||
=========================== | ||
|
||
:Page Status: Incomplete | ||
:Last Reviewed: 2013-12-08 | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
.. _`Single sourcing the version`: | ||
|
||
=================================== | ||
Single-sourcing the Project Version | ||
Single-sourcing the package version | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Like before, maybe "Single source the package version"? |
||
=================================== | ||
|
||
:Page Status: Complete | ||
|
This file was deleted.
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about "Deploy Python applications" or "Deploy a Python application" instead? I was a bit aspirational when I wrote the contributing guide, but one of the guidelines I suggested was to move toward an imperative form (or, really, a truncated question form), since it seems to be a bit more searcher friendly.
I'll go ahead and make similar notes elsewhere, though I don't know if I'd count them as blockers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I general, I really really try to avoid imperative voice for titles in technical documentation, especially because imperative voice is used to tell the reader what to do to accomplish a task within a section. Gerund construction seems to sit better with me for informing what a section will cover. Django notably uses gerund construction. Try imaging that document with imperative voice - it's a bit harder to process.
(I'm gonna hold off on merging this until you have a chance to respond)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there's a trend away from the gerund in headings in technical writing, at least for task-oriented documents. The argument for the imperative form is that it's easier for readers to skim for the content that addresses their problem. By using the imperative form, a writer can align more closely with the words that the reader might use to describe their problem, rather than using the words that the writer would use to describe the problem that someone else is having. It's a little bit of trick really; while it's technically the imperative, it's being used a bit more like an infinitive (with the "to" omitted for brevity). There are some other arguments too (like differentiation in ToCs), but this is the big one.
So let's take the deployment heading as an example. Imagine you want to learn about deploying a Python application. You might ask questions like "How do I deploy my Python application?" or "What are the steps to deploy my Python application?" You can pretty readily skim for those formations. The gerund form isn't impossible, but it tends to be a bit less direct (e.g., "How do I go about deploying my Python application?") or doesn't address a task (e.g., "What is deploying a Python application?").
I think it's a good idea to write headings this way (incrementally—we don't need to go and retrofit everything at once) and since you had changed some headings anyway, I figured now was a good time to bring it up. If you're not convinced, then it doesn't need to block the merge—but then we should probably revisit the headings guidance in the contributing guide.
(Oh about that Django doc: I don't love it in either case. There's a lot going on with the ORM abstraction and what it even means to make queries when the abstraction is obscuring the fact that you are making a query. It's got problems with or without gerund headings.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you provide some samples? I want to see this trend and how it works in practice. Please don't take this as me not believing you, I'm open to changing my stance here (which is why I haven't merged this yet), it's just that there's so many places I see gerund construction over imperative voice, and that's generally been fairly constant in my career. This could be due to bias, as my company's internal style guide explicitly calls for gerund construction. I'm okay with going against the grain, but I'm going to need slightly more convincing.
We should get this right now, as changing the heading breaks deep links (which is why I wrote the linkchecker script).
I definitely want you on board with whatever we do, as I don't want to alienate a contributor on a project that frankly needs help. :)
Another suggestion is that we can do a poll on distutils-sig if we can't reach agreement.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure! I did some contract tech writing at Google recently and saw that their help centers (like Inbox or AdSense) use it often. You see it less often in their developer sites, though there are examples; I particularly like this cool tutorial listing. I've also spotted it in some major sections in the Docker documentation (see the left ToC) recently. I can find more examples, if you like.
I'll admit that the imperative form is a little bit trendy and the gerund is way more common. And, honestly, the gerund is not bad. I just think the imperative is a little better.
You're giving the idea a good faith hearing. If you're not convinced, then that's fine. Sincere skepticism or disagreement isn't going to alienate me. Though I'll admit I like getting my way. 😃
Nah, that seems a bit much. Just let me know what you think of the examples. If you're not convinced, we can update the guidance and move on.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for all of this. I can definitely see how it could work, but I'm still leaning towards gerund construction.
I'm gonna leave this PR open until Friday and if @ncoghlan or @dstufft want to chime in and let me know their preference I can be swayed, otherwise I'll merge as-is :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have no opinion and I am pretty sure I am not qualified to have an opinion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think @ddbeck is right that it's a good way to structure a how to guide, but PyPUG is kind of a hybrid of a how to guide and a reference guide at the moment, so I think it makes more sense to defer such a style change until after the restructure.
And especially for the discussions, I think the gerund form more accurately conveys the kind of content to expect - they're more "here are the trade-offs to consider when deciding how to approach this task" rather than the imperative "here is how you should approach this task" (vendors and specific projects can be opinionated on that, while PyPUG avoids choosing sides)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool _ I'm gonna go ahead and merge this then. We can revisit as things evolve - I'm almost convince of a bit of a hybrid - for the tutorials I think I may move to @ddbeck's suggestion.