codercraftz 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/card.js +47 -26
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# npx codercraftz
|
|
2
|
+
|
|
3
|
+
A business card that runs in the terminal.
|
|
4
|
+
|
|
5
|
+
## What it is
|
|
6
|
+
|
|
7
|
+
When someone runs `npx codercraftz` in their terminal, they instantly see your name, role, and links — no website, no browser needed. It's a way to introduce yourself to other developers in a medium they already live in: the terminal.
|
|
8
|
+
|
|
9
|
+
## Why
|
|
10
|
+
|
|
11
|
+
Developers often share their npm username or GitHub handle. This turns that into something interactive. Instead of saying "google me", you say "run this". It's memorable, on-brand, and takes 5 seconds to experience.
|
|
12
|
+
|
|
13
|
+
## How it works
|
|
14
|
+
|
|
15
|
+
It's a tiny Node.js script published to npm. `npx` downloads and runs it on the spot — no install required. Uses `chalk` for colors and `boxen` for the bordered card layout.
|
|
16
|
+
|
|
17
|
+
## Try it
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx codercraftz
|
|
21
|
+
```
|
package/card.js
CHANGED
|
@@ -3,31 +3,52 @@
|
|
|
3
3
|
import chalk from "chalk";
|
|
4
4
|
import boxen from "boxen";
|
|
5
5
|
|
|
6
|
-
const green
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
""
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
)
|
|
6
|
+
const green = chalk.hex("#39FF14");
|
|
7
|
+
const cyan = chalk.hex("#6EE7F7");
|
|
8
|
+
const orange = chalk.hex("#F4A261").bold;
|
|
9
|
+
const dimGray = chalk.hex("#888888").dim;
|
|
10
|
+
const white = chalk.hex("#d6d6d6");
|
|
11
|
+
const sep = dimGray("::");
|
|
12
|
+
|
|
13
|
+
// Icon colors
|
|
14
|
+
const iconWork = chalk.hex("#F4A261"); // orange ⚙
|
|
15
|
+
const iconGitHub = chalk.hex("#A3E635"); // lime ★
|
|
16
|
+
const iconX = chalk.hex("#FFFFFF"); // white ✦
|
|
17
|
+
const iconYouTube = chalk.hex("#FF4444"); // red ▶
|
|
18
|
+
const iconEmail = chalk.hex("#C084FC"); // purple ✉
|
|
19
|
+
const iconWeb = chalk.hex("#38BDF8"); // sky ⌂
|
|
20
|
+
|
|
21
|
+
const divider = dimGray("─".repeat(58));
|
|
22
|
+
|
|
23
|
+
const row = (icon, label, value) => {
|
|
24
|
+
const paddedLabel = cyan(label.padEnd(8));
|
|
25
|
+
return ` ${icon} ${paddedLabel} ${sep} ${white(value)}`;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const body = [
|
|
29
|
+
` ${divider}`,
|
|
30
|
+
"",
|
|
31
|
+
row(iconWork("⚙"), "Work", "Software Engineer & Content Creator"),
|
|
32
|
+
row(iconGitHub("★"), "GitHub", "github.com/codercraftz"),
|
|
33
|
+
row(iconX("✦"), "X", "x.com/codercraftz"),
|
|
34
|
+
row(iconYouTube("▶"), "YouTube", "youtube.com/@codercraftz"),
|
|
35
|
+
row(iconEmail("✉"), "Email", "aibek@codercraftz.com"),
|
|
36
|
+
row(iconWeb("⌂"), "Web", "codercraftz.com"),
|
|
37
|
+
"",
|
|
38
|
+
` ${divider}`,
|
|
39
|
+
"",
|
|
40
|
+
` ${dimGray(">")} Run ${green("npx")} ${white.bold("codercraftz")} anytime to see this card`,
|
|
41
|
+
].join("\n");
|
|
42
|
+
|
|
43
|
+
const title = ` ${orange("{Aibek Jumabek}")} ${cyan("</codercraftz>")} `;
|
|
44
|
+
|
|
45
|
+
const card = boxen(body, {
|
|
46
|
+
padding: { top: 1, bottom: 1, left: 2, right: 2 },
|
|
47
|
+
margin: 1,
|
|
48
|
+
borderStyle: "single",
|
|
49
|
+
borderColor: "#39FF14",
|
|
50
|
+
title,
|
|
51
|
+
titleAlignment: "left",
|
|
52
|
+
});
|
|
32
53
|
|
|
33
54
|
console.log(card);
|