============= Theming guide ============= The following sections will teach you how to customize the content and appearance of CKAN pages by developing your own CKAN themes. .. seealso:: :doc:`/maintaining/getting-started` If you just want to do some simple customizations such as changing the title of your CKAN site, or making some small CSS customizations, :doc:`/maintaining/getting-started` documents some simple configuration settings you can use. .. note:: Before you can start developing a CKAN theme, you'll need a working source install of CKAN on your system. If you don't have a CKAN source install already, follow the instructions in :doc:`/maintaining/installing/install-from-source` before continuing. .. note:: CKAN theme development is a technical topic, for web developers. The tutorials below assume basic knowledge of: * `The Python programming language `_ * `HTML `_ * `CSS `_ * `JavaScript `_ We also recommend familiarizing yourself with: * `Jinja2 templates `_ * `Bootstrap `__ * `jQuery `_ .. note:: Starting from CKAN version 2.10 the Bootstrap version used in the default CKAN theme is Bootstrap 5. For backwards compatibility, Bootstrap 3 templates will be included in CKAN core for a few versions, but they will be eventually removed so you are encouraged to update your custom theme to use Bootstrap 5. You can select which set of templates to use (Bootstrap 5 or 3) by using the :ref:`ckan.base_public_folder` and :ref:`ckan.base_templates_folder` configuration options. .. toctree:: :maxdepth: 2 templates static-files css webassets javascript best-practices jinja-tags variables-and-functions javascript-module-objects-and-methods template-helper-functions template-snippets javascript-sandbox javascript-api-client jquery-plugins