diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-12-27 16:30:11 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-27 14:30:11 +0000 |
| commit | af3010abaa37f7db4144820469422bdbb432adfc (patch) | |
| tree | 20f29ef6df2efce261d7d7964e0535beb0b51a7b /packages/shared/utils | |
| parent | 93630ce88dcb07bcdf7445185fe20612a5c22b7b (diff) | |
| download | karakeep-af3010abaa37f7db4144820469422bdbb432adfc.tar.zst | |
feat: add customizable tag styles (#2312)
* feat: add customizable tag styles
* add tag lang setting
* ui settings cleanup
* fix migration
* change look of the field
* more fixes
* fix tests
Diffstat (limited to 'packages/shared/utils')
| -rw-r--r-- | packages/shared/utils/tag.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/shared/utils/tag.ts b/packages/shared/utils/tag.ts index 8e1bd105..4dc7c696 100644 --- a/packages/shared/utils/tag.ts +++ b/packages/shared/utils/tag.ts @@ -1,6 +1,30 @@ +import type { ZTagStyle } from "../types/users"; + /** * Ensures exactly ONE leading # */ export function normalizeTagName(raw: string): string { return raw.trim().replace(/^#+/, ""); // strip every leading # } + +export type TagStyle = ZTagStyle; + +export function getTagStylePrompt(style: TagStyle): string { + switch (style) { + case "lowercase-hyphens": + return "- Use lowercase letters with hyphens between words (e.g., 'machine-learning', 'web-development')"; + case "lowercase-spaces": + return "- Use lowercase letters with spaces between words (e.g., 'machine learning', 'web development')"; + case "lowercase-underscores": + return "- Use lowercase letters with underscores between words (e.g., 'machine_learning', 'web_development')"; + case "titlecase-spaces": + return "- Use title case with spaces between words (e.g., 'Machine Learning', 'Web Development')"; + case "titlecase-hyphens": + return "- Use title case with hyphens between words (e.g., 'Machine-Learning', 'Web-Development')"; + case "camelCase": + return "- Use camelCase format (e.g., 'machineLearning', 'webDevelopment')"; + case "as-generated": + default: + return ""; + } +} |
