Files
termi-blog/frontend/src/lib/config/terminal.ts
limitcool 9665c933b5
Some checks failed
docker-images / resolve-build-targets (push) Successful in 7s
ui-regression / playwright-regression (push) Failing after 13m4s
docker-images / build-and-push (admin) (push) Successful in 1m17s
docker-images / build-and-push (backend) (push) Successful in 28m13s
docker-images / build-and-push (frontend) (push) Successful in 47s
docker-images / submit-indexnow (push) Successful in 13s
feat: update tag and timeline share panel copy for clarity and conciseness
style: enhance global CSS for better responsiveness of terminal chips and navigation pills

test: remove inline subscription test and add maintenance mode access code test

feat: implement media library picker dialog for selecting images from the media library

feat: add media URL controls for uploading and managing media assets

feat: add migration for music_enabled and maintenance_mode settings in site settings

feat: implement maintenance mode functionality with access control

feat: create maintenance page with access code input and error handling

chore: add TypeScript declaration for QR code module
2026-04-02 23:05:49 +08:00

168 lines
4.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export interface TerminalConfig {
defaultCategory: string;
welcomeMessage: string;
prompt: {
prefix: string;
separator: string;
path: string;
suffix: string;
mobile: string;
};
asciiArt: string;
title: string;
welcome: {
title: string;
subtitle: string;
};
navLinks: Array<{
icon: string;
text: string;
href: string;
}>;
categories: {
[key: string]: {
title: string;
description: string;
items: Array<{
command: string;
description: string;
shortDesc?: string;
url?: string;
}>;
};
};
postTypes: {
article: { color: string; label: string };
tweet: { color: string; label: string };
};
pinnedPost?: {
title: string;
description: string;
date: string;
readTime: string;
type: 'article' | 'tweet';
tags: string[];
link: string;
};
socialLinks: {
github: string;
twitter: string;
email: string;
};
tools: Array<{
icon: string;
href: string;
title: string;
}>;
search?: {
placeholders: {
default: string;
small: string;
medium: string;
};
promptText: string;
emptyResultText: string;
};
terminal?: {
defaultWindowTitle: string;
controls: {
colors: {
close: string;
minimize: string;
expand: string;
};
};
animation?: {
glowDuration: string;
};
};
branding?: {
name: string;
shortName?: string;
};
}
export const terminalConfig: TerminalConfig = {
defaultCategory: 'blog',
welcomeMessage: '欢迎来到 InitCool',
prompt: {
prefix: 'user@blog',
separator: ':',
path: '~/',
suffix: '$',
mobile: '~$'
},
asciiArt: `
I N N I TTTTT CCCC OOO OOO L
I NN N I T C O O O O L
I N N N I T C O O O O L
I N NN I T C O O O O L
I N N I T CCCC OOO OOO LLLLL`,
title: '~/blog',
welcome: {
title: '欢迎来到 InitCool',
subtitle: '记录开发实践、产品观察与长期积累,分享清晰、耐读、可回看的内容。'
},
navLinks: [
{ icon: 'fa-file-code', text: '文章', href: '/articles' },
{ icon: 'fa-folder', text: '分类', href: '/categories' },
{ icon: 'fa-tags', text: '标签', href: '/tags' },
{ icon: 'fa-stream', text: '时间轴', href: '/timeline' },
{ icon: 'fa-star', text: '评价', href: '/reviews' },
{ icon: 'fa-link', text: '友链', href: '/friends' },
{ icon: 'fa-user-secret', text: '关于', href: '/about' }
],
categories: {
blog: {
title: '博客',
description: '我的个人博客文章',
items: [
{
command: 'help',
description: '显示帮助信息',
shortDesc: '显示帮助信息'
}
]
}
},
postTypes: {
article: { color: '#00ff9d', label: '博客文章' },
tweet: { color: '#00b8ff', label: '推文' }
},
socialLinks: {
github: '',
twitter: '',
email: ''
},
tools: [
{ icon: 'fa-sitemap', href: '/sitemap.xml', title: '站点地图' },
{ icon: 'fa-rss', href: '/rss.xml', title: 'RSS订阅' }
],
search: {
placeholders: {
default: "'关键词' 文章 / 标签 / 分类",
small: "搜索...",
medium: "搜索文章..."
},
promptText: "搜索",
emptyResultText: "输入关键词搜索文章"
},
terminal: {
defaultWindowTitle: 'user@terminal: ~/blog',
controls: {
colors: {
close: '#ff5f56',
minimize: '#ffbd2e',
expand: '#27c93f'
}
},
animation: {
glowDuration: '4s'
}
},
branding: {
name: 'InitCool',
shortName: 'Termi'
}
};