-
Notifications
You must be signed in to change notification settings - Fork 32
/
card.js
128 lines (119 loc) · 3.99 KB
/
card.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#!/usr/bin/env node
'use strict'
const boxen = require("boxen");
const chalk = require("chalk");
const inquirer = require("inquirer");
const clear = require("clear");
const open = require("open");
const fs = require('fs');
const request = require('request');
const path = require('path');
const ora = require('ora');
const cliSpinners = require('cli-spinners');
clear();
const prompt = inquirer.createPromptModule();
const questions = [
{
type: "list",
name: "action",
message: "What you want to do?",
choices: [
{
name: `Send me an ${chalk.green.bold("email")}?`,
value: () => {
open("mailto:hi@anmolsingh.me");
console.log("\nDone, see you soon at inbox.\n");
}
},
{
name: `Download my ${chalk.magentaBright.bold("Resume")}?`,
value: () => {
// cliSpinners.dots;
const loader = ora({
text: ' Downloading Resume',
spinner: cliSpinners.material,
}).start();
let pipe = request('https://anmolsingh.me/api/resume').pipe(fs.createWriteStream('./anmol-resume.html'));
pipe.on("finish", function () {
let downloadPath = path.join(process.cwd(), 'anmol-resume.html')
console.log(`\nResume Downloaded at ${downloadPath} \n`);
open(downloadPath)
loader.stop();
});
}
},
{
name: `Schedule a ${chalk.redBright.bold("Meeting")}?`,
value: () => {
open('https://calendly.com/anmol098/30min');
console.log("\n See you at the meeting \n");
}
},
{
name: "Just quit.",
value: () => {
console.log("Hasta la vista.\n");
}
}
]
}
];
const data = {
name: chalk.bold.green(" Anmol Pratap Singh"),
handle: chalk.white("@anmol098"),
work: `${chalk.white("Lead Software Engineer at")} ${chalk
.hex("#2b82b2")
.bold("FootLoose Labs")}`,
twitter: chalk.gray("https://twitter.com/") + chalk.cyan("misteranmol"),
github: chalk.gray("https://github.com/") + chalk.green("anmol098"),
linkedin: chalk.gray("https://linkedin.com/in/") + chalk.blue("anmol098"),
web: chalk.cyan("https://anmolsingh.me"),
npx: chalk.red("npx") + " " + chalk.white("anmol"),
labelWork: chalk.white.bold(" Work:"),
labelTwitter: chalk.white.bold(" Twitter:"),
labelGitHub: chalk.white.bold(" GitHub:"),
labelLinkedIn: chalk.white.bold(" LinkedIn:"),
labelWeb: chalk.white.bold(" Web:"),
labelCard: chalk.white.bold(" Card:")
};
const me = boxen(
[
`${data.name}`,
``,
`${data.labelWork} ${data.work}`,
``,
`${data.labelTwitter} ${data.twitter}`,
`${data.labelGitHub} ${data.github}`,
`${data.labelLinkedIn} ${data.linkedin}`,
`${data.labelWeb} ${data.web}`,
``,
`${data.labelCard} ${data.npx}`,
``,
`${chalk.italic(
"I am currently looking for new opportunities,"
)}`,
`${chalk.italic("my inbox is always open. Whether you have a")}`,
`${chalk.italic(
"question or just want to say hi, I will try "
)}`,
`${chalk.italic(
"my best to get back to you!"
)}`
].join("\n"),
{
margin: 1,
float: 'center',
padding: 1,
borderStyle: "single",
borderColor: "green"
}
);
console.log(me);
const tip = [
`Tip: Try ${chalk.cyanBright.bold(
"cmd/ctrl + click"
)} on the links above`,
'',
].join("\n");
console.log(tip);
prompt(questions).then(answer => answer.action());