jekyll-theme-zer0 1.1.0 → 1.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 61d06e485b7f208505ec171ac1d0f9b074124eb972085aaccb7a48957fe4a309
4
- data.tar.gz: 8d725ba937bb2cac46d4f30d132380f6bdd24616f7e08f851bf0b8f3b3aa5383
3
+ metadata.gz: 557e14c1256d2eb630827e7136486ff6ecbcd99f77f96b1ca2ae0909c8cbd818
4
+ data.tar.gz: 9d3dc46191a9085f004b5790110aa9ef24b030b8c830fcc6adc06ed0f3317367
5
5
  SHA512:
6
- metadata.gz: a4f72a346e3e8e1bad8affd72e8378d20669b5c937c187cbf1434c394a824ccdb2c303adf2cabd6734b24dac30216d294bb0047754d1c536c56e713ce5930287
7
- data.tar.gz: b447257158432ebd4a5c6595af8cb842ac8b420b9624f66ebfc80e5cdc395c0b3074145051babd683675c78dcf00bd911ebb4e93522d19df6c9ab202ca1dcbe5
6
+ metadata.gz: 9df47e33dbcd2696507527b20a907e081f55f94aa6ad9f1f7dfd517c80549fc87dc96ad0d10d7fa761b1a02b71507465e4c8b130ceb556db54736f1e982449aa
7
+ data.tar.gz: '039d73f1c388b0c0c1f66f212dcd6abf83a73916690baaecc1127a3c0911da5cb529f841998f68c55a0a280b8468da65bfee6e2d6ac0352d3b97def42ab15e64'
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.2.0] - 2026-04-22
4
+
5
+ ### Changed
6
+ - Version bump: minor release
7
+
8
+ ### Commits in this release
9
+ - 4bd3e36 feat(welcome): add bare-minimum 3-file remote-theme starter
10
+
11
+
3
12
  ## [1.1.0] - 2026-04-21
4
13
 
5
14
  ### Changed
@@ -12,7 +21,25 @@
12
21
 
13
22
  ## [Unreleased]
14
23
 
24
+ ### Added
25
+ - **Bare-minimum 3-file remote-theme starter.** Consumers can now publish a
26
+ fully styled site to GitHub Pages with only `_config.yml`, `Gemfile`, and
27
+ `index.md` — no installer required. The new `_layouts/welcome.html` shipped
28
+ by the theme detects unconfigured sites and renders an onboarding screen
29
+ with a hero checklist, a 3-step starter accordion, and the embedded
30
+ `_includes/setup/wizard.html` that generates a personalised `_config.yml`
31
+ on the fly. README gained a "Bare-Minimum Starter" section documenting the
32
+ pattern.
33
+ - **Smarter setup detection** in `_includes/components/setup-check.html`.
34
+ When `site_configured` is not set, the heuristic now flags a site as
35
+ unconfigured if it has no owner (`founder`/`author`/`email`) or its title
36
+ matches a known placeholder (`zer0-mistakes`, `zer0-pages-remote`,
37
+ `Your Site Title`, `My Awesome Site`, `Welcome`, `Untitled`, or empty).
38
+
15
39
  ### Fixed
40
+ - **Setup banner link.** `_includes/components/setup-banner.html` no longer
41
+ points at the non-existent `/404.html`; it now links to
42
+ `/#setup-wizard`, which is provided by the new welcome layout.
16
43
  - **Version-bump workflow no longer crashes on bash 5.x runners.** `scripts/utils/analyze-commits` (and `scripts/lib/changelog.sh`, `scripts/lib/migrate.sh`) used the `((var++))` post-increment idiom. On bash 5.x, when `var` is 0 the expression evaluates to 0 → exit code 1 → `set -euo pipefail` terminates the script silently. macOS bash 3.2 was more forgiving, so the bug only surfaced in CI. Replaced all release-path sites with `var=$((var + 1))`, which always returns 0. Added a static regression check to the unit tests so the pattern can't return.
17
44
 
18
45
  ## [1.0.0] - 2026-04-20
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  title: zer0-mistakes
3
3
  sub-title: AI-Native Jekyll Theme
4
4
  description: AI-native Jekyll theme for GitHub Pages — Docker-first development, AI-powered installation, multi-agent integration (Copilot, Codex, Cursor, Claude), AI preview-image generation, and AIEO content optimization with Bootstrap 5.3.
5
- version: 1.1.0
5
+ version: 1.2.0
6
6
  layout: landing
7
7
  tags:
