<commit_before>---
author: <NAME>
date: 2014-06-01
categories: [koding]
collection: guide

series: contribute
series-index: 3
template: series.toffee
---

# Advanced

In this guide we'll go over contributing by using Git directly in your 
Terminal, and editing our documents on Koding. While we will go over 
every step, general Git and Terminal knowledge will be very helpful, and 
are recommended. So, lets get started!

## Forking and Cloning

First up, we should cover the requirements.

1. A [Koding][kodingreg] Account
2. A [Github][github] Account
3. Git *(Comes with your Koding VM)*
4. SSH Key on Github. If you're not familiar with this, refer to [this 
tutorial][githubssh]

Next, we need to "Fork" the [KDLearn Repo][repo]. This will create your 
own version of the repo on Github, and lets you push your changes to this 
repo.

To do this, press the Fork button seen in the following image, from the 
[KDLearn repo][repo] page:

![fork](/contribute/fork.png)

This will create a new Github repository with the name 
`github.com/yourUsername/kdlearn`. The purpose of this forked repository 
will become clear once we make our Pull Request.

Next, we will want to clone our newly forked repository. Head on over to 
your [Koding Terminal][terminal] and type in the following command:

```
git clone https://github.com/yourUsername/kdlearn.git
```

This will clone your Forked Repository to your Koding VM, into the folder 
`kdlearn`.

## Writing a new Guide

Now that we have our repo cloned, lets add our guide. Open up the [Ace 
editor][ace] and open a folder titled `kdlearn`. In this section we're 
going to write a guide, but if you just want to edit another guide, 
scroll down to the [edit](#editing-a-guide) section.

Lets create a file in the **guides** folder with the name `myguide.md`.  
Name the file whatever you like, just try to keep it short and url 
friendly.

![myguide file](/contribute/myguide.png)

This is where we will write all of our content, in Markdown. For this 
tutorial i am just going to use the following text:

```markdown
# Awesome Guide

This is my **awesome** guide! Follow along, and learn to be awesome!<commit_msg>Fixed two images not showing up (reference issues)<commit_after>---
author: <NAME>
date: 2014-06-01
categories: [koding]
collection: guide

series: contribute
series-index: 3
template: series.toffee
---

# Advanced

In this guide we'll go over contributing by using Git directly in your 
Terminal, and editing our documents on Koding. While we will go over 
every step, general Git and Terminal knowledge will be very helpful, and 
are recommended. So, lets get started!

## Forking and Cloning

First up, we should cover the requirements.

1. A [Koding][kodingreg] Account
2. A [Github][github] Account
3. Git *(Comes with your Koding VM)*
4. SSH Key on Github. If you're not familiar with this, refer to [this 
tutorial][githubssh]

Next, we need to "Fork" the [KDLearn Repo][repo]. This will create your 
own version of the repo on Github, and lets you push your changes to this 
repo.

To do this, press the Fork button seen in the following image, from the 
[KDLearn repo][repo] page:

![fork](fork.png)

This will create a new Github repository with the name 
`github.com/yourUsername/kdlearn`. The purpose of this forked repository 
will become clear once we make our Pull Request.

Next, we will want to clone our newly forked repository. Head on over to 
your [Koding Terminal][terminal] and type in the following command:

```
git clone https://github.com/yourUsername/kdlearn.git
```

This will clone your Forked Repository to your Koding VM, into the folder 
`kdlearn`.

## Writing a new Guide

Now that we have our repo cloned, lets add our guide. Open up the [Ace 
editor][ace] and open a folder titled `kdlearn`. In this section we're 
going to write a guide, but if you just want to edit another guide, 
scroll down to the [edit](#editing-a-guide) section.

Lets create a file in the **guides** folder with the name `myguide.md`.  
Name the file whatever you like, just try to keep it short and url 
friendly.

![myguide file](myguide.png)

This is where we will write all of our content, in Markdown. For this 
tutorial i am just going to use the following text:

```markdown
# Awesome Guide

This is my **awesome** guide! Follow along, and learn to be awesome!
{'fraction_non_alphanumeric': 0.07782638728989177, 'fraction_numerical': 0.005986645176145521, 'mean_word_length': 4.134751773049645, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6117146', 'n_tokens_mistral': 1338, 'n_tokens_neox': 1276, 'n_words': 664}