create-berna-stencil 2.0.7 → 2.0.8
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/README.md +2 -1
- package/bin/create.js +2 -2
- package/docs/Creating pages.md +3 -3
- package/docs/Head and SEO.md +7 -7
- package/package.json +1 -1
- package/src/frontend/404.njk +2 -1
- package/src/frontend/components/global/footer.njk +13 -12
- package/src/frontend/components/global/header.njk +0 -4
- package/src/frontend/scss/modules/_buttons.scss +10 -4
- package/src/frontend/scss/modules/_footer.scss +5 -14
- package/src/frontend/scss/modules/_global.scss +1 -1
- package/src/frontend/scss/pages/404.scss +1 -1
package/README.md
CHANGED
|
@@ -12,13 +12,14 @@ Building a website from scratch involves a lot of moving parts: templating engin
|
|
|
12
12
|
- 📁 **Scalable structure** — a clean, opinionated project layout that grows with your needs
|
|
13
13
|
- 🌍 **Open source** — free to use, free to modify, free to share
|
|
14
14
|
|
|
15
|
-

|
|
16
16
|

|
|
17
17
|

|
|
18
18
|
|
|
19
19
|
## Prerequisites
|
|
20
20
|
* **Node.js**: v18.0.0 or higher
|
|
21
21
|
* **Composer**: latest stable version
|
|
22
|
+
* #### Optional: Better Nunjucks VS Code extension by Ed Heltzel
|
|
22
23
|
|
|
23
24
|
## Installation
|
|
24
25
|
* Open your IDE (e.g. Visual Studio Code), open the folder that contains your websites and open a new terminal
|
package/bin/create.js
CHANGED
|
@@ -16,7 +16,7 @@ const COPY_TARGETS = [
|
|
|
16
16
|
|
|
17
17
|
const PROJECT_PACKAGE = {
|
|
18
18
|
name: path.basename(targetDir),
|
|
19
|
-
version: '2.0.
|
|
19
|
+
version: '2.0.8',
|
|
20
20
|
private: true,
|
|
21
21
|
scripts: {
|
|
22
22
|
"build:css": "sass src/frontend/scss:out/css --no-source-map --style=compressed --quiet --load-path=node_modules",
|
|
@@ -202,7 +202,7 @@ function applyFramework(framework) {
|
|
|
202
202
|
function askFramework() {
|
|
203
203
|
return new Promise((resolve) => {
|
|
204
204
|
const choices = [
|
|
205
|
-
{ label: 'Bootstrap', value: 'bootstrap' },
|
|
205
|
+
{ label: 'Bootstrap (default)', value: 'bootstrap' },
|
|
206
206
|
{ label: 'Bulma', value: 'bulma' },
|
|
207
207
|
{ label: 'Foundation', value: 'foundation' },
|
|
208
208
|
{ label: 'UIkit', value: 'uikit' },
|
package/docs/Creating pages.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Creating Pages
|
|
2
2
|
|
|
3
|
-
The recommended way is via the
|
|
3
|
+
The recommended way is via the **Assistant CLI**
|
|
4
4
|
|
|
5
5
|
## What gets created
|
|
6
|
-
|
|
6
|
+
+
|
|
7
7
|
For a page named `my-page`:
|
|
8
8
|
|
|
9
9
|
| File | Purpose |
|
|
@@ -41,4 +41,4 @@ The CLI creates a stub entry in `src/data/site.json`. Fill it in:
|
|
|
41
41
|
}
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
See
|
|
44
|
+
See **Head & SEO** for all available options.
|
package/docs/Head and SEO.md
CHANGED
|
@@ -59,21 +59,21 @@ To customize them, edit `src/llms.njk` or `src/robots.njk` directly.
|
|
|
59
59
|
|
|
60
60
|
`src/llms.njk` ships with a base template — **replace the placeholders with your own content**:
|
|
61
61
|
|
|
62
|
-
```
|
|
63
|
-
#
|
|
62
|
+
```
|
|
63
|
+
# {{ site.site_name }}
|
|
64
64
|
|
|
65
|
-
>
|
|
65
|
+
> {{ site.description }}
|
|
66
66
|
|
|
67
|
-
Built by
|
|
67
|
+
Built by {{ site.author }} — {{ site.url }}
|
|
68
68
|
|
|
69
69
|
## Pages
|
|
70
70
|
|
|
71
|
-
-
|
|
71
|
+
- {{ site.url }}: Homepage
|
|
72
72
|
|
|
73
73
|
## Notes
|
|
74
74
|
|
|
75
|
-
- Language:
|
|
76
|
-
- All content may be used for AI
|
|
75
|
+
- Language: {{ site.lang }}
|
|
76
|
+
- All content may be used for AI inde xing unless otherwise stated
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
> The more accurate and detailed your `llms.txt`, the better AI models will understand and reference your site.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-berna-stencil",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.8",
|
|
4
4
|
"description": "Eleventy boilerplate with per-page SCSS/JS pipeline, esbuild bundling, multi-framework CSS support and a built-in page management CLI",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "Michele Garofalo",
|
package/src/frontend/404.njk
CHANGED
|
@@ -7,10 +7,11 @@ layout: base.njk
|
|
|
7
7
|
<!-- !IMPORTANT -->
|
|
8
8
|
<!-- This is the only page that you need to modify statically -->
|
|
9
9
|
|
|
10
|
-
<div class="fade-in
|
|
10
|
+
<div class="fade-in not-found">
|
|
11
11
|
<h1>Oops! Page not found</h1>
|
|
12
12
|
<a href="/">Return to homepage</a>
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
|
+
|
|
15
16
|
{# You can also add the includes you need here below
|
|
16
17
|
{% include "component.njk" %} #}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
<footer>
|
|
2
|
-
<div class="footer-top">
|
|
3
2
|
<div>
|
|
4
3
|
<h6>{{ site.title }}</h6>
|
|
5
4
|
<p>{{ site.description }}</p>
|
|
@@ -11,16 +10,18 @@
|
|
|
11
10
|
<li><a href="/">Homepage</a></li>
|
|
12
11
|
</ul>
|
|
13
12
|
</div>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
<div>
|
|
14
|
+
© {{ site.copyright.year }} {{ site.name }} {{ site.copyright.text }}
|
|
15
|
+
</div>
|
|
16
|
+
<div>
|
|
17
|
+
<h6>Legal</h6>
|
|
18
|
+
<small>
|
|
19
|
+
<ul>
|
|
20
|
+
<li><a href="{{ site.legal.privacy }}">Privacy Policy</a></li>
|
|
21
|
+
<li><a href="{{ site.legal.cookie }}">Cookie Policy</a></li>
|
|
22
|
+
<li><a href="{{ site.legal.terms }}">Terms and conditions</a></li>
|
|
23
|
+
</ul>
|
|
24
|
+
</small>
|
|
25
|
+
</div>
|
|
25
26
|
</div>
|
|
26
27
|
</footer>
|
|
@@ -6,10 +6,6 @@
|
|
|
6
6
|
<div class="nav-links">
|
|
7
7
|
<a class="btn" href="/">Homepage</a>
|
|
8
8
|
<a class="btn" href="/example-page">Example page</a>
|
|
9
|
-
<a class="btn" href="/about-us">About-us</a>
|
|
10
|
-
</div>
|
|
11
|
-
<div class="nav-links">
|
|
12
|
-
<a class="btn" href="/contact-us">Contact us</a>
|
|
13
9
|
</div>
|
|
14
10
|
</nav>
|
|
15
11
|
</header>
|
|
@@ -10,8 +10,14 @@
|
|
|
10
10
|
border-radius: 12px;
|
|
11
11
|
padding: 8px 20px;
|
|
12
12
|
transition: background 0.2s, color 0.2s;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
|
|
14
|
+
&:hover {
|
|
15
|
+
background: #42b883;
|
|
16
|
+
color: #353535;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&:active {
|
|
20
|
+
background: #42b883 !important;
|
|
21
|
+
color: #353535 !important;
|
|
22
|
+
}
|
|
17
23
|
}
|
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
@use 'root' as root;
|
|
6
6
|
|
|
7
7
|
footer {
|
|
8
|
+
display: flex;
|
|
9
|
+
justify-content: space-around;
|
|
8
10
|
width: 100%;
|
|
9
11
|
padding: root.$header-padding-y root.$header-padding-x;
|
|
10
12
|
background-color: #2e7253;
|
|
11
|
-
|
|
13
|
+
|
|
12
14
|
h6 {
|
|
13
15
|
margin-bottom: 0.75rem;
|
|
14
16
|
}
|
|
@@ -23,19 +25,8 @@ footer {
|
|
|
23
25
|
margin: 1rem 0;
|
|
24
26
|
}
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
small {
|
|
27
29
|
display: flex;
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.footer-bottom {
|
|
32
|
-
display: flex;
|
|
33
|
-
justify-content: space-between;
|
|
34
|
-
align-items: center;
|
|
35
|
-
|
|
36
|
-
small {
|
|
37
|
-
display: flex;
|
|
38
|
-
gap: 1rem;
|
|
39
|
-
}
|
|
30
|
+
gap: 1rem;
|
|
40
31
|
}
|
|
41
32
|
}
|