« Lessons Learned From The Dash: Nginx SSI | Djangocon Talk »
Since the Django Dash ended, We've been working on adding some requested new features to Read The Docs. There are a couple of major ones that we have added that I'd like to talk about.
We've added support for all of the version control systems that people have requested. When you sign up or edit a project, you can now tell us which VCS you are using, and we'll use that to check out your code to build your documentation.
There are two libraries that I wish existed: One to smartly parse urls into the correct repository, and a standard VCS abstraction that lets me treat all VCS' as the same. These would integrated presumably, so I could do vcs clone and vcs update, and it would "Just Work"
By default we don't execute any python code when you import your project. This is a security precaution that we take, so that means disabling all extensions by default. A lot of people are using autodoc and some other extensions, so we have added the ability to whitelist projects so that they are built without any sanitization on our part.
Our designer Bobby made a sweet logo for the site, and has been adding lots of little visual tweaks that I'm not qualified to talk about :) However, it seems that whenever I look at the site, it gets a little prettier, that's how I usually know that design is being done.
This is a really exciting one for me, because I've been learning more and more about sysadminery lately, and this was a fun little mixing of the two. For any project, you can now access the projects documentation at , for example, pip's documentation is now at pip.readthedocs.org.
Now that we have subdomain support, this makes supporting CNAME's really simple. So if you have your own domain name, and you'd like those docs to point to us, it's simple. All you need to do is add a CNAME record for that domain in your DNS settings to point at your subdomain URL. Pip is another good example here, pip-installer.org now is hosted on RTD. Other notable examples are djangotesting.com and djangowoodies.com :)
All of this support is implemented in middleware and only ends up being about 25 lines of code. There are going to be some complications when we try to add multiple version support, and internationalization, as you can't really specify those well on subdomains. I see us having a "default" project version, as well as letting you have other versions hosted as well.
"RTFM" is a well known term in the programming community. Luckily when we were scheming up names for our project, we noticed that rtfd.org was available. We went ahead and bought it, and now we're supporting and rtfd.org/ redirects that go to your RTD page. This is a nice little keystroke saver, as well as a fun was to refer people to your documentation. This is implemented simple in an Nginx server directive. I'm sure it can be improved upon, but it's working well at the moment.
I think adding the ability to have "smart slugs" here would be interesting, so it could actually perform a search or something, and return the top result, kinda like LMGTFY. This could be a neat feature to add on.
LaTeX is a pain to get setup, so if you want to support rendering LaTeX, we now support that as well. The sympy has been testing their docs on RTD, and have helped me clean up a bunch of bugs. The Geometric Algebra section shows off some of the LaTeX goodness.
Update: Just for kicks, we currently have 120 users and 80 projects currently hosted on Read The Docs. At least a couple of these are using RTD as their official documentation host. I'm pretty happy with the uptake that's already happened in the last 2 weeks (wow, that little?!). Thanks everyone for checking it out!
Update 2 We also have a new IRC channel if you need help or have questions, it's #rtd on irc.freenode.net.
Posted at 2 p.m. on August 28, 2010
Comments: 4
Tags: dash , django , docs , haystack , rtd , rtfd , updates
Django Dash: Announcing PyPants
Read the Docs Updates
Lessons Learned From The Dash: Nginx SSI
Welcome to the home of Eric Holscher on the web. I talk about software development, mostly in the realm of Django. I am interested in the real time web, testing, mobile apps, and other things.
Why Read the Docs matters
2 weeks, 1 day ago (Comments: 7)
Read the Docs Update
10 months ago (Comments: 2)
Using Reviewboard with Git
1 year ago (Comments: 0)
Read the Docs Updates
1 year ago (Comments: 1)
Handling Django Settings Files
1 year ago (Comments: 12)
Required Reading
1 year, 2 months ago (Comments: 0)
Using Haystack to index non-database content
1 year, 2 months ago (Comments: 4)
Correct commands to check out and update VCS repos
1 year, 2 months ago (Comments: 0)
Site upgrades
1 year, 2 months ago (Comments: 0)
Building a Django App Server with Chef: Part 4
1 year, 2 months ago (Comments: 1)
Setting up Django and mod_wsgi
Building a Django App Server with Chef: Part 1
Screencast: Django Command Extensions
Big list of Django tips (and some python tips too)
Handling Django Settings Files
Lessons Learned From The Dash: Easy Django Deployment
Large Problems in Django, Mostly Solved: Delayed Execution
Building a Django App Server with Chef: Part 2


Comments
1 lukaszb says...
Hi there,
Firstly - nice work at RTD!
About the vcs wish - I've created an issue http://bitbucket.org/marcinkuzminski/vcs/issue/19/write-v... which we hope to close shortly. We've slowed down with vcs a bit recently but I think that in a month we would implement full git support (and an issue mentioned much earlier) so keep an eye on that if you'd find those useful.
Posted at 10:21 p.m. on August 28, 2010
2 Martín Gaitán says...
Hi
Great work! I've just signed up .
I found a little error on "import tool" page. It says:
"Import an existing project
Only use this if you have Sphinx docs in a public repository, you can create new docs via our import tool. "
The last "import tool" is correct linked to "create new doc" but with a wrong text.
Posted at 2:45 a.m. on August 29, 2010
3 Paul Oswald says...
Please forgive me if this isn't the best place for this. I have been following this project closely and I have a request for you. Please default to your own common style rather than using the styling of the framework.
For example: everyone complements Django's documentation, and it's good for getting started, but I personally don't like it as a reference (even though I use it all the time).
I find the organization of the material to be strange, the fonts strange and headings poorly sized and indented. The monochromatic green is somewhat overdone, the navigation on the right is strange, etc... I know a lot of people probably really like it, but it bothers me.
For example, I prefer this standard style:
http://readthedocs.org/projects/mirror/fabric/docs/
to this customized one:
http://readthedocs.org/projects/eric/django/docs/py-modin...
Furthermore, I think every project should have an easy and consistent way to view every:
This is usually provided by the "module list" but I find it hard to find in each project. To me, this should be front and center and always in a consistent location and format in your UI. Django has a link to it on the top left of the Home page, django-projector has it on the top right, and pip doesn't seem to have it at all.
So my request to you is: Allow me to override the styling choices of whatever the framework designers have decided on for a clean, consistent and simple one that you provide. You can still generate the customized one, but I'd like to be able to see a plain default theme as the site default. That will make me a very happy camper!
Posted at 9:45 a.m. on August 29, 2010
4 Derek says...
Maybe I am missing something, but it seems to me that if you have the source text for the docs, you can build them locally using Sphinx with whatever style you prefer... if you're a developer this is not hard at all.
Posted at 7:44 a.m. on September 15, 2010