diff options
Diffstat (limited to '')
-rw-r--r-- | picarones-elm/cover.html | 19 | ||||
-rw-r--r-- | picarones-elm/default.nix | 24 | ||||
-rw-r--r-- | picarones-elm/index.html | 21 | ||||
-rw-r--r-- | picarones-elm/slide.html | 34 | ||||
-rw-r--r-- | picarones-elm/src/Cover.elm | 2 |
5 files changed, 54 insertions, 46 deletions
diff --git a/picarones-elm/cover.html b/picarones-elm/cover.html deleted file mode 100644 index d92eba9..0000000 --- a/picarones-elm/cover.html +++ /dev/null @@ -1,19 +0,0 @@ -<!DOCTYPE HTML> -<html> -<head> - <meta charset="UTF-8"> - <title>Main</title> - <script src="Cover.js"></script> - <link rel="stylesheet" type="text/css" href="document.css" /> -</head> - -<body> - <div id="elm"></div> - <script> - var app = Elm.Cover.init({ - node: document.getElementById('elm'), - flags: "https://picarones.stuebinm.eu" - }); - </script> -</body> -</html> diff --git a/picarones-elm/default.nix b/picarones-elm/default.nix index ed71959..b5e9d9d 100644 --- a/picarones-elm/default.nix +++ b/picarones-elm/default.nix @@ -1,9 +1,10 @@ -{ nixpkgs ? <nixpkgs> -, config ? {} +{ stdenv +, elmPackages +, lib +, baseurl ? "example.org" +, serverurl ? "wss://example.org" }: -with (import nixpkgs config); - let mkDerivation = { srcs ? ./elm-srcs.nix @@ -13,13 +14,15 @@ let , targets ? [] , registryDat ? ./registry.dat , outputJavaScript ? true + , patchPhase ? "" + , ... }: stdenv.mkDerivation { - inherit name src; + inherit name src patchPhase; buildInputs = [ elmPackages.elm ]; - buildPhase = pkgs.elmPackages.fetchElmDeps { + buildPhase = elmPackages.fetchElmDeps { elmPackages = import srcs; elmVersion = "0.19.1"; inherit registryDat; @@ -32,7 +35,7 @@ let mkdir -p $out/share/doc ${lib.concatStrings (map (module: '' echo "compiling ${elmfile module}" - elm make ${elmfile module} --output $out/${module}.${extension} + elm make ${elmfile module} --optimize --output $out/${module}.${extension} '') targets)} cp *.html $out cp *.css $out @@ -41,7 +44,12 @@ let }; in mkDerivation { name = "picarones"; - + + patchPhase = '' + substituteInPlace index.html --replace "{{ baseurl }}" ${lib.escapeShellArg baseurl} + substituteInPlace slide.html --replace "{{ serverurl }}" ${lib.escapeShellArg serverurl} + ''; + srcs = ./elm-srcs.nix; src = ./.; targets = ["Main" "Cover"]; diff --git a/picarones-elm/index.html b/picarones-elm/index.html index 4fe72c7..156eb9c 100644 --- a/picarones-elm/index.html +++ b/picarones-elm/index.html @@ -3,32 +3,17 @@ <head> <meta charset="UTF-8"> <title>Main</title> - <script src="Main.js"></script> + <script src="Cover.js"></script> <link rel="stylesheet" type="text/css" href="document.css" /> </head> <body> <div id="elm"></div> <script> - let args = location.hash.split("#").slice(1); - - var app = Elm.Main.init({ + var app = Elm.Cover.init({ node: document.getElementById('elm'), - flags: [args[0], parseInt(args[1])] + flags: "{{ baseurl }}" }); - - let ws = new WebSocket("ws://localhost:9160") - - ws.onopen = () => ws.send ("{\"room\":\"testroom\"}"); - - ws.onmessage = function(msg) { - console.log(msg.data) - app.ports.recvPort.send(msg.data) - } - - app.ports.sendPort.subscribe(function(msg) { - ws.send(msg) - }) </script> </body> </html> diff --git a/picarones-elm/slide.html b/picarones-elm/slide.html new file mode 100644 index 0000000..a72fb3c --- /dev/null +++ b/picarones-elm/slide.html @@ -0,0 +1,34 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta charset="UTF-8"> + <title>Main</title> + <script src="Main.js"></script> + <link rel="stylesheet" type="text/css" href="document.css" /> +</head> + +<body> + <div id="elm"></div> + <script> + let args = location.hash.split("#").slice(1); + + var app = Elm.Main.init({ + node: document.getElementById('elm'), + flags: [args[0], parseInt(args[1])] + }); + + let ws = new WebSocket("{{ serverurl }}") + + ws.onopen = () => ws.send (JSON.stringify ({room:args[0]})); + + ws.onmessage = function(msg) { + console.log(msg.data) + app.ports.recvPort.send(msg.data) + } + + app.ports.sendPort.subscribe(function(msg) { + ws.send(msg) + }) + </script> +</body> +</html> diff --git a/picarones-elm/src/Cover.elm b/picarones-elm/src/Cover.elm index 5c9d040..fee40c0 100644 --- a/picarones-elm/src/Cover.elm +++ b/picarones-elm/src/Cover.elm @@ -56,7 +56,7 @@ mkNumberInput i = mkLink : Model -> Html Msg mkLink (p, max, baseurl) = case p of "" -> text "(none yet)" - prefix -> let link = baseurl ++ "/slide#" ++ prefix ++ "#" ++ (String.fromInt max) + prefix -> let link = baseurl ++ "/slide.html#" ++ prefix ++ "#" ++ (String.fromInt max) in a [ href link ] [ text link ] |