1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import { fetch } from "https://esm.town/v/std/fetch";
import { fetchText } from "https://esm.town/v/stevekrouse/fetchText?v=5";
export const ocaps_ink = async (req) => {
try {
const valvers = 200;
const [ink_js_src, story_ink, visitors_info_txt] = await Promise.all([
fetchText(
// "https://raw.githubusercontent.com/y-lohse/inkjs/master/templates/browser_serverless/ink.js",
"https://unpkg.com/inkjs@2.2.1/dist/ink-full.js",
),
fetchText(
"https://gist.githubusercontent.com/zarutian/ec15de4eb4780ae6e6c8f7ad1d2d49f6/raw/ocaps.ink",
{
cache: "no-store",
},
),
fetchText(
// "https://zarutian-ocaps_ink_visitors.express.val.run",
"https://zarutian-ocaps_ink_visitors.web.val.run/",
{
cache: "no-store",
},
),
]);
const mainForBrowser_src = (() => {
var _inkStory;
var errorHandlerForAll;
var load_save;
var localStorage;
var storyContainer;
var save;
var wipe_save;
var document;
var URL;
var window;
var isAnimationEnabled;
var showAfter;
var setTimeout;
var scrollToBottom;
var requestAnimationFrame;
var continueStory;
var inkjs;
var story_version;
var prompt;
const mainForBrowser = () => {
load_save = () => {
const save_json = localStorage.getItem("ocaps_ink_story_save");
// var save_json = null;
// const t1 = document.location.hash;
// if (t1 != "") {
// save_json = decodeURIComponent(t1);
// }
if (save_json != null) {
_inkStory.state.LoadJson(save_json);
const txtSoFar = localStorage.getItem("ocaps_ink_story_text");
// const txtSoFar = JSON.parse(save_json).txtSoFar;
if (
(txtSoFar != undefined) && (txtSoFar != "") && (txtSoFar != null)
) {
storyContainer.innerHTML = txtSoFar;
var delay = 0.0;
storyContainer.querySelectorAll("p").forEach((c) => {
showAfter(delay, c);
delay += 50.0;
});
storyContainer.querySelectorAll("p.choice").forEach((c) => {
c.parentNode.removeChild(c);
});
}
}
};
save = () => {
const save_json = _inkStory.state.ToJson();
// var save_obj = JSON.parse(ink_save_json);
// save_obj.
const txtSoFar = storyContainer.innerHTML;
// const save_json = JSON.stringify(save_obj);
document.getElementById("save_json").innerText = save_json;
document.getElementById("save_text").innerText = txtSoFar;
localStorage.setItem("ocaps_ink_story_save", save_json);
localStorage.setItem("ocaps_ink_story_text", txtSoFar);
// document.location.hash = encodeURIComponent(save_json);
};
wipe_save = () => {
localStorage.removeItem("ocaps_ink_story_save");
localStorage.removeItem("ocaps_ink_story_text");
// document.location.hash = "";
};
document.getElementById("restart").addEventListener(
"click",
(event) => {
try {
event.preventDefault();
wipe_save();
const t1 = new URL(document.location);
const t2 = t1.searchParams.get("restarts");
const t3 = (t2 == null) ? "0" : t2;
const t4 = parseInt(t3, 10) + 1;
t1.search = "?".concat(