Compare commits

6 Commits

Author SHA1 Message Date
8f74c522d7 Merge branch 'main' into main 2025-05-21 10:58:10 -07:00
24f44ec093 make scripts and script execution nix compatible 2025-05-19 11:59:12 -07:00
adb7f61436 add missing deps 2025-05-19 11:58:02 -07:00
b18faec312 change to python3.1.2 2025-05-19 11:36:31 -07:00
7432f2e77d update build.sh for nix compat 2025-05-19 11:22:14 -07:00
de34c5922c added requirements.txt and nix flake 2025-05-19 11:10:10 -07:00
8 changed files with 85 additions and 12 deletions

27
flake.lock generated Normal file
View File

@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1747542820,
"narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

39
flake.nix Normal file
View File

@ -0,0 +1,39 @@
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
};
outputs =
{ self, nixpkgs }:
let
pkgs = nixpkgs.legacyPackages.x86_64-linux;
in
with pkgs;
{
devShells.x86_64-linux.default = mkShell {
buildInputs = with python312Packages; [
hy
(buildPythonPackage rec {
pname = "hyrule";
version = "1.0.0";
src = fetchPypi {
inherit pname version;
hash = "sha256-SZyFjXNs6thVWhKbajYelY0DoRYqrcCQcdKMNC5t6Og=";
};
propagatedBuildInputs = [
pip
wheel
hy
];
})
bleach
pyaml
requests
requests_toolbelt
validators
];
};
};
}

7
requirements.txt Normal file
View File

@ -0,0 +1,7 @@
hy>=1
hyrule>=1
bleach>=6.2.0
pyaml>=25.1.0
requests>=2.32.3
requests-toolbelt>=1
validators>=0.34.0

View File

@ -6,27 +6,27 @@
(setv (get hy-env "PATH") (+ (get hy-env "PATH") ":./www/site/scripts"))
(defn execute-bash [data]
(sub r"\$\[(.*?)\]" (fn [sequence]
(. (check-output (.group sequence 1) :shell True :executable "/bin/bash" :env hy-env) (decode) (strip)))
(defn execute-bash [data]
(sub r"\$\[(.*?)\]" (fn [sequence]
(. (check-output (.group sequence 1) :shell True :executable "bash" :env hy-env) (decode) (strip)))
data))
(defn parse-html-file [path #** kwargs]
(with [f (open path "r")]
(setv data (.read f)))
(for [[k v] (.items kwargs)]
(setv data (.replace data f"{"{"}{k}{"}"}" (str v))))
(execute-bash data))
(defn send-raw-file [path]
(setv [mime-type _] (guess-type path))
(when (not mime-type)
(setv mime-type "text/plain"))
(with [f (open path "rb")]
(setv data (.read f)))
(return #({"Content-Type" mime-type "Cache-Control" "max-age=300, stale-while-revalidate=3600"} data)))

View File

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
mkdir data
(cd src; hy build.hy)
rm -rf site/html

View File

@ -8,4 +8,4 @@
(setv env hy-env)
(setv (get env "PATH") (+ (get hy-env "PATH") ":./scripts"))
(print (sub r"\$\[(.*?)\]" (fn [sequence] (. (check-output (.group sequence 1) :shell True :executable "/bin/bash" :env env) (decode) (strip))) (with [fp (open (get argv 1) "r")] (.read fp))))
(print (sub r"\$\[(.*?)\]" (fn [sequence] (. (check-output (.group sequence 1) :shell True :executable "bash" :env env) (decode) (strip))) (with [fp (open (get argv 1) "r")] (.read fp))))

View File

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
path=$1
caption=$2

View File

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
tmpfile=$(mktemp)
timeout 0.6s nvim "$1" -c "set nonu | set nornu" -c "autocmd LspAttach * execute 'TOhtml | w! ${tmpfile} | qa!'" >/dev/null || nvim "$1" -c "set nonu | set nornu" -c "TOhtml | w! ${tmpfile} | qa!" >/dev/null