jekyll-theme-zer0 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +499 -0
  4. data/_includes/branding.html +43 -0
  5. data/_includes/breadcrumbs.html +31 -0
  6. data/_includes/dev-shortcuts.html +57 -0
  7. data/_includes/footer.html +57 -0
  8. data/_includes/giscus.html +16 -0
  9. data/_includes/google-analytics.html +9 -0
  10. data/_includes/google-tag-manager-body.html +8 -0
  11. data/_includes/google-tag-manager-head.html +10 -0
  12. data/_includes/halfmoon.html +35 -0
  13. data/_includes/head.html +95 -0
  14. data/_includes/header.html +79 -0
  15. data/_includes/info-section.html +33 -0
  16. data/_includes/intro.html +27 -0
  17. data/_includes/js-cdn.html +24 -0
  18. data/_includes/nav_list.html +63 -0
  19. data/_includes/navbar.html +34 -0
  20. data/_includes/powered-by.html +22 -0
  21. data/_includes/quick-index.html +17 -0
  22. data/_includes/searchbar.html +10 -0
  23. data/_includes/seo.html +131 -0
  24. data/_includes/sidebar-categories.html +21 -0
  25. data/_includes/sidebar-folders.html +107 -0
  26. data/_includes/sidebar-left.html +41 -0
  27. data/_includes/sidebar-right.html +47 -0
  28. data/_includes/sitemap.html +123 -0
  29. data/_includes/style.html +1574 -0
  30. data/_includes/svg.html +81 -0
  31. data/_includes/toc +7 -0
  32. data/_includes/toc.html +182 -0
  33. data/_includes/zer0-env-var.html +88 -0
  34. data/_layouts/collection.html +42 -0
  35. data/_layouts/default.html +37 -0
  36. data/_layouts/home.html +16 -0
  37. data/_layouts/index.html +8 -0
  38. data/_layouts/javascript.html +8 -0
  39. data/_layouts/journals.html +41 -0
  40. data/_layouts/root.html +54 -0
  41. data/_sass/custom.scss +331 -0
  42. data/_sass/it-journey/_docs.scss +3219 -0
  43. data/_sass/it-journey/_syntax.scss +342 -0
  44. data/_sass/it-journey/_theme.scss +247 -0
  45. data/_sass/it-journey/_variables.scss +521 -0
  46. data/_sass/it-journey/code-copy.scss +105 -0
  47. data/assets/.DS_Store +0 -0
  48. data/assets/css/custom.css +120 -0
  49. data/assets/css/main.scss +22 -0
  50. data/assets/images/favicon_gpt_computer_retro.png +0 -0
  51. data/assets/images/gravatar-small.png +0 -0
  52. data/assets/images/gravatar.png +0 -0
  53. data/assets/images/info-banner-mountain-wizard.png +0 -0
  54. data/assets/images/wizard-on-journey.png +0 -0
  55. data/assets/images/zer0-checkpoint-1.png +0 -0
  56. data/assets/images/zer0-checkpoint-2.png +0 -0
  57. data/assets/js/auto-hide-nav.js +18 -0
  58. data/assets/js/back-to-top.js +24 -0
  59. data/assets/js/cheetsheet.js +73 -0
  60. data/assets/js/code-copy.js +27 -0
  61. data/assets/js/color-modes.js +80 -0
  62. data/assets/js/docs.min.js +1 -0
  63. data/assets/js/halfmoon.js +80 -0
  64. data/assets/js/myScript.js +12 -0
  65. data/assets/js/nanobar.min.js +1 -0
  66. data/assets/js/particles-source.js +888 -0
  67. data/assets/js/particles.js +133 -0
  68. data/assets/js/side-bar-folders.js +12 -0
  69. data/assets/particles.json +110 -0
  70. metadata +153 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 48724f4541b496becb3260aa66953b9ce6132a2a2071d6f8afd5ded827c01af4
