# Adding Pages to Jekyll site

This is tutorial can be used to add pages to any Jekyll site. I am assuming that you have setup your Ruby Development Environment. If not, then refer to this document here to get started easily.

Below are few easy steps that you can follow to add pages to your Jekyll site. I have also attached images to explain the process better.

_Note: I have taken the example of [GTK Website](https://ravgeetdhillon.pages.gitlab.gnome.org/gtk-web/), which I’m working on. You can find its Gitlab instance [here](https://gitlab.gnome.org/ravgeetdhillon/gtk-web)._

### Step 1.

In `collections/_docs` directory, create a new file with name: `hello-world.md`.

![Creating a new Markdown file.](https://www.ravgeet.in/assets/images/blog/adding-pages-to-jekyll-site-screen-1.png)

### Step 2.

I want this page to be available at the following link: [http://localhost:4000/docs/tutorials/hello-world/](http://localhost:4000/docs/tutorials/hello-world/)

Add the following front matter to the `hello-world.md`.

```yml
---
permalink: /docs/tutorials/:name/
---

```

![Adding the front matter to the Markdown file.](https://www.ravgeet.in/assets/images/blog/adding-pages-to-jekyll-site-screen-2.png)

### Step 3.

Add your content in the Markdown format to the `hello-world.md.

```
This is the demo file to show the process of adding new pages to a Jekyll site.

```

![Adding the new content to the Markdown file.](https://www.ravgeet.in/assets/images/blog/adding-pages-to-jekyll-site-screen-3.png)

### Step 4.

In `_data` directory, open the `navigation.yml` file and update the sidebar\_links array by adding the following content:

```yml
- title: Hello World
  name: hello-world
  section: Tutorials

```

here,

- `title` is display text on sidebar on `docs` page
- `name` is the name of the file which should be pointed to when the link is accessed
- `section` is category this page should fall under

![Updating YML file in the Jekyll Project.](https://www.ravgeet.in/assets/images/blog/adding-pages-to-jekyll-site-screen-4.png)

### Step 5.

In case the new file is the main section page, then update the sidebar\_sections array by adding the following content:

```yml
- title: Tutorials
  name: tutorials

```

here,

- `title` is display text on sidebar on `docs` page
- `name` is the name of the file which should be pointed to when the link is accessed

![Updating YML file in the Jekyll Project.](https://www.ravgeet.in/assets/images/blog/adding-pages-to-jekyll-site-screen-5.png)

### Step 6.

Save all the files and serve the website on the local server by running the following command.

```shell
bundle exec jekyll serve

```

![Compiling the Jekyll website.](https://www.ravgeet.in/assets/images/blog/adding-pages-to-jekyll-site-screen-6.png)

### Step 7.

Go to [http://localhost:4000/docs/tutorials/hello-world/](http://localhost:4000/docs/tutorials/hello-world/) and the page is up and running.

![Fetching the Jekyll website on the localhost.](https://www.ravgeet.in/assets/images/blog/adding-pages-to-jekyll-site-screen-7.png)

![Fetching the Jekyll website on the localhost.](https://www.ravgeet.in/assets/images/blog/adding-pages-to-jekyll-site-screen-8.png)

Thanks for reading 💜

***

If you enjoyed my blog, follow me for more informative content like this.

I publish a [monthly newsletter](https://www.ravsam.in/newsletter/) in which I share personal stories, things that I am working on, what is happening in the world of tech, and some interesting dev related posts which I across while surfing on the web.

Connect with me through [Twitter](https://twitter.com/ravgeetdhillon) • [LinkedIn](https://linkedin.com/in/ravgeetdhillon) • [Github](https://github.com/ravgeetdhillon) or send me an [Email](mailto:ravgeetdhillon@gmail.com).

— [Ravgeet](https://www.ravgeet.in), *Full Stack Developer and Technical Content Writer*

