Skip to content

Commit 2bf6e99

Browse files
authored
Merge pull request #5210 from rtfd/gsoc-2019
Update our GSOC page for 2019
2 parents 58c9ea2 + 79bef64 commit 2bf6e99

File tree

2 files changed

+67
-71
lines changed

2 files changed

+67
-71
lines changed

common

docs/gsoc.rst

+66-70
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
Google Summer of Code
22
=====================
33

4-
.. note:: Thanks for your interest in Read the Docs!
5-
We are working hard to update the ideas list now that we are accepted in GSOC.
6-
Please give us a little while to work on things,
7-
and check back on this page for updates.
4+
..
5+
.. note:: Thanks for your interest in Read the Docs!
6+
We are working hard to update the ideas list now that we are accepted in GSOC.
7+
Please give us a little while to work on things,
8+
and check back on this page for updates.
89
9-
Read the Docs is participating in the Google Summer of Code in 2018.
10+
Read the Docs is hoping to be in the Google Summer of Code in 2019.
1011
This page will contain all the information for students and anyone else interested in helping.
1112

1213
Skills
@@ -63,43 +64,71 @@ We will consider the priority on our roadmap as a factor,
6364
along with the skill of the student,
6465
in our selection process.
6566

66-
Refactor & improve our search code
67-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67+
Collections of Projects
68+
~~~~~~~~~~~~~~~~~~~~~~~
69+
70+
This project involves building a user interface for groups of projects in Read the Docs (`Collections`).
71+
Users would be allowed to create, publish, and search a `Collection` of projects that they care about.
72+
We would also allow for automatic creation of `Collections` based on a project's ``setup.py`` or ``requirements.txt``.
73+
74+
Once a user has a `Collection`,
75+
we would allow them to do a few sets of actions on them:
76+
77+
* Search across all the projects in the `Collection` with one search dialog
78+
* Download all the project's documentation (PDF, HTMLZip, Epub) for offline viewing
79+
* Build a landing page for the collection that lists out all the projects, and could even have a user-editable description, similar to our project listing page.
80+
81+
There is likely other ideas that could be done with `Collections` over time.
82+
83+
Autobuild docs for Pull Requests
84+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85+
86+
It would be great to automatically build docs for Pull Requests in GitHub repos that our users have.
87+
Currently we don't support this,
88+
and it's one of our most requested features.
6889

69-
Currently we're using a homegrown library for Elastic Search.
70-
There is a new `elasticsearch-dsl <http://elasticsearch-dsl.readthedocs.io/en/latest/>`_ library that we should be using.
71-
This project will include:
90+
This would include:
7291

73-
* Improving our search indexing
74-
* Refactoring how we "model" our search data to use elasticsearch-dsl Models
75-
* Add additional search data into our indexes, like the programming languages, type of document (tutorial, api, etc.) and other data for users to filter by
76-
* (Optional) Improve the UX of the search for users in various ways
92+
* Modeling Pull Requests as a type of version alongside Tags and Branches
93+
* Modifying how we upload HTML docs to store them in a place like S3 for long term storage
94+
* Build integration with GitHub to send the status notifications when a PR is building and complete
7795

78-
Finish YAML config
79-
~~~~~~~~~~~~~~~~~~
96+
More info here:
8097

81-
Currently we have a basic :doc:`configuration file <config-file/v1>` for Read the Docs.
82-
It's still considered beta,
83-
and there are a number of features that it doesn't support.
84-
We need to support everying users can currently do from our website dashboard inside the YAML file,
85-
and then plan a smooth transition path from the database UI to the YAML file.
98+
* https://github.com/rtfd/readthedocs.org/issues/1340
99+
* https://github.com/rtfd/readthedocs.org/issues/2465
86100

87-
This is a *large* project and will likely require a good deal of understanding of both Python as well as web technologies.
88-
We have a `starting list of issues <https://github.com/rtfd/readthedocs.org/milestone/28>`_ put together,
89-
but there will be much more work.
90101

91-
API V3
92-
~~~~~~
102+
Build a new Sphinx theme
103+
~~~~~~~~~~~~~~~~~~~~~~~~
93104

94-
We currently have a "v2" API that isn't well documented and doesn't allow users to write to it.
95-
We want to continue using Django REST Framework for this,
96-
but rethink how we're presenting our information to our users.
105+
Sphinx v2 will introduce a new format for themes,
106+
supporting HTML5 and new markup.
107+
We are hoping to buid a new Sphinx theme that supports this new structure.
97108

