Added release scripts
diff --git a/.gitignore b/.gitignore
index 4e97e6d..ec335e0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 console_inject_deprecated.js
+out
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..6d365c6
--- /dev/null
+++ b/README.md
@@ -0,0 +1,8 @@
+# Infinite scroll in TW
+[![Available in the Chrome Web Store](https://developer.chrome.com/webstore/images/ChromeWebStore_Badge_v2_206x58.png)](https://chrome.google.com/webstore/detail/infinite-scroll-in-tw/hpgakoecmgibigdbnljgecablpipbajb)
+
+## Build extension in order to upload to the Chrome Web Store
+To create a zip file with the contents of the extension, which can be uploaded to the Chrome Web Store, run `bash release.bash`. You can also use `bash release.bash -channel=beta` to include a beta label in the extension name and version of the resulting zip file.
+
+The zip file will be located in the `out` folder.
+
diff --git a/release.bash b/release.bash
new file mode 100644
index 0000000..f1e89fd
--- /dev/null
+++ b/release.bash
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+# Prints help text
+function usage() {
+  cat << END
+  
+  Usage: $progname [--channel CHANNEL]
+
+  optional arguments:
+    -h, --help     show this help message and exit
+    -c, --channel  indicates the channel of the release. Can be "beta" or "stable".
+
+END
+}
+
+# Get options
+opts=$(getopt -l "help,channel:" -o "hc:" -n "$progname" -- "$@")
+eval set -- "$opts"
+
+channel=stable
+
+while true; do
+  case "$1" in
+    -h | --help ) usage; exit; ;;
+    -c | --channel ) channel="$2"; shift 2 ;;
+    * ) break ;;
+  esac
+done
+
+if [[ $channel != "stable" && $channel != "beta" ]]; then
+  echo "channel parameter value is incorrect."
+  usage
+  exit
+fi
+
+echo "Started building release..."
+
+if [[ $channel == "beta" ]]; then
+  # Change manifest.json to label the release as beta
+  sed -i 's/"name": "[^"]*"/"name": "__MSG_appNameBeta__"/' src/manifest.json
+  sed -i -r 's/"version": "([^"]*)",/"version": "\1",\n  "version_name": "\1-beta",/' src/manifest.json
+fi
+
+# Create ZIP file for upload to the Chrome Web Store
+mkdir -p out
+rm -rf out/infinitegforums-$channel.zip
+zip -rq out/infinitegforums-$channel.zip src -x *.git*
+
+if [[ $channel == "beta" ]]; then
+  # Revert manifest.json changes
+  sed -i 's/"name": "[^"]*"/"name": "__MSG_appName__"/' src/manifest.json
+  sed -i '/"version_name"/d' src/manifest.json
+fi
+
+echo "Done!"
diff --git a/LICENSE b/src/LICENSE
similarity index 100%
rename from LICENSE
rename to src/LICENSE
diff --git a/_locales/ca/messages.json b/src/_locales/ca/messages.json
similarity index 100%
rename from _locales/ca/messages.json
rename to src/_locales/ca/messages.json
diff --git a/_locales/en/messages.json b/src/_locales/en/messages.json
similarity index 100%
rename from _locales/en/messages.json
rename to src/_locales/en/messages.json
diff --git a/_locales/es/messages.json b/src/_locales/es/messages.json
similarity index 100%
rename from _locales/es/messages.json
rename to src/_locales/es/messages.json
diff --git a/background.js b/src/background.js
similarity index 100%
rename from background.js
rename to src/background.js
diff --git a/console_inject.js b/src/console_inject.js
similarity index 100%
rename from console_inject.js
rename to src/console_inject.js
diff --git a/console_inject_start.js b/src/console_inject_start.js
similarity index 100%
rename from console_inject_start.js
rename to src/console_inject_start.js
diff --git a/forum_inject.js b/src/forum_inject.js
similarity index 100%
rename from forum_inject.js
rename to src/forum_inject.js
diff --git a/icons/128.png b/src/icons/128.png
similarity index 100%
rename from icons/128.png
rename to src/icons/128.png
Binary files differ
diff --git a/icons/512.png b/src/icons/512.png
similarity index 100%
rename from icons/512.png
rename to src/icons/512.png
Binary files differ
diff --git a/manifest.json b/src/manifest.json
similarity index 100%
rename from manifest.json
rename to src/manifest.json
diff --git a/options.css b/src/options.css
similarity index 100%
rename from options.css
rename to src/options.css
diff --git a/options.html b/src/options.html
similarity index 100%
rename from options.html
rename to src/options.html
diff --git a/options.js b/src/options.js
similarity index 100%
rename from options.js
rename to src/options.js
diff --git a/profile_inject.js b/src/profile_inject.js
similarity index 100%
rename from profile_inject.js
rename to src/profile_inject.js
diff --git a/thread_inject.js b/src/thread_inject.js
similarity index 100%
rename from thread_inject.js
rename to src/thread_inject.js