######################
CodeIgniter User Guide
######################

- :doc:`License Agreement <license>`
- :doc:`Change Log <changelog>`

.. contents::
   :local:
   :depth: 2

*******
Welcome
*******

- :doc:`general/welcome`

**********
Basic Info
**********

- :doc:`general/requirements`
- :doc:`general/credits`

************
Installation
************

- :doc:`installation/downloads`
- :doc:`installation/index`
- :doc:`installation/upgrading`
- :doc:`installation/troubleshooting`

************
Introduction
************

- :doc:`overview/getting_started`
- :doc:`overview/at_a_glance`
- :doc:`overview/cheatsheets`
- :doc:`overview/features`
- :doc:`overview/appflow`
- :doc:`overview/mvc`
- :doc:`overview/goals`

********
Tutorial
********

- :doc:`tutorial/index`
- :doc:`tutorial/static_pages`
- :doc:`tutorial/news_section`
- :doc:`tutorial/create_news_items`
- :doc:`tutorial/conclusion`

**************
General Topics
**************

.. toctree::
	:glob:
	:titlesonly:
	
	general/index

*****************
Library Reference
*****************

.. toctree::
	:glob:
	:titlesonly:
	
	libraries/index

****************
Driver Reference
****************

- :doc:`libraries/caching`
- :doc:`database/index`
- :doc:`libraries/javascript`

****************
Helper Reference
****************

.. toctree::
	:glob:
	:titlesonly:
	
	helpers/index

***************************
Contributing to CodeIgniter
***************************

.. toctree::
	:glob:
	:titlesonly:
	
	contributing/index
	DCO

.. toctree::
	:glob:
	:titlesonly:
	:hidden:
	
	*
	overview/index
	general/requirements
	general/welcome
	installation/index
	general/index
	libraries/index
	helpers/index
	database/index
	documentation/index
	tutorial/index
	general/quick_reference
	general/credits