trmnl_preview 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/trmnlp +15 -13
- metadata +17 -301
- data/CHANGELOG.md +0 -139
- data/LICENSE.txt +0 -21
- data/README.md +0 -144
- data/bin/rake +0 -27
- data/lib/trmnlp/api_client.rb +0 -86
- data/lib/trmnlp/app.rb +0 -103
- data/lib/trmnlp/cli.rb +0 -68
- data/lib/trmnlp/commands/base.rb +0 -40
- data/lib/trmnlp/commands/build.rb +0 -21
- data/lib/trmnlp/commands/clone.rb +0 -30
- data/lib/trmnlp/commands/init.rb +0 -55
- data/lib/trmnlp/commands/login.rb +0 -27
- data/lib/trmnlp/commands/pull.rb +0 -43
- data/lib/trmnlp/commands/push.rb +0 -67
- data/lib/trmnlp/commands/serve.rb +0 -25
- data/lib/trmnlp/commands.rb +0 -1
- data/lib/trmnlp/config/app.rb +0 -47
- data/lib/trmnlp/config/plugin.rb +0 -75
- data/lib/trmnlp/config/project.rb +0 -54
- data/lib/trmnlp/config.rb +0 -15
- data/lib/trmnlp/context.rb +0 -238
- data/lib/trmnlp/paths.rb +0 -58
- data/lib/trmnlp/screen_generator.rb +0 -240
- data/lib/trmnlp/version.rb +0 -5
- data/lib/trmnlp.rb +0 -14
- data/templates/init/.trmnlp.yml +0 -14
- data/templates/init/bin/trmnlp +0 -44
- data/templates/init/src/full.liquid +0 -1
- data/templates/init/src/half_horizontal.liquid +0 -1
- data/templates/init/src/half_vertical.liquid +0 -1
- data/templates/init/src/quadrant.liquid +0 -1
- data/templates/init/src/settings.yml +0 -15
- data/templates/init/src/shared.liquid +0 -1
- data/trmnl_preview.gemspec +0 -68
- data/web/public/highlight/highlight.min.js +0 -315
- data/web/public/highlight/styles/atom-one-dark.min.css +0 -1
- data/web/public/index.css +0 -113
- data/web/public/index.js +0 -83
- data/web/public/trmnl-picker.js +0 -656
- data/web/views/index.erb +0 -68
- data/web/views/render_html.erb +0 -23
data/web/public/index.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
const trmnlp = {};
|
|
2
|
-
|
|
3
|
-
trmnlp.connectLiveRender = function () {
|
|
4
|
-
const ws = new WebSocket("/live_reload");
|
|
5
|
-
|
|
6
|
-
ws.onopen = function () {
|
|
7
|
-
console.log("Connected to live reload socket");
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
ws.onmessage = function (msg) {
|
|
11
|
-
const payload = JSON.parse(msg.data);
|
|
12
|
-
|
|
13
|
-
if (payload.type === "reload") {
|
|
14
|
-
trmnlp.fetchPreview();
|
|
15
|
-
trmnlp.userData.textContent = JSON.stringify(payload.user_data, null, 2);
|
|
16
|
-
hljs.highlightAll();
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
ws.onclose = function () {
|
|
21
|
-
console.log("Reconnecting to live reload socket...");
|
|
22
|
-
setTimeout(trmnlp.connectLiveRender, 1000);
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
trmnlp.fetchPreview = function (pickerState) {
|
|
28
|
-
const screenClasses = (pickerState?.screenClasses || trmnlp.picker.state.screenClasses).join(" ");
|
|
29
|
-
const encodedScreenClasses = encodeURIComponent(screenClasses);
|
|
30
|
-
let src = `/render/${trmnlp.view}.${trmnlp.formatSelect.value}?screen_classes=${encodedScreenClasses}`;
|
|
31
|
-
|
|
32
|
-
// If requesting a PNG, also include dimensions, dark mode, and color depth
|
|
33
|
-
if (trmnlp.formatSelect.value === 'png') {
|
|
34
|
-
const state = pickerState || trmnlp.picker.state;
|
|
35
|
-
const width = encodeURIComponent(state.width);
|
|
36
|
-
const height = encodeURIComponent(state.height);
|
|
37
|
-
const isDarkMode = state.isDarkMode ? 1 : 0;
|
|
38
|
-
|
|
39
|
-
// derive numeric color depth from classes like 'screen--1bit'
|
|
40
|
-
const grays = state.palette.grays || 2;
|
|
41
|
-
const colorDepth = Math.ceil(Math.log2(grays));
|
|
42
|
-
|
|
43
|
-
src += `&width=${width}&height=${height}&color_depth=${colorDepth}`;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
trmnlp.spinner.style.display = "inline-block";
|
|
47
|
-
trmnlp.iframe.src = src;
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
document.addEventListener("DOMContentLoaded", async function () {
|
|
51
|
-
trmnlp.view = document.querySelector("meta[name='trmnl-view']").content;
|
|
52
|
-
trmnlp.iframe = document.querySelector("iframe");
|
|
53
|
-
trmnlp.formatSelect = document.querySelector(".select-format");
|
|
54
|
-
trmnlp.userData = document.getElementById("user-data");
|
|
55
|
-
trmnlp.spinner = document.querySelector(".spinner");
|
|
56
|
-
trmnlp.isLiveReloadEnabled =
|
|
57
|
-
document.querySelector("meta[name='live-reload']").content === "true";
|
|
58
|
-
|
|
59
|
-
if (trmnlp.isLiveReloadEnabled) {
|
|
60
|
-
trmnlp.connectLiveRender();
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const formatValue = localStorage.getItem("trmnlp-format") || "html";
|
|
64
|
-
|
|
65
|
-
trmnlp.formatSelect.value = formatValue;
|
|
66
|
-
trmnlp.formatSelect.addEventListener("change", () => {
|
|
67
|
-
localStorage.setItem("trmnlp-format", trmnlp.formatSelect.value);
|
|
68
|
-
trmnlp.fetchPreview();
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
trmnlp.iframe.addEventListener("load", () => {
|
|
72
|
-
trmnlp.spinner.style.display = "none";
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
document.getElementById('picker-form').addEventListener('trmnl:change', (event) => {
|
|
76
|
-
trmnlp.iframe.style.width = `${event.detail.width}px`;
|
|
77
|
-
trmnlp.iframe.style.height = `${event.detail.height}px`;
|
|
78
|
-
|
|
79
|
-
trmnlp.fetchPreview(event.detail);
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
trmnlp.picker = await TRMNLPicker.create('picker-form', { localStorageKey: 'trmnlp-picker' });
|
|
83
|
-
});
|