<commit_before>[![Build Status](https://travis-ci.org/Avalara/developer-dot.svg?branch=master)](https://travis-ci.org/Avalara/developer-dot)

# How To Get Started with Avalaras Developer Blog

To run the Avalara developer site locally requires the following software:

* [Ruby](https://www.ruby-lang.org/en/downloads/)  ( also available from [RubyInstaller](https://rubyinstaller.org/downloads/) )
* [Ruby Development Kit](https://rubyinstaller.org/downloads/)
* [RubyGems](https://rubygems.org/pages/download)
* [Node.js](https://nodejs.org/en/)
* [npm](https://docs.npmjs.com/) (Should come installed with Node.js)

### A guide to Jekyll's Posting and Editing Capabilities; Turning Local Github Repositories into a Locally Generated Website

In this *How To* guide I'm hoping to give you the necessary tools and knowledge to make pain free contributions to the [Avalara Developer Blog](http://developer.avalara.com/blog/).
Understandably in software development, the continuous flow of developments, cool features, and small improvements can get lost in the fray of a relatively new and expanding industry.
Well, things don't have to be that way, not if you decide to get involved that is. Have experience you can share about a specific Avalara product or cool new tool that assists you in development you'd like to share? Now's your chance to do just that.

The following is a quick overview of what is covered in this page:

* [Set up a local environment of a forked developer-dot repository](#set-the-envioronment)
* [Preview those additions locally with the awesome features of Jekyll](#site-preview)
* [Use git requests to get your local changes out to the publishing repository](#lets-get-those-changes-committed)

Depending on what OS you are using there are a few ways to set up and utilize the features of Jekyll.

Here are the prerequisites you'll need running on your system to get started:
* [Ruby](https://www.ruby-lang.org/en/downloads/)  
* [RubyGems](https://rubygems.org/pages/download)
* [Node.js](https://nodejs.org/en/)
* [npm](https://docs.npmjs.com/) (Should come installed with Node.js)


If you are using **Windows**, I'd recommend creating a workspace with [Cloud9](https://c9.io/) to get started, as Windows is not officially supported, Cloud9 provides an easy workaround. Also, if you refer to [Jekyll on Windows](https://jekyllrb.com/docs/windows/#installation) there are some alternative instructions on getting started with Windows.

If you're using **macOS** and are having difficulties installing the dependencies for jekyll you might need to install [Xcode](https://developer.apple.com/xcode/) and its command line tools.

If you're using **Linux** or **Unix** you should be fine installing Jekyll's dependencies in the command prompt.

For any more information on what you'll need according to your Operating System you can view more [installation information here](https://jekyllrb.com/docs/installation/).

### No! Not Jackal!
There will be no canines involved during the generation of these static Web Pages, but yes we will have to get familiar with some terms first.
Jekyll is known as "a simple, blog aware, static site generator", or at least that is the generic response you will find if you are to google "What is Jekyll?". For now, lets go with that,
and hopefully a more descriptive definition will become clear as we see it in action, or [click here more about Jekyll now](https://jekyllrb.com/).

### Set The Envioronment

##### Access a Github Account
The first thing you'll need to really begin setting up an environment is a Github account. An account with Github will allow you to access the Avalara/developer-dot repository for you to make contributions to.

##### Fork over that Repo
Once you have an account you will need to fork the [Avalara/developer-dot](https://github.com/Avalara/developer-dot) repository by clicking `Fork` in the top right corner of its Github page. That should create a new repository inside your own Github account where you'll have full permissions to make changes. Next, go to that newly created repository, which most likely has been named according the standard: yourGitUserName/developer-dot and click on the Clone or download button to access the SSH key or the HTTPS location. Before returning to the terminal, make sure you've created a folder on your local computer where you wish to store the local repository files. Change directories to your intended location inside the command terminal and enter the following command to clone the forked repository:

`$ git clone <EMAIL>:yourGitUserName/developer-dot.git`

The SSH key in the example above should be the one you got from your account earlier. You can make sure this worked the way you intended by opening a file explorer and seeing if the files from the repository have been added.

##### Gathering the Tools
To complete the setup of your local environment you need jekyll, which means you'll need the tools required to run jekyll. If your running on Windows make sure you've either followed the steps in [Jekyll on Windows](#jekyll-on-windows) or open up the workspace inside your Cloud9 account that contains the cloned repository, otherwise continue working through the terminal as before and install the aforementioned prerequisites.

If you're not sure whether or not these have been installed and/or are up to date you can run a command to find out the versions running on your system. Node should come with npm installed automatically, but to be sure let's see what version of npm we're running as well.

Here's what I'm currently running:
```
$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
$ gem -v
2.5.1
$ node -v<commit_msg>Update README.md (#248)<commit_after>[![Build Status](https://travis-ci.org/Avalara/developer-dot.svg?branch=master)](https://travis-ci.org/Avalara/developer-dot)

# How To Get Started with Avalaras Developer Blog

To run the Avalara developer site locally requires the following software:

* [Ruby](https://www.ruby-lang.org/en/downloads/)  ( also available from [RubyInstaller](https://rubyinstaller.org/downloads/) )
* [Ruby Development Kit](https://rubyinstaller.org/downloads/)
* [RubyGems](https://rubygems.org/pages/download)
* [Node.js](https://nodejs.org/en/)
* [npm](https://docs.npmjs.com/) (Should come installed with Node.js)

### A guide to Jekyll's Posting and Editing Capabilities; Turning Local Github Repositories into a Locally Generated Website

In this *How To* guide I'm hoping to give you the necessary tools and knowledge to make pain free contributions to the [Avalara Developer Blog](http://developer.avalara.com/blog/).
Understandably in software development, the continuous flow of developments, cool features, and small improvements can get lost in the fray of a relatively new and expanding industry.
Well, things don't have to be that way, not if you decide to get involved that is. Have experience you can share about a specific Avalara product or cool new tool that assists you in development you'd like to share? Now's your chance to do just that.

The following is a quick overview of what is covered in this page:

* [Set up a local environment of a forked developer-dot repository](#set-the-envioronment)
* [Preview those additions locally with the awesome features of Jekyll](#site-preview)
* [Use git requests to get your local changes out to the publishing repository](#lets-get-those-changes-committed)

Depending on what OS you are using there are a few ways to set up and utilize the features of Jekyll.

Here are the prerequisites you'll need running on your system to get started:
* [Ruby](https://www.ruby-lang.org/en/downloads/)  
* [RubyGems](https://rubygems.org/pages/download)
* [Node.js](https://nodejs.org/en/)
* [npm](https://docs.npmjs.com/) (Should come installed with Node.js)


If you are using **Windows**, I'd recommend creating a workspace with [Cloud9](https://c9.io/) to get started, as Windows is not officially supported, Cloud9 provides an easy workaround. Also, if you refer to [Jekyll on Windows](https://jekyllrb.com/docs/windows/#installation) there are some alternative instructions on getting started with Windows.

If you're using **macOS** and are having difficulties installing the dependencies for jekyll you might need to install [Xcode](https://developer.apple.com/xcode/) and its command line tools.

If you're using **Linux** or **Unix** you should be fine installing Jekyll's dependencies in the command prompt.

For any more information on what you'll need according to your Operating System you can view more [installation information here](https://jekyllrb.com/docs/installation/).

### No! Not Jackal!
There will be no canines involved during the generation of these static Web Pages, but yes we will have to get familiar with some terms first.
Jekyll is known as "a simple, blog aware, static site generator", or at least that is the generic response you will find if you are to google "What is Jekyll?". For now, lets go with that,
and hopefully a more descriptive definition will become clear as we see it in action, or [click here more about Jekyll now](https://jekyllrb.com/).

### Set The Environment

##### Access a Github Account
The first thing you'll need to really begin setting up an environment is a Github account. An account with Github will allow you to access the Avalara/developer-dot repository for you to make contributions to.

##### Fork over that Repo
Once you have an account you will need to fork the [Avalara/developer-dot](https://github.com/Avalara/developer-dot) repository by clicking `Fork` in the top right corner of its Github page. That should create a new repository inside your own Github account where you'll have full permissions to make changes. Next, go to that newly created repository, which most likely has been named according the standard: yourGitUserName/developer-dot and click on the Clone or download button to access the SSH key or the HTTPS location. Before returning to the terminal, make sure you've created a folder on your local computer where you wish to store the local repository files. Change directories to your intended location inside the command terminal and enter the following command to clone the forked repository:

`$ git clone git@github.com:yourGitUserName/developer-dot.git`

The SSH key in the example above should be the one you got from your account earlier. You can make sure this worked the way you intended by opening a file explorer and seeing if the files from the repository have been added.

##### Gathering the Tools
To complete the setup of your local environment you need jekyll, which means you'll need the tools required to run jekyll. If your running on Windows make sure you've either followed the steps in [Jekyll on Windows](#jekyll-on-windows) or open up the workspace inside your Cloud9 account that contains the cloned repository, otherwise continue working through the terminal as before and install the aforementioned prerequisites.

If you're not sure whether or not these have been installed and/or are up to date you can run a command to find out the versions running on your system. Node should come with npm installed automatically, but to be sure let's see what version of npm we're running as well.

Here's what I'm currently running:
```
$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
$ gem -v
2.5.1
$ node -v
{'fraction_non_alphanumeric': 0.07515767344078486, 'fraction_numerical': 0.005168185003503854, 'mean_word_length': 4.682926829268292, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 36, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 20, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5762741', 'n_tokens_mistral': 3104, 'n_tokens_neox': 2883, 'n_words': 1567}