@anglefeint/astro-theme 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anglefeint/astro-theme",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "type": "module",
5
5
  "description": "Anglefeint core theme package for Astro",
6
6
  "license": "MIT",
@@ -8,6 +8,7 @@
8
8
  "src/index.ts",
9
9
  "src/consts.ts",
10
10
  "src/content-schema.ts",
11
+ "src/config",
11
12
  "src/components",
12
13
  "src/layouts",
13
14
  "src/i18n",
@@ -0,0 +1,85 @@
1
+ /**
2
+ * About page content and runtime behavior configuration.
3
+ * Used by src/pages/[lang]/about.astro and public/scripts/about-effects.js.
4
+ */
5
+ export const ABOUT_CONFIG = {
6
+ metaLine: '$ profile booted | mode: builder',
7
+ sections: {
8
+ who: 'Write a short introduction about yourself, your background, and what you care about.',
9
+ what: 'Describe what you build, your core skills, and the kind of projects you want to be known for.',
10
+ ethos: [
11
+ 'Add 3-4 principles that guide how you work.',
12
+ 'Use concise lines that are easy to scan.',
13
+ 'Focus on practical values your readers can understand quickly.',
14
+ 'Keep wording personal, clear, and honest.',
15
+ ],
16
+ now: 'Share what you are currently building or learning.',
17
+ contactLead: 'Add a short collaboration note (for example: open to freelance, consulting, or full-time roles).',
18
+ signature: '> replace with your own signature',
19
+ },
20
+ contact: {
21
+ email: 'hello@example.com',
22
+ githubUrl: 'https://github.com',
23
+ githubLabel: 'GitHub',
24
+ },
25
+ sidebar: {
26
+ dlData: 'DL Data',
27
+ ai: 'AI',
28
+ decryptor: 'Decryptor',
29
+ help: 'Help',
30
+ allScripts: 'All Scripts',
31
+ },
32
+ scriptsPath: '/root/bash/scripts',
33
+ modals: {
34
+ dlData: {
35
+ title: 'Downloading...',
36
+ subtitle: 'Critical Data',
37
+ },
38
+ ai: {
39
+ title: 'AI',
40
+ lines: [
41
+ '~ $ model --status',
42
+ '',
43
+ 'inference: stable',
44
+ 'context: 8k tokens',
45
+ 'latency: < 200ms',
46
+ '',
47
+ '>> system online',
48
+ ],
49
+ },
50
+ decryptor: {
51
+ title: 'Password Decryptor',
52
+ header: 'Calculating Hashes',
53
+ keysLabel: 'keys tested',
54
+ currentPassphraseLabel: 'Current passphrase:',
55
+ masterKeyLabel: 'Master key',
56
+ transientKeyLabel: 'Transient key',
57
+ },
58
+ help: {
59
+ title: 'Help',
60
+ statsLabel: 'Stats & Achievements',
61
+ typedPrefix: 'You typed:',
62
+ typedSuffix: 'characters',
63
+ },
64
+ allScripts: {
65
+ title: '/root/bash/scripts',
66
+ },
67
+ },
68
+ effects: {
69
+ backgroundLines: [
70
+ '~ $ ls -la',
71
+ 'total 42',
72
+ 'drwxr-xr-x 12 void staff 384 Jan 12 about blog projects',
73
+ 'drwxr-xr-x 8 void staff 256 Jan 11 .config .ssh keys',
74
+ '-rw-r--r-- 1 void staff 2048 Jan 10 README.md .env.gpg',
75
+ '-rwxr-xr-x 1 void staff 512 Jan 9 deploy.sh hack',
76
+ '~ $ cat .motd',
77
+ '>> welcome to the void | access granted',
78
+ ],
79
+ scrollToasts: {
80
+ p30: 'context parsed',
81
+ p60: 'inference stable',
82
+ p90: 'output finalized',
83
+ },
84
+ },
85
+ } as const;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Central config. Re-export all config modules for convenience.
3
+ */
4
+ export * from './site';
5
+ export * from './social';
6
+ export * from './theme';
7
+ export * from './about';
@@ -0,0 +1,23 @@
1
+ import type { Locale } from '../i18n/config';
2
+
3
+ /**
4
+ * Site identity config. Override via environment variables:
5
+ * PUBLIC_SITE_URL, PUBLIC_SITE_TITLE, PUBLIC_SITE_AUTHOR, PUBLIC_SITE_DESCRIPTION, PUBLIC_SITE_TAGLINE
6
+ */
7
+ const env = import.meta.env;
8
+
9
+ export const SITE_TITLE = (env.PUBLIC_SITE_TITLE as string | undefined) ?? 'My Blog';
10
+ export const SITE_DESCRIPTION =
11
+ (env.PUBLIC_SITE_DESCRIPTION as string | undefined) ??
12
+ 'Cinematic web interfaces, AI-era engineering notes, and system architecture essays.';
13
+ export const SITE_URL = (env.PUBLIC_SITE_URL as string | undefined) ?? (env.SITE as string | undefined) ?? 'https://example.com';
14
+ export const SITE_AUTHOR = (env.PUBLIC_SITE_AUTHOR as string | undefined) ?? 'Your Name';
15
+ export const SITE_TAGLINE = (env.PUBLIC_SITE_TAGLINE as string | undefined) ?? 'Built with Astro.';
16
+
17
+ export const SITE_HERO_BY_LOCALE: Record<Locale, string> = {
18
+ en: 'Write a short introduction for your site and what readers can expect from your posts.',
19
+ ja: 'このサイトの紹介文と、読者がどんな記事を期待できるかを書いてください。',
20
+ ko: '사이트 소개와 방문자가 어떤 글을 기대할 수 있는지 간단히 작성하세요.',
21
+ es: 'Escribe una breve presentación del sitio y qué tipo de contenido encontrarán tus lectores.',
22
+ zh: '在这里写一段站点简介,并告诉读者你将发布什么类型的内容。',
23
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Social links shown in Header + Footer. Set to [] to hide.
3
+ * Replace with your own links when using as a theme.
4
+ */
5
+ export interface SocialLink {
6
+ href: string;
7
+ label: string;
8
+ /** Optional: 'mastodon' | 'twitter' | 'github' for built-in icons, or omit for text-only */
9
+ icon?: 'mastodon' | 'twitter' | 'github';
10
+ }
11
+
12
+ export const SOCIAL_LINKS: SocialLink[] = [
13
+ // Replace with your links when using as a theme.
14
+ // Keep empty to hide social icons by default.
15
+ ];
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Theme behavior config.
3
+ */
4
+ export const THEME = {
5
+ /** Posts per page on blog list */
6
+ BLOG_PAGE_SIZE: 9,
7
+ /** Number of latest posts shown on home page */
8
+ HOME_LATEST_COUNT: 3,
9
+ /** Whether to enable the About page (disable to hide from nav/routes if needed) */
10
+ ENABLE_ABOUT_PAGE: true,
11
+ } as const;