p5.js template

by CharlesFrench

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/p5.js/0.3.3/p5.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<body>
  <div class="container-fluid p-0">

    <section class="resume-section p-3 p-lg-5 d-flex d-column bg-warning" id="about">
      <div id="container-sketch">
        <div class="my-auto">
          <h1 class="mb-0">Name
	            <span class="text-primary">Surname</span>
	          </h1>
          <div class="subheading mb-5">Street · City, Postcode · Mobile Number ·
            <a href="mailto:name@email.com">name@email.com</a>
          </div>
          <p class="mb-5">Enter short description here.</p>
          <ul class="list-inline list-social-icons mb-0">
            <li class="list-inline-item">
              <a href="#">
                <span class="fa-stack fa-lg">
	                  <i class="fa fa-circle fa-stack-2x"></i>
	                  <i class="fa fa-facebook fa-stack-1x fa-inverse"></i>
	                </span>
              </a>
            </li>
            <li class="list-inline-item">
              <a href="#">
                <span class="fa-stack fa-lg">
	                  <i class="fa fa-circle fa-stack-2x"></i>
	                  <i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
	                </span>
              </a>
            </li>
            <li class="list-inline-item">
              <a href="#">
                <span class="fa-stack fa-lg">
	                  <i class="fa fa-circle fa-stack-2x"></i>
	                  <i class="fa fa-linkedin fa-stack-1x fa-inverse"></i>
	                </span>
              </a>
            </li>
            <li...

CSS

/*!
 * Canvas CSS
 */

canvas {
  position: absolute;
  z-index: 3;
}

#container-sketch {
  position: relative;
  z-index: 2;
}


/*!
 * Start Bootstrap - Resume v4.0.0-beta.2 (https://startbootstrap.com/template-overviews/resume)
 * Copyright 2013-2017 Start Bootstrap
 * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-resume/blob/master/LICENSE)
 */

body {
  font-family: 'Open Sans', serif;
  padding-top: 54px;
  color: #868e96;
}

@media (min-width: 992px) {
  body {
    padding-top: 0;
    padding-left: 17rem;
  }
}

#about {
  position: relative !important;
  z-index: 2;
}

canvas {
  position: absolute !important;
  top: 0;
  left: 0;
  z-index: 1;
}

#container {
  position: fixed !important;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: pink;
  top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Saira Extra Condensed', serif;
  font-weight: 700;
  text-transform: uppercase;
  color: #343a40;
}

h1 {
  font-size: 6rem;
  line-height: 5.5rem;
}

h2 {
  font-size: 3.5rem;
}

.subheading {
  text-transform: uppercase;
  font-weight: 500;
  font-family: 'Saira Extra Condensed', serif;
  font-size: 1.35rem;
}

.list-social-icons a {
  color: #495057;
}

.list-social-icons a:hover {
  color: #BD5D38;
}

.list-social-icons a .fa-lg {
  font-size: 1.75rem;
}

.list-icons {
  font-size: 3rem;
}

.list-icons .list-inline-item i:hover {
  color: #BD5D38;
}

#sideNav .navbar-nav .nav-item .nav-link {
  font-weight: 600;
  text-transform: uppercase;
}

@media (min-width: 992px) {
  #sideNav {
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    width: 17rem;
    height: 100vh;
  }
  #sideNav .navbar-brand {
    display: flex;
    margin: auto auto 0;
    padding: 0.5rem;
  }
  #sideNav .navbar-brand .img-profile {
    max-width: 10rem;
    max-height: 10rem;
    border: 0.5rem solid rgba(255, 255, 255, 0.2);
  }
  #sideNav .navbar-collapse {
    display: flex;
   ...

JavaScript

function setup() {

  var clientHeight = document.getElementById('about').clientHeight;
  var clientWidth = document.getElementById('about').clientWidth;

  var cnv = createCanvas(clientWidth, clientHeight);
  cnv.parent("container-sketch");
  background(0);
}

function draw() {

  ellipse(width / 2 + random(10), height / 2 + random(10), 20, 20)
}