UNPKG

devpage

Version:

An static portfolio web generator

140 lines (139 loc) 4.41 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const inquirer_1 = __importDefault(require("inquirer")); async function getColors() { const color1 = await inquirer_1.default.prompt({ type: 'input', name: 'data', message: 'Theme colors: Enter the background color', default: '#05111a', }); const color2 = await inquirer_1.default.prompt({ type: 'input', name: 'data', message: 'Theme colors: Enter the secondary color', default: '#0066FF', }); return { color1: color1.data, color2: color2.data, }; } async function getUserInfo() { const user = await inquirer_1.default.prompt([{ type: 'input', name: 'username', message: 'User: Enter your username', }, { type: 'input', name: 'pfp', message: 'User: Enter the link to your profile picture', default: 'https://avatars.githubusercontent.com/daneedev' }, { type: 'input', name: 'job', message: 'User: Enter your job title', }, { type: 'input', name: 'languages', message: 'User: Enter languages that you use (comma separated)', }, { type: "input", name: "frameworks", message: 'User: Enter frameworks that you use (comma separated)', }, { type: 'input', name: 'about', message: 'User: Enter a short description about yourself', } ]); /* const job = await inquirer.prompt({ type: 'input', name: 'data', message: 'Enter your job title', })*/ return { username: user.username, job: user.job, languages: user.languages, frameworks: user.frameworks, about: user.about, pfp: user.pfp, }; } async function getUserSocials() { let moreLinks = true; let socials = []; while (moreLinks) { const social = await inquirer_1.default.prompt([{ type: 'input', name: 'name', message: 'Socials: Enter the name of the social media platform (e.g. Twitter)', }, { type: 'input', name: 'link', message: 'Socials: Enter the link to your profile', }, { type: 'confirm', name: 'more', message: 'Socials: Do you want to add more social media links?', default: true } ]); socials.push({ name: social.name, url: social.link }); moreLinks = social.more; } return socials; } async function getGitHubToken() { const token = await inquirer_1.default.prompt({ type: 'password', name: 'data', message: 'GitHub: Enter your GitHub personal token', mask: '*', }); return token.data; } async function selectRepositories(repos) { const choices = repos.map(repo => ({ name: repo.full_name, // Zobrazí název repozitáře value: repo.full_name, // Vrátí plné jméno })); const selected = await inquirer_1.default.prompt({ type: 'checkbox', name: 'selectedRepos', message: 'Select repositories to include:', choices, }); return repos.filter((repo) => selected.selectedRepos.includes(repo.full_name)); // Vrátí seznam vybraných repozitářů } async function addRepoInfo(repos) { for (const repo of repos) { const info = await inquirer_1.default.prompt([ { type: 'input', name: 'docs', message: `Enter the documentation link for the ${repo.full_name} repository`, }, { type: 'input', name: 'demo', message: `Enter the demo link for the ${repo.full_name} repository`, }, ]); repo.docs = info.docs; repo.demo = info.demo; } return repos; } exports.default = { getColors, getUserInfo, getUserSocials, getGitHubToken, selectRepositories, addRepoInfo };