-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.js
executable file
·67 lines (61 loc) · 2.36 KB
/
build.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
"use strict";
// Pull in our modules
const chalk = require("chalk");
const boxen = require("boxen");
const fs = require("fs");
const path = require("path");
// Define options for Boxen
const options = {
padding: 1,
margin: 1,
borderStyle: "round"
};
// Text + chalk definitions
const data = {
name: chalk.red.bold(" Rahul Sawant"),
handle: chalk.red.bold("raalzz"),
work: chalk.green("Frontend Developer at Antstack"),
twitter: chalk.green("https://twitter.com/") + chalk.cyan("raalzz"),
npm: chalk.green("https://npmjs.com/") + chalk.cyan("raalzz"),
github: chalk.green("https://github.com/") + chalk.cyan("Raalzz"),
linkedin: chalk.green("https://linkedin.com/in/") + chalk.cyan("raalzz"),
web: chalk.cyan("https://raalzz.com"),
npx: chalk.green("npx") + " " + chalk.green.bold("@raalzz/card"),
labelWork: chalk.magenta.bold(" Work", chalk.blue.bold(":")),
labelTwitter: chalk.magenta.bold(" Twitter", chalk.blue.bold(":")),
labelnpm: chalk.magenta.bold(" npm", chalk.blue.bold(":")),
labelGitHub: chalk.magenta.bold(" GitHub", chalk.blue.bold(":")),
labelLinkedIn: chalk.magenta.bold(" LinkedIn", chalk.blue.bold(":")),
labelWeb: chalk.magenta.bold(" Web", chalk.blue.bold(":"))
// labelCard: chalk.magenta.bold(" Card", chalk.blue.bold(":"))
};
// Actual strings we're going to output
const newline = "\n";
const heading = `${data.name} / ${data.handle}`;
const working = `${data.labelWork} ${data.work}`;
const twittering = `${data.labelTwitter} ${data.twitter}`;
const npming = `${data.labelnpm} ${data.npm}`;
const githubing = `${data.labelGitHub} ${data.github}`;
const linkedining = `${data.labelLinkedIn} ${data.linkedin}`;
const webing = `${data.labelWeb} ${data.web}`;
const carding = `${data.labelCard} ${data.npx}`;
// Put all our output together into a single variable so we can use boxen effectively
const output =
heading + // data.name + data.handle
newline +
newline + // Add one whole blank line
working +
newline + // data.labelWork + data.work
twittering +
newline + // data.labelTwitter + data.twitter
npming +
newline + // data.labelnpm + data.npm
githubing +
newline + // data.labelGitHub + data.github
linkedining +
newline + // data.labelLinkedIn + data.linkedin
webing;
fs.writeFileSync(
path.join(__dirname, "bin/output"),
chalk.red(boxen(output, options))
);