This repository has been archived by the owner on Nov 4, 2024. It is now read-only.
forked from ualib-deploy/roots-ualib
-
Notifications
You must be signed in to change notification settings - Fork 3
Home
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:
- OS X: Introduction to the macOS command line
- Windows: Open a command prompt window
- Linux: You already know what to do...
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.
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
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
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)
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
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