Files
zulip/help-beta/astro.config.mjs
Shubham Padia d134c1fa01 help-beta: Pass fill property to component instead of str manipulation.
The reason we were doing string manipulation was that when using the
keyboard icon for KeyboardTip.astro, we were getting a blank spot if the
fill was not sent to currentColor. This commit instead passes the
currentColor for the imported unplugin icon directly. This commit only
addresses this specific component, any other instances of the icon color
being same as the page color still remain and this commit does not solve
that.
2025-05-16 11:05:39 -07:00

383 lines
16 KiB
JavaScript

import * as fs from "node:fs";
import starlight from "@astrojs/starlight";
import {defineConfig} 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;",
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.");
},
},
}),
],
},
integrations: [
starlight({
title: "Zulip help center",
pagination: false,
customCss: ["./src/styles/main.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: "../",
},
],
}),
],
});