A resposta para a pergunta do título deste artigo é: sim. E teremos um passo a passo ensinando a criar um em NPX.
Como surgiu a ideia?
Essa ideia surgiu de um artigo do meu amigo Tierney Cyren, que é Senior Cloud Developer Advocate da Microsoft e membro do comité do Node.js Foundation. Recomendo seguir o Tierney no Twitter – de vez em quando ele posta coisas muito bacanas.
Todo crédito a ele, que criou esse projeto! Graças ao seu trabalho, vários desenvolvedores que o seguem no Twitter começaram a criar os seus próprios NPX Personal Cards. E, claro, eu criei o meu também, como podem ver no começo do artigo.
Querem aprender a criar um parecido? Vamos lá!
O que preciso para Desenvolver um Cartão Pessoal em NPX?
Recursos usados:
- Visual Studio Code
- JavaScript
- Node.js
- Npm (criar uma conta pessoal no site do npmjs.com)
Uso de pacotes:
- Boxen
- Chalk
- Standard
- Commander
É muito importante que você – antes de começar a criar seu cartão – crie uma conta pessoal no site do npmjs.com.
Criando um Cartão Pessoal
Vamos ao passo a passo. A primeira coisa que precisamos fazer é criar uma pasta do projeto de acordo com o seu nome do GitHub e digitar os seguintes comandos no prompt de comando (incluindo, claro, o seu nome):
mkdir glaucia86
cd glaucia86
npm init
mkdir bin
touch card.js
Depois que criar a estrutura do projeto, abra o prompt de comando novamente e digite o comando abaixo (dentro da pasta do projeto) para criar o arquivo package.json:
npm init
Em seguida, basta instalar os pacotes necessários para começarmos a desenvolver nosso Cartão Pessoal. Digitem os comandos abaixo:
npm install standard --save-dev
npm install chalk --save
npm install boxen --save
npm install commander --save
Ao fazer isso estaremos instalando como Dependencies, os pacotes: chalk, boxen, commander, e como DevDependencies: Standard:
(...)
"dependencies": {
"boxen": "^2.1.0",
"chalk": "^2.4.1",
"commander": "^2.19.0"
},
"devDependencies": {
"standard": "^12.0.1"
A estrutura do seu projeto deverá estar como na imagem abaixo:
#!/usr/bin/env node
// Usado para dizer ao Node.js que se trata de uma ferramenta do CLI
// Declarando os módulos:
const chalk = require('chalk')
const boxen = require('boxen')
// Definindo as opções para o ‘boxen’:
const options = {
padding: 1,
margin: 1,
borderStyle: 'round'
}
// Inclusão do Text e mais as definições do ‘chalk’:
const data = {
name: chalk.white('Glaucia Lemos /'),
handle: chalk.cyan('glaucia_lemos86'),
work: chalk.white('Software Developer at HackDev'),
twitter: chalk.cyan('https://twitter.com/glaucia_lemos86'),
github: chalk.cyan('https://github.com/glaucia86'),
linkedin: chalk.cyan('https://www.linkedin.com/in/glaucialemos/'),
web: chalk.cyan('https://code4coders.wordpress.com/'),
npx: chalk.white('npx glaucia_lemos86'),
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:')
}
// Aqui será a saída do nosso Cartão Pessoal em NPX:
const newline = '\n'
const heading = `${data.name} ${data.handle}`
const working = `${data.labelWork} ${data.work}`
const twittering = `${data.labelTwitter} ${data.twitter}`
const githubing = `${data.labelGitHub} ${data.github}`
const linkedining = `${data.labelLinkedIn} ${data.linkedin}`
const webing = `${data.labelWeb} ${data.web}`
const carding = `${data.labelCard} ${data.npx}`
// Aqui devemos colocar toda a nossa saída numa única variável para que possamos usar
// o ‘boxen de maneira efetiva:
const output = heading + newline + newline + working + newline + twittering + newline + githubing + newline + linkedining + newline + webing + newline + newline + carding
console.log(chalk.green(boxen(output, options)))
Agora executaremos o comando abaixo para verificar a versão do npm (nesse momento é muito importante possuir uma conta no site npmjs.org):
npm version major
Após verificar a versão do npm, vamos executar um outro comando:
npm adduser
E então publicaremos o nosso pacote para o site do npmjs. Para isso, basta executar o comando abaixo:
npm publish
Depois de publicar, execute o comando a seguir para visualizar o cartão criado:
npx glaucia_lemos86
Se tudo der certo, na janela do prompt aparecerá o seu Cartão Pessoal em NPX, conforme na imagem abaixo:
Simples, não é mesmo?
Se quiserem fazer de maneira colorida, assim como eu, basta acessar meu código no repositório.
Conclusão
Vocês podem criar da maneira que acharem melhor. E se quiserem dar uma olhada no código desenvolvido, acessem este link.
Caso queiram ver o meu cartão de maneira local em suas máquinas, já está liberado no npmjs. Basta digitar o seguinte comando:
npm install glaucia_lemos86
Quer contribuir ou ajudar a melhorar esse cartão? Não deixe de abrir issues no repositório, beleza?
Até a próxima, pessoal!