PageSourceSearch

https://app.rocketlanguages.com/login

html rocketlanguages.com collected 2026-09-24 09:34:30 UTC 5,217 bytes, 167 lines download raw bytes

1<!doctype html>
2<html lang="en">
3  <head>
4    
4<script>
5      if (window.location.host === "fe.rocketlanguages.com") {
6        window.location.host = "app.rocketlanguages.com";
7      }
8    </script>
8
9    <title>Rocket Languages</title>
10    <meta charset="utf-8" />
11    <link rel="icon" href="/favicon-rl.svg" />
12    <link rel="preconnect" href="https://fonts.gstatic.com" />
13    <link href="https://fonts.googleapis.com/css2?family=Merriweather:wght@300;400;700&display=swap" rel="stylesheet" />
14    <link
15      href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap"
16      rel="stylesheet"
17    />
18
19    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
20    <meta name="theme-color" content="#2b2d42" />
21    <meta
22      name="description"
23      content="Rocket Languages: Online language courses that are Simple, Powerful and Effective."
24    />
25    <meta name="keywords" content="learn a language, rocket languages, rocketlanguages" />
26    <link rel="apple-touch-icon" href="/apple-touch-icon.png" />
27    <link rel="manifest" href="/manifest.json" />
28    
28<script>
29      (function () {
30        function setTheme(newTheme) {
31          window.__theme = newTheme;
32          if (newTheme && newTheme !== "device") {
33            const htmlElement = document.querySelector("html");
34            if (htmlElement) {
35              htmlElement.classList.remove("dark", "light");
36              htmlElement.classList.add(newTheme);
37            }
38          }
39        }
40        function getTheme() {
41          try {
42            return localStorage.getItem("theme").replace(/\"/g, "");
43          } catch (err) {}
44        }
45        var localStorageTheme = getTheme();
46        if (localStorageTheme === "device" || !localStorageTheme) {
47          var darkQuery = window.matchMedia("(prefers-color-scheme: dark)");
48          setTheme(darkQuery.matches ? "dark" : "light");
49        } else {
50          setTheme(localStorageTheme);
51        }
52      })();
53    </script>
53
54    <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 68 bytes, lines 54-55
54
55    <script async src="https://www.googletagmanager.com/gtag/js?id=
55UA-3355083-1
vendor: 16 bytes, lines 55-56
55"></script>
56    
56<script>
57      
vendor: 162 bytes, lines 57-62
57window.dataLayer = window.dataLayer || [];
58      function gtag() {
59        dataLayer.push(arguments);
60      }
61      gtag("js", new Date());
62      gtag("config", "
62UA-3355083-1
vendor: 49 bytes, lines 62-63
62", { page_path: window.location.pathname });
63    
63</script>
63
64    
64<script type="module" crossorigin src="/assets/index-CaiM0ZeM.js"></script>
64
65    <link rel="stylesheet" crossorigin href="/assets/index-B8yc07TG.css">
66  </head>
67  <body class="overflow-y-scroll text-missiledark">
68    <noscript>You need to enable JavaScript to run this app.</noscript>
69    <div id="root">
70      <div class="spinner-container">
71        <div class="spinner">
72          <div class="bounce1"></div>
73          <div class="bounce2"></div>
74          <div class="bounce3"></div>
75        </div>
76      </div>
77      <style>
78        body {
79          margin: 0;
80        }
81
82        .spinner-container {
83          height: 100vh;
84          background: rgb(0 60 91);
85        }
86
87        .spinner {
88          margin: auto;
89          width: 70px;
90          text-align: center;
91          position: absolute;
92          left: 50%;
93          top: 50%;
94          -webkit-transform: translate(-50%, -50%);
95          transform: translate(-50%, -50%);
96        }
97
98        .spinner > div {
99          width: 18px;
100          height: 18px;
101          background-color: #fff;
102          border-radius: 100%;
103          display: inline-block;
104          -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
105          animation: sk-bouncedelay 1.4s infinite ease-in-out both;
106        }
107
108        .spinner .bounce1 {
109          -webkit-animation-delay: -0.32s;
110          animation-delay: -0.32s;
111        }
112
113        .spinner .bounce2 {
114          -webkit-animation-delay: -0.16s;
115          animation-delay: -0.16s;
116        }
117
118        @-webkit-keyframes sk-bouncedelay {
119          0%,
120          80%,
121          100% {
122            -webkit-transform: scale(0);
123          }
124
125          40% {
126            -webkit-transform: scale(1);
127          }
128        }
129
130        @keyframes sk-bouncedelay {
131          0%,
132          80%,
133          100% {
134            -webkit-transform: scale(0);
135            transform: scale(0);
136          }
137
138          40% {
139            -webkit-transform: scale(1);
140            transform: scale(1);
141          }
142        }
143      </style>
144    </div>
145    
145<script>
146      window.addEventListener("vite:preloadError", (event) => {
147        window.location.reload();
148      });
149      window.addEventListener(
150        "error",
151        function (e) {
152          if (e.target.tagName === "SCRIPT" && e.target.type === "module") {
153            var url = new URL(window.location.href);
154            var ts = url.searchParams.get("ts");
155            var fiveMinutes = 5 * 60 * 1000;
156            if (!ts || Date.now() - Number(ts) > fiveMinutes) {
157              console.error("Module failed to load, reloading page...");
158              url.searchParams.set("ts", Date.now());
159              window.location.replace(url.toString());
160            }
161          }
162        },
163        true,
164      );
165    </script>
165
166  </body>
167</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.