From c95078ee41e92c84b0c2dccb3f742135331b629f Mon Sep 17 00:00:00 2001 From: Nicolas Mattia Date: Mon, 1 Jul 2019 16:01:33 +0200 Subject: [PATCH] Upgrade termtosvg --- default.nix | 14 ++++++------- nix/default.nix | 4 ++++ nix/sources.json | 36 ++++++++++++++++---------------- nix/termtosvg.nix | 12 ++++------- site/niv.svg | 52 +++++++++++++++++++++++++++++++++++++++-------- 5 files changed, 76 insertions(+), 42 deletions(-) diff --git a/default.nix b/default.nix index efb7a32..4e5b83c 100644 --- a/default.nix +++ b/default.nix @@ -165,17 +165,15 @@ rec #!${pkgs.stdenv.shell} set -euo pipefail export PATH=${haskellPackages.niv}/bin:${pkgs.nix}/bin:$PATH + site=$PWD/site - hash=$(${pkgs.nix}/bin/nix-hash ''${BASH_SOURCE[0]}) pushd $(mktemp -d) - (tail -f /dev/null || true) | ${pkgs.termtosvg}/bin/termtosvg \ - -g 82x26 -M 1500 -m 1500 -t window_frame \ - -c '${niv-svg-cmds}' niv.svg - ${pkgs.gnused}/bin/sed -i "0,/terminal/{s/terminal/$hash/}" niv.svg - niv_svg=$(realpath niv.svg) - popd + ${pkgs.termtosvg}/bin/termtosvg \ + -g 82x26 -M 500 -m 500 -t window_frame \ + -c '${niv-svg-cmds}' $site/niv.svg - cp $niv_svg site/niv.svg + echo done rendering + popd ''; } diff --git a/nix/default.nix b/nix/default.nix index ec122e2..61724e5 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -2,8 +2,12 @@ import sources.nixpkgs { overlays = [ (_: pkgs: + { inherit sources; } + ) + (_: pkgs: { termtosvg = pkgs.callPackage ./termtosvg.nix {}; } ) + ]; config = {}; } diff --git a/nix/sources.json b/nix/sources.json index 5889daa..e98d9d1 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -1,23 +1,25 @@ { "nixpkgs": { - "url": "https://github.com/NixOS/nixpkgs-channels/archive/8634c3b619909db7fc747faf8c03592986626e21.tar.gz", - "owner": "NixOS", "branch": "nixos-19.03", - "url_template": "https://github.com///archive/.tar.gz", - "repo": "nixpkgs-channels", - "type": "tarball", - "sha256": "0hcpy4q64vbqmlmnfcavfxilyygyzpwdsss8g3p73ikpic0j6ziq", "description": "Nixpkgs/NixOS branches that track the Nixpkgs/NixOS channels", - "rev": "8634c3b619909db7fc747faf8c03592986626e21" + "owner": "NixOS", + "repo": "nixpkgs-channels", + "rev": "8634c3b619909db7fc747faf8c03592986626e21", + "sha256": "0hcpy4q64vbqmlmnfcavfxilyygyzpwdsss8g3p73ikpic0j6ziq", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs-channels/archive/8634c3b619909db7fc747faf8c03592986626e21.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" }, - "gitignore": { - "url": "https://github.com/hercules-ci/gitignore/archive/4064e436313191f11969986e66b81cb6bb61bae6.tar.gz", - "owner": "hercules-ci", - "branch": "master", - "url_template": "https://github.com///archive/.tar.gz", - "repo": "gitignore", - "sha256": "0358wcmgmc5mx4xfr08fxra4k05zvl2qyaix4gdlm7iwcscz609a", - "description": "Nix source function for gitignore that just works", - "rev": "4064e436313191f11969986e66b81cb6bb61bae6" + "termtosvg": { + "branch": "develop", + "description": "Record terminal sessions as SVG animations", + "homepage": "https://nbedos.github.io/termtosvg/", + "owner": "nbedos", + "repo": "termtosvg", + "rev": "525330d7d3d7f55b9ed2344140b9b320552a97a4", + "sha256": "07y39kyabsz88vrf37chcb0d4s5d6knyg95xmq5787vp987f5ii0", + "type": "tarball", + "url": "https://github.com/nbedos/termtosvg/archive/525330d7d3d7f55b9ed2344140b9b320552a97a4.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" } -} \ No newline at end of file +} diff --git a/nix/termtosvg.nix b/nix/termtosvg.nix index 14618e5..a0b935f 100644 --- a/nix/termtosvg.nix +++ b/nix/termtosvg.nix @@ -1,21 +1,17 @@ -{ lib, python3Packages }: +{ sources, lib, python3Packages }: python3Packages.buildPythonApplication rec { pname = "termtosvg"; - version = "0.8.0"; + version = "0.0.0"; - src = python3Packages.fetchPypi { - inherit pname version; - sha256 = "e3a0a7bd511028c96d242525df807a23e6f22e55b111a7ee861f294a86224b0c"; - }; + src = sources.termtosvg; doCheck = false; propagatedBuildInputs = with python3Packages; [ lxml pyte ]; meta = with lib; { - homepage = https://nbedos.github.io/termtosvg/; - description = "Record terminal sessions as SVG animations"; + inherit (sources.termtosvg) homepage description; license = licenses.bsd3; maintainers = with maintainers; [ ma27 ]; }; diff --git a/site/niv.svg b/site/niv.svg index 7e18796..8d1f8ae 100644 --- a/site/niv.svg +++ b/site/niv.svg @@ -1,13 +1,10 @@ - + + - + } + + :root { + --animation-duration: 10500ms; + } + + @keyframes roll { + 0.000%{transform:translateY(0px)} +4.762%{transform:translateY(-442px)} +9.524%{transform:translateY(-884px)} +14.286%{transform:translateY(-1326px)} +19.048%{transform:translateY(-1768px)} +23.810%{transform:translateY(-2210px)} +28.571%{transform:translateY(-2652px)} +33.333%{transform:translateY(-3094px)} +38.095%{transform:translateY(-3536px)} +42.857%{transform:translateY(-3978px)} +47.619%{transform:translateY(-4420px)} +52.381%{transform:translateY(-4862px)} +57.143%{transform:translateY(-5304px)} +61.905%{transform:translateY(-5746px)} +66.667%{transform:translateY(-6188px)} +71.429%{transform:translateY(-6630px)} +76.190%{transform:translateY(-7072px)} +80.952%{transform:translateY(-7514px)} +85.714%{transform:translateY(-7956px)} +90.476%{transform:translateY(-8398px)} +100.000%{transform:translateY(-8398px)} + } + + #screen_view { + animation-duration: var(--animation-duration); + animation-iteration-count:infinite; + animation-name:roll; + animation-timing-function: steps(1,end); + animation-fill-mode: forwards; + } + ]]> \ No newline at end of file