# Simple Systems Website ## Local development Build image ```shell script docker build -f Dockerfile.dev -t website-fe . ``` Run the container using the current directory for the source files ```shell script docker run -it -p 8080:8080 --mount source=$(pwd),target=/src,type=bind --rm website-fe ``` ## Building (non docker) To create a production build, run: ```shell script yarn yarn build ``` The static resources will be stored in the `./dist` directory. ## Production Docker build and run To build the production site in a docker container, run the following command: ```shell script docker build -f Dockerfile.prod -t website-rel . ``` To run the production container, run the following command: ```shell script docker run --rm -it -p 8080:8080 website-rel ``` ## Get static files for AWS hosting Use Docker's copy to pull the files out of a working production container: ```shell script docker cp CONTAINER_ID:/app/dist /local/destination ``` ## Versioning Tags will indicate when a particular commit was ready to be live. Ex: `v2019-07-28_031407` *nix command: `date -u +v%Y-%m-%d_%H%M%S` ## Managing Job Posts To add a job post: 1. Place the markdown file in `./src/job-posts`. 2. Add the file name (excluding the extension) as an entry `./src/assets/jobKeys.js`. These entries determine the display order. To remove a job post: 1. Remove the markdown file from `./src/job-posts`. 2. Remove the entry from the data in `./src/assets/jobKeys.js`. ## Managing Blog Posts To add a blog post: 1. Place the markdown file in `./src/blog-posts`. 2. Add the file name (excluding the extension) as an entry `./src/assets/blogKeys.js`. These entries determine the display order. To remove a blog post: 1. Remove the markdown file from `./src/blog-posts`. 2. Remove the entry from the data in `./src/assets/blogKeys.js`.