• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
The story and tech of Read the Docs
 

The story and tech of Read the Docs

on

  • 1,479 views

 

Statistics

Views

Total Views
1,479
Views on SlideShare
1,417
Embed Views
62

Actions

Likes
3
Downloads
14
Comments
0

4 Embeds 62

http://lanyrd.com 57
https://twitter.com 2
http://www.techgig.com 2
http://127.0.0.1 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • DB -> Django Template -> Sphinx Config -> Jinja Template \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

The story and tech of Read the Docs The story and tech of Read the Docs Presentation Transcript

  • The story and tech of Read the Docs Eric Holscher http://ericholscher.com Djangocon 2011
  • What this talk is» Talk about the history of Read the Docs» Technology Involved» Interesting outcomes of openness» Lessons learned
  • Who am I» I come from Django» Work at Urban Airship» Like automating systems
  • Why I’m here» Feedback» Ideas» Hopefully you’ll learn something too!» Shameless self-promotion
  • The story
  • 2010 Django Dash
  • Charles LeiferBobby Grace (Design) Me
  • Doc Hosting Sucks» packages.python.org» Github Pages» Your own janky cronjobs
  • `
  • Sphinx» Standard documentation tool for python» Uses reStructured Text
  • Had a workable site in 48 hours
  • Fully Open Source
  • Fully Open Source» github.com/rtfd/readthedocs.org» github.com/ericholscher/chef-django-example» ericholscher.com/tag/chef-series/
  • Officially Hosted» Celery» Fabric» Nose, py.test» Virtualenv, Pip» Django CMS» Django Grapelli/Floppyforms/Sentry» mod_wsgi (woo!)
  • DEMO
  • What makes it tick
  • Features
  • Git, Hg, Bzr, Svn
  • Post commit hooks
  • Custom Theme
  • Full-text search
  • Tags & Branches = Versions
  • PDF Generation
  • Virtualenvs
  • rtfd.org
  • Tech
  • Subdomains
  • CNAME Support
  • Cname Support» Request for docs.fabfile.org» docs.fabfile.org -> fabric.readthedocs.org» In middleware, resolve CNAME and determine docs to serve.» Cache it.
  • Architecture +-----------+ | | +-----| Varnish |------+ | +-----------+ | | | +---------+ +---------++-------------+ | | | | +--------------+| |-----| Nginx | | Nginx |----| || File | +---------+ +---------+ | File || System | | | | System |+-------------+ +---------+ +--------+ +---------+ +--------------+ | | | | | | | | | | | +---------|Gunicorn |--|Postgres|--|Gunicorn |--------+ | | +---------+ +--------+ +---------+ | | | | | | | | +------------------+ | | | | | +---------------------| Build Server |-------------------+ | | +------------------+
  • Haystack & Solr
  • Chef
  • Nagios & Munin
  • Upstart
  • REST API
  • CoffeeScript
  • CLI
  • Open Source Outcomes
  • Patches
  • Known architecture information
  • Slow Loris
  • Trust
  • People Writing Docs
  • Lessons
  • Think about your URLs. Really hard.
  • Lay your project out sanely
  • Write tests!
  • Build around a standard tool
  • Passing data through systems is hard
  • Serving static files is annoying
  • Log. Everything.
  • Promote (Hi!)
  • Find a designer!
  • Follow the Unix Philosophy
  • Have a mission
  • Thanks
  • Revsys
  • PSF
  • Mozilla
  • Divio
  • Pyladies
  • Questions?» readthedocs.org / rtfd.org» #readthedocs on Freenode» github.com/rtfd/readthedocs.org» eric@ericholscher.com