Add README

This commit is contained in:
Danila Fedorin 2019-06-01 14:30:15 -07:00
parent 452056f71c
commit 59b086ce1c

32
README.md Normal file
View File

@ -0,0 +1,32 @@
# CacheSim
CacheSim is an Elm-based website to simulate various cache hierarchy configurations. It supports
fully associative, direct mapped, and n-way set associative caches.
## Building and Hosting
CacheSim is entirely a front-end project. As long as the HTML, CSS, and generated JavaScript
are hosted somewhere, it will work.
CacheSim is built using Elm and Sass. As such, you will need the compilers for the two
languages. On Arch Linux, this means `sassc` for Sass, and `elm-platform-bin` (from AUR).
On other platforms, you can use npm:
```
npm install -g elm sass
```
Now, to build the project, you can use the following commands:
```
mkdir -p static/js
mkdir -p static/css
sassc static/scss/style.scss static/css/style.css
elm make src/Main.elm --output=static/js/elm.js --optimize
```
Replace `sassc` with `sass` in the third command if you installed Sass from npm.
Now, the `index.html` file and everything in the `static` folder can be safely copied
into any directory exposed by a web server. I use my university public\_html folder.
Below are the SFTP commands I use to upload a fresh copy of the project:
```
put index.html public_html/ECE472/index.html
put -r static public_html/ECE472/static
```