98-
Currently we're showing everything as simple "models",
99-
and we want to start exposing "methods" on our data,
100-
similar to GitHub.
109+
This project would include:
101110

102-
This is a large project and should only be done by someone who has done some basic API design previously.
111+
* A large amount of design, including working with CSS & SASS
112+
* Iterating with the community to build something that works well for a number of use cases
113+
114+
This is not as well defined as the other tasks,
115+
so would require a higher level of skill from an incoming student.
116+
117+
Integrated Redirects
118+
~~~~~~~~~~~~~~~~~~~~
119+
120+
Right now it's hard for users to rename files.
121+
We support redirects,
122+
but don't create them automatically on file rename,
123+
and our redirect code is brittle.
124+
125+
We should rebuild how we handle redirects across a number of cases:
126+
127+
* Detecting a file change in git/hg/svn and automatically creating a redirect
128+
* Support redirecting an entire domain to another place
129+
* Support redirecting versions
130+
131+
There will also be a good number of things that spawn from this, including version aliases and other related concepts, if this task doesn't take the whole summer.
103132

104133
Improve Translation Workflow
105134
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -114,8 +143,8 @@ This project would include putting together a workflow for translations:
114143
* Help formalize the process that we have around Transifex to make it easier to contribute to
115144
* Improve our tooling so that integrating new translations is easier
116145

117-
Support for additional build steps for linting & testing
118-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
146+
Support for additional build steps for linting and testing
147+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
119148

120149
Currently we only build documentation on Read the Docs,
121150
but we'd also like to add additional build steps that lets users perform more actions.
@@ -132,48 +161,15 @@ It would be great to have wrappers for the following as a start:
132161
The goal would also be to make it quite easy for users to contribute third party build steps for Read the Docs,
133162
so that other useful parts of the Sphinx ecosystem could be tightly integrated with Read the Docs.
134163

135-
Collections of Projects
136-
~~~~~~~~~~~~~~~~~~~~~~~
137-
138-
This project involves building a user interface for groups of projects in Read the Docs (`Collections`).
139-
Users would be allowed to create, publish, and search a `Collection` of projects that they care about.
140-
We would also allow for automatic creation of `Collections` based on a project's ``setup.py`` or ``requirements.txt``.
141-
142-
Once a user has a `Collection`,
143-
we would allow them to do a few sets of actions on them:
144-
145-
* Search across all the projects in the `Collection` with one search dialog
146-
* Download all the project's documentation (PDF, HTMLZip, Epub) for offline viewing
147-
* Build a landing page for the collection that lists out all the projects, and could even have a user-editable description, similar to our project listing page.
148-
149-
There is likely other ideas that could be done with `Collections` over time.
150-
151-
Integrated Redirects
152-
~~~~~~~~~~~~~~~~~~~~
153-
154-
Right now it's hard for users to rename files.
155-
We support redirects,
156-
but don't create them automatically on file rename,
157-
and our redirect code is brittle.
158-
159-
We should rebuild how we handle redirects across a number of cases:
160-
161-
* Detecting a file change in git/hg/svn and automatically creating a redirect
162-
* Support redirecting an entire domain to another place
163-
* Support redirecting versions
164-
165-
There will also be a good number of things that spawn from this, including version aliases and other related concepts, if this task doesn't take the whole summer.
166-
167-
168164
Additional Ideas
169165
~~~~~~~~~~~~~~~~
170166

171-
We have some medium sized projects sketched out in our issue tracker with the tag *Feature Overview*.
167+
We have some medium sized projects sketched out in our issue tracker with the tag *Feature*.
172168
Looking through `these issues`_ is a good place to start.
173169
You might also look through our `milestones`_ on GitHub,
174170
which provide outlines on the larger tasks that we're hoping to accomplish.
175171

176-
.. _these issues: https://github.com/rtfd/readthedocs.org/issues?direction=desc&labels=Feature+Overview&page=1&sort=updated&state=open
172+
.. _these issues: https://github.com/rtfd/readthedocs.org/issues?direction=desc&labels=Feature&page=1&sort=updated&state=open
177173
.. _milestones: https://github.com/rtfd/readthedocs.org/milestones
178174

179175
Thanks

0 commit comments

Comments
 (0)