##// END OF EJS Templates
docs: reorganize index page...
docs: reorganize index page Reorganize the index page of the manual into three main sections: administrator guide, user guide, developer guide. In principle, administrators, users and developers are independent roles that can be fulfilled by different people. 'Administrators' install, configure and maintain Kallithea. They have 'admin' privilege in the web interface. 'Users' do not have access to the Kallithea installation files. They can only access the web interface, and generally do not have 'admin' privilege. They may be the owner of repositories, repository groups, or user groups, and as such modify the settings of these objects, even though they cannot modify the settings of Kallithea itself. 'Developers' modify the Kallithea source code. They may or may not contribute these changes back to the Kallithea community. The 'Readme' section is a bit outside of this classification. As it serves as a basic introduction to Kallithea, it is kept first. The 'Index' and 'Search' functionality are not really 'part of' the manual, so should not be under 'Other topics'. Instead they are put at the very top so they are readily visible. This commit is only changing the index page. Subsequent commits can move and split some documentation files in the repository to mirror this structure. For example, the 'Version control systems support' page has information for administrators (ini settings and importing existing repositories) as well as for users (handling Mercurial subrepositories).

File last commit:

r7174:8152f9e6 default
r7254:e71216a1 default
Show More
customization.rst
73 lines | 2.5 KiB | text/x-rst | RstLexer

Customization

There are several ways to customize Kallithea to your needs depending on what you want to achieve.

HTML/JavaScript/CSS customization

To customize the look-and-feel of the web interface (for example to add a company banner or some JavaScript widget or to tweak the CSS style definitions) you can enter HTML code (possibly with JavaScript and/or CSS) directly via the Admin > Settings > Global > HTML/JavaScript customization block.

Style sheet customization with Less

Kallithea uses Bootstrap 3 and Less for its style definitions. If you want to make some customizations, we recommend to do so by creating a theme.less file. When you create a file named theme.less in the Kallithea root directory, you can use this file to override the default style. For example, you can use this to override @kallithea-theme-main-color, @kallithea-logo-url or other Bootstrap variables.

After creating the theme.less file, you need to regenerate the CSS files. Install npm for your platform and run:

npm install
npm run less

in the Kallithea root directory.

Behavioral customization: rcextensions

Some behavioral customization can be done in Python using rcextensions, a custom Python package that can extend Kallithea functionality.

With rcextensions it's possible to add additional mappings for Whoosh indexing and statistics, to add additional code into the push/pull/create/delete repository hooks (for example to send signals to build bots such as Jenkins) and even to monkey-patch certain parts of the Kallithea source code (for example overwrite an entire function, change a global variable, ...).

To generate a skeleton extensions package, run:

gearbox make-rcext -c my.ini

This will create an rcextensions package next to the specified ini file. See the __init__.py file inside the generated rcextensions package for more details.

Behavioral customization: code changes

As Kallithea is open-source software, you can make any changes you like directly in the source code.

We encourage you to send generic improvements back to the community so that Kallithea can become better. See :ref:`contributing` for more details.