Skip to content

Commit c591a15

Browse files
authored
Updated README.md (#491)
Updated ReadME to show updated setup instructions for both macOS and Windows machines.
1 parent 7196288 commit c591a15

File tree

1 file changed

+115
-36
lines changed

1 file changed

+115
-36
lines changed

README.md

Lines changed: 115 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
# Teach LA Website
23

34
![Test Jekyll Build](https://github.com/uclaacm/teach-la-website/workflows/Test%20Jekyll%20Build/badge.svg)
@@ -6,37 +7,53 @@
67

78
Heya there, this is ACM Teach LA's website! It's goal is to give Teach LA a more formal online presence, and to create a one-stop shop for prospective tutors and schools to get more information about us!
89

9-
This website is built with [Jekyll](https://jekyllrb.com), with some component implementations taken from [ACM's main website](https://github.com/uclaacm/website) (conforming to [ACM Design's Style Guide](https://github.com/uclaacm/Styleguide)). We build and test this website with [GitHub Actions](https://github.com/features/actions), and deploy it on [Netlify](https://www.netlify.com/). We will be running on ruby 3.2.5 and jekyll 4.3.3
10+
This website is built with [Jekyll](https://jekyllrb.com), with some component implementations taken from [ACM's main website](https://github.com/uclaacm/website) (conforming to [ACM Design's Style Guide](https://github.com/uclaacm/Styleguide)). We build and test this website with [GitHub Actions](https://github.com/features/actions), and deploy it on [Netlify](https://www.netlify.com/). We will be running on ruby 3.2.5 and jekyll 4.3.3. You will find detailed installation and setup instructions below for both macOS and Windows.
1011

11-
## Development Setup
12+
## 🍎 macOS Setup Instructions
1213

1314
To get a copy of this website running locally on your machine, you'll need [Ruby](https://www.ruby-lang.org/en/), a copy of this repo, and access to your system's shell/terminal.
1415

15-
*Note:* we recommend using [rvm](https://rvm.io/) instead of your system ruby; it makes life easier :smile:!
16+
**We recommend using [`rbenv`](https://github.com/rbenv/rbenv) to manage Ruby versions.**
1617

17-
First, let's install [Bundler](https://bundler.io/), a gem environment manager for ruby. Type this anywhere in your shell:
18+
### Ruby & Bundler Installation (If Ruby 3.2.5 is not yet installed)
1819

1920
```bash
20-
$ gem install bundler
21-
...
21+
# Install Homebrew if not already installed
22+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
23+
24+
# Install rbenv and ruby-build
25+
brew install rbenv ruby-build
26+
27+
# Set up rbenv in your shell
28+
rbenv init
29+
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
30+
source ~/.zshrc
31+
32+
# Install Ruby 3.2.5 and set it globally
33+
rbenv install 3.2.5
34+
rbenv global 3.2.5
35+
36+
# Check that Ruby and gem are set up correctly
37+
ruby -v # should show 3.2.5
38+
gem install bundler
2239
```
2340

2441
Then, let's clone our project with git, and install our dependencies!
2542

2643
```bash
27-
$ git clone https://github.com/uclaacm/teach-la-website.git
28-
$ cd teach-la-website
29-
$ bundle
30-
...
44+
git clone https://github.com/uclaacm/teach-la-website.git
45+
cd teach-la-website
46+
bundle install
3147
```
3248

3349
This should install all of our RubyGems dependencies! Note that we've committed a `Gemfile.lock`, so you should get a working set of gems.
3450

35-
Finally, run:
51+
### Run the Site Locally
3652

37-
```bash
53+
Run:
3854

39-
$ bundle exec jekyll serve
55+
```bash
56+
bundle exec jekyll serve
4057
Configuration file: /Users/matt/code/tla/static/_config.yml
4158
Source: /Users/matt/code/tla/static
4259
Destination: /Users/matt/code/tla/static/_site
@@ -46,16 +63,69 @@ Configuration file: /Users/matt/code/tla/static/_config.yml
4663
Auto-regeneration: enabled for '/Users/matt/code/tla/static'
4764
Server address: http://127.0.0.1:4000/
4865
Server running... press ctrl-c to stop.
66+
```
67+
68+
Your site will be served locally at: [http://localhost:4000](http://localhost:4000). You may also visit the server address line in your browser, which is usually [http://127.0.0.1:4000/](http://127.0.0.1:4000/).
69+
70+
71+
If you run into any issues, you may also try:
72+
73+
```bash
74+
bundle exec jekyll clean
75+
bundle update
76+
bundle exec jekyll serve
4977

5078
```
5179

80+
## 💻 Windows Setup Instructions (via RubyInstaller)
5281

53-
If these steps do not work for you, you may also try doing this:
82+
If you're on **Windows**, follow these instructions instead of the macOS setup above:
5483

84+
### 1. Install Ruby (with DevKit)
5585

56-
Visit whatever follows the server address line in your browser, which is usually [http://127.0.0.1:4000/](http://127.0.0.1:4000/).
86+
- Visit: [https://rubyinstaller.org/downloads/](https://rubyinstaller.org/downloads/)
87+
- Download and install **Ruby+Devkit 3.2.X**
88+
- During install, select the option to run `ridk install`, and enable MSYS2 base + development toolchain.
5789

58-
If you run into any issues, please let us know on our [issues tracker](https://github.com/uclaacm/teach-la-website)!
90+
### 2. Install Bundler
91+
92+
Open **Command Prompt** or **PowerShell**, then run:
93+
94+
```bash
95+
gem install bundler
96+
```
97+
98+
### 3. Clone the Project and Install Dependencies
99+
100+
```bash
101+
git clone https://github.com/uclaacm/teach-la-website.git
102+
cd teach-la-website
103+
bundle install
104+
```
105+
106+
### 4. Run the Site Locally
107+
108+
```bash
109+
bundle exec jekyll serve
110+
Configuration file: /Users/matt/code/tla/static/_config.yml
111+
Source: /Users/matt/code/tla/static
112+
Destination: /Users/matt/code/tla/static/_site
113+
Incremental build: disabled. Enable with --incremental
114+
Generating...
115+
done in 0.17 seconds.
116+
Auto-regeneration: enabled for '/Users/matt/code/tla/static'
117+
Server address: http://127.0.0.1:4000/
118+
Server running... press ctrl-c to stop.
119+
```
120+
121+
Your site will be served locally at: [http://localhost:4000](http://localhost:4000). You may also visit the server address line in your browser, which is usually [http://127.0.0.1:4000/](http://127.0.0.1:4000/).
122+
123+
### ✅ Notes for Windows users
124+
125+
- You may see build errors if native extensions fail to compile — make sure the DevKit is properly installed.
126+
- Consider using [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/) for a smoother Unix-like development experience.
127+
- Use `chcp 65001` to set terminal to UTF-8 encoding if you run into encoding issues.
128+
---
59129

60130
## Contribution Workflow
61131

@@ -69,30 +139,39 @@ Want to make a change to the website? Great! Here are the steps:
69139
6. Make a [pull request](https://github.com/uclaacm/teach-la-website/pulls) with your changes, and let someone on the dev team know.
70140
7. If your code passes code review, we'll merge it into `master`. Congratulations! If you'd like, it's now safe to delete your branch/fork.
71141

142+
---
143+
72144
## Adding Yourself to the Teams Page
73145

74-
[Moved to here](https://github.com/uclaacm/teach-la-website/blob/master/_team/README.md).
146+
[Moved to here](https://github.com/uclaacm/teach-la-website/blob/master/_team/README.md)
75147

76-
## Troubleshooting tips:
77-
1. run gem install bundler
78-
- if doesnt work try to sudo
79-
2. install homebrew. This way we can manage ruby version conflicts
80-
3. run ruby -v. You want to be on version 3.2.5 (REALLY IMPORTANT)
81-
4. run
148+
## Troubleshooting Tips
82149

83-
```bash
150+
1. Make sure you're using **Ruby 3.2.5**. Run:
84151

85-
brew install rbenv
86-
brew install ruby-build
87-
rbenv init
88-
rbenv install 3.2.5
89-
rbenv global 3.2.4
90-
gem update jekyll
91-
gem update bundler
92-
bundle install
93-
bundle update
152+
```bash
153+
ruby -v
154+
```
94155

95-
```
156+
If not, follow the Ruby installation instructions above.
157+
158+
2. If `bundle install` fails, try updating your gems:
159+
160+
```bash
161+
gem update --system
162+
gem update bundler
163+
```
164+
165+
3. If `jekyll serve` crashes, clean and retry:
166+
167+
```bash
168+
bundle exec jekyll clean
169+
bundle exec jekyll serve
170+
```
171+
172+
4. If you get file write errors like `Errno::EINTR`, try moving the repo to a non-synced folder (e.g. not inside iCloud Drive or Desktop).
173+
174+
175+
If you run into any issues, please let us know on our [issues tracker](https://github.com/uclaacm/teach-la-website)!
96176

97-
** note: may need to sudo if you do not have permission
98-
I hope this helps
177+
---

0 commit comments

Comments
 (0)