8
8
  - jekyll
@@ -20,7 +20,7 @@ categories:
20
20
  - bootstrap
21
21
  - ai-tooling
22
22
  created: 2024-02-10T23:51:11.480Z
23
- lastmod: 2026-04-21T05:41:17.000Z
23
+ lastmod: 2026-04-22T02:41:59.000Z
24
24
  draft: false
25
25
  permalink: /
26
26
  slug: zer0
@@ -158,25 +158,73 @@ docker-compose up
158
158
  # 🌐 Open http://localhost:4000
159
159
  ```
160
160
 
161
+ ### Bare-Minimum Starter (3 files, zero install)
162
+
163
+ Don't want to run the installer? You can publish a working site to GitHub
164
+ Pages with **just three files** in your repo. The remote theme provides every
165
+ layout, style, and even an in-browser configuration wizard.
166
+
167
+ ```text
168
+ my-site/
169
+ ├── _config.yml ← site configuration (remote_theme: bamr87/zer0-mistakes)
170
+ ├── Gemfile ← github-pages + jekyll-remote-theme
171
+ └── index.md ← layout: welcome
172
+ ```
173
+
174
+ `_config.yml`:
175
+
176
+ ```yaml
177
+ title: "My Site"
178
+ description: "A site rendered by the zer0-mistakes remote theme."
179
+ remote_theme: bamr87/zer0-mistakes
180
+ plugins:
181
+ - jekyll-remote-theme
182
+ - jekyll-feed
183
+ - jekyll-sitemap
184
+ - jekyll-seo-tag
185
+ site_configured: false # show the welcome wizard until you flip this to true
186
+ ```
187
+
188
+ `Gemfile`:
189
+
190
+ ```ruby
191
+ source "https://rubygems.org"
192
+ gem "github-pages", group: :jekyll_plugins
193
+ gem "jekyll-remote-theme"
194
+ gem "webrick", "~> 1.7"
195
+ ```
196
+
197
+ `index.md`:
198
+
199
+ ```markdown
200
+ ---
201
+ layout: welcome
202
+ title: Home
203
+ ---
204
+
205
+ # Welcome to my site
206
+ ```
207
+
208
+ Push to a GitHub Pages–enabled repository and visit your site. Until you set
209
+ `site_configured: true`, the home page renders the **welcome layout** —
210
+ a hero card listing your three files, a 3-step starter accordion, and a full
211
+ in-browser wizard that generates a personalised `_config.yml` you can
212
+ download. Once you flip the flag (or fill in `title`/`founder`/`email`), the
213
+ welcome screen is replaced by your own content.
214
+
161
215
  ```mermaid
162
216
  sequenceDiagram
163
217
  participant You
