chore(icon_packs): use builtin boxicons for client

This commit is contained in:
Elian Doran 2025-12-28 01:00:45 +02:00
parent 1efb21c627
commit 9f6c07f5cc
No known key found for this signature in database
6 changed files with 29 additions and 24 deletions

View File

@ -1,17 +1,18 @@
import appContext from "./components/app_context.js";
import utils from "./services/utils.js";
import noteTooltipService from "./services/note_tooltip.js";
import bundleService from "./services/bundle.js";
import toastService from "./services/toast.js";
import noteAutocompleteService from "./services/note_autocomplete.js";
import electronContextMenu from "./menus/electron_context_menu.js";
import glob from "./services/glob.js";
import { t } from "./services/i18n.js";
import options from "./services/options.js";
import "autocomplete.js/index_jquery.js";
import type ElectronRemote from "@electron/remote";
import type Electron from "electron";
import "boxicons/css/boxicons.min.css";
import "autocomplete.js/index_jquery.js";
import appContext from "./components/app_context.js";
import electronContextMenu from "./menus/electron_context_menu.js";
import bundleService from "./services/bundle.js";
import glob from "./services/glob.js";
import { t } from "./services/i18n.js";
import noteAutocompleteService from "./services/note_autocomplete.js";
import noteTooltipService from "./services/note_tooltip.js";
import options from "./services/options.js";
import toastService from "./services/toast.js";
import utils from "./services/utils.js";
await appContext.earlyInit();

Binary file not shown.

View File

@ -1,9 +1,9 @@
import appContext from "./components/app_context.js";
import noteAutocompleteService from "./services/note_autocomplete.js";
import glob from "./services/glob.js";
import "boxicons/css/boxicons.min.css";
import "autocomplete.js/index_jquery.js";
import appContext from "./components/app_context.js";
import glob from "./services/glob.js";
import noteAutocompleteService from "./services/note_autocomplete.js";
glob.setupGlobs();
await appContext.earlyInit();

View File

@ -17,5 +17,3 @@ declare module "*?raw" {
var content: string;
export default content;
}
declare module "boxicons/css/boxicons.min.css" { }

View File

@ -7,7 +7,7 @@ import assetPath from "../services/asset_path.js";
import attributeService from "../services/attributes.js";
import config from "../services/config.js";
import { getCurrentLocale } from "../services/i18n.js";
import { generateCss, generateIconRegistry, getIconPacks } from "../services/icon_packs.js";
import { generateCss, generateIconRegistry, getIconPacks, MIME_TO_EXTENSION_MAPPINGS } from "../services/icon_packs.js";
import log from "../services/log.js";
import optionService from "../services/options.js";
import protectedSessionService from "../services/protected_session.js";
@ -63,7 +63,9 @@ function index(req: Request, res: Response) {
baseApiUrl: 'api/',
currentLocale: getCurrentLocale(),
iconPackCss: iconPacks
.map(p => generateCss(p, `/api/attachments/${p.fontAttachmentId}/download`))
.map(p => generateCss(p, p.builtin
? `${assetPath}/fonts/${p.fontAttachmentId}.${MIME_TO_EXTENSION_MAPPINGS[p.fontMime]}`
: `api/notes/download/${p.manifestNoteId}`))
.filter(Boolean)
.join("\n\n"),
iconRegistry: generateIconRegistry(iconPacks)

View File

@ -40,16 +40,19 @@ export interface ProcessedIconPack {
fontAttachmentId: string;
title: string;
icon: string;
/** Indicates whether this icon pack is built-in (shipped with Trilium) or user-defined. */
builtin: boolean;
}
export function getIconPacks() {
const defaultIconPack: ProcessedIconPack = {
manifest: boxiconsManifest,
manifestNoteId: "builtin-boxicons-v2",
manifestNoteId: "boxicons",
fontMime: "font/woff2",
fontAttachmentId: "builtin-boxicons-v2",
fontAttachmentId: "boxicons",
title: "Boxicons",
icon: "bx bx-package"
icon: "bx bx-package",
builtin: true
};
const customIconPacks = search.searchNotes("#iconPack")
.filter(note => !note.isProtected)
@ -104,7 +107,8 @@ export function processIconPack(iconPackNote: BNote): ProcessedIconPack | undefi
fontAttachmentId: attachment.attachmentId,
title: iconPackNote.title,
manifestNoteId: iconPackNote.noteId,
icon: iconPackNote.getIcon()
icon: iconPackNote.getIcon(),
builtin: false
};
}