Project Wikis - Share knowledge from the start
Tags: gitlab
Published: 2021-02-12 08:50:48

---
title: Project Wikis - Share knowledge from the start
published: true
description: Is Gitpod a valid alternative to the stand alone IDE?
canonical_url: https://www.garybell.co.uk/project-wikis-in-gitlab/
cover_image: https://static.garybell.co.uk/images/tanuki-tuesday/20-project-wiki/GitLab-project-wiki-cover.png
series: 'Tanuki Tuesday'
tags: gitlab
---
Welcome to [Tanuki Tuesday](https://www.garybell.co.uk/tag/tanuki-tuesday/), where I look at the features offered by [GitLab](https://about.gitlab.com). Up this week, knowledge sharing in the form of project Wikis.

Most people will already be familiar with the concept of a wiki, courtesy of [Wikipedia](https://en.wikipedia.org/wiki/Main_Page) and the mass contribution ethos it has. But why would you use a wiki for a project?

Documentation. It's one thing often forgotten in projects, shoehorned into a massive `README.md` file, or something which developers hope the community will create later. Why? because it's yet something else to design ahead of consumption.

It doesn't have to be!

The wiki feature within GitLab projects provides a useful space to put your documentation. Better still, the content is built using [markdown](https://docs.gitlab.com/ee/user/markdown.html). If developers can contribute to the `README.md` file, then they will be able to add the content into the wiki.

## Getting Started
If you've not got a wiki for a project yet, navigate to your project and select the wiki option in the left-hand menu (of, if `g`->`w` if you use [keyboard shortcuts](https://www.garybell.co.uk/using-keyboard-shortcuts-in-gitlab/)) and click the 'Create your first page' button.

![Empty wiki - it's easy to get started](https://static.garybell.co.uk/images/tanuki-tuesday/20-project-wiki/create-wiki-screen.png)

This will take you to the page edit screen, where the title will be pre-populated to get you started with the basic home page. You don't need to create the home page straight away, but any time you visit a wiki which has some pages but not a home page, you'll be shown the 'Create New Page' screen for the home page.

## What are the benefits of a wiki?
Because the wiki is a separate git repository of its own, it is not checked out at the same time as the project source. This reduces the amount of data needed to be downloaded by anyone cloning the project. It has the added benefit of your project commit history not being clogged up with typo fixes and additions in the wiki, leading to a cleaner commit history for code.

This has the added benefit of allowing small, single word changes to be done without it forming part of a code review on save. Similarly, the repository can be checked out and back in to allow larger scale changes take place outside of the slow nature of editing online. This is particularly useful if there's a mass change of locations to be done.

Each page then gets its own history of changes to be fully transparent about who changed what, and when.

There's no need to design the layout. Sure, great looking documentation looks, well, great. But design resources are often limited. And documentation should be useful and easy to find above all else. By using the wiki the documentation can be produced in a consistent manner from the outset.

## Conclusion
If you don't have the time to set up your own documentation site, or to design one, then simply start with a wiki. You can still have useful documentation which develops organically with your project, and is still closely linked to it. In most cases, some documentation is better than none. So create some!

If and when you have the time to design and build a stand-alone site for your documentation, you'll have all of the content you need to get started. It's less of a daunting prospect because it won't be created from scratch, or need someone to understand how things work if they don't already know.

As usual, the [GitLab documentation](https://docs.gitlab.com/ee/user/project/wiki/) provides a great insight into how to use the Wiki feature, and even how to customise the sidebar menu.