commit aee9189dde44922593ea3cd56062d7afdf3454e5 Author: public Date: Sun Apr 24 09:24:02 2022 +0000 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5740e95 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.DS_Store +/scripts +/ops/ diff --git a/README.org b/README.org new file mode 100644 index 0000000..c4941c4 --- /dev/null +++ b/README.org @@ -0,0 +1,30 @@ +#+TITLE: tree_ru + +#+begin_src +nix develop +#+end_src +* operations +** annotate +#+begin_src sh + +# build biorg from all datums +scripts/puma -c \ + "metadir/props/datum/index.csv" \ + "bash scripts/build-biorg" \ + "ops/biorg" \ + "index.bi.org" + +# annotate events in biorg + +# break biorg to a temporary metadir +temp=$(cat ops/biorg/links/index.bi.org | bash scripts/break-biorg); +rm "ops/inbox"; +ln -s "temp" "ops/inbox"; + +# merge ../ops/inbox into the metadir +bash scripts/merge ops/inbox ./metadir; +#+end_src +** serve +#+begin_src sh +timeline-backend +#+end_src diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..be491c4 --- /dev/null +++ b/flake.lock @@ -0,0 +1,98 @@ +{ + "nodes": { + "antea": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1648675498, + "narHash": "sha256-JzaAQBDlxTtsm7hJ5d6IFsZnJ3EtFWpcOCHoWQzc+b8=", + "ref": "master", + "rev": "41d3a1fe676d70d4a86a564b1cabe3c0c3e6d14e", + "revCount": 92, + "type": "git", + "url": "https://source.fetsorn.website/fetsorn/antea" + }, + "original": { + "type": "git", + "url": "https://source.fetsorn.website/fetsorn/antea" + } + }, + "csvs": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1648708698, + "narHash": "sha256-oQNa06omqWUJ26tHATkvvR2eG6IT+TwC+FBXAi09GFw=", + "ref": "main", + "rev": "2d3272cf74a380be99d6a7a4ff837319b4a8a27b", + "revCount": 31, + "type": "git", + "url": "https://source.fetsorn.website/fetsorn/csvs" + }, + "original": { + "ref": "main", + "type": "git", + "url": "https://source.fetsorn.website/fetsorn/csvs" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1641762318, + "narHash": "sha256-QH3qz/f6wlPZMO7DBmFzgFq06QDtu+SWM70QTsYNUjY=", + "owner": "fetsorn", + "repo": "nixpkgs", + "rev": "340e124d368809dec50a3c8c7a7f51cfecc192a8", + "type": "github" + }, + "original": { + "owner": "fetsorn", + "ref": "yarn2nix-doDist", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1645937171, + "narHash": "sha256-n9f9GZBNMe8UMhcgmmaXNObkH01jjgp7INMrUgBgcy4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "22dc22f8cedc58fcb11afe1acb08e9999e78be9c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1648219316, + "narHash": "sha256-Ctij+dOi0ZZIfX5eMhgwugfvB+WZSrvVNAyAuANOsnQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "30d3d79b7d3607d56546dd2a6b49e156ba0ec634", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "antea": "antea", + "csvs": "csvs", + "nixpkgs": "nixpkgs_3" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..f373312 --- /dev/null +++ b/flake.nix @@ -0,0 +1,46 @@ +{ + description = "tree_ru"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + antea.url = "git+https://source.fetsorn.website/fetsorn/antea"; + csvs.url = "git+https://source.fetsorn.website/fetsorn/csvs?ref=main"; + }; + outputs = inputs@{ nixpkgs, ... }: + let + eachSystem = systems: f: + let + op = attrs: system: + let + ret = f system; + op = attrs: key: + let + appendSystem = key: system: ret: { system = ret.key; }; + in attrs // { + key = (attrs.key or { }) + // (appendSystem key system ret); + }; + in builtins.foldl' op attrs (builtins.attrNames ret); + in builtins.foldl' op { } systems; + defaultSystems = [ + "aarch64-linux" + "aarch64-darwin" + "i686-linux" + "x86_64-darwin" + "x86_64-linux" + ]; + in eachSystem defaultSystems (system: + let pkgs = import nixpkgs { inherit system; }; + in { + devShell = pkgs.mkShell { + buildInputs = [ + inputs.antea.packages.system.timeline-backend-local + inputs.csvs.packages.system.csvs-sh + pkgs.git-lfs + ]; + shellHook = '' + export LC_ALL=ru_RU.utf-8 + ''; + }; + }); +} diff --git a/index.ged b/index.ged new file mode 100644 index 0000000..0afcccb --- /dev/null +++ b/index.ged @@ -0,0 +1,32 @@ +0 HEAD +1 GEDC +2 VERS 5.5.5 +2 FORM LINEAGE-LINKED +3 VERS 5.5.5 +1 CHAR UTF-8 +0 @I1@ INDI +1 NAME John /Doe/ +2 GIVN John +2 SURN Doe +1 SEX M +1 FAMC @F1@ +0 @I2@ INDI +1 NAME Bob /Doe/ +2 SURN Doe +2 GIVN Bob +1 SEX M +1 _UID 1e772671-16f5-4a70-8f7b-7dedf4263dfe +1 FAMS @F1@ +0 @I3@ INDI +1 NAME Mary /Smith/ +2 SURN Smith +2 GIVN Mary +1 SEX F +1 _UID d9cfa868-8fa2-4b85-95cf-e69b61e6d4a9 +1 FAMS @F1@ +0 @F1@ FAM +1 HUSB @I2@ +1 WIFE @I3@ +1 _UID e2851bfc-e555-4689-8582-1722b84229c3 +1 CHIL @I1@ +0 TRLR diff --git a/metadir.json b/metadir.json new file mode 100644 index 0000000..1c41a38 --- /dev/null +++ b/metadir.json @@ -0,0 +1,57 @@ +{ + "datum": { + "type": "string", + "label": "DATUM" + }, + "hostdate": { + "parent": "datum", + "dir": "date", + "type": "date", + "label": "HOST_DATE" + }, + "hostname": { + "parent": "datum", + "dir": "name", + "label": "HOST_NAME" + }, + "guestdate": { + "parent": "datum", + "dir": "date", + "type": "date", + "label": "GUEST_DATE" + }, + "guestname": { + "parent": "datum", + "dir": "name", + "label": "GUEST_NAME" + }, + "tag": { + "parent": "datum", + "label": "TAG" + }, + "filepath": { + "parent": "datum", + "label": "FILE_PATH", + "type": "string" + }, + "moddate": { + "parent": "filepath", + "dir": "date", + "type": "date", + "label": "MOD_DATE" + }, + "filetype": { + "parent": "filepath", + "label": "FILE_TYPE", + "type": "string" + }, + "filesize": { + "parent": "filepath", + "label": "FILE_SIZE" + }, + "filehash": { + "parent": "filepath", + "label": "FILE_HASH", + "type": "hash" + } +} diff --git a/metadir/pairs/datum-filepath.csv b/metadir/pairs/datum-filepath.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/pairs/datum-guestdate.csv b/metadir/pairs/datum-guestdate.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/pairs/datum-guestname.csv b/metadir/pairs/datum-guestname.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/pairs/datum-hostdate.csv b/metadir/pairs/datum-hostdate.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/pairs/datum-hostname.csv b/metadir/pairs/datum-hostname.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/pairs/datum-privacy.csv b/metadir/pairs/datum-privacy.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/pairs/filepath-filehash.csv b/metadir/pairs/filepath-filehash.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/pairs/filepath-filesize.csv b/metadir/pairs/filepath-filesize.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/pairs/filepath-filetype.csv b/metadir/pairs/filepath-filetype.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/pairs/filepath-moddate.csv b/metadir/pairs/filepath-moddate.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/props/date/index.csv b/metadir/props/date/index.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/props/datum/index.csv b/metadir/props/datum/index.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/props/filepath/index.csv b/metadir/props/filepath/index.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/props/filesize/index.csv b/metadir/props/filesize/index.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/props/filetype/index.csv b/metadir/props/filetype/index.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/props/name/index.csv b/metadir/props/name/index.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/props/privacy/index.csv b/metadir/props/privacy/index.csv new file mode 100644 index 0000000..e69de29 diff --git a/metadir/props/tag/tag.org b/metadir/props/tag/tag.org new file mode 100644 index 0000000..e69de29