mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	Fixes #31253. We've added another env variable called `SHOW_BILLING_HELP_LINKS`. This env variable is set to `settings.CORPORATE_ENABLED` if the `build-help-center` tool is used.
		
			
				
	
	
		
			399 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			399 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import * as fs from "node:fs";
 | 
						|
 | 
						|
import starlight from "@astrojs/starlight";
 | 
						|
import {defineConfig, envField} from "astro/config";
 | 
						|
import Icons from "unplugin-icons/vite";
 | 
						|
 | 
						|
// https://astro.build/config
 | 
						|
export default defineConfig({
 | 
						|
    base: "help-beta",
 | 
						|
    vite: {
 | 
						|
        plugins: [
 | 
						|
            // eslint-disable-next-line new-cap
 | 
						|
            Icons({
 | 
						|
                compiler: "astro",
 | 
						|
                // unplugin-icons sets height and width by itself.
 | 
						|
                // It was setting the height to 1024 and 960 for some
 | 
						|
                // icons. It is better to set the height explicitly.
 | 
						|
                defaultStyle:
 | 
						|
                    "display: inline; vertical-align: text-bottom; height: 1em; width: 1em; margin-bottom: 0;",
 | 
						|
                customCollections: {
 | 
						|
                    // unplugin-icons has a FileSystemIconLoader which is more
 | 
						|
                    // versatile. But it only supports one directory path for
 | 
						|
                    // a single set of icons. We should start using that loader
 | 
						|
                    // if they add support for multiple paths in the future.
 | 
						|
                    async "zulip-icon"(iconName) {
 | 
						|
                        const sharedIconsPath = `../web/shared/icons/${iconName}.svg`;
 | 
						|
                        const webOnlyIconsPath = `../web/images/icons/${iconName}.svg`;
 | 
						|
 | 
						|
                        if (fs.existsSync(sharedIconsPath)) {
 | 
						|
                            return await fs.promises.readFile(sharedIconsPath, "utf8");
 | 
						|
                        } else if (fs.existsSync(webOnlyIconsPath)) {
 | 
						|
                            return await fs.promises.readFile(webOnlyIconsPath, "utf8");
 | 
						|
                        }
 | 
						|
                        throw new Error("Zulip icon not found.");
 | 
						|
                    },
 | 
						|
                },
 | 
						|
            }),
 | 
						|
        ],
 | 
						|
    },
 | 
						|
    env: {
 | 
						|
        schema: {
 | 
						|
            SHOW_RELATIVE_LINKS: envField.boolean({
 | 
						|
                context: "client",
 | 
						|
                access: "public",
 | 
						|
                optional: true,
 | 
						|
                default: true,
 | 
						|
            }),
 | 
						|
            SHOW_BILLING_HELP_LINKS: envField.boolean({
 | 
						|
                context: "client",
 | 
						|
                access: "public",
 | 
						|
                optional: true,
 | 
						|
                default: true,
 | 
						|
            }),
 | 
						|
        },
 | 
						|
    },
 | 
						|
    integrations: [
 | 
						|
        starlight({
 | 
						|
            title: "Zulip help center",
 | 
						|
            pagination: false,
 | 
						|
            customCss: ["./src/styles/main.css", "./src/styles/steps.css"],
 | 
						|
            sidebar: [
 | 
						|
                {
 | 
						|
                    label: "Zulip homepage",
 | 
						|
                    link: "https://zulip.com",
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Help center home",
 | 
						|
                    slug: "index",
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Guides",
 | 
						|
                    items: [
 | 
						|
                        "getting-started-with-zulip",
 | 
						|
                        "trying-out-zulip",
 | 
						|
                        "zulip-cloud-or-self-hosting",
 | 
						|
                        "moving-to-zulip",
 | 
						|
                        "moderating-open-organizations",
 | 
						|
                        "setting-up-zulip-for-a-class",
 | 
						|
                        "using-zulip-for-a-class",
 | 
						|
                        "using-zulip-via-email",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Getting started",
 | 
						|
                    items: [
 | 
						|
                        "join-a-zulip-organization",
 | 
						|
                        "set-up-your-account",
 | 
						|
                        "introduction-to-topics",
 | 
						|
                        {
 | 
						|
                            label: "Starting a new topic",
 | 
						|
                            link: "/introduction-to-topics#how-to-start-a-new-topic",
 | 
						|
                        },
 | 
						|
                        "finding-a-conversation-to-read",
 | 
						|
                        "reading-conversations",
 | 
						|
                        "starting-a-new-direct-message",
 | 
						|
                        "replying-to-messages",
 | 
						|
                        "messaging-tips",
 | 
						|
                        "keyboard-shortcuts",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Setting up your organization",
 | 
						|
                    items: [
 | 
						|
                        "migrating-from-other-chat-tools",
 | 
						|
                        "create-your-organization-profile",
 | 
						|
                        "customize-organization-settings",
 | 
						|
                        "create-channels",
 | 
						|
                        "customize-settings-for-new-users",
 | 
						|
                        "invite-users-to-join",
 | 
						|
                        "create-user-groups",
 | 
						|
                        "set-up-integrations",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Account basics",
 | 
						|
                    items: [
 | 
						|
                        "edit-your-profile",
 | 
						|
                        "change-your-name",
 | 
						|
                        "change-your-email-address",
 | 
						|
                        "change-your-profile-picture",
 | 
						|
                        "change-your-password",
 | 
						|
                        "configure-email-visibility",
 | 
						|
                        "logging-in",
 | 
						|
                        "logging-out",
 | 
						|
                        "switching-between-organizations",
 | 
						|
                        "import-your-settings",
 | 
						|
                        "review-your-settings",
 | 
						|
                        "deactivate-your-account",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Preferences",
 | 
						|
                    items: [
 | 
						|
                        "dark-theme",
 | 
						|
                        "font-size",
 | 
						|
                        "change-your-language",
 | 
						|
                        "change-your-timezone",
 | 
						|
                        "change-the-time-format",
 | 
						|
                        "configure-emoticon-translations",
 | 
						|
                        "configure-home-view",
 | 
						|
                        "enable-full-width-display",
 | 
						|
                        "manage-your-uploaded-files",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Writing messages",
 | 
						|
                    items: [
 | 
						|
                        "format-your-message-using-markdown",
 | 
						|
                        "mention-a-user-or-group",
 | 
						|
                        "link-to-a-message-or-conversation",
 | 
						|
                        "format-a-quote",
 | 
						|
                        "quote-or-forward-a-message",
 | 
						|
                        "emoji-and-emoticons",
 | 
						|
                        "insert-a-link",
 | 
						|
                        "share-and-upload-files",
 | 
						|
                        "animated-gifs-from-giphy",
 | 
						|
                        "text-emphasis",
 | 
						|
                        "paragraph-and-section-formatting",
 | 
						|
                        "bulleted-lists",
 | 
						|
                        "numbered-lists",
 | 
						|
                        "tables",
 | 
						|
                        "code-blocks",
 | 
						|
                        "latex",
 | 
						|
                        "spoilers",
 | 
						|
                        "me-action-messages",
 | 
						|
                        "create-a-poll",
 | 
						|
                        "collaborative-to-do-lists",
 | 
						|
                        "global-times",
 | 
						|
                        "start-a-call",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Sending messages",
 | 
						|
                    items: [
 | 
						|
                        "open-the-compose-box",
 | 
						|
                        "mastering-the-compose-box",
 | 
						|
                        "resize-the-compose-box",
 | 
						|
                        "typing-notifications",
 | 
						|
                        "preview-your-message-before-sending",
 | 
						|
                        "verify-your-message-was-successfully-sent",
 | 
						|
                        "edit-a-message",
 | 
						|
                        "delete-a-message",
 | 
						|
                        "view-and-edit-your-message-drafts",
 | 
						|
                        "schedule-a-message",
 | 
						|
                        "message-a-channel-by-email",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Reading messages",
 | 
						|
                    items: [
 | 
						|
                        "reading-strategies",
 | 
						|
                        "inbox",
 | 
						|
                        "recent-conversations",
 | 
						|
                        "combined-feed",
 | 
						|
                        "channel-feed",
 | 
						|
                        "left-sidebar",
 | 
						|
                        "message-actions",
 | 
						|
                        "marking-messages-as-read",
 | 
						|
                        "marking-messages-as-unread",
 | 
						|
                        "configure-unread-message-counters",
 | 
						|
                        "emoji-reactions",
 | 
						|
                        "view-your-mentions",
 | 
						|
                        "star-a-message",
 | 
						|
                        "view-images-and-videos",
 | 
						|
                        "view-messages-sent-by-a-user",
 | 
						|
                        "link-to-a-message-or-conversation",
 | 
						|
                        "search-for-messages",
 | 
						|
                        "printing-messages",
 | 
						|
                        "view-the-markdown-source-of-a-message",
 | 
						|
                        "view-the-exact-time-a-message-was-sent",
 | 
						|
                        "view-a-messages-edit-history",
 | 
						|
                        "collapse-a-message",
 | 
						|
                        "read-receipts",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "People",
 | 
						|
                    items: [
 | 
						|
                        "user-list",
 | 
						|
                        "status-and-availability",
 | 
						|
                        "user-cards",
 | 
						|
                        "view-someones-profile",
 | 
						|
                        "direct-messages",
 | 
						|
                        "user-groups",
 | 
						|
                        "find-administrators",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Channels",
 | 
						|
                    items: [
 | 
						|
                        "introduction-to-channels",
 | 
						|
                        "create-a-channel",
 | 
						|
                        "pin-a-channel",
 | 
						|
                        "change-the-color-of-a-channel",
 | 
						|
                        "unsubscribe-from-a-channel",
 | 
						|
                        "manage-inactive-channels",
 | 
						|
                        "move-content-to-another-channel",
 | 
						|
                        "view-channel-subscribers",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Topics",
 | 
						|
                    items: [
 | 
						|
                        "introduction-to-topics",
 | 
						|
                        "rename-a-topic",
 | 
						|
                        "resolve-a-topic",
 | 
						|
                        "move-content-to-another-topic",
 | 
						|
                        "delete-a-topic",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Notifications",
 | 
						|
                    items: [
 | 
						|
                        "channel-notifications",
 | 
						|
                        "topic-notifications",
 | 
						|
                        "follow-a-topic",
 | 
						|
                        "dm-mention-alert-notifications",
 | 
						|
                        "mute-a-channel",
 | 
						|
                        "mute-a-topic",
 | 
						|
                        "mute-a-user",
 | 
						|
                        "email-notifications",
 | 
						|
                        "desktop-notifications",
 | 
						|
                        "mobile-notifications",
 | 
						|
                        "do-not-disturb",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Apps",
 | 
						|
                    items: [
 | 
						|
                        {
 | 
						|
                            label: "Download apps for every platform",
 | 
						|
                            link: "https://zulip.com/apps/",
 | 
						|
                        },
 | 
						|
                        "desktop-app-install-guide",
 | 
						|
                        "supported-browsers",
 | 
						|
                        "configure-how-links-open",
 | 
						|
                        "connect-through-a-proxy",
 | 
						|
                        "custom-certificates",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Zulip Administration",
 | 
						|
                    link: "#",
 | 
						|
                    attrs: {
 | 
						|
                        class: "non-clickable-sidebar-heading",
 | 
						|
                    },
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Organization basics",
 | 
						|
                    items: [
 | 
						|
                        "organization-type",
 | 
						|
                        "communities-directory",
 | 
						|
                        "import-from-mattermost",
 | 
						|
                        "import-from-slack",
 | 
						|
                        "import-from-rocketchat",
 | 
						|
                        "configure-authentication-methods",
 | 
						|
                        "saml-authentication",
 | 
						|
                        "scim",
 | 
						|
                        "export-your-organization",
 | 
						|
                        "change-organization-url",
 | 
						|
                        "deactivate-your-organization",
 | 
						|
                        "analytics",
 | 
						|
                        "linking-to-zulip",
 | 
						|
                        "gdpr-compliance",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Users",
 | 
						|
                    items: [
 | 
						|
                        "manage-permissions",
 | 
						|
                        "invite-new-users",
 | 
						|
                        "restrict-account-creation",
 | 
						|
                        "guest-users",
 | 
						|
                        "manage-a-user",
 | 
						|
                        "deactivate-or-reactivate-a-user",
 | 
						|
                        "custom-profile-fields",
 | 
						|
                        "configure-default-new-user-settings",
 | 
						|
                        "configure-organization-language",
 | 
						|
                        "manage-user-groups",
 | 
						|
                        "user-roles",
 | 
						|
                        "change-a-users-name",
 | 
						|
                        "manage-user-channel-subscriptions",
 | 
						|
                        "restrict-name-and-email-changes",
 | 
						|
                        "restrict-profile-picture-changes",
 | 
						|
                        "restrict-permissions-of-new-members",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Channel Management",
 | 
						|
                    items: [
 | 
						|
                        "create-a-channel",
 | 
						|
                        "channel-permissions",
 | 
						|
                        "public-access-option",
 | 
						|
                        "channel-posting-policy",
 | 
						|
                        "configure-who-can-create-channels",
 | 
						|
                        "configure-who-can-invite-to-channels",
 | 
						|
                        "subscribe-users-to-a-channel",
 | 
						|
                        "unsubscribe-users-from-a-channel",
 | 
						|
                        "set-default-channels-for-new-users",
 | 
						|
                        "rename-a-channel",
 | 
						|
                        "change-the-channel-description",
 | 
						|
                        "change-the-privacy-of-a-channel",
 | 
						|
                        "archive-a-channel",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Organization Settings",
 | 
						|
                    items: [
 | 
						|
                        "custom-emoji",
 | 
						|
                        "add-a-custom-linkifier",
 | 
						|
                        "require-topics",
 | 
						|
                        "restrict-direct-messages",
 | 
						|
                        "restrict-wildcard-mentions",
 | 
						|
                        "restrict-moving-messages",
 | 
						|
                        "restrict-message-editing-and-deletion",
 | 
						|
                        "image-video-and-website-previews",
 | 
						|
                        "hide-message-content-in-emails",
 | 
						|
                        "message-retention-policy",
 | 
						|
                        "digest-emails",
 | 
						|
                        "disable-welcome-emails",
 | 
						|
                        "configure-automated-notices",
 | 
						|
                        "configure-multi-language-search",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Bots & Integrations",
 | 
						|
                    items: [
 | 
						|
                        "bots-overview",
 | 
						|
                        "integrations-overview",
 | 
						|
                        "add-a-bot-or-integration",
 | 
						|
                        "generate-integration-url",
 | 
						|
                        "manage-a-bot",
 | 
						|
                        "deactivate-or-reactivate-a-bot",
 | 
						|
                        "request-an-integration",
 | 
						|
                        "restrict-bot-creation",
 | 
						|
                        "view-your-bots",
 | 
						|
                        "view-all-bots-in-your-organization",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "Support",
 | 
						|
                    items: [
 | 
						|
                        "view-zulip-version",
 | 
						|
                        "zulip-cloud-billing",
 | 
						|
                        "self-hosted-billing",
 | 
						|
                        "support-zulip-project",
 | 
						|
                        "linking-to-zulip-website",
 | 
						|
                        "contact-support",
 | 
						|
                    ],
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    label: "◀ Back to Zulip",
 | 
						|
                    link: "../",
 | 
						|
                },
 | 
						|
            ],
 | 
						|
        }),
 | 
						|
    ],
 | 
						|
});
 |