Skip to content

Commit 5dc7711

Browse files
committed
add Google Analytics, connect to our Meteor server
1 parent d9ca4c5 commit 5dc7711

File tree

5 files changed

+128
-3
lines changed

5 files changed

+128
-3
lines changed

_navbar.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
- [Examples](/examples/hello-world/)
33
- [Forum](//lume.community)
44
- [Chat](//discord.gg/PgeyevP)
5-
- [Source](//github.com/lume/lume)
5+
- [Source Code](//github.com/lume/lume)

examples/buttons-with-shadow/example.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,6 @@
156156
Motor.addRenderTask(time => {
157157
lightContainer.position.x += (this.targetPosition.x - lightContainer.position.x) * 0.05
158158
lightContainer.position.y += (this.targetPosition.y - lightContainer.position.y) * 0.05
159-
console.log(lightContainer.position.x, lightContainer.position.y)
160159
plane.rotation.y = 10 * (lightContainer.position.x / window.innerWidth) - 5
161160
plane.rotation.x = -(10 * (lightContainer.position.y / window.innerHeight) - 5)
162161
})

importmap.js

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
{
2+
const isDev = location.host.includes('localhost')
3+
const meteorRoot = isDev ? 'http://localhost:8765' : 'https://lume.io'
4+
25
const script = document.currentScript
36
// F.e. the "../../" in "src="../../importmap.js"
47
const base = script.getAttribute('src').split('importmap.js')[0]
@@ -28,6 +31,9 @@
2831
// For Three.js example modules so we don't have to change their imports.
2932
'three/addons/': './modules/three/examples/jsm/',
3033

34+
// Tween
35+
'@tweenjs/tween.js': 'https://cdn.jsdelivr.net/npm/@tweenjs/[email protected]/dist/tween.esm.js',
36+
3137
// live-code
3238
'@lume/live-code': './modules/@lume/live-code/dist/index.js',
3339
'@babel/runtime/helpers/extends': './modules/@babel/runtime/helpers/esm/extends.js',
@@ -84,9 +90,25 @@
8490
'@solid-primitives/static-store': './modules/@solid-primitives/static-store/dist/index.js',
8591
'@solid-primitives/utils': './modules/@solid-primitives/utils/dist/index/index.js',
8692
'@solid-primitives/utils/immutable': './modules/@solid-primitives/utils/dist/immutable/index.js',
93+
94+
// Meteor
95+
'meteor/meteor': meteorRoot + '/meteor-packages.js',
96+
'meteor/tracker': meteorRoot + '/meteor-packages.js',
97+
'meteor/blaze': meteorRoot + '/meteor-packages.js',
98+
'meteor/templating': meteorRoot + '/meteor-packages.js',
99+
'meteor/mongo': meteorRoot + '/meteor-packages.js',
100+
'meteor/session': meteorRoot + '/meteor-packages.js',
101+
'meteor/reactive-var': meteorRoot + '/meteor-packages.js',
102+
'meteor/accounts-base': meteorRoot + '/meteor-packages.js',
87103
}
88104

89-
for (const key in imports) imports[key] = base + imports[key]
105+
// Map relative imports to the base URL, so that examples in deeper folders work.
106+
for (const key in imports) {
107+
const isFullUrl = ['http://', 'https://', '//'].some(v => imports[key].startsWith(v))
108+
109+
// Only map relative URLs.
110+
if (!isFullUrl) imports[key] = base + imports[key]
111+
}
90112

91113
const importmapScript = document.createElement('script')
92114
importmapScript.setAttribute('type', 'importmap')

index.html

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,17 @@
66
<link rel="icon" href="./images/logo-icon.svg" />
77
<meta name="theme-color" content="#0043fa" />
88

9+
<!-- Google Analytics -->
10+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-5B93FS5P5X"></script>
11+
<script>
12+
window.dataLayer = window.dataLayer || []
13+
function gtag() {
14+
dataLayer.push(arguments)
15+
}
16+
gtag('js', new Date())
17+
gtag('config', 'G-5B93FS5P5X')
18+
</script>
19+
920
<!-- Start Single Page Apps for GitHub Pages -->
1021
<!-- Copied/adapted as instructed from https://github.com/rafgraph/spa-github-pages. -->
1122
<script type="text/javascript">
@@ -79,5 +90,8 @@
7990
import 'lume'
8091
import '@lume/live-code'
8192
</script>
93+
94+
<!-- Connect the static docs site to the lume.io's Meteor server. -->
95+
<script src="./load-meteor.js"></script>
8296
</body>
8397
</html>

load-meteor.js

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
{
2+
const isDev = location.host.includes('localhost')
3+
const root = isDev ? 'http://localhost:8765' : 'https://lume.io'
4+
5+
__meteor_runtime_config__ = JSON.parse(
6+
decodeURIComponent(
7+
'%7B%22meteorRelease%22%3A%22METEOR%403.1.2%22%2C%22gitCommitHash%22%3A%227d31a24753d18307d7bc7f56adc080a3fc86b3b5%22%2C%22meteorEnv%22%3A%7B%22NODE_ENV%22%3A%22production%22%2C%22TEST_METADATA%22%3A%22%7B%7D%22%7D%2C%22PUBLIC_SETTINGS%22%3A%7B%7D%2C%22debug%22%3Afalse%2C%22ROOT_URL%22%3A%22https%3A%2F%2Flume-io-20950.nodechef.com%2F%22%2C%22ROOT_URL_PATH_PREFIX%22%3A%22%22%2C%22reactFastRefreshEnabled%22%3Atrue%2C%22autoupdate%22%3A%7B%22versions%22%3A%7B%22web.browser%22%3A%7B%22version%22%3A%22465660ba89c48b54b5ea176a5beefeab8c2947e5%22%2C%22versionRefreshable%22%3A%221952018619999f014765d73c14db1f446971e849%22%2C%22versionNonRefreshable%22%3A%22465660ba89c48b54b5ea176a5beefeab8c2947e5%22%2C%22versionReplaceable%22%3A%221952018619999f014765d73c14db1f446971e849%22%7D%2C%22web.browser.legacy%22%3A%7B%22version%22%3A%227e45b3eb2b7c0bb2dba58ca7ed0a0b0d218bfced%22%2C%22versionRefreshable%22%3A%221952018619999f014765d73c14db1f446971e849%22%2C%22versionNonRefreshable%22%3A%227e45b3eb2b7c0bb2dba58ca7ed0a0b0d218bfced%22%2C%22versionReplaceable%22%3A%221952018619999f014765d73c14db1f446971e849%22%7D%7D%2C%22autoupdateVersion%22%3Anull%2C%22autoupdateVersionRefreshable%22%3Anull%2C%22autoupdateVersionCordova%22%3Anull%2C%22appId%22%3A%22q04iv5yj40nv1s0iw0f%22%7D%2C%22appId%22%3A%22q04iv5yj40nv1s0iw0f%22%2C%22isModern%22%3Atrue%7D',
8+
),
9+
)
10+
11+
__meteor_runtime_config__.DDP_DEFAULT_CONNECTION_URL = root
12+
__meteor_runtime_config__.ROOT_URL = root
13+
14+
// Any time we update the Meteor server's scripts, we need to update this list of scripts, and increment the cacheBust value.
15+
const cacheBust = 0
16+
17+
document.write(/*html*/ `
18+
<script type="text/javascript" src="${root}/packages/core-runtime.js?hash=${cacheBust}"></script>
19+
<script type="text/javascript" src="${root}/packages/meteor.js?hash=${cacheBust}"></script>
20+
<script type="text/javascript" src="${root}/packages/modules-runtime.js?hash=${cacheBust}"></script>
21+
<script type="text/javascript" src="${root}/packages/modules.js?hash=${cacheBust}"></script>
22+
<script type="text/javascript" src="${root}/packages/react-fast-refresh.js?hash=${cacheBust}"></script>
23+
<script type="text/javascript" src="${root}/packages/ecmascript.js?hash=${cacheBust}"></script>
24+
<script type="text/javascript" src="${root}/packages/ecmascript-runtime.js?hash=${cacheBust}"></script>
25+
<script type="text/javascript" src="${root}/packages/babel-runtime.js?hash=${cacheBust}"></script>
26+
<script type="text/javascript" src="${root}/packages/modern-browsers.js?hash=${cacheBust}"></script>
27+
<script type="text/javascript" src="${root}/packages/promise.js?hash=${cacheBust}"></script>
28+
<script type="text/javascript" src="${root}/packages/fetch.js?hash=${cacheBust}"></script>
29+
<script type="text/javascript" src="${root}/packages/dynamic-import.js?hash=${cacheBust}"></script>
30+
<script type="text/javascript" src="${root}/packages/ecmascript-runtime-client.js?hash=${cacheBust}"></script>
31+
<script type="text/javascript" src="${root}/packages/webapp.js?hash=${cacheBust}"></script>
32+
<script type="text/javascript" src="${root}/packages/base64.js?hash=${cacheBust}"></script>
33+
<script type="text/javascript" src="${root}/packages/ejson.js?hash=${cacheBust}"></script>
34+
<script type="text/javascript" src="${root}/packages/check.js?hash=${cacheBust}"></script>
35+
<script type="text/javascript" src="${root}/packages/random.js?hash=${cacheBust}"></script>
36+
<script type="text/javascript" src="${root}/packages/tracker.js?hash=${cacheBust}"></script>
37+
<script type="text/javascript" src="${root}/packages/retry.js?hash=${cacheBust}"></script>
38+
<script type="text/javascript" src="${root}/packages/id-map.js?hash=${cacheBust}"></script>
39+
<script type="text/javascript" src="${root}/packages/callback-hook.js?hash=${cacheBust}"></script>
40+
<script type="text/javascript" src="${root}/packages/ddp-common.js?hash=${cacheBust}"></script>
41+
<script type="text/javascript" src="${root}/packages/reload.js?hash=${cacheBust}"></script>
42+
<script type="text/javascript" src="${root}/packages/socket-stream-client.js?hash=${cacheBust}"></script>
43+
<script type="text/javascript" src="${root}/packages/diff-sequence.js?hash=${cacheBust}"></script>
44+
<script type="text/javascript" src="${root}/packages/mongo-id.js?hash=${cacheBust}"></script>
45+
<script type="text/javascript" src="${root}/packages/ddp-client.js?hash=${cacheBust}"></script>
46+
<script type="text/javascript" src="${root}/packages/ddp.js?hash=${cacheBust}"></script>
47+
<script type="text/javascript" src="${root}/packages/mobile-experience.js?hash=${cacheBust}"></script>
48+
<script type="text/javascript" src="${root}/packages/geojson-utils.js?hash=${cacheBust}"></script>
49+
<script type="text/javascript" src="${root}/packages/ordered-dict.js?hash=${cacheBust}"></script>
50+
<script type="text/javascript" src="${root}/packages/minimongo.js?hash=${cacheBust}"></script>
51+
<script type="text/javascript" src="${root}/packages/ddp-server.js?hash=${cacheBust}"></script>
52+
<script type="text/javascript" src="${root}/packages/allow-deny.js?hash=${cacheBust}"></script>
53+
<script type="text/javascript" src="${root}/packages/babel-compiler.js?hash=${cacheBust}"></script>
54+
<script type="text/javascript" src="${root}/packages/typescript.js?hash=${cacheBust}"></script>
55+
<script type="text/javascript" src="${root}/packages/mongo-dev-server.js?hash=${cacheBust}"></script>
56+
<script type="text/javascript" src="${root}/packages/logging.js?hash=${cacheBust}"></script>
57+
<script type="text/javascript" src="${root}/packages/mongo.js?hash=${cacheBust}"></script>
58+
<script type="text/javascript" src="${root}/packages/reactive-var.js?hash=${cacheBust}"></script>
59+
<script type="text/javascript" src="${root}/packages/shell-server.js?hash=${cacheBust}"></script>
60+
<script type="text/javascript" src="${root}/packages/static-html.js?hash=${cacheBust}"></script>
61+
<script type="text/javascript" src="${root}/packages/ddp-rate-limiter.js?hash=${cacheBust}"></script>
62+
<script type="text/javascript" src="${root}/packages/localstorage.js?hash=${cacheBust}"></script>
63+
<script type="text/javascript" src="${root}/packages/url.js?hash=${cacheBust}"></script>
64+
<script type="text/javascript" src="${root}/packages/jquery.js?hash=${cacheBust}"></script>
65+
<script type="text/javascript" src="${root}/packages/observe-sequence.js?hash=${cacheBust}"></script>
66+
<script type="text/javascript" src="${root}/packages/htmljs.js?hash=${cacheBust}"></script>
67+
<script type="text/javascript" src="${root}/packages/blaze.js?hash=${cacheBust}"></script>
68+
<script type="text/javascript" src="${root}/packages/accounts-base.js?hash=${cacheBust}"></script>
69+
<script type="text/javascript" src="${root}/packages/sha.js?hash=${cacheBust}"></script>
70+
<script type="text/javascript" src="${root}/packages/accounts-password.js?hash=${cacheBust}"></script>
71+
<script type="text/javascript" src="${root}/packages/service-configuration.js?hash=${cacheBust}"></script>
72+
<script type="text/javascript" src="${root}/packages/spacebars.js?hash=${cacheBust}"></script>
73+
<script type="text/javascript" src="${root}/packages/templating-compiler.js?hash=${cacheBust}"></script>
74+
<script type="text/javascript" src="${root}/packages/templating-runtime.js?hash=${cacheBust}"></script>
75+
<script type="text/javascript" src="${root}/packages/templating.js?hash=${cacheBust}"></script>
76+
<script type="text/javascript" src="${root}/packages/reactive-dict.js?hash=${cacheBust}"></script>
77+
<script type="text/javascript" src="${root}/packages/session.js?hash=${cacheBust}"></script>
78+
<script type="text/javascript" src="${root}/packages/less.js?hash=${cacheBust}"></script>
79+
<script type="text/javascript" src="${root}/packages/accounts-ui-unstyled.js?hash=${cacheBust}"></script>
80+
<script type="text/javascript" src="${root}/packages/accounts-ui.js?hash=${cacheBust}"></script>
81+
<script type="text/javascript" src="${root}/packages/ferjep_persistent-session.js?hash=${cacheBust}"></script>
82+
<script type="text/javascript" src="${root}/packages/zodern_types.js?hash=${cacheBust}"></script>
83+
<script type="text/javascript" src="${root}/packages/launch-screen.js?hash=${cacheBust}"></script>
84+
<script type="text/javascript" src="${root}/global-imports.js?hash=${cacheBust}"></script>
85+
86+
<script type="module">
87+
import '${root}/entry.js'
88+
</script>
89+
`)
90+
}

0 commit comments

Comments
 (0)