template.eml.html 4.44 KB
Newer Older
zapashcanon's avatar
zapashcanon committed
1
let render_unsafe ~lang ~title ~content =
zapashcanon's avatar
zapashcanon committed
2 3 4 5
  <!DOCTYPE html>
  <html lang="<%s lang %>">
    <head>
      <title><%s title %> | OCamlPro</title>
6 7 8
      <link rel="icon" type="image/svg+xml" href="assets/img/logo_ocp_icon.svg">
      <link href="assets/css/bootstrap.min.css" rel="stylesheet"/>
      <link href="assets/css/style.css" rel="stylesheet">
zapashcanon's avatar
zapashcanon committed
9 10 11
    </head>
    <body>
      <header>
zapashcanon's avatar
zapashcanon committed
12 13
          <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
              <div class="container-fluid">
14
                <a class="navbar-brand" href="index"><img src="assets/img/logo_ocamlpro.png" alt="OCamlPro" height="42" /></a>
zapashcanon's avatar
zapashcanon committed
15 16 17 18 19 20
                  <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
                      <span class="navbar-toggler-icon"></span>
                  </button>
                  <div class="collapse navbar-collapse" id="navbarCollapse">
                      <ul class="navbar-nav me-auto mb-2 mb-md-0">
                          <li class="nav-item">
21
                              <a class="nav-link" href="research-and-development">R&amp;D</a>
zapashcanon's avatar
zapashcanon committed
22
                          </li>
Dario Pinto's avatar
Dario Pinto committed
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
                          <li class="nav-item dropdown">
                            <a class="nav-link dropdown-toggle" href="trainings" id="navbarDarkDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                              Trainings
                            </a>
                            <ul class="dropdown-menu dropdown-menu-dark" aria-labelledby="navbarDarkDropdownMenuLink">
                              <li><a class="dropdown-item" href="course_ocaml_development">OCaml Development</a></li>
                              <li><a class="dropdown-item" href="course_ocaml_expert">OCaml Expert</a></li>
                              <li><a class="dropdown-item" href="course_ocaml_code_opti">OCaml Code Optimization</a></li>
                              <li><a class="dropdown-item" href="course_rust_vocational_training">Rust Vocational Training</a></li>
                              <li><a class="dropdown-item" href="course_mastering_opam_tools">Mastering OPAM &amp; OCaml Tools</a></li>
                              <li><a class="dropdown-item" href="mailto:contact@ocamlpro.com">Custom Training</a></li>
                            </ul>
                          <li class="nav-item dropdown">
                            <a class="nav-link dropdown-toggle" href="#" id="navbarDarkDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                              Softwares
                            </a>
                            <ul class="dropdown-menu dropdown-menu-dark" aria-labelledby="navbarDarkDropdownMenuLink">
                              <li><a class="dropdown-item" href="https://github.com/ocaml/opam">OPAM</a></li>
                              <li><a class="dropdown-item" href="https://github.com/OCamlPro/digodoc">Digodoc</a></li>
                            </ul>
zapashcanon's avatar
zapashcanon committed
43
                          <li class="nav-item">
44
                              <a class="nav-link" href="team">Team</a>
zapashcanon's avatar
zapashcanon committed
45
                          </li>
zapashcanon's avatar
zapashcanon committed
46
                          <li class="nav-item">
47
                              <a class="nav-link" href="jobs">Jobs</a>
zapashcanon's avatar
zapashcanon committed
48
                          </li>
zapashcanon's avatar
zapashcanon committed
49
                          <li class="nav-item">
50
                              <a class="nav-link" href="blog">Blog</a>
zapashcanon's avatar
zapashcanon committed
51 52 53 54 55
                          </li>
                      </ul>
                  </div>
              </div>
          </nav>
zapashcanon's avatar
zapashcanon committed
56
      </header>
zapashcanon's avatar
zapashcanon committed
57 58 59
      <br />
      <br />
      <br />
zapashcanon's avatar
zapashcanon committed
60
      <br />
zapashcanon's avatar
zapashcanon committed
61
      <main>
zapashcanon's avatar
zapashcanon committed
62 63 64
        <div class="container">
          <%s! content %>
        </div>
zapashcanon's avatar
zapashcanon committed
65
        <hr class="featurette-divider">
zapashcanon's avatar
zapashcanon committed
66
        <footer class="container">
zapashcanon's avatar
zapashcanon committed
67 68 69 70 71 72
          <p>&copy; 2011–2021 OCamlPro &middot;
            <a href="https://twitter.com/ocamlpro">Twitter</a> &middot;
            <a href="https://www.linkedin.com/company/2152404/">LinkedIn</a> &middot;
            <a href="mailto:contact@ocamlpro.com">Email</a> &middot;
            <a href="tel:+33184800481">Phone</a> &middot;
            <a href="https://www.openstreetmap.org/node/2996094140">21 rue de Châtillon, 75014 Paris, France</a> &middot;
73
            <a href="legal-notice">Legal Notice</a>
zapashcanon's avatar
zapashcanon committed
74
          </p>
zapashcanon's avatar
zapashcanon committed
75 76
        </footer>
      </main>
77
      <script src="assets/js/bootstrap.bundle.min.js"></script>
zapashcanon's avatar
zapashcanon committed
78 79
    </body>
  </html>