164
- participant InstallScript as Install Script
165
- participant Docker
166
- participant Browser
167
-
168
- You->>InstallScript: curl ... | bash
169
- InstallScript->>InstallScript: Detect platform
170
- InstallScript->>InstallScript: Download theme files
171
- InstallScript->>InstallScript: Configure Docker
172
- InstallScript-->>You: Ready
173
-
174
- You->>Docker: docker-compose up
175
- Docker->>Docker: Build Jekyll container
176
- Docker->>Docker: Install dependencies
177
- Docker-->>Browser: Serve on :4000
178
-
179
- Browser-->>You: 🎉 Live site
218
+ participant GitHubPages as GitHub Pages
219
+ participant RemoteTheme as bamr87/zer0-mistakes
220
+
221
+ You->>GitHubPages: push 3 files
222
+ GitHubPages->>RemoteTheme: fetch layouts/includes/assets
223
+ RemoteTheme-->>GitHubPages: welcome.html + setup wizard
224
+ GitHubPages-->>You: 🎉 onboarding screen at /
225
+ You->>You: use wizard to generate _config.yml
226
+ You->>GitHubPages: replace _config.yml + set site_configured: true
227
+ GitHubPages-->>You: 🚀 your customised site
180
228
  ```
181
229
 
182
230
  ---
@@ -1066,7 +1114,7 @@ git push origin feature/awesome-feature
1066
1114
 
1067
1115
  | Metric | Value |
1068
1116
  |--------|-------|
1069
- | **Current Version** | 1.1.0 ([RubyGems](https://rubygems.org/gems/jekyll-theme-zer0), [CHANGELOG](/CHANGELOG)) |
1117
+ | **Current Version** | 1.2.0 ([RubyGems](https://rubygems.org/gems/jekyll-theme-zer0), [CHANGELOG](/CHANGELOG)) |
1070
1118
  | **Documented Features** | 43 ([Feature Registry](https://github.com/bamr87/zer0-mistakes/blob/main/_data/features.yml)) |
1071
1119
  | **Setup Time** | 2-5 minutes ([install.sh benchmarks](https://github.com/bamr87/zer0-mistakes/blob/main/install.sh)) |
1072
1120
  | **Documentation Pages** | 70+ ([browse docs](/pages/)) |
@@ -1117,6 +1165,6 @@ And these AI partners that make zer0-mistakes truly AI-native:
1117
1165
 
1118
1166
  **Built with ❤️ — and a little help from our AI partners — for the Jekyll community**
1119
1167
 
1120
- **v1.1.0** • [Changelog](CHANGELOG.md) • [License](LICENSE) • [Contributing](CONTRIBUTING.md) • [AI Agent Guide](AGENTS.md)
1168
+ **v1.2.0** • [Changelog](CHANGELOG.md) • [License](LICENSE) • [Contributing](CONTRIBUTING.md) • [AI Agent Guide](AGENTS.md)
1121
1169
 
1122
1170
 
@@ -22,7 +22,7 @@
22
22
  <i class="bi bi-gear-wide-connected me-1"></i>
23
23
  <strong>Almost there!</strong>
24
24
  Your site is running with default settings.
25
- <a href="{{ '/404.html' | relative_url }}" class="alert-link">Complete setup &rarr;</a>
25
+ <a href="{{ '/' | relative_url }}#setup-wizard" class="alert-link">Complete setup &rarr;</a>
26
26
  <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
27
27
  </div>
28
28
  {% endif %}
@@ -48,6 +48,37 @@
48
48
  {% endcomment %}
49
49
  {% assign site_needs_setup = false %}
50
50
 
51
+ {% comment %} Explicit opt-out (configured sites set this to true). {% endcomment %}
51
52
  {% if site.site_configured == false %}
52
53
  {% assign site_needs_setup = true %}
53
54
  {% endif %}
55
+
56
+ {% comment %}
57
+ ── Heuristic detection (when site_configured is not set explicitly) ──
58
+ Treat the site as "needs setup" if any of these are true:
59
+ • No founder/author/email configured
60
+ • Title is empty or matches a known placeholder
61
+ • The site has no content collections beyond the defaults
62
+ {% endcomment %}
63
+ {% unless site.site_configured %}
64
+ {% assign _has_owner = false %}
65
+ {% if site.founder or site.author or site.email %}
66
+ {% assign _has_owner = true %}
67
+ {% endif %}
68
+
69
+ {% assign _placeholder_titles = "zer0-mistakes,zer0-pages-remote,Your Site Title,My Awesome Site,Welcome,Untitled" | split: "," %}
70
+ {% assign _title_is_placeholder = false %}
71
+ {% if site.title == nil or site.title == "" %}
72
+ {% assign _title_is_placeholder = true %}
73
+ {% else %}
74
+ {% for _t in _placeholder_titles %}
75
+ {% if site.title == _t %}
76
+ {% assign _title_is_placeholder = true %}
77
+ {% endif %}
78
+ {% endfor %}
79
+ {% endif %}
80
+
81
+ {% if _has_owner == false or _title_is_placeholder %}
82
+ {% assign site_needs_setup = true %}
83
+ {% endif %}
84
+ {% endunless %}
@@ -0,0 +1,337 @@
1
+ ---
2
+ layout: root
3
+ ---
4
+ <!--
5
+ ===================================================================
6
+ WELCOME LAYOUT — Onboarding landing page for new sites
7
+ ===================================================================
8
+
9
+ File: welcome.html
10
+ Path: _layouts/welcome.html
11
+ Inherits: root.html
12
+ Purpose: First-run experience for sites that have just installed the
13
+ bamr87/zer0-mistakes remote theme but haven't configured
14
+ anything yet. Shows the configuration wizard, the minimal
15
+ starter checklist, and links to docs.
16
+
17
+ Behaviour:
18
+ • If the site is unconfigured (see components/setup-check.html),
19
+ the wizard + instructions REPLACE the page content.
20
+ • Once site.site_configured == true (or the heuristic passes),
21
+ the page renders the user's content normally.
22
+
23
+ Recommended usage in a brand-new repo:
24
+
25
+ # index.md (one of the only three files you need)
26
+ ---
27
+ layout: welcome
28
+ title: Home
29
+ ---
30
+
31
+ Welcome to my new site! ← shown after configuration is complete
32
+
33
+ Companion files in a minimal starter:
34
+ _config.yml (just `remote_theme: bamr87/zer0-mistakes`)
35
+ Gemfile (github-pages + jekyll-remote-theme)
36
+ index.md (this layout)
37
+ ===================================================================
38
+ -->
39
+
40
+ {% include components/setup-check.html %}
41
+
42
+ {% if site_needs_setup %}
43
+
44
+ <!-- ============================================================ -->
45
+ <!-- HERO -->
46
+ <!-- ============================================================ -->
47
+ <section class="bg-body-tertiary border-bottom">
48
+ <div class="container-lg py-5">
49
+ <div class="row align-items-center g-4">
50
+ <div class="col-lg-7">
51
+ <span class="badge text-bg-primary mb-2">
52
+ <i class="bi bi-stars"></i> zer0-mistakes remote theme
53
+ </span>
54
+ <h1 class="display-5 fw-bold mb-3">
55
+ Welcome — your site is live!
56
+ </h1>
57
+ <p class="lead mb-3">
58
+ GitHub Pages built this page from <strong>just three files</strong>
59
+ in your repository. The layout, styles, and this entire onboarding
60
+ screen are served by the remote theme.
61
+ </p>
62
+ <p class="text-body-secondary mb-4">
63
+ Use the wizard below to generate a personalised
64
+ <code>_config.yml</code>, drop it into your repo, and your site
65
+ will look like <em>your</em> site instead of this welcome page.
66
+ </p>
67
+ <div class="d-flex flex-wrap gap-2">
68
+ <a href="#setup-wizard" class="btn btn-primary btn-lg">
69
+ <i class="bi bi-magic"></i> Start the wizard
70
+ </a>
71
+ <a href="#minimal-starter" class="btn btn-outline-secondary btn-lg">
72
+ <i class="bi bi-list-check"></i> Minimal starter
73
+ </a>
74
+ </div>
75
+ </div>
76
+ <div class="col-lg-5">
77
+ <div class="card shadow-sm">
78
+ <div class="card-header bg-body">
79
+ <i class="bi bi-folder2-open"></i>
80
+ <strong>Your repository right now</strong>
81
+ </div>
82
+ <div class="card-body p-0">
83
+ <ul class="list-group list-group-flush small mb-0">
84
+ <li class="list-group-item d-flex justify-content-between align-items-center">
85
+ <span><i class="bi bi-file-earmark-text"></i> <code>_config.yml</code></span>
86
+ <span class="badge text-bg-success rounded-pill">required</span>
87
+ </li>
88
+ <li class="list-group-item d-flex justify-content-between align-items-center">
89
+ <span><i class="bi bi-gem"></i> <code>Gemfile</code></span>
90
+ <span class="badge text-bg-success rounded-pill">required</span>
91
+ </li>
92
+ <li class="list-group-item d-flex justify-content-between align-items-center">
93
+ <span><i class="bi bi-house-door"></i> <code>index.md</code></span>
94
+ <span class="badge text-bg-success rounded-pill">required</span>
95
+ </li>
96
+ <li class="list-group-item d-flex justify-content-between align-items-center text-body-secondary">
97
+ <span><i class="bi bi-folder"></i> <code>pages/</code></span>
98
+ <span class="badge text-bg-secondary rounded-pill">optional</span>
99
+ </li>
100
+ <li class="list-group-item d-flex justify-content-between align-items-center text-body-secondary">
101
+ <span><i class="bi bi-folder"></i> <code>assets/</code></span>
102
+ <span class="badge text-bg-secondary rounded-pill">optional</span>
103
+ </li>
104
+ </ul>
105
+ </div>
106
+ <div class="card-footer text-body-secondary small">
107
+ Everything else — layouts, styles, navigation, search —
108
+ is provided by the remote theme.
109
+ </div>
110
+ </div>
111
+ </div>
112
+ </div>
113
+ </div>
114
+ </section>
115
+
116
+ <!-- ============================================================ -->
117
+ <!-- MINIMAL STARTER INSTRUCTIONS -->
118
+ <!-- ============================================================ -->
119
+ <section id="minimal-starter" class="container-lg py-5">
120
+ <div class="row justify-content-center">
121
+ <div class="col-lg-10">
122
+ <h2 class="mb-3"><i class="bi bi-list-check"></i> The 3-file starter</h2>
123
+ <p class="text-body-secondary">
124
+ The only files you need in your repository for GitHub Pages to
125
+ render a full site through the <code>bamr87/zer0-mistakes</code>
126
+ remote theme.
127
+ </p>
128
+
129
+ <div class="accordion mt-4" id="starterAccordion">
130
+
131
+ <!-- _config.yml -->
132
+ <div class="accordion-item">
133
+ <h3 class="accordion-header">
134
+ <button class="accordion-button" type="button"
135
+ data-bs-toggle="collapse" data-bs-target="#starter-config">
136
+ <i class="bi bi-1-circle me-2"></i>
137
+ <code>_config.yml</code>
138
+ <span class="text-body-secondary ms-2">— site configuration</span>
139
+ </button>
140
+ </h3>
141
+ <div id="starter-config" class="accordion-collapse collapse show"
142
+ data-bs-parent="#starterAccordion">
143
+ <div class="accordion-body">
144
+ <p>The minimum viable configuration:</p>
145
+ {% highlight yaml %}
146
+ # _config.yml
147
+ title: "My Site"
148
+ description: "A site rendered by the zer0-mistakes remote theme."
149
+ url: ""
150
+ baseurl: ""
151
+
152
+ # Pull layouts/includes/assets from the published theme
153
+ remote_theme: bamr87/zer0-mistakes
154
+
155
+ # GitHub Pages whitelisted plugins
156
+ plugins:
157
+ - jekyll-remote-theme
158
+ - jekyll-feed
159
+ - jekyll-sitemap
160
+ - jekyll-seo-tag
161
+
162
+ # Hide this welcome screen once you're configured
163
+ site_configured: true
164
+ {% endhighlight %}
165
+ <p class="small text-body-secondary mb-0">
166
+ Use the wizard below to generate a richer file with
167
+ collections, analytics, and social links.
168
+ </p>
169
+ </div>
170
+ </div>
171
+ </div>
172
+
173
+ <!-- Gemfile -->
174
+ <div class="accordion-item">
175
+ <h3 class="accordion-header">
176
+ <button class="accordion-button collapsed" type="button"
177
+ data-bs-toggle="collapse" data-bs-target="#starter-gemfile">
178
+ <i class="bi bi-2-circle me-2"></i>
179
+ <code>Gemfile</code>
180
+ <span class="text-body-secondary ms-2">— Ruby dependencies</span>
181
+ </button>
182
+ </h3>
183
+ <div id="starter-gemfile" class="accordion-collapse collapse"
184
+ data-bs-parent="#starterAccordion">
185
+ <div class="accordion-body">
186
+ <p>Required when building locally; GitHub Pages installs these for you in CI.</p>
187
+ {% highlight ruby %}
188
+ # Gemfile
189
+ source "https://rubygems.org"
190
+
191
+ gem "github-pages", group: :jekyll_plugins
192
+ gem "jekyll-remote-theme"
193
+ gem "webrick", "~> 1.7"
194
+ {% endhighlight %}
195
+ </div>
196
+ </div>
197
+ </div>
198
+
199
+ <!-- index.md -->
200
+ <div class="accordion-item">
201
+ <h3 class="accordion-header">
202
+ <button class="accordion-button collapsed" type="button"
203
+ data-bs-toggle="collapse" data-bs-target="#starter-index">
204
+ <i class="bi bi-3-circle me-2"></i>
205
+ <code>index.md</code>
206
+ <span class="text-body-secondary ms-2">— your home page</span>
207
+ </button>
208
+ </h3>
209
+ <div id="starter-index" class="accordion-collapse collapse"
210
+ data-bs-parent="#starterAccordion">
211
+ <div class="accordion-body">
212
+ <p>
213
+ While the site is unconfigured, <code>layout: welcome</code>
214
+ shows this onboarding screen. Once you set
215
+ <code>site_configured: true</code> in <code>_config.yml</code>,
216
+ the same file renders your own home-page content.
217
+ </p>
218
+ {% highlight markdown %}
219
+ ---
220
+ layout: welcome
221
+ title: Home
222
+ ---
223
+
224
+ # Welcome to my site
225
+
226
+ Replace this with your own content. The setup wizard
227
+ will disappear automatically once `site_configured: true`
228
+ is set in `_config.yml`.
229
+ {% endhighlight %}
230
+ </div>
231
+ </div>
232
+ </div>
233
+
234
+ </div><!-- /accordion -->
235
+
236
+ <div class="alert alert-info d-flex align-items-start mt-4" role="alert">
237
+ <i class="bi bi-info-circle-fill me-2 mt-1"></i>
238
+ <div>
239
+ <strong>Local development?</strong>
240
+ Run <code>bundle install &amp;&amp; bundle exec jekyll serve</code>
241
+ (or <code>docker compose up</code> if you have a
242
+ <code>docker-compose.yml</code>). Browse to
243
+ <a href="http://localhost:4000/">http://localhost:4000/</a>.
244
+ </div>
245
+ </div>
246
+ </div>
247
+ </div>
248
+ </section>
249
+
250
+ <!-- ============================================================ -->
251
+ <!-- SETUP WIZARD -->
252
+ <!-- ============================================================ -->
253
+ <section id="setup-wizard" class="bg-body-tertiary border-top py-5">
254
+ {% include setup/wizard.html %}
255
+ </section>
256
+
257
+ <!-- ============================================================ -->
258
+ <!-- NEXT STEPS / RESOURCES -->
259
+ <!-- ============================================================ -->
260
+ <section class="container-lg py-5">
261
+ <h2 class="mb-4"><i class="bi bi-signpost-2"></i> Next steps</h2>
262
+ <div class="row g-3">
263
+ <div class="col-md-4">
264
+ <div class="card h-100">
265
+ <div class="card-body">
266
+ <h5 class="card-title">
267
+ <i class="bi bi-pencil-square text-primary"></i> Add content
268
+ </h5>
269
+ <p class="card-text small">
270
+ Create a <code>pages/</code> folder with collections like
271
+ <code>_posts/</code>, <code>_docs/</code>, or
272
+ <code>_about/</code>. Enable them in <code>_config.yml</code>.
273
+ </p>
274
+ <a class="btn btn-sm btn-outline-primary"
275
+ href="https://github.com/bamr87/zer0-mistakes#content-creation"
276
+ target="_blank" rel="noopener">
277
+ Content guide <i class="bi bi-box-arrow-up-right"></i>
278
+ </a>
279
+ </div>
280
+ </div>
281
+ </div>
282
+ <div class="col-md-4">
283
+ <div class="card h-100">
284
+ <div class="card-body">
285
+ <h5 class="card-title">
286
+ <i class="bi bi-palette text-success"></i> Customise styles
287
+ </h5>
288
+ <p class="card-text small">
289
+ Drop an <code>assets/css/user-overrides.css</code> file in
290
+ your repo to override theme styles without forking.
291
+ </p>
292
+ <a class="btn btn-sm btn-outline-success"
293
+ href="https://github.com/bamr87/zer0-mistakes#customisation"
294
+ target="_blank" rel="noopener">
295
+ Customisation <i class="bi bi-box-arrow-up-right"></i>
296
+ </a>
297
+ </div>
298
+ </div>
299
+ </div>
300
+ <div class="col-md-4">
301
+ <div class="card h-100">
302
+ <div class="card-body">
303
+ <h5 class="card-title">
304
+ <i class="bi bi-github text-body"></i> Source &amp; issues
305
+ </h5>
306
+ <p class="card-text small">
307
+ File issues, submit PRs, or fork the theme on GitHub.
308
+ Contributions welcome.
309
+ </p>
310
+ <a class="btn btn-sm btn-outline-dark"
311
+ href="https://github.com/bamr87/zer0-mistakes"
312
+ target="_blank" rel="noopener">
313
+ Repository <i class="bi bi-box-arrow-up-right"></i>
314
+ </a>
315
+ </div>
316
+ </div>
317
+ </div>
318
+ </div>
319
+ </section>
320
+
321
+ {% else %}
322
+
323
+ <!-- ============================================================ -->
324
+ <!-- CONFIGURED SITE — render the user's content -->
325
+ <!-- ============================================================ -->
326
+ <div class="container-lg py-4">
327
+ <div class="row justify-content-center">
328
+ <div class="col-lg-10">
329
+ {% if page.title %}
330
+ <h1 class="mb-3">{{ page.title }}</h1>
331
+ {% endif %}
332
+ {{ content }}
333
+ </div>
334
+ </div>
335
+ </div>
336
+
337
+ {% endif %}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-zer0
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amr Abdel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-21 00:00:00.000000000 Z
11
+ date: 2026-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -193,6 +193,7 @@ files:
193
193
  - _layouts/sitemap-collection.html
194
194
  - _layouts/stats.html
195
195
  - _layouts/tag.html
196
+ - _layouts/welcome.html
196
197
  - _plugins/preview_image_generator.rb
197
198
  - _plugins/theme_version.rb
198
199
  - _sass/core/_docs-layout.scss