---
# System prepended metadata

title: Editing the CS2 Website

---

# Editing the CS2 Website
<hr>

### Accessing the [website](http://cs.brown.edu/courses/cs002/):
- If accessing remotely: follow the department [setup directions](http://cs.brown.edu/about/system/connecting/ssh/) at  to set up your `public key`, then `ssh` into the department machine
    - Workflow:
        :::success
        Once in your terminal:
        ```c
            $ ssh <username>@ssh.cs.brown.edu
            $ cd ../../course/cs0020/website
        ```
        :::
        
        <hr/>
    - Editing the website:
        :::success
        Files to know:
        ```c
            Main page: index.html
            Assignments: assignments.html
            Hours: hours.html
            Lectures: lectures.html
            Staff Page: staff.html
            File directory: files/
            All imgages: img/
        ```
        :::
        - Helpful Terminal Commands:
            ```terminal
                $ cd <directory> // "Change directory" to the given one
                $ mkdir <name> // make a directory in your current directory
                $ touch <name> // makes a new empty file in your current directory
                $ ls // shows you all the files in your current directory
            ```
        - `rsync`
         
            :::info
            The `rsync` command can be used to move files from the remote computer to your computer, and vice versa. It can move **several** files at a time.
            :::
            
            ```terminal
                $ rsync -r dir1/ dir2 // Syncing one directory into another
            ```
            
            Remote Operations:
            
            ```c
                $ rsync -a <local_source_directory> username@remote_host:<destination_remote_directory> // Push to a remote directory
                
                $ rsync -a username@remote_host:source_remote_directory local_destination_directory // Pull from a remote directory
            ```
            
            :::success
            Examples:
            
                
               $ rsync -a /Users/tylergurth/desktop/CS2HTA/website/ tgurth@ssh.cs.brown.edu:/course/cs0020/website // pushing from computer to website
               
               $ rsync -a tgurth@ssh.cs.brown.edu:/course/cs0020/website/ /Users/tylergurth/desktop/Brown/CS2HTA/website // pulling from website to computer
            :::
            > The general idea is that once you finish editing the files on your computer and everythign looks good, using `rysnc` to the `ssh` should update all the files/new directories you make. Be sure to ONLY edit within the root directory of the website.
        - `vim`
        
            :::info
            The `vim` command can be used to edit **one file at a time**. It's not good for large edits, but can be helpful for very small changes, like uncommenting a line. 
            
                    
                $ vim <filename> // Opens in vim editor
            
            Using `vim` is really hard, you need to use key operations to move around in the file, switch between editing modes, and add/delete content. **Be sure to always change at the end of editing** (if you wan't your changes saved).
            :::
<hr/>

### //TODO At beginning of Semester:

:::warning
- Uncomment homepage top bar
- **Change theme**
- Change TA names/bios/pictures
- Add new google calendar (**make it public!**)
- Add new labs/projects but comment out the links 

:::
<hr/>

### Things to do during Semester:
:::warning
- Uncomment labs/projects
- Add lectures as they are released (**from Don**)

:::
