From a61bb3564415afa991ccd0fad32dbfccc0861dc6 Mon Sep 17 00:00:00 2001 From: Ivan Dimitrov Date: Sun, 12 Nov 2023 19:07:31 +0200 Subject: [PATCH] initial commit --- .gitignore | 1 + bun.lockb | Bin 0 -> 29215 bytes cv.tsx | 39 +++++++++++++++++++++++++++++++ flake.lock | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ flake.nix | 38 +++++++++++++++++++++++++++++++ makefile | 13 +++++++++++ package.json | 1 + 7 files changed, 155 insertions(+) create mode 100644 .gitignore create mode 100755 bun.lockb create mode 100644 cv.tsx create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 makefile create mode 100644 package.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..a2a457d83da63f2bb778c46a25f3260da5e0c093 GIT binary patch literal 29215 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 bT-vOq{wf{TMm>P6@M0M;;@80c`~LlZUkb^V literal 0 HcmV?d00001 diff --git a/cv.tsx b/cv.tsx new file mode 100644 index 0000000..1d30565 --- /dev/null +++ b/cv.tsx @@ -0,0 +1,39 @@ +import React from 'react'; +import { Page, Text, View, Document, StyleSheet } from '@react-pdf/renderer'; +import ReactPDF from '@react-pdf/renderer'; +import fs from "fs" + +const styles = StyleSheet.create({ + page: { + flexDirection: 'row', + backgroundColor: '#E4E4E4' + }, + section: { + margin: 10, + padding: 10, + flexGrow: 1 + } +}); + +const MyDocument = () => ( + + + + Section #1 + + + Section #2 + + + +); + +const outDir = process.env.out || "./" +const pname = process.env.pname || "cv" + +if (!fs.existsSync(outDir)) { + fs.mkdirSync(outDir, { recursive: true }) +} + +ReactPDF.render(, `${outDir}/${pname}.pdf`); + diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..bd82e59 --- /dev/null +++ b/flake.lock @@ -0,0 +1,63 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": [ + "systems" + ] + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1699806023, + "narHash": "sha256-RqoU2yh61nzsfbtgjZwIrCMPwyxkUR7Eze+4hjEM6TY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "54da2986be07ad2ffbade0b3cefaf7f0c2553c88", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "systems": "systems" + } + }, + "systems": { + "locked": { + "lastModified": 1680978846, + "narHash": "sha256-Gtqg8b/v49BFDpDetjclCYXm8mAnTrUzR0JnE2nv5aw=", + "owner": "nix-systems", + "repo": "x86_64-linux", + "rev": "2ecfcac5e15790ba6ce360ceccddb15ad16d08a8", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "x86_64-linux", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..d7d6455 --- /dev/null +++ b/flake.nix @@ -0,0 +1,38 @@ +{ + description = "CV template"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs"; + systems.url = "github:nix-systems/x86_64-linux"; + flake-utils = { + url = "github:numtide/flake-utils"; + inputs.systems.follows = "systems"; + }; + }; + + outputs = { self, nixpkgs, flake-utils, systems }: + flake-utils.lib.eachDefaultSystem (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + pname = "cv"; + version = "0.0.1"; + src = ./.; + buildInputs = with pkgs; [ + ]; + nativeBuildInputs = with pkgs; [ + nodejs_20 + bun + ]; + in + { + devShells.default = pkgs.mkShell { + inherit pname buildInputs nativeBuildInputs; + }; + packages.default = pkgs.stdenv.mkDerivation { + inherit buildInputs nativeBuildInputs pname version src; + }; + + }); +} + + diff --git a/makefile b/makefile new file mode 100644 index 0000000..2751b04 --- /dev/null +++ b/makefile @@ -0,0 +1,13 @@ +main = $(pname).tsx + +default: all +all: + -bun $(main) + +clean: + rm -f $(pname) + +install: $(pname) + mkdir -p $(out)/bin + install $(pname).pdf $(out)/bin/$(pname) + diff --git a/package.json b/package.json new file mode 100644 index 0000000..a19f289 --- /dev/null +++ b/package.json @@ -0,0 +1 @@ +{ "dependencies": { "@react-pdf/renderer": "^3.1.14", "@types/node": "^20.9.0", "@types/react": "^18.2.37", "react": "^18.2.0" } } \ No newline at end of file