Initial commit

This commit is contained in:
b12f 2024-11-18 17:41:33 +01:00
commit 054fda391e
Signed by: b12f
GPG key ID: 729956E1124F8F26
3 changed files with 128 additions and 0 deletions

43
convert.ts Normal file
View file

@ -0,0 +1,43 @@
const decoder = new TextDecoder("utf-8");
const data = await Deno.readFile("ical.ics");
const text = decoder.decode(data);
function chunk(str, size) {
const numChunks = Math.ceil(str.length / size)
const chunks = new Array(numChunks)
for (let i = 0, o = 0; i < numChunks; ++i, o += size) {
chunks[i] = str.substr(o, size)
}
return chunks
}
const lines = text
.split('\r\n')
.reduce((newics, line) => {
if (line.startsWith(' ')) {
return newics + line.replace(/^ /, '');
}
return newics + '\n' + line;
}, "")
.split('\n')
.map(line => line
.replace(/<br>/g, '\\n')
.replace(/<[^>]*>/g, '')
.replace(/&gt\\;/g, '>')
.replace(/&lt\\;/g, '<')
.replace(/&nbsp\\;/g, ' ')
.replace(/&amp\\;/g, '&')
.replace(/&quot\\;/g, '"')
)
.reduce((allLines, line) => [
...allLines,
chunk(line, 40).join('\r\n '),
], [])
.join('\r\n');
console.log(lines);

58
flake.lock Normal file
View file

@ -0,0 +1,58 @@
{
"nodes": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1717285511,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1717602782,
"narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1717284937,
"narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
}
},
"root": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

27
flake.nix Normal file
View file

@ -0,0 +1,27 @@
{
description = "pub.solar website";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
};
outputs = inputs@{ self, ... }:
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
systems = [ "x86_64-linux" "aarch64-linux" ];
perSystem = { system, pkgs, config, ... }: {
_module.args = {
inherit inputs;
pkgs = import inputs.nixpkgs { inherit system; };
};
devShells.default = let
in pkgs.mkShell {
buildInputs = with pkgs; [
deno
];
};
};
};
}