@4verburga/alpine-spanishplus 1.6.6
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/LICENSE +21 -0
- package/README.md +60 -0
- package/app.config.ts +45 -0
- package/app.vue +11 -0
- package/assets/main.css +20 -0
- package/components/AppFooter.vue +110 -0
- package/components/AppHeader.vue +151 -0
- package/components/AppLayout.vue +35 -0
- package/components/AppLoadingBar.vue +110 -0
- package/components/Button.vue +46 -0
- package/components/ColorModeSwitch.vue +47 -0
- package/components/DocumentDrivenNotFound.vue +49 -0
- package/components/MainNav.vue +64 -0
- package/components/SocialIcons.vue +70 -0
- package/components/content/ArticleIndexEntry.vue +122 -0
- package/components/content/ArticlesIndex.vue +70 -0
- package/components/content/ArticlesList.vue +72 -0
- package/components/content/ArticlesListItem.vue +149 -0
- package/components/content/ContactForm.vue +123 -0
- package/components/content/Gallery.vue +49 -0
- package/components/content/Hero.vue +77 -0
- package/components/data-entry/Input.vue +87 -0
- package/composables/date.ts +8 -0
- package/layouts/article.vue +131 -0
- package/layouts/default.vue +6 -0
- package/layouts/page.vue +5 -0
- package/nuxt.config.ts +90 -0
- package/nuxt.schema.ts +184 -0
- package/package.json +59 -0
- package/tokens.config.ts +51 -0
- package/types/contact.ts +7 -0
package/nuxt.schema.ts
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
export default defineNuxtSchema({
|
|
2
|
+
appConfig: {
|
|
3
|
+
/**
|
|
4
|
+
* Alpine theme configuration.
|
|
5
|
+
*
|
|
6
|
+
* @studioIcon carbon:blog
|
|
7
|
+
*/
|
|
8
|
+
alpine: {
|
|
9
|
+
/**
|
|
10
|
+
* Website title, used as header default title and meta title.
|
|
11
|
+
*
|
|
12
|
+
* @studioIcon material-symbols:title
|
|
13
|
+
*/
|
|
14
|
+
title: 'Alpine',
|
|
15
|
+
/**
|
|
16
|
+
* Website description, used for meta description.
|
|
17
|
+
*
|
|
18
|
+
* @studioIcon material-symbols:description
|
|
19
|
+
*/
|
|
20
|
+
description: 'The minimalist blog theme',
|
|
21
|
+
/**
|
|
22
|
+
* Cover image.
|
|
23
|
+
*
|
|
24
|
+
* @example '/cover.jpg'
|
|
25
|
+
*
|
|
26
|
+
* @studioIcon dashicons:cover-image
|
|
27
|
+
*/
|
|
28
|
+
image: {
|
|
29
|
+
/**
|
|
30
|
+
* @example '/cover.jpg'
|
|
31
|
+
* @studioIcon dashicons:cover-image
|
|
32
|
+
* @studioInput file
|
|
33
|
+
*/
|
|
34
|
+
src: '/social-card-preview.png',
|
|
35
|
+
alt: 'An image showcasing my project.',
|
|
36
|
+
width: 400,
|
|
37
|
+
height: 300
|
|
38
|
+
},
|
|
39
|
+
/**
|
|
40
|
+
* Header configuration.
|
|
41
|
+
*
|
|
42
|
+
* @studioIcon fluent:document-header-24-regular
|
|
43
|
+
*/
|
|
44
|
+
header: {
|
|
45
|
+
/**
|
|
46
|
+
* Header position.
|
|
47
|
+
*
|
|
48
|
+
* @type {'left'|'center'|'right'}
|
|
49
|
+
*/
|
|
50
|
+
position: 'right',
|
|
51
|
+
/**
|
|
52
|
+
* Header logo.
|
|
53
|
+
*
|
|
54
|
+
* @studioIcon dashicons:cover-image
|
|
55
|
+
*/
|
|
56
|
+
logo: {
|
|
57
|
+
/**
|
|
58
|
+
* Path of the logo.
|
|
59
|
+
*
|
|
60
|
+
* @studioIcon dashicons:cover-image
|
|
61
|
+
* @studioInput file
|
|
62
|
+
*/
|
|
63
|
+
path: '/logo.svg',
|
|
64
|
+
/**
|
|
65
|
+
* Path of the logo in dark mode.
|
|
66
|
+
*
|
|
67
|
+
* Leave it empty if you want to use the same logo.
|
|
68
|
+
*
|
|
69
|
+
* @studioIcon dashicons:cover-image
|
|
70
|
+
* @studioInput file
|
|
71
|
+
*/
|
|
72
|
+
pathDark: '/logo-dark.svg',
|
|
73
|
+
/**
|
|
74
|
+
* Alt description for the image.
|
|
75
|
+
*/
|
|
76
|
+
alt: 'Alpine theme logo'
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
/**
|
|
80
|
+
* Footer configuration.
|
|
81
|
+
*
|
|
82
|
+
* @studioIcon fluent:document-footer-24-regular
|
|
83
|
+
*/
|
|
84
|
+
footer: {
|
|
85
|
+
/**
|
|
86
|
+
* Footer credits.
|
|
87
|
+
*/
|
|
88
|
+
credits: {
|
|
89
|
+
/**
|
|
90
|
+
* Toggle the footer.
|
|
91
|
+
*/
|
|
92
|
+
enabled: true,
|
|
93
|
+
/**
|
|
94
|
+
* Text to be displayed.
|
|
95
|
+
*/
|
|
96
|
+
text: 'Alpine',
|
|
97
|
+
/**
|
|
98
|
+
* GitHub repository link.
|
|
99
|
+
*/
|
|
100
|
+
repository: 'https://www.github.com/nuxt-themes/alpine'
|
|
101
|
+
},
|
|
102
|
+
/**
|
|
103
|
+
* Toggle the navigation.
|
|
104
|
+
*/
|
|
105
|
+
navigation: true, // possible value are : true | false
|
|
106
|
+
/**
|
|
107
|
+
* Footer position.
|
|
108
|
+
*
|
|
109
|
+
* @type {'left'|'center'|'right'}
|
|
110
|
+
*/
|
|
111
|
+
alignment: 'center',
|
|
112
|
+
/**
|
|
113
|
+
* Footer message.
|
|
114
|
+
*
|
|
115
|
+
* Leave it empty to disable.
|
|
116
|
+
*/
|
|
117
|
+
message: 'Follow me on'
|
|
118
|
+
},
|
|
119
|
+
/**
|
|
120
|
+
* Icons to be added to Social Icons in footer.
|
|
121
|
+
*
|
|
122
|
+
* @studioIcon material-symbols:add-link
|
|
123
|
+
*/
|
|
124
|
+
socials: {
|
|
125
|
+
/**
|
|
126
|
+
* Twitter handle
|
|
127
|
+
* @example 'nuxt_js'
|
|
128
|
+
* @studioIcon simple-icons:twitter
|
|
129
|
+
*/
|
|
130
|
+
twitter: '',
|
|
131
|
+
/**
|
|
132
|
+
* Instagram handle
|
|
133
|
+
* @example 'wearenuxt'
|
|
134
|
+
* @studioIcon simple-icons:instagram
|
|
135
|
+
*/
|
|
136
|
+
instagram: '',
|
|
137
|
+
/**
|
|
138
|
+
* GitHub path
|
|
139
|
+
* @example 'nuxt-themes/alpine'
|
|
140
|
+
* @studioIcon simple-icons:github
|
|
141
|
+
*/
|
|
142
|
+
github: '',
|
|
143
|
+
/**
|
|
144
|
+
* GitHub path
|
|
145
|
+
* @example 'nuxt'
|
|
146
|
+
* @studioIcon simple-icons:facebook
|
|
147
|
+
*/
|
|
148
|
+
facebook: '',
|
|
149
|
+
/**
|
|
150
|
+
* Medium handle
|
|
151
|
+
* @example 'nuxt'
|
|
152
|
+
* @studioIcon simple-icons:medium
|
|
153
|
+
*/
|
|
154
|
+
medium: '',
|
|
155
|
+
/**
|
|
156
|
+
* Youtube handle
|
|
157
|
+
* @example '@nuxtlabs'
|
|
158
|
+
* @studioIcon simple-icons:youtube
|
|
159
|
+
*/
|
|
160
|
+
youtube: ''
|
|
161
|
+
},
|
|
162
|
+
/**
|
|
163
|
+
* Contact form configuration.
|
|
164
|
+
*
|
|
165
|
+
* @studioIcon ion:ios-paperplane
|
|
166
|
+
*/
|
|
167
|
+
form: {
|
|
168
|
+
/**
|
|
169
|
+
* Success message.
|
|
170
|
+
*/
|
|
171
|
+
successMessage: 'Message sent. Thank you!'
|
|
172
|
+
},
|
|
173
|
+
/**
|
|
174
|
+
* Back to top button configuration.
|
|
175
|
+
*
|
|
176
|
+
* @studioIcon material-symbols:arrow-upward
|
|
177
|
+
*/
|
|
178
|
+
backToTop: {
|
|
179
|
+
icon: 'material-symbols:arrow-upward',
|
|
180
|
+
text: 'Back to top',
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
})
|
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@4verburga/alpine-spanishplus",
|
|
3
|
+
"version": "1.6.6",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"exports": "./nuxt.config.ts",
|
|
6
|
+
"files": [
|
|
7
|
+
"assets",
|
|
8
|
+
"components",
|
|
9
|
+
"composables",
|
|
10
|
+
"layouts",
|
|
11
|
+
"types",
|
|
12
|
+
"app.config.ts",
|
|
13
|
+
"app.vue",
|
|
14
|
+
"nuxt.config.ts",
|
|
15
|
+
"nuxt.schema.ts",
|
|
16
|
+
"tokens.config.ts"
|
|
17
|
+
],
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@nuxt-themes/elements": "^0.9.5",
|
|
20
|
+
"@nuxt-themes/tokens": "^1.9.1",
|
|
21
|
+
"@nuxt-themes/typography": "^0.11.0",
|
|
22
|
+
"@nuxt/content": "^2.11.0",
|
|
23
|
+
"@nuxthq/studio": "^0.14.1",
|
|
24
|
+
"@vueuse/core": "^10.7.2",
|
|
25
|
+
"ufo": "^1.3.2"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@nuxt/eslint-config": "^0.2.0",
|
|
29
|
+
"@nuxtjs/plausible": "^0.2.4",
|
|
30
|
+
"@types/node": "^20.11.5",
|
|
31
|
+
"eslint": "^8.56.0",
|
|
32
|
+
"nuxt": "^3.9.3",
|
|
33
|
+
"release-it": "^16.3.0",
|
|
34
|
+
"typescript": "^5.3.3",
|
|
35
|
+
"vite-plugin-inspect": "^0.8.1",
|
|
36
|
+
"vue": "^3.4.15"
|
|
37
|
+
},
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"release-it": {
|
|
40
|
+
"npm": {
|
|
41
|
+
"access": "public"
|
|
42
|
+
},
|
|
43
|
+
"git": {
|
|
44
|
+
"commitMessage": "chore(release): release v${version}"
|
|
45
|
+
},
|
|
46
|
+
"github": {
|
|
47
|
+
"release": true,
|
|
48
|
+
"releaseName": "v${version}"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"scripts": {
|
|
52
|
+
"dev": "nuxi dev .starters/default",
|
|
53
|
+
"build": "nuxi build .starters/default",
|
|
54
|
+
"generate": "nuxi generate .starters/default",
|
|
55
|
+
"preview": "nuxi preview .starters/default",
|
|
56
|
+
"lint": "eslint .",
|
|
57
|
+
"release": "release-it"
|
|
58
|
+
}
|
|
59
|
+
}
|
package/tokens.config.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import theme from '@nuxt-themes/tokens/config'
|
|
2
|
+
import { defineTheme } from 'pinceau'
|
|
3
|
+
|
|
4
|
+
export default defineTheme({
|
|
5
|
+
alpine: {
|
|
6
|
+
$schema: {
|
|
7
|
+
title: 'All the configurable tokens from Alpine.',
|
|
8
|
+
tags: [
|
|
9
|
+
'@studio-icon carbon:blog'
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
body: {
|
|
13
|
+
backgroundColor: {
|
|
14
|
+
initial: '{color.white}',
|
|
15
|
+
dark: '{color.black}'
|
|
16
|
+
},
|
|
17
|
+
color: {
|
|
18
|
+
initial: '{color.gray.800}',
|
|
19
|
+
dark: '{color.gray.200}'
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
backdrop: {
|
|
23
|
+
backgroundColor: {
|
|
24
|
+
initial: '#f4f4f5b3', // TODO: rgba({color.gray.100}, 0.7)
|
|
25
|
+
dark: '#18181bb3' // TODO: rgba({color.gray.900}, 0.7)
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
readableLine: '68ch'
|
|
29
|
+
},
|
|
30
|
+
elements: {
|
|
31
|
+
container: {
|
|
32
|
+
maxWidth: '64rem',
|
|
33
|
+
padding: {
|
|
34
|
+
mobile: '{space.6}',
|
|
35
|
+
xs: '{space.8}',
|
|
36
|
+
sm: '{space.12}',
|
|
37
|
+
md: '{space.16}'
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
color: {
|
|
42
|
+
white: '#FFFFFF',
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
primary: theme.color.lightblue
|
|
45
|
+
},
|
|
46
|
+
prose: {
|
|
47
|
+
p: {
|
|
48
|
+
fontSize: '18px'
|
|
49
|
+
},
|
|
50
|
+
}
|
|
51
|
+
})
|