diff --git a/docs/index.rst b/docs/index.rst
index c5fe861..eeea39a 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -102,14 +102,9 @@
 ---------------------
 
 * C++11 - Complete
-* `C++14 - Complete <cxx14 status_>`_
-* `C++1z - In Progress <cxx1z status_>`_
-* `Post C++14 Technical Specifications - In Progress <ts status_>`_
-
-.. _cxx14 status: http://libcxx.llvm.org/cxx1y_status.html
-.. _cxx1z status: http://libcxx.llvm.org/cxx1z_status.html
-.. _ts status: http://libcxx.llvm.org/ts1z_status.html
-
+* `C++14 - Complete <http://libcxx.llvm.org/cxx1y_status.html>`__
+* `C++1z - In Progress <http://libcxx.llvm.org/cxx1z_status.html>`__
+* `Post C++14 Technical Specifications - In Progress <http://libcxx.llvm.org/ts1z_status.html>`__
 
 Notes and Known Issues
 ----------------------
@@ -132,9 +127,9 @@
 * `<atomic> design <http://libcxx.llvm.org/atomic_design.html>`_
 * `<type_traits> design <http://libcxx.llvm.org/type_traits_design.html>`_
 * `Status of debug mode <http://libcxx.llvm.org/debug_mode.html>`_
-* `Notes by Marshall Clow <clow notes_>`_
+* `Notes by Marshall Clow`__
 
-.. _clow notes: https://cplusplusmusings.wordpress.com/2012/07/05/clang-and-standard-libraries-on-mac-os-x/
+.. __: https://cplusplusmusings.wordpress.com/2012/07/05/clang-and-standard-libraries-on-mac-os-x/
 
 Build Bots
 -----------
@@ -152,37 +147,30 @@
 
 If you think you've found a bug in libc++, please report it using
 the `LLVM Bugzilla`_. If you're not sure, you
-can post a message to the `cfe-dev`_.  mailing list or on IRC.
+can post a message to the `cfe-dev mailing list`_ or on IRC.
 Please include "libc++" in your subject.
 
 **Patches**
 
 If you want to contribute a patch to libc++, the best place for that is
-`Phabricator <phab doc_>`_. Please include [libcxx] in the subject and
+`Phabricator <http://llvm.org/docs/Phabricator.html>`_. Please include [libcxx] in the subject and
 add `cfe-commits` as a subscriber. Also make sure you are subscribed to the
-`cfe-commits mailing list <cfe-commits_>`_.
+`cfe-commits mailing list <http://lists.llvm.org/mailman/listinfo/cfe-commits>`_.
 
 **Discussion and Questions**
 
-Send discussions and questions to the `cfe-dev mailing list <cfe-dev_>`_.
+Send discussions and questions to the
+`cfe-dev mailing list <http://lists.llvm.org/mailman/listinfo/cfe-dev>`_.
 Please include [libcxx] in the subject.
 
-.. _phab doc: http://llvm.org/docs/Phabricator.html
 
 
 Quick Links
 ===========
-* `LLVM Homepage <llvm_>`_
-* `libc++abi Homepage <libc++abi_>`_
-* `LLVM Bugzilla`_
-* `cfe-commits Mailing List <cfe-commits_>`_
-* `cfe-dev Mailing List <cfe-dev_>`_
+* `LLVM Homepage <http://llvm.org/>`_
+* `libc++abi Homepage <http://libcxxabi.llvm.org/>`_
+* `LLVM Bugzilla <http://llvm.org/bugs/>`_
+* `cfe-commits Mailing List`_
+* `cfe-dev Mailing List`_
 * `Browse libc++ -- SVN <http://llvm.org/svn/llvm-project/libcxx/trunk/>`_
 * `Browse libc++ -- ViewVC <http://llvm.org/viewvc/llvm-project/libcxx/trunk/>`_
-
-
-.. _`llvm`: http://llvm.org/
-.. _`libc++abi`: http://libcxxabi.llvm.org/
-.. _`LLVM Bugzilla`: http://llvm.org/bugs/
-.. _cfe-dev: http://lists.llvm.org/mailman/listinfo/cfe-dev
-.. _cfe-commits: http://lists.llvm.org/mailman/listinfo/cfe-commits
