Skip to content
Caryl Wyatt edited this page Jan 31, 2020 · 14 revisions

Please note, these docs are written for developers newer to these types of tools.

Be aware, many of these tools do not have native GUIs and may require use of the command prompt. If you are unfamiliar with your operating system's command prompt or terminal check out these resources before proceeding:

Development Tools

To full contribute to UA Libraries components, styles, and theme a few development tools are required. Listed below are brief descriptions and links for the tools involved.

The tools listed below are marked to indicate what aspects of contribution they are required for.

Git

Required for: All development

  • Git versioning allows us to track changes in an organized manner.
  • Although Git can get complex, we are using in a very simple, straight forward way. [Link to workflow docs]
  • Git website
  • If you are not comfortable with command line git, use GitHub desktop

LESS

Required for: styles

  • A CSS "preprocessor" which extends the functionality of CSS (e.g., variables, functions, and more).
  • CSS is easy enough right? LESS is easy too! If you know CSS, then LESS will feel very comfortable.
  • Browsers can't read LESS, so we use tools to translate LESS into good ole' fashioned CSS. The tools used to do this all operate off of the Node.js platform.
  • LESS website

Node.js

Required for: styles, webapps

  • Think of Node.js like the "Java" for web development tools. You don't have to know how to use Node.js directly, but you do need it installed on your computer to run the tools that automate some of the tasks required to test and release updates to the theme.
  • Node website
  • The easiest way to install node on both mac and PC is to go to the node website (above) and download/install the LTS version using your computer's GUI (not command line)

Grunt.js

Required for: styles, webapps

  • Grunt is a configurable "task runner" built on the Node.js platform. This is used to automate otherwise tedious, time consuming tasks.
  • You don't have to actually learn grunt to contribute to the theme. But you will have to install it and run various grunt tasks (e.g, commands) to apply those changes (i.e., grunt build).
  • Grunt website

Bower.io

Required for: styles, webapps

  • Bower is a package manager for web developers. It allows you to easily update, install, and manage third-party dependencies. (i.e., instead of going to the Bootstrap website, downloading, unzipping the download, and then uploading you just use the command bower install bootstrap).
  • Bower website

Quick Start ►