4
+ data.tar.gz: a4b39d428f375d5525bb4ef3d1395307a854042f5b330eeda3f9aa77b8111e90
5
+ SHA512:
6
+ metadata.gz: d3e2e3852968fbdc9a8722a4af2aaae5eaa7577570164df2f906f603290bd3231df256b973e935dbc1a88e56b631dbbbd4aa2fdffd60106f5ffedd0aee450422
7
+ data.tar.gz: f600e3f528d884acd943fae806e80fd62ca3e805b53e772e3a5e56bbdf3a79ee31dd7e7d815872570f7d6d5901da15a439cfa81619228c74f4cb034025b54662
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Amr
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,499 @@
1
+ ---
2
+ title: zer0
3
+ sub-title: 2 her0
4
+ description: Seed page with scripts, commands, instructions to build the most epic statically generated website in the universe.
5
+ version: 0.0.9
6
+ tags:
7
+ - jekyll
8
+ - bootstrap5
9
+ - javascript
10
+ - docker
11
+ categories:
12
+ - bootstrap
13
+ - quickstart
14
+ created: 2024-02-10T23:51:11.480Z
15
+ lastmod: 2024-05-27T04:50:51.594Z
16
+ draft: draft
17
+ layout: journals
18
+ sidebar:
19
+ nav: dynamic
20
+ permalink: /zer0/
21
+ slug: zer0
22
+ keywords:
23
+ - jekyll
24
+ - bootstrap5
25
+ - javascript
26
+ - docker
27
+ - zer0
28
+ date: 2024-05-27T04:49:32.883Z
29
+ snippet: What is a snippet?
30
+ comments: true
31
+ ---
32
+
33
+ This is the seed of the project with all the commands, scripts, and instructions that build this application from the ground up.
34
+ In theory, this should be the only file you need to build the project from scratch.
35
+ However, in practice, you may need to install additional dependencies or configure the environment to match the target system.
36
+ For example, you may need to install Ruby, Node.js, or other tools to run the application locally or deploy it to a server.
37
+ Therefore, part of this document is to provide a list of prerequisites and setup instructions to help you get started with the project.
38
+
39
+ ## {{ page.title }} Version {{ page.version }}
40
+
41
+ ## System Specs
42
+
43
+ For my development machine, I use the following specs:
44
+
45
+ - Model Name: MacBook Pro
46
+ - Model Identifier: Mac15,6
47
+ - Model Number: MRX33LL/A
48
+ - Chip: Apple M3 Pro
49
+ - System Firmware Version: 10151.101.3
50
+ - System Version: macOS 14.4.1 (23E224)
51
+ - Kernel Version: Darwin 23.4.0
52
+
53
+ Inspect the page to see the hidden code to populate your system specs for a MacBook pro. Press (cmd + shift + c) in the browser.
54
+
55
+ ```shell
56
+ # Get specific hardware and software information for Macs
57
+
58
+ system_profiler SPHardwareDataType | awk '/Model Name:|Model Identifier:|Model Number:|Chip:|System Firmware Version:/ {print $0}'
59
+ system_profiler SPSoftwareDataType | awk '/System Version:|Kernel Version:/ {print $0}'
60
+
61
+ ```
62
+ {: .d-none }
63
+
64
+ ## Prerequisites
65
+
66
+ Before we begin, make sure you have the following software installed on your machine:
67
+
68
+ - [VS code](https://code.visualstudio.com/) installed on your machine (if you're smart)
69
+ - [docker](https://docs.docker.com/get-docker/) installed on your machine (if you're a pro)
70
+ - [homebrew](https://brew.sh/) installed on your machine (if you're a cli junkie)
71
+ - [git](https://git-scm.com/) installed on your machine (if you want to track the truth)
72
+ - [gh cli](https://cli.github.com/) installed on your machine (if you want to publish the truth)
73
+
74
+ For step-by-step instructions on how to install these tools, visit the "Quickstart" section of the site here: [Quickstart](/quickstart)
75
+
76
+ To use these tools effectively, you need:
77
+
78
+ - A GitHub account and a repository where you want to maintain and publish your site.
79
+ - A personal access token from GitHub to authenticate with the GitHub API.
80
+ - A cup of coffee or your favorite beverage to keep you energized.
81
+ - A positive attitude and a sense of curiosity.
82
+ - A sense of adventure and a willingness to explore new tools and technologies.
83
+ - A growth mindset and a willingness to embrace challenges and learn from mistakes.
84
+ - A sense of humor and the ability to laugh at unexpected errors and bugs.
85
+ - A supportive community or network of friends and colleagues to ask for help and share your progress.
86
+ - A clear goal and motivation to build this project and share your knowledge with the world.
87
+ - A spirit of creativity and a desire to express yourself through code and technology.
88
+
89
+ More importantly, you need to:
90
+
91
+ - Embrace responsibility and ethical, inclusive software development.
92
+ - Cultivate empathy and create tools that benefit others.
93
+ - Appreciate opportunities and resources for learning and growth.
94
+ - Foster curiosity about AI and machine learning.
95
+ - Pursue a purpose that enhances productivity and creativity.
96
+ - Persevere through challenges with determination.
97
+ - Learn from others and share knowledge with humility.
98
+ - Believe in technology's potential to improve lives and create positive change.
99
+ - Make the learning process fun and engaging.
100
+ - Balance work with breaks for well-being.
101
+ - Celebrate achievements and share your work with the world.
102
+ - Anticipate making a difference in the developer community.
103
+ - Find satisfaction and fulfillment in creating value for others.
104
+ - Connect with the global community of developers and creators.
105
+ - Believe in your ability to create something meaningful and impactful.
106
+ - Stand in awe of technology's power to transform ideas into reality.
107
+
108
+ ## Confirm Prerequisites
109
+
110
+ Make sure you have the following installed on your machine:
111
+
112
+ ```shell
113
+ # install and update prerequisites
114
+
115
+ brew install git
116
+ brew install gh
117
+ brew install --cask docker
118
+ brew install --cask visual-studio-code
119
+ ```
120
+
121
+ ## Environment
122
+
123
+ ### Set your own environment variables
124
+
125
+ {% if site.level == 'her0' %}
126
+ {% include zer0-env-var.html %}
127
+ {% endif %}
128
+
129
+ ### Set the default environment variables
130
+
131
+ ```shell
132
+ # Or use the following to set the environment variables
133
+
134
+ export GITHOME=~/github
135
+ export GHUSER=bamr87
136
+ export GIT_REPO=zer0-mistakes
137
+ export ZREPO=$GITHOME/$GIT_REPO
138
+ ```
139
+
140
+ ### Add the environment variables to your shell profile (optional)
141
+
142
+ ```shell
143
+ #open Code to edit your shell profile and copy the environment variables
144
+
145
+ code ~/.zprofile
146
+ ```
147
+
148
+ ```shell
149
+ # Confirm the environment variables by echoing them
150
+
151
+ echo $GITHOME # /Users/bamr87/github
152
+ echo $GHUSER # bamr87
153
+ echo $GIT_REPO # zer0-mistakes
154
+ echo $ZREPO # /Users/bamr87/github/zer0-mistakes
155
+ ```
156
+
157
+ ### Set your Git email and name
158
+
159
+ ```shell
160
+ # Set your Git email and name to tag your commits
161
+
162
+ git config --global user.email "$GHUSER@users.noreply.github.com"
163
+ git config --global user.name "$GHUSER"
164
+ ```
165
+
166
+ ### Set your GitHub email using ID (optional)
167
+
168
+ See [here](https://github.com/settings/emails) for details.
169
+
170
+ ```shell
171
+ # If you didnt already set it in the previous step
172
+ # FIXME: quotes in comments dont work
173
+
174
+ echo "What is your Github ID?"
175
+ read GIT_ID
176
+ ```
177
+
178
+ ```shell
179
+ # Set your email using ID
180
+
181
+ git config --global user.email "$GIT_ID+$GHUSER@users.noreply.github.com"
182
+ ```
183
+
184
+ ```shell
185
+ # confirm your email
186
+
187
+ git config -l
188
+ ```
189
+
190
+ ## Initialize your new github repository
191
+
192
+ [gh cli docs](https://cli.github.com/manual/)
193
+
194
+ ```shell
195
+ # Create your github home directory and repo
196
+
197
+ mkdir -p $ZREPO
198
+ ```
199
+
200
+ ```shell
201
+ # Initialize your github repository
202
+
203
+ gh repo create $GIT_REPO --gitignore Jekyll -l mit --public
204
+ ```
205
+
206
+ ```shell
207
+ # If new repo, initialize it
208
+
209
+ cd $ZREPO
210
+ git init
211
+ git remote add origin https://github.com/${GHUSER}/${GIT_REPO}.git
212
+ git pull origin main
213
+ curl https://raw.githubusercontent.com/bamr87/it-journey/master/zer0.md > README.md
214
+ git add README.md
215
+ git commit -m "Init zer0-mistakes"
216
+ git branch -M main
217
+ git push -u origin main
218
+ ```
219
+
220
+ ### Checkpoint - Github Repo Initialized
221
+
222
+ Go to your new github repository.
223
+
224
+ ```shell
225
+ # Open your new github repository in the browser
226
+
227
+ open https://github.com/${GHUSER}/${GIT_REPO}
228
+
229
+ ```
230
+
231
+ <a id="repo-link"></a>
232
+
233
+ ![Checkpoint 1](/assets/images/zer0-checkpoint-1.png)
234
+
235
+ ## Initialize Jekyll
236
+
237
+ ### Create Gemfile
238
+
239
+ ```shell
240
+ # Create a new Gemfile
241
+ cd $ZREPO
242
+ touch Gemfile
243
+
244
+ # Write the non-commented lines to the Gemfile
245
+ echo 'source "https://rubygems.org"' >> Gemfile
246
+ echo "gem 'github-pages' , '231'" >> Gemfile
247
+ echo "gem 'jekyll' , '3.9.5'" >> Gemfile
248
+ echo "group :jekyll_plugins do" >> Gemfile
249
+ echo " gem 'jekyll-feed', \"~> 0.17\"" >> Gemfile
250
+ echo " gem 'jekyll-sitemap' , \"~> 1.4.0\"" >> Gemfile
251
+ echo " gem 'jekyll-seo-tag', \"~> 2.8.0\"" >> Gemfile
252
+ echo " gem 'jekyll-paginate', '~> 1.1'" >> Gemfile
253
+ echo "end" >> Gemfile
254
+ ```
255
+
256
+ ### Create Dockerfile
257
+
258
+ ```shell
259
+ # Create a new Dockerfile
260
+ cd $ZREPO
261
+ touch Dockerfile
262
+
263
+ # Write the content to the Dockerfile
264
+ echo "# Use an official Ruby runtime as a parent image" >> Dockerfile
265
+ echo "FROM ruby:2.7.4" >> Dockerfile
266
+ echo "# escape=\\" >> Dockerfile
267
+ echo "ENV GITHUB_GEM_VERSION 231" >> Dockerfile
268
+ echo "ENV JSON_GEM_VERSION 1.8.6" >> Dockerfile
269
+ echo "ENV GIT_REPO ${GIT_REPO}" >> Dockerfile
270
+ echo "WORKDIR /app" >> Dockerfile
271
+ echo "ADD . /app" >> Dockerfile
272
+ echo "RUN gem update --system 3.3.22" >> Dockerfile
273
+ echo "RUN bundle update" >> Dockerfile
274
+ echo "RUN bundle install" >> Dockerfile
275
+ echo "RUN bundle clean --force" >> Dockerfile
276
+ echo "EXPOSE 4000" >> Dockerfile
277
+ echo 'CMD ["bundle", "exec", "jekyll", "serve", "--host", "0.0.0.0"]' >> Dockerfile
278
+ ```
279
+
280
+ ```shell
281
+ # build the docker image based on the Dockerfile
282
+ docker build -t ${GIT_REPO} .
283
+ ```
284
+
285
+ ```shell
286
+ # Run the container in detached mode
287
+ docker run -d -p 4000:4000 -v ${ZREPO}:/app --name zer0_container ${GIT_REPO}
288
+
289
+ # Start the container and run the CMD line from the Dockerfile
290
+ docker start zer0_container
291
+
292
+ # Attach to the running container
293
+ docker exec -it zer0_container /bin/bash
294
+ ```
295
+
296
+ ## Checkpoint - Jekyll Initialized
297
+
298
+ ```shell
299
+ open http://localhost:4000/
300
+ ```
301
+
302
+ ![](/assets/images/zer0-checkpoint-2.png)
303
+
304
+ ## Install Jekyll
305
+
306
+ Install [jekyll](https://jekyllrb.com/docs/installation/)
307
+
308
+ ```shell
309
+ jekyll new ./ --force
310
+ bundle install
311
+ ```
312
+
313
+ ## Checkpoint - Jekyll Initialized
314
+
315
+
316
+ ```shell
317
+ code _config.yml
318
+ ```
319
+
320
+ ```yaml
321
+ title: zer0-mistakes
322
+ email: bamr87@zer0-mistakes.com
323
+ description: >- # this means to ignore newlines until "baseurl:"
324
+ Write an awesome description for your new site here. You can edit this
325
+ line in _config.yml. It will appear in your document head meta (for
326
+ Google search results) and in your feed.xml site description.
327
+ baseurl: null # the subpath of your site, e.g. /blog
328
+ url: null # the base hostname & protocol for your site, e.g. http://example.com
329
+ twitter_username: bamr87
330
+ github_username: bamr87
331
+ ```
332
+
333
+ <!-- TODO: add favicon instructions for branding -->
334
+
335
+ ```shell
336
+ cd $ZREPO
337
+ wget https://raw.githubusercontent.com/bamr87/it-journey/master/favicon.ico
338
+ ```
339
+
340
+ ## Install Jekyll
341
+
342
+ Install [jekyll](https://jekyllrb.com/docs/installation/)
343
+
344
+ ```shell
345
+ docker run jekyll new ./ --force
346
+ bundle install
347
+ ```
348
+
349
+ ## Checkpoint - Jekyll Initialized
350
+
351
+ ```shell
352
+ code _config.yml
353
+ ```
354
+
355
+ ```yaml
356
+ title: zer0-mistakes
357
+ email: bamr87@zer0-mistakes.com
358
+ description: >- # this means to ignore newlines until "baseurl:"
359
+ Write an awesome description for your new site here. You can edit this
360
+ line in _config.yml. It will appear in your document head meta (for
361
+ Google search results) and in your feed.xml site description.
362
+ baseurl: null # the subpath of your site, e.g. /blog
363
+ url: null # the base hostname & protocol for your site, e.g. http://example.com
364
+ twitter_username: bamr87
365
+ github_username: bamr87
366
+ ```
367
+
368
+ <!-- TODO: add favicon instructions for branding -->
369
+
370
+ ```shell
371
+ cd $ZREPO
372
+ wget https://raw.githubusercontent.com/bamr87/it-journey/master/favicon.ico
373
+ ```
374
+
375
+ ## Checkpoint 1
376
+
377
+ ```shell
378
+
379
+ bundle lock --add-platform x86-mingw32 x64-mingw32 x86-mswin32 java
380
+ ```
381
+
382
+ ### Override default
383
+ https://jekyllrb.com/docs/themes/#overriding-theme-defaults
384
+
385
+ ```shell
386
+ # find theme path
387
+
388
+ bundle info --path minima
389
+ JEKYLL_THEME=$(bundle info --path minima)
390
+ echo $JEKYLL_THEME
391
+ cd $JEKYLL_THEME
392
+ ```
393
+
394
+ ### Copy theme repo
395
+
396
+ ```shell
397
+ cp -aR $JEKYLL_THEME/* $ZREPO
398
+ ```
399
+
400
+ ### Remove Theme plugin
401
+
402
+ ```shell
403
+ bundle remove jekyll-theme-minima
404
+ ```
405
+
406
+ ### Comment out the theme from config and Gemfile
407
+
408
+ ```shell
409
+ #_config.yml
410
+ # Build settings
411
+ # theme: minima
412
+ plugins:
413
+ - jekyll-feed
414
+ ```
415
+
416
+ ```shell
417
+ bundle remove minima --install
418
+ ```
419
+
420
+ Restart jekyll
421
+ ```shell
422
+ jekyll serve
423
+ ```
424
+
425
+ ## Building the theme
426
+
427
+ ### Build default page
428
+
429
+ ```shell
430
+ {%- raw -%}
431
+ cd $ZREPO
432
+ mkdir _layout
433
+ cd _layout
434
+ echo "{{ content }}" >> default.html
435
+ {% endraw %}
436
+ ```
437
+
438
+
439
+ ```shell
440
+ #tree #alias #zshrc #profile
441
+ alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'"
442
+ echo alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'" >> ~/.zshrc
443
+
444
+ tree
445
+ cd -
446
+ ```
447
+
448
+
449
+ ## Plant the seed
450
+
451
+ ```shell
452
+ # Set the date format
453
+ d=$(date +%Y-%m-%d)
454
+ echo "$d"
455
+ ```
456
+
457
+ ```shell
458
+ # Download the seed page
459
+ cd $ZREPO
460
+ wget -O $d-zer0.md https://raw.githubusercontent.com/bamr87/it-journey/master/zer0.md
461
+ ```
462
+
463
+
464
+ ## Convert zer0.md to zer0.sh using Python
465
+
466
+ ```python
467
+ def convert_md_to_files(md_file_path):
468
+ language_files = {}
469
+ language_mode = None
470
+ language_extensions = {'python': '.py', 'shell': '.sh'}
471
+ shebang_lines = {'python': '#!/usr/bin/env python3\n', 'shell': '#!/bin/bash\n'}
472
+
473
+ with open(md_file_path, 'r') as md_file:
474
+ for line in md_file:
475
+ if line.startswith('```'):
476
+ if language_mode:
477
+ # End of a language block, switch back to markdown mode
478
+ language_mode = None
479
+ else:
480
+ # Start of a language block, open a new file for this language if not already open
481
+ language = line.strip('`\n')
482
+ if language in language_extensions:
483
+ language_mode = language
484
+ if language not in language_files:
485
+ language_file = open(md_file_path.replace('.md', language_extensions[language]), 'w')
486
+ if language in shebang_lines:
487
+ language_file.write(shebang_lines[language])
488
+ language_files[language] = language_file
489
+ continue
490
+
491
+ if language_mode:
492
+ language_files[language_mode].write(line)
493
+
494
+ # Close all open language files
495
+ for language_file in language_files.values():
496
+ language_file.close()
497
+
498
+ convert_md_to_files('zer0.md')
499
+ ```
@@ -0,0 +1,43 @@
1
+ <!--
2
+ file: banding.html
3
+ path: _includes/branding.html
4
+ inclues: none
5
+ description:
6
+ -->
7
+ <!-- Color Schema Override
8
+ TODO: Add a poline plug-in to generate color scheme
9
+ https://meodai.github.io/poline/
10
+
11
+ primary: #a11111
12
+ main: #007bff
13
+ secondary: #6c757d
14
+
15
+ ## Logo
16
+ Red - #a11111
17
+ Yellow - #ffe900
18
+ Teal - #376986
19
+ Blue - #007bff
20
+ -->
21
+
22
+ <!-- Title Section -->
23
+
24
+ <div class="navbar-brand">
25
+ <a class="nav-link" href="{{ site.logo_link}}{{ page.url }}">
26
+ <i class="d-sm-inline d-md-none {{ site.default_icon }} {{ site.default_icon }}-{{ site.title_icon | default: site.powered_by.default }}" aria-hidden="true"></i>
27
+ <!-- display name if there's enough space, else icon only -->
28
+ <span class="d-none d-md-inline">
29
+ {{ site.title | default: site.title }}
30
+ </span>
31
+ </div>
32
+
33
+ <div class="navbar-brand">
34
+ <!-- If a subtitle exsits -->
35
+ {%- if site.subtitle -%}
36
+ <a class="nav-link" href="http://localhost:{{ site.port }}{{ site.baseurl}}{{ page.url }}">
37
+ <i class="d-sm-inline d-md-none {{ site.default_icon }} {{ site.default_icon }}-{{ site.subtitle_icon | default: site.powered_by.default }}" aria-hidden="true"></i>
38
+ <span class="d-none d-md-inline">
39
+ {{ site.subtitle }}
40
+ </span>
41
+ </a>
42
+ {% endif %}
43
+ </div>
@@ -0,0 +1,31 @@
1
+ <!-- Breadcrumsbs
2
+ file: breadcrumbs.html
3
+ path: _includes/breadcrumbs.html
4
+ TODO: Update to be read by Google Search Console "https://developers.google.com/search/docs/appearance/structured-data/breadcrumb"
5
+ -->
6
+ {% if page.url != "/" and site.breadcrumbs %}
7
+ {% unless paginator %}{% endunless %}
8
+
9
+ <nav class="breadcrumbs">
10
+ <ol itemscope itemtype="https://schema.org/BreadcrumbList">
11
+ <i class="bi bi-folder"></i>
12
+ {% assign crumbs = page.url | remove:'/index.html' | split: '/' %}
13
+ <a href="/">root</a>
14
+ {% for crumb in crumbs offset: 1 %}
15
+ {% if forloop.last %}
16
+ / {{ page.title }}
17
+ {% else %}
18
+ / <a href="{% assign crumb_limit = forloop.index | plus: 1 %}{% for crumb in crumbs limit: crumb_limit %}{{ crumb | append: '/' }}{% endfor %}">{{ crumb | replace:'-',' ' | remove:'.html' | capitalize }}</a>
19
+ {% endif %}
20
+ {% endfor %}
21
+ </ol>
22
+ </nav>
23
+ <!-- Secret Search bar -->
24
+ <!-- Hidden
25
+ <form class="form-inline my-2 my-lg-0">
26
+ <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
27
+ <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
28
+ </form>
29
+ -->
30
+
31
+ {% endif %}
@@ -0,0 +1,57 @@
1
+ <!--
2
+ Title: Dev Shortcuts
3
+ Description: This file contains the dev shortcuts for the site.
4
+ file: dev-shortcuts.html
5
+ variables:
6
+ - site.repository
7
+ - site.default_icon
8
+ - site.collections_dir
9
+ - site.repository_name
10
+ - site.nav-file
11
+ - site.local_git_pc
12
+ - site.local_git_mac
13
+ - page.collection
14
+ - page_dir
15
+ - testvar
16
+ references:
17
+ - https://shopify.github.io/liquid/tags/variable/#capture
18
+ - https://getbootstrap.com/docs/5.3/components/collapse/
19
+ tutorial:
20
+ - https://jekyllcodex.org/without-plugin/hidden-settings/
21
+ - https://jekyllcodex.org/without-plugin/hidden-settings/#collapse-feature
22
+ -->
23
+
24
+ <!-- TODO: Article about the collapse feature in Bootstrap https://getbootstrap.com/docs/5.3/components/collapse/-->
25
+ <!-- TODO: Write tutorial on creating this hidden settings feature -->
26
+
27
+ <!-- Source Code Control Shortcuts - Page -->
28
+ <div class="container text-center">
29
+
30
+ {% if page.collection %}
31
+ {% capture page_dir %}{{ site.collections_dir }}{% endcapture %}
32
+ {% assign testvar = "collection exists" %}
33
+ {% endif %}
34
+
35
+ <!-- Source Code Control Shortcuts - Page -->
36
+ <a class="btn bg-primary" href="https://github.com/{{site.repository}}/blob/{{site.branch}}/{{ page_dir }}/{{page.path}}">
37
+ <i class="{{site.default_icon}} {{site.default_icon}}-github"></i>
38
+ <!-- https://icons.getbootstrap.com/icons/github/ -->
39
+ </a>
40
+ <a class="btn bg-primary" href="https://github.dev/{{site.repository}}/blob/{{site.branch}}/{{ page_dir }}/{{ page.path }}">
41
+ <i class="{{site.default_icon}} {{site.default_icon}}-cloud"></i>
42
+ <!-- https://icons.getbootstrap.com/icons/microsoft/ -->
43
+ </a>
44
+
45
+ <!-- Source Code Control Shortcuts - Site and Nav -->
46
+
47
+ <a class="btn bg-primary" href="vscode://file{{ site.local_git}}/{{ site.repository_name }}/{{ page_dir }}/{{ page.path }}">
48
+ <i class="{{site.default_icon}} {{site.default_icon}}-code"></i>
49
+ </a>
50
+
51
+ <!-- site config -->
52
+ <a class="btn bg-primary" href="https://github.com/{{site.repository}}/blob/{{site.branch}}/_config.yml">
53
+ <i class="bi bi-gear"></i>
54
+ <!-- https://icons.getbootstrap.com/icons/gear/ -->
55
+ </a>
56
+
57
+ </div>