-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
125 lines (115 loc) · 3.56 KB
/
index.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
#!/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 EMAIL = "[email protected]";
const TWITTER = "luiz__correia";
const LINKEDIN = "luizgcorreia";
const SITE = "https://luizcorreia.eti.br";
const GITHUB = "luizcorreia";
const TITLE = "Cloud Architect - Creative Engineer";
const COMPANY = "Smiles";
const NAME = "Luiz Correia";
const questions = [
{
type: "list",
name: "action",
message: "What you want to do?",
choices: [
{
name: `Send me an ${chalk.green.bold("email")}?`,
value: () => {
open(`mailto:${EMAIL}`);
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://luizcorreia.s3.sa-east-1.amazonaws.com/luizcorreia-en-2021.pdf"
).pipe(fs.createWriteStream("./luizcorreia-en-2021.pdf"));
pipe.on("finish", function () {
let downloadPath = path.join(
process.cwd(),
"luizcorreia-en-2021.pdf"
);
console.log(`\nResume Downloaded at ${downloadPath} \n`);
open(downloadPath);
loader.stop();
});
},
},
{
name: "Just quit.",
value: () => {
console.log("Hasta la vista.\n");
},
},
],
},
];
const data = {
name: chalk.bold.green(` ${NAME}`),
handle: chalk.white(`@${GITHUB}`),
work: `${chalk.white(`${TITLE} at`)} ${chalk.hex("#2b82b2").bold(COMPANY)}`,
twitter: chalk.gray("https://twitter.com/") + chalk.cyan(TWITTER),
github: chalk.gray("https://github.com/") + chalk.green(GITHUB),
linkedin: chalk.gray("https://linkedin.com/in/") + chalk.blue(LINKEDIN),
web: chalk.cyan(SITE),
npx: chalk.red("npx") + " " + chalk.white(GITHUB),
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());