create-indiekit
Version:
Get started with Indiekit
99 lines (98 loc) • 2.22 kB
JavaScript
/**
* @type {import('prompts').PromptObject<string>[]} Setup prompt questions
*/
export const setupPrompts = [
{
type: "text",
name: "me",
message: "What is your website’s URL?",
validate: (value) =>
URL.canParse(value)
? true
: "Enter a valid URL, for example https://website.example",
},
{
type: "confirm",
name: "usePreset",
message: "Do you want to use a publication preset?",
},
{
type: (previous) => (previous === true ? "select" : undefined),
name: "presetPlugin",
message: "Which publication preset do you want to use?",
choices: [
{
title: "Eleventy",
value: "@indiekit/preset-eleventy",
},
{
title: "Hugo",
value: "@indiekit/preset-hugo",
},
{
title: "Jekyll",
value: "@indiekit/preset-jekyll",
},
{
title: "No preset",
value: false,
},
],
},
{
type: "select",
name: "storePlugin",
message: "Where do you want to store your content?",
choices: [
{
title: "Bitbucket",
value: "@indiekit/store-bitbucket",
},
{
title: "FTP",
value: "@indiekit/store-ftp",
},
{
title: "Gitea",
value: "@indiekit/store-gitea",
},
{
title: "GitHub",
value: "@indiekit/store-github",
},
{
title: "GitLab",
value: "@indiekit/store-gitlab",
},
{
title: "S3-compatible",
value: "@indiekit/store-s3",
},
],
},
{
type: "confirm",
name: "useSyndication",
message: "Do you want to syndicate your posts to other websites?",
},
{
type: (previous) => (previous === true ? "multiselect" : undefined),
name: "syndicatorPlugins",
message: "Which websites do you want to syndicate your posts to?",
choices: [
{
title: "Bluesky",
value: "@indiekit/syndicator-bluesky",
},
{
title: "Mastodon",
value: "@indiekit/syndicator-mastodon",
},
],
},
{
type: "confirm",
name: "useDocker",
message: "Do you want to deploy your server using Docker?",
},
];