ritik 0.0.1
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/dist/DrawCard.js +39 -0
- package/dist/DrawCard.js.map +1 -0
- package/dist/Prompt.js +52 -0
- package/dist/Prompt.js.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/utils.js +24 -0
- package/dist/utils.js.map +1 -0
- package/package.json +49 -0
package/dist/DrawCard.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import boxen from 'boxen';
|
|
3
|
+
import { getBanner, padCenter, startCase } from './utils.js';
|
|
4
|
+
const tip = [`Tip: Try ${chalk.cyanBright.bold("cmd/ctrl + click")} on the links above`, null].join("\n");
|
|
5
|
+
const footer = [
|
|
6
|
+
"I am actively seeking new opportunities and welcome any inquiries",
|
|
7
|
+
"Please feel free to contact me for questions or casual greetings",
|
|
8
|
+
"I will make every effort to respond promptly",
|
|
9
|
+
"My inbox remains open for your correspondence.",
|
|
10
|
+
];
|
|
11
|
+
export default function DrawCard(profile) {
|
|
12
|
+
const fName = profile.personal.displayName.split(' ')[0];
|
|
13
|
+
const website = `https://${profile.personal.displayEmail.replace(/.*@/, "")}`;
|
|
14
|
+
const CardData = [
|
|
15
|
+
null,
|
|
16
|
+
chalk.bold.green(padCenter(profile.personal.displayName)),
|
|
17
|
+
chalk.blackBright(padCenter(profile.personal.currentRole)),
|
|
18
|
+
null,
|
|
19
|
+
];
|
|
20
|
+
profile.socialHandles.forEach((social) => {
|
|
21
|
+
CardData.push(getBanner(social.platform, startCase(social.platform), `${social.url}/${social.handle}`));
|
|
22
|
+
});
|
|
23
|
+
CardData.push(getBanner('website', 'Portfolio', website));
|
|
24
|
+
CardData.push(getBanner('npx', 'Npx', `npx ${fName.toLowerCase()}`));
|
|
25
|
+
CardData.push(null);
|
|
26
|
+
footer.forEach((line) => {
|
|
27
|
+
CardData.push(chalk.italic.whiteBright(padCenter(line)));
|
|
28
|
+
});
|
|
29
|
+
CardData.push(null);
|
|
30
|
+
const Card = boxen(CardData.join("\n"), {
|
|
31
|
+
margin: 1,
|
|
32
|
+
float: 'center',
|
|
33
|
+
borderStyle: "single",
|
|
34
|
+
borderColor: "green"
|
|
35
|
+
});
|
|
36
|
+
console.log(Card);
|
|
37
|
+
console.log(tip);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=DrawCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawCard.js","sourceRoot":"","sources":["../src/DrawCard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE1G,MAAM,MAAM,GAAG;IACX,mEAAmE;IACnE,kEAAkE;IAClE,8CAA8C;IAC9C,gDAAgD;CACnD,CAAA;AACD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAE,OAAO;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,MAAM,OAAO,GAAG,WAAW,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAA;IAC7E,MAAM,QAAQ,GAAG;QACb,IAAI;QACJ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzD,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI;KACP,CAAA;IACD,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACrC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC3G,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;IACzD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;IACpE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACpC,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,OAAO;KACvB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC"}
|
package/dist/Prompt.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import open from 'open';
|
|
3
|
+
import { select } from '@inquirer/prompts';
|
|
4
|
+
var PromptAction;
|
|
5
|
+
(function (PromptAction) {
|
|
6
|
+
PromptAction["EMAIL"] = "email";
|
|
7
|
+
PromptAction["RESUME"] = "resume";
|
|
8
|
+
PromptAction["MEETING"] = "meeting";
|
|
9
|
+
PromptAction["QUIT"] = "quit";
|
|
10
|
+
})(PromptAction || (PromptAction = {}));
|
|
11
|
+
const choices = [
|
|
12
|
+
{
|
|
13
|
+
name: `Send me an ${chalk.green.bold("email")}?`,
|
|
14
|
+
value: PromptAction.EMAIL,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: `Checkout my ${chalk.magentaBright.bold("Resume")}?`,
|
|
18
|
+
value: PromptAction.RESUME,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: `Schedule a ${chalk.redBright.bold("Meeting")}?`,
|
|
22
|
+
value: PromptAction.MEETING,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: "Exit.",
|
|
26
|
+
value: PromptAction.QUIT,
|
|
27
|
+
}
|
|
28
|
+
];
|
|
29
|
+
export default function Prompt(profile) {
|
|
30
|
+
const actions = {
|
|
31
|
+
[PromptAction.EMAIL]: () => {
|
|
32
|
+
open(`mailto:${profile?.personal?.displayEmail}?subject=Hi%20${profile?.personal?.displayName.split(' ')[0]}!`);
|
|
33
|
+
console.log("\nDone, Catch you in your inbox soon!\n");
|
|
34
|
+
},
|
|
35
|
+
[PromptAction.RESUME]: () => {
|
|
36
|
+
open("https://go.ritik.me/resume");
|
|
37
|
+
console.log("\nYour interest is greatly appreciated!\n");
|
|
38
|
+
},
|
|
39
|
+
[PromptAction.MEETING]: () => {
|
|
40
|
+
open('https://calendly.com/itzzritik/hello');
|
|
41
|
+
console.log("\nLooking forward to our meeting! See you there.\n");
|
|
42
|
+
},
|
|
43
|
+
[PromptAction.QUIT]: () => {
|
|
44
|
+
console.log("Hasta la vista.\n");
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
select({
|
|
48
|
+
message: "Choose an Action",
|
|
49
|
+
choices,
|
|
50
|
+
}).then(answer => actions[answer]());
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=Prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Prompt.js","sourceRoot":"","sources":["../src/Prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,IAAK,YAKJ;AALD,WAAK,YAAY;IACb,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,6BAAa,CAAA;AACjB,CAAC,EALI,YAAY,KAAZ,YAAY,QAKhB;AAED,MAAM,OAAO,GAAG;IACZ;QACI,IAAI,EAAE,cAAc,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;QAChD,KAAK,EAAE,YAAY,CAAC,KAAK;KAC5B;IACD;QACI,IAAI,EAAE,eAAe,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG;QAC1D,KAAK,EAAE,YAAY,CAAC,MAAM;KAC7B;IACD;QACI,IAAI,EAAE,cAAc,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;QACtD,KAAK,EAAE,YAAY,CAAC,OAAO;KAC9B;IACD;QACI,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,YAAY,CAAC,IAAI;KAC3B;CACJ,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAE,OAAO;IACnC,MAAM,OAAO,GAAG;QACZ,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE;YACvB,IAAI,CAAC,UAAU,OAAO,EAAE,QAAQ,EAAE,YAAY,iBAAiB,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAChH,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAC3D,CAAC;QACD,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC7D,CAAC;QACD,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE;YACzB,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QACtE,CAAC;QACD,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACrC,CAAC;KACJ,CAAC;IAEF,MAAM,CAAC;QACH,OAAO,EAAE,kBAAkB;QAC3B,OAAO;KACV,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
import DrawCard from "./DrawCard.js";
|
|
3
|
+
import Prompt from "./Prompt.js";
|
|
4
|
+
const run = async () => {
|
|
5
|
+
console.clear();
|
|
6
|
+
const profile = await axios.get('https://raw.githubusercontent.com/itzzritik/ItzzRitik/main/profile/profile.json');
|
|
7
|
+
DrawCard(profile.data);
|
|
8
|
+
Prompt(profile.data);
|
|
9
|
+
};
|
|
10
|
+
run();
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;IACnB,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAA;IAElH,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC,CAAA;AAED,GAAG,EAAE,CAAC"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
const leftPad = 22;
|
|
3
|
+
const rightPad = 52;
|
|
4
|
+
const totalPad = leftPad + rightPad + 2;
|
|
5
|
+
const bannerColor = {
|
|
6
|
+
facebook: chalk.hex("#3b5998"),
|
|
7
|
+
twitter: chalk.hex("#1DA1F2"),
|
|
8
|
+
linkedin: chalk.hex("#0077B5"),
|
|
9
|
+
github: chalk.hex("#666666"),
|
|
10
|
+
instagram: chalk.hex("#fb3958"),
|
|
11
|
+
website: chalk.hex("#f1c40f"),
|
|
12
|
+
email: chalk.hex("#f39c12"),
|
|
13
|
+
npx: chalk.hex("#cb3837"),
|
|
14
|
+
};
|
|
15
|
+
export const getBanner = (type, label, value) => {
|
|
16
|
+
return bannerColor[type]?.dim?.bgWhite?.inverse(`${label.padStart(leftPad, ' ')}: ${value.padEnd(rightPad, ' ')}`);
|
|
17
|
+
};
|
|
18
|
+
export const startCase = (string) => {
|
|
19
|
+
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
20
|
+
};
|
|
21
|
+
export const padCenter = (string, char = ' ') => {
|
|
22
|
+
return string.padStart(string.length + Math.floor((totalPad - string.length) / 2), char).padEnd(totalPad, char);
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC;AAExC,MAAM,WAAW,GAAG;IAChB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC9B,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC9B,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC5B,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC/B,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC3B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,KAAa,EAAE,EAAE;IACpE,OAAO,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;AACvH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,EAAE;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE;IAC5C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AACnH,CAAC,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ritik",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "CLI Portfolio",
|
|
6
|
+
"main": "dist/index.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"start": "node dist/index.js",
|
|
10
|
+
"dev": "ts-node --esm src/index.ts"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@inquirer/prompts": "^3.0.0",
|
|
14
|
+
"axios": "^1.4.0",
|
|
15
|
+
"boxen": "^7.1.1",
|
|
16
|
+
"chalk": "^5.3.0",
|
|
17
|
+
"open": "^9.1.0"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@types/node": "^20.4.2",
|
|
21
|
+
"ts-node": "^10.9.1",
|
|
22
|
+
"typescript": "^5.1.6"
|
|
23
|
+
},
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public",
|
|
26
|
+
"registry": "https://registry.npmjs.org/"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"dist"
|
|
30
|
+
],
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "git+https://github.com/itzzritik/npx-ritik.git"
|
|
34
|
+
},
|
|
35
|
+
"keywords": [
|
|
36
|
+
"ritik",
|
|
37
|
+
"portfolio",
|
|
38
|
+
"npx",
|
|
39
|
+
"cli"
|
|
40
|
+
],
|
|
41
|
+
"author": {
|
|
42
|
+
"name": "Ritik Srivastava"
|
|
43
|
+
},
|
|
44
|
+
"license": "ISC",
|
|
45
|
+
"bugs": {
|
|
46
|
+
"url": "https://github.com/itzzritik/npx-ritik/issues"
|
|
47
|
+
},
|
|
48
|
+
"homepage": "https://github.com/itzzritik/npx-ritik#readme"
|
|
49
|
+
}
|