tangled
alpha
login
or
join now
gm112.bsky.social
/
org.neocities.gm112
0
fork
atom
Code for https://gm112.neocities.org/
gm112.neocities.org/
0
fork
atom
overview
issues
4
pulls
pipelines
chore: clean up styles for header links
gm112.bsky.social
3 weeks ago
4ab0cd7b
78bdd6fe
1/1
deploy.yaml
success
43s
+161
-127
3 changed files
expand all
collapse all
unified
split
app
app.config.ts
pages
about.vue
layers
00.base
nuxt.config.ts
+158
app/app.config.ts
···
1
1
+
export default defineAppConfig({
2
2
+
ui: {
3
3
+
colors: {
4
4
+
primary: 'blue',
5
5
+
neutral: 'neutral',
6
6
+
red: 'red',
7
7
+
},
8
8
+
header: {
9
9
+
slots: {
10
10
+
root: 'border-0',
11
11
+
title: 'text-alttp-white hover:no-underline hover:text-muted font-normal',
12
12
+
},
13
13
+
},
14
14
+
main: {
15
15
+
base: 'flex',
16
16
+
},
17
17
+
link: {
18
18
+
variants: {
19
19
+
active: {
20
20
+
false: 'text-zelda-alttp-triforce-gold hover:text-alttp-white',
21
21
+
},
22
22
+
},
23
23
+
compoundVariants: [
24
24
+
{
25
25
+
active: false,
26
26
+
disabled: false,
27
27
+
class: ['hover:underline hover:underline-offset-1'],
28
28
+
},
29
29
+
],
30
30
+
},
31
31
+
contentToc: {
32
32
+
slots: {
33
33
+
trigger: 'text-[32px] font-normal',
34
34
+
link: 'text-base font-normal',
35
35
+
},
36
36
+
compoundVariants: [
37
37
+
{
38
38
+
color: 'primary',
39
39
+
active: true,
40
40
+
class: {
41
41
+
link: 'text-highlighted underline underline-offset-1',
42
42
+
linkLeadingIcon: 'text-highlighted',
43
43
+
},
44
44
+
},
45
45
+
],
46
46
+
},
47
47
+
48
48
+
navigationMenu: {
49
49
+
slots: {
50
50
+
link: 'text-base font-normal text-zelda-alttp-triforce-gold hover:text-zelda-alttp-triforce-gold-50',
51
51
+
childLink:
52
52
+
'text-base font-normal text-zelda-alttp-triforce-gold hover:text-zelda-alttp-triforce-gold-50',
53
53
+
linkLabel: 'whitespace-normal overflow-visible text-clip',
54
54
+
},
55
55
+
variants: {
56
56
+
color: {
57
57
+
primary: 'text-zelda-alttp-triforce-gold hover:text-zelda-alttp-triforce-gold-50',
58
58
+
},
59
59
+
active: {
60
60
+
true: {
61
61
+
link: 'font-normal text-zelda-alttp-triforce-gold hover:text-zelda-alttp-triforce-gold-50',
62
62
+
},
63
63
+
false: {
64
64
+
link: 'font-normal text-zelda-alttp-triforce-gold-50 hover:text-zelda-alttp-triforce-gold-500',
65
65
+
linkLeadingIcon: 'text-dimmed',
66
66
+
},
67
67
+
},
68
68
+
},
69
69
+
compoundVariants: [
70
70
+
{
71
71
+
color: 'primary',
72
72
+
variant: 'link',
73
73
+
active: true,
74
74
+
class: {
75
75
+
link: 'text-base font-normal text-zelda-alttp-triforce-gold hover:text-zelda-alttp-triforce-gold-50 group-data-[state=open]:text-zelda-alttp-triforce-gold',
76
76
+
},
77
77
+
},
78
78
+
{
79
79
+
color: 'primary',
80
80
+
variant: 'pill',
81
81
+
active: true,
82
82
+
class: {
83
83
+
link: 'text-base font-normal text-zelda-alttp-triforce-gold hover:text-zelda-alttp-triforce-gold-50 group-data-[state=open]:text-zelda-alttp-triforce-gold',
84
84
+
},
85
85
+
},
86
86
+
],
87
87
+
},
88
88
+
89
89
+
contentSurround: {
90
90
+
slots: {
91
91
+
link: ['border-0 hover:underline'],
92
92
+
linkLeading: [
93
93
+
'bg-inherit border-0 rounded-none hover:bg-inherit ring-0 group-hover:ring-0',
94
94
+
],
95
95
+
linkLeadingIcon: ['bg-inherit group-hover:bg-inherit link-da-flute-boi-img'],
96
96
+
linkTitle: ['alttp-text text-base font-normal'],
97
97
+
linkDescription: ['alttp-text text-base font-normal'],
98
98
+
},
99
99
+
variants: {
100
100
+
direction: {
101
101
+
left: 'text-center',
102
102
+
linkLeadingIcon: ['translate-40'],
103
103
+
},
104
104
+
},
105
105
+
},
106
106
+
prose: {
107
107
+
a: {
108
108
+
base: 'text-zelda-alttp-triforce-gold hover:text-zelda-alttp-triforce-gold-50',
109
109
+
},
110
110
+
h1: {
111
111
+
slots: {
112
112
+
base: 'text-[64px] font-normal',
113
113
+
},
114
114
+
},
115
115
+
h2: {
116
116
+
slots: {
117
117
+
base: 'text-[48px] font-normal',
118
118
+
leading: 'top-5.5',
119
119
+
},
120
120
+
},
121
121
+
h3: {
122
122
+
slots: {
123
123
+
base: 'text-[32px] font-normal',
124
124
+
leading: 'top-2 ',
125
125
+
},
126
126
+
},
127
127
+
128
128
+
pre: {
129
129
+
slots: {
130
130
+
filename: 'text-base',
131
131
+
},
132
132
+
},
133
133
+
134
134
+
code: {
135
135
+
base: 'alttp-text text-base font-normal',
136
136
+
variants: {
137
137
+
color: {
138
138
+
primary: 'text-alttp-white',
139
139
+
},
140
140
+
},
141
141
+
},
142
142
+
143
143
+
codeGroup: {
144
144
+
slots: {
145
145
+
trigger: 'text-base alttp-text',
146
146
+
triggerLabel: 'text-clip',
147
147
+
},
148
148
+
},
149
149
+
codeCollapse: {
150
150
+
slots: {
151
151
+
root: 'min-w-0',
152
152
+
trigger:
153
153
+
'text-base font-normal alttp-text *:data-[slot=label]:overflow-visible *:data-[slot=label]:whitespace-normal *:data-[slot=label]:text-clip',
154
154
+
},
155
155
+
},
156
156
+
},
157
157
+
},
158
158
+
})
+2
-2
app/pages/about.vue
···
6
6
<h2>{{ t('description') }}</h2>
7
7
</header>
8
8
<section>
9
9
-
<h1 class="text-xl font-semibold border-b mb-2">{{ t('credits.header') }}</h1>
9
9
+
<h1 class="text-[32px] border-b mb-2">{{ t('credits.header') }}</h1>
10
10
<ul class="list-disc list-inside">
11
11
<li class="mb-2">
12
12
<u-link to="https://zeldauniverse.net/media/fonts/" target="_blank">
···
21
21
</u-link>
22
22
</li>
23
23
</ul>
24
24
-
<h1 class="text-xl font-semibold border-b mb-2">
24
24
+
<h1 class="text-[32px] border-b mb-2">
25
25
{{ t('cool_stuff.header') }}
26
26
</h1>
27
27
<ul class="flex gap-2 list-none">
+1
-125
layers/00.base/nuxt.config.ts
···
1
1
import type { FileBeforeParseHook } from '@nuxt/content'
2
2
3
3
export default defineNuxtConfig({
4
4
-
appConfig: {
5
5
-
ui: {
6
6
-
colors: {
7
7
-
primary: 'blue',
8
8
-
neutral: 'neutral',
9
9
-
red: 'red',
10
10
-
},
11
11
-
header: {
12
12
-
slots: {
13
13
-
root: 'border-0',
14
14
-
title: 'text-alttp-white hover:no-underline hover:text-muted font-normal',
15
15
-
},
16
16
-
},
17
17
-
main: {
18
18
-
base: 'flex',
19
19
-
},
20
20
-
link: {
21
21
-
variants: {
22
22
-
active: {
23
23
-
false: 'text-zelda-alttp-triforce-gold hover:text-alttp-white',
24
24
-
},
25
25
-
},
26
26
-
compoundVariants: [
27
27
-
{
28
28
-
active: false,
29
29
-
disabled: false,
30
30
-
class: ['hover:underline hover:underline-offset-1'],
31
31
-
},
32
32
-
],
33
33
-
},
34
34
-
contentToc: {
35
35
-
slots: {
36
36
-
trigger: 'text-[32px] font-normal',
37
37
-
link: 'text-base font-normal',
38
38
-
},
39
39
-
compoundVariants: [
40
40
-
{
41
41
-
color: 'primary',
42
42
-
active: true,
43
43
-
class: {
44
44
-
link: 'text-highlighted underline underline-offset-1',
45
45
-
linkLeadingIcon: 'text-highlighted',
46
46
-
},
47
47
-
},
48
48
-
],
49
49
-
},
50
50
-
51
51
-
navigationMenu: {
52
52
-
slots: {
53
53
-
link: 'text-base font-normal text-shadow-none',
54
54
-
childLink: 'text-base font-normal text-shadow-none',
55
55
-
linkLabel: 'text-clip',
56
56
-
},
57
57
-
},
58
58
-
59
59
-
contentSurround: {
60
60
-
slots: {
61
61
-
link: ['border-0 hover:underline'],
62
62
-
linkLeading: [
63
63
-
'bg-inherit border-0 rounded-none hover:bg-inherit ring-0 group-hover:ring-0',
64
64
-
],
65
65
-
linkLeadingIcon: ['bg-inherit group-hover:bg-inherit link-da-flute-boi-img'],
66
66
-
linkTitle: ['alttp-text text-base font-normal'],
67
67
-
linkDescription: ['alttp-text text-base font-normal'],
68
68
-
},
69
69
-
variants: {
70
70
-
direction: {
71
71
-
left: 'text-center',
72
72
-
linkLeadingIcon: ['translate-40'],
73
73
-
},
74
74
-
},
75
75
-
},
76
76
-
prose: {
77
77
-
a: {
78
78
-
base: 'text-zelda-alttp-triforce-gold hover:text-zelda-alttp-triforce-gold-50',
79
79
-
},
80
80
-
h1: {
81
81
-
slots: {
82
82
-
base: 'text-[64px] font-normal',
83
83
-
},
84
84
-
},
85
85
-
h2: {
86
86
-
slots: {
87
87
-
base: 'text-[48px] font-normal',
88
88
-
leading: 'top-5.5',
89
89
-
},
90
90
-
},
91
91
-
h3: {
92
92
-
slots: {
93
93
-
base: 'text-[32px] font-normal',
94
94
-
leading: 'top-2 ',
95
95
-
},
96
96
-
},
97
97
-
98
98
-
pre: {
99
99
-
slots: {
100
100
-
filename: 'text-base',
101
101
-
},
102
102
-
},
103
103
-
104
104
-
code: {
105
105
-
base: 'alttp-text text-base font-normal',
106
106
-
variants: {
107
107
-
color: {
108
108
-
primary: 'text-alttp-white',
109
109
-
},
110
110
-
},
111
111
-
},
112
112
-
113
113
-
codeGroup: {
114
114
-
slots: {
115
115
-
trigger: 'text-base alttp-text',
116
116
-
triggerLabel: 'text-clip',
117
117
-
},
118
118
-
},
119
119
-
codeCollapse: {
120
120
-
slots: {
121
121
-
trigger:
122
122
-
'text-base font-normal alttp-text [&>span]:text-clip [&>span]:overflow-visible',
123
123
-
},
124
124
-
},
125
125
-
},
126
126
-
},
127
127
-
},
128
4
modules: [
129
5
// '@nuxt/eslint', FIXME: May remove entirely just for oxlint usage.
130
6
'@nuxt/ui',
···
168
44
typescriptBundlerResolution: true,
169
45
},
170
46
experimental: {
171
171
-
nitroAutoImports: false,
47
47
+
nitroAutoImports: true,
172
48
appManifest: true,
173
49
asyncContext: true,
174
50
asyncEntry: true,