diff --git a/.gitignore b/.gitignore index 35462be..d6d5e7b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ +*.lock flymd* public/ resources/ static/ -themes/ \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..236b24c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "themes/papermod"] + path = themes/papermod + url = git@github.com:adityatelange/hugo-PaperMod.git diff --git a/assets/css/extended/thumbnail.css b/assets/css/extended/thumbnail.css new file mode 100644 index 0000000..9d412e8 --- /dev/null +++ b/assets/css/extended/thumbnail.css @@ -0,0 +1,39 @@ +.thumbnail-container { + width: 100%; + text-align: center; + padding: 10px 0; +} + +.thumbnail-container a { + all: unset; +} + +.thumbnail { + margin: auto; + padding: .75rem; + text-align: center; + max-width: 80%; + display: inline-block; +} + +.thumbnail sub { + font-size: small; + font-style: italic; +} + +.thumbnail-gallery { + margin: auto; + text-align: center; + padding-bottom: 2rem; +} + +.thumbnail-gallery a { + all: unset; +} + +.thumbnail-gallery .thumbnail { + display: inline-block; + margin: .125rem; + padding: .50rem; + width: 42%; +} \ No newline at end of file diff --git a/config.yaml b/config.yaml index f5c6759..b0be191 100644 --- a/config.yaml +++ b/config.yaml @@ -1,12 +1,12 @@ # core -baseURL: "https://bdebyl.net/" -title: "Collection of useful, and useless information" -theme: "even" +baseURL: https://debyl.io/ +title: debyl.io +theme: papermod +enableEmoji: true # settings -paginate: 5 -defaultContentLanguage: "en" -languageCode: "en" +defaultContentLanguage: en +languageCode: en buildDrafts: false canonifyURLs: true enableRobotsTXT: true @@ -15,10 +15,17 @@ markup: goldmark: renderer: unsafe: true + highlight: + noClasses: false + # anchorLineNos: true + # codeFences: true + # guessSyntax: true + # lineNos: true + # style: monokai # google analytics -googleAnalytics: "UA-163975086-1" -googleVerification: "" +googleAnalytics: UA-163975086-1 +googleVerification: # See https://gohugo.io/about/hugo-and-gdpr/ privacy: @@ -30,63 +37,135 @@ privacy: # https://gohugo.io/content-management/syntax-highlighting/ pygmentsCodefences: true pygmentsCodefencesGuessSyntax: true -pygmentsOptions: "" +pygmentsOptions: pygmentsUseClasses: true -author: - name: "Bastian de Byl" - sitemap: - changefreq: "weekly" - filename: "sitemap.xml" + changefreq: weekly + filename: sitemap.xml priority: 0.5 -menu: - main: - - name: "Home" - weight: 10 - identifier: "home" - url: "/" - - name: "About" - weight: 20 - identifier: "about" - url: "/about" - - name: "Archives" - weight: 30 - identifier: "archives" - url: "/post/" - - name: "Tags" - weight: 40 - identifier: "tags" - url: "/tags/" +outputs: + home: + - HTML + - RSS + - JSON + +languages: + en: + languageName: English + weight: 1 + taxonomies: + category: categories + tag: tags + series: series + menu: + main: + - name: Archive + url: archives + weight: 5 + - name: Search + url: search/ + weight: 10 + - name: Tags + url: tags/ + weight: 10 params: - favicon: "/static/img/favicon.ico" - since: "2017" - logoImage: "/static/img/logo.png" - images: - - "/static/img/logo-prev.png" - logoTitle: "bdebyl" - keywords: ["bastian", "de byl", "bdebyl", "bastian de byl"] - description: "A random assortment of my personal projects." + env: production # to enable google analytics, opengraph, twitter-cards and schema. + description: Theme PaperMod - https://github.com/adityatelange/hugo-PaperMod + author: Bastian de Byl + # author: [Me, You] # multiple authors - # paginate of archives, tags and categories - archivePaginate: 20 - # show 'xx Posts In Total' in archive page - showArchiveCount: true - # The date format to use; for a list of valid formats, see https://gohugo.io/functions/format/ - dateFormatToUse: "2006-01-02" - # show word count and read time - moreMeta: true - # show "read more" link on post summary - readMoreEnabled: false - postMetaInFooter: true # contain author, lastMod, markdown link, license - linkToMarkDown: true # Only effective when hugo will output .md files. - contentCopyright: 'Creative Commons License' + ShowAllPagesInArchive: true + ShowBreadCrumbs: true + ShowCodeCopyButtons: true + ShowPageNums: true + ShowPostNavLinks: true + ShowReadingTime: true + ShowRssButtonInSectionTermList: true + ShowShareButtons: true + ShowToc: false + comments: false + defaultTheme: dark + disableSpecial1stPost: false + disableThemeToggle: true + displayFullLangName: true + images: [images/papermod-cover.png] - social: - a-email: "mailto:bastian@bdebyl.net" - g-github: "https://github.com/bdebyl" - m-instagram: "https://instagram.com/bastian.remi" - n-gitlab: "https://gitlab.com/bdebyl" - e-linkedin: "https://www.linkedin.com/in/bastian-de-byl-90171b187" + profileMode: + enabled: false + + homeInfoParams: + Title: > + :wave: Welcome + Content: > + I created this site as a way of showcasing my projects, or other general + ideas. It’s a sort of engineering portfolio, if you will. +
+
+ This is just my personal blog site, feel free to get in touch with me + using the icon links below. + + socialIcons: + - name: github + title: Github + url: https://github.com/bdebyl + - name: X + title: Twitter + url: https://x.com/bastiandebyl + - name: email + title: Email + url: mailto:bastian@debyl.io + + # label: + # iconSVG: '' + # text: Home + # icon: icon.png + # iconHeight: 35 + + assets: + disableHLJS: true + # favicon: + # favicon16x16: + # favicon32x32: + # apple_touch_icon: + # safari_pinned_tab: + + # cover: + # hidden: true # hide everywhere but not in structured data + # hiddenInList: true # hide on list pages and home + # hiddenInSingle: true # hide on single page + + # fuseOpts: + # isCaseSensitive: false + # shouldSort: true + # location: 0 + # distance: 1000 + # threshold: 0.4 + # minMatchCharLength: 0 + # keys: [title, permalink, summary, content] + +# privacy: +# vimeo: +# disabled: false +# simple: true + +# twitter: +# disabled: false +# enableDNT: true +# simple: true + +# instagram: +# disabled: false +# simple: true + +# youtube: +# disabled: false +# privacyEnhanced: true + +services: + instagram: + disableInlineCSS: true + twitter: + disableInlineCSS: true diff --git a/content/about.md b/content/about.md index b309e76..fb32e81 100644 --- a/content/about.md +++ b/content/about.md @@ -29,7 +29,7 @@ link to a text file containing my full public key is attached. `70A4 AA02 555D BD55 9189 B4E0 F32B E05E ADAA 54FC`[^2] -{{< sub >}}[**Public Key**](/static/pubkey.txt){{< /sub >}} +[**Public Key**](/static/pubkey.txt) ## Donations diff --git a/content/archives.md b/content/archives.md new file mode 100644 index 0000000..95b4db5 --- /dev/null +++ b/content/archives.md @@ -0,0 +1,6 @@ +--- +title: "Archive" +layout: "archives" +# url: "/archives" +summary: "archives" +--- \ No newline at end of file diff --git a/content/post/aperture-study.md b/content/post/aperture-study.md index d64f671..10ba42f 100644 --- a/content/post/aperture-study.md +++ b/content/post/aperture-study.md @@ -4,8 +4,8 @@ date: 2019-01-16 lastmod: 2019-02-11 categories: ["Blog"] tags: ["photography"] -images: - - "/static/img/aperture-study/f17-f40-comp.jpg" +cover: + image: /static/img/aperture-study/f17-f40-comp.jpg --- I found out recently that using the maximum aperture for a lens can have deminishing returns. Simply put: it makes the image look "soft", or otherwise diff --git a/content/post/archinstall.md b/content/post/archinstall.md index 6e246ec..87e7546 100644 --- a/content/post/archinstall.md +++ b/content/post/archinstall.md @@ -27,16 +27,12 @@ better understanding of the tools and methods used. ## Partitioning with `fdisk` -{{% admonition warning Warning %}} This operation will destroy any data on the device, please ensure to back up any data desired prior to this operation! -{{% /admonition %}} -{{% admonition info Info %}} Replace instances of `/dev/sdN` with your actual device name (e.g. `/dev/sda`). References specific to partitions will be stated as such (e.g. `/dev/sdN1`, `/dev/sdN2`) -{{% /admonition %}} 1. Remove any existing partitions on the drive: diff --git a/content/post/emacs_clang_libopencm3.md b/content/post/emacs_clang_libopencm3.md index 0c8ceb0..dcc1e2f 100644 --- a/content/post/emacs_clang_libopencm3.md +++ b/content/post/emacs_clang_libopencm3.md @@ -6,8 +6,8 @@ tags: ["emacs", "linux"] categories: ["Tutorial"] contentCopyright: true hideHeaderAndFooter: false -images: - - "/static/img/emacs-clang-libopencm3/header-completion.png" +cover: + image: /static/img/emacs-clang-libopencm3/header-completion.png --- With some minor dependencies, it's fairly straightforward in setting up your Emacs workflow to include IntelliSense-like auto-completion! @@ -114,13 +114,11 @@ The above assumes that `libopencm3` is also places within the project directory {{< /sub >}} -{{< admonition warning Note >}} There is a strange issue that is encountered with non-working completion for new header include statements. The workaround for this includes running `M-x irony-server-kill`after new header additions to your current working file. Irony's server is clever enough to restart itself after a completion request is triggered via `TAB` so this is a fairly uninvolved workaround. -{{< /admonition >}} ## Example diff --git a/content/post/gpg_best_practices_and_git.md b/content/post/gpg_best_practices_and_git.md index f1ff21b..660ba45 100644 --- a/content/post/gpg_best_practices_and_git.md +++ b/content/post/gpg_best_practices_and_git.md @@ -92,43 +92,34 @@ this via: - **ArchLinux:** `sudo update-ca-trust` - **Debian/Ubuntu, RHEL:** `sudo update-ca-certificates` -{{< admonition tip "CA Path" >}} On my system the full path to the CA certs is: - `/etc/ca-certificates/extracted/cadir/sks-keyservers.net_CA.pem` -{{< /admonition >}} - Two following parameters should be added to your `~/.gnupg` configuration files: ### GnuPG Versions >2.1 -{{< admonition note "gpg.conf" >}} ```text keyserver hkps://hkps.pool.sks-keyservers.net ``` -{{< /admonition >}} -{{< admonition note "dirmngr.conf" >}} ```text hkp-cacert /etc/ca-certificates/path/to/CA.pem ``` -{{< /admonition >}} ### GnuPG Versions <2.1 -{{< admonition note "gpg.conf" >}} ```text keyserver hkps://hkps.pool.sks-keyservers.net keyserver-options ca-cert-file=/path/to/CA/sks-keyservers.netCA.pem ``` -{{< /admonition >}} ## *Optional* - Ensure keys refreshed through keyserver diff --git a/content/post/headphone-fix.md b/content/post/headphone-fix.md index cfbcce3..7cdf648 100644 --- a/content/post/headphone-fix.md +++ b/content/post/headphone-fix.md @@ -4,8 +4,8 @@ date: 2018-01-11 lastmod: 2019-01-16 categories: ["Blog"] tags: ["electronics"] -images: - - "/static/img/headphone-fix/IMG_7505.jpg" +cover: + image: /static/img/headphone-fix/IMG_7505.jpg --- A colleague offered a pair of Bern Bluetooth drop-in headphones to me fore free, with the catch being: _I had to fix them_ @@ -60,7 +60,7 @@ search of `AIWI TI` (_as shown in the photograph_) resulted in [the following datasheet](http://www.ti.com/lit/ds/symlink/tpa6132a2.pdf) which verified that to be the case. -
![Hello](/static/img/headphone-fix/TPA6132A2.png)
+![Hello](/static/img/headphone-fix/TPA6132A2.png#center) **Bingo!** Now knowing the pinout, I could use my trusty multimeter (_a Fluke 115_) to test continuity of the circuit from the known-good and the now diff --git a/content/post/humble-beginnings.md b/content/post/humble-beginnings.md index f9f9e88..1a3a9a4 100644 --- a/content/post/humble-beginnings.md +++ b/content/post/humble-beginnings.md @@ -14,11 +14,9 @@ from WordPress) # Disclaimer -{{< admonition warning "Out of Date" >}} The information in this article is **out-of-date**. I am, and have been, using my own fork of the [hugo-even-theme](https://gitlab.com/bdebyl/hugo-theme-even) on my [GitLab](https://gitlab.com/bdebyl) profile. -{{< /admonition >}} --- diff --git a/content/post/lineageos_pixel3a.md b/content/post/lineageos_pixel3a.md deleted file mode 100644 index 4ec107f..0000000 --- a/content/post/lineageos_pixel3a.md +++ /dev/null @@ -1,154 +0,0 @@ ---- -title: "Installing LineageOS Unofficial on Pixel 3a" -date: 2020-07-13 -lastmod: 2020-07-13 -draft: false -tags: ["android", "security", "hacking"] -categories: ["Tutorial"] -contentCopyright: true -hideHeaderAndFooter: false -images: - - "/static/img/lineageos-pixel3a/lineage-settings.png" ---- -{{< admonition warning "Out of Date" >}} -This guide is now out of date since LineageOS officially supports the Pixel 3a, -see more here: -{{< /admonition >}} - -In this post I aim to highlight my findings in deciding to go through the -process of installing LineageOS on my Pixel 3a. Currently, LineageOS does not -officially support the Pixel 3a. However, InvisibleK (Dan Pasanen) does host -updated versions of his unofficial LineageOS build for the Pixel 3a complete -with a custom recovery to utilize for this purpose! - - - -{{< thumbgallery >}} - {{< thumb src="/static/img/lineageos-pixel3a/lineage-settings.png" - alt="Screenshot showing the LineageOS version and other LineageOS settings on the Pixel 3a" >}} - {{< thumb src="/static/img/lineageos-pixel3a/lineage-trust.png" - alt="Screenshot showing the LineageOS Trust feature" >}} -{{< /thumbgallery >}} - -# Thank You - -Before going on any further, I'd like to take a moment to give my sincere thanks -to InvisibleK (Dan Pasanen). Having to set up the entire custom build for Pixel -3a of LineageOS myself would add far more overhead in the overall simple task in -trying to get LineageOS to work on a Pixel 3a! - -[**tl;dr**](#flash-custom-recovery) - -# Preface - -There are plenty of guides out there on how to install and set up ADB and -Fastboot on your host machine. For me, on Arch Linux, this was as simple as -running `pacman -S android-tools`. However, should you be on MacOS or Windows -you may have to find resources on how to go about this. I do not intend to go -over this here -- _sorry_ - -Additionally, this _guide_ also assumes the reader has some familiarity with ADB -and/or Fastboot. - -# Source Files - -If you, the reader, know what you're doing and simply just require the files -for your Pixel 3a they can be found here: - -- - -# Installation - -{{< admonition warning "Warning!" >}} -If it isn't abundantly clear by now, be aware that you **will be destroying all -the data currently on your Pixel 3a** in the process of installing LineageOS on -your device! Stop now and back up any files, 2FA codes, or other prior to -proceeding. -{{< /admonition >}} - -## Note about TWRP - -As of writing this, TWRP[^1] (_a custom recovery commonly used in custom OS -installation_) does not support Android 10. This would have been the preferred -for a custom recovery, though not strictly required. Since we will be installing -LineageOS 17.1 for Android 10 we cannot use TWRP. - -## Flash to Stock - -Google is kind enough to provide a variety of versions of the stock images for -the Pixel devices. In my process of installing LineageOS, as it will be on -Android 10, I made sure to flash to the latest stock version of Pixel 3a Android -10. Do note that the versions are listed in reverse order, with the latest being -found in the bottom-most row. - -- - -Additionally, Google provides a helper script `flash-all` that I highly -recommend running as-is to flash your Pixel 3a to stock. This can take a few -minutes to complete. - -## Flash Custom Recovery - -Using InvisibleK's build page, you'll find the required custom recovery image -for flashing found at the bottom of the list of zip files marked with a lone -"download" link. - -Flash it via the following steps: - -1. Reboot to recovery - - ```bash - adb reboot bootloader - ``` - -1. Unlock the bootloader if the 'Status' is locked: - - ```bash - fastboot flashing unlock - ``` - -1. Flash the custom recovery (_make sure to replace `N` with the version you - downloaded, mine was '4'_) - - ```bash - fastboot flash boot sargo-recovery-eng-N.img - ``` - -1. Boot the custom recovery either by re-entering recovery mode or fastboot -- - make sure to wait for it to enter Android Recovery after - - ```bash - fastboot boot sargo-recovery-eng-N.img - ``` - -## Install LineageOS - -Now that the custom recovery is set up and booted into, we're ready to install LineageOS! - -1. **Important!** Once in recovery, ensure to `Wipe data/factory reset` prior to - proceeding. -1. Select `Apply update from ADB` -1. ADB Sideload the version, if not latest, of LineageOS you want for your Pixel - 3a - - ```bash - adb sideload lineage-17.1-2020517-UNOFFICIAL-sargo.zip - ``` - -1. Wait for installation to complete then select 'Reboot system now' from the - recovery menu -1. **Enjoy LineageOS!** - -## Verification - -Once in LineageOS, you can browse the settings to verify the installation and -set up Trust the preferred way. Personally, I chose to leave the defaults. - -# Bugs / Issues - -I plan to keep this list of bugs and issues I discover up to date, but this is -what I have encountered so far: - -- WiFi calling does not seem to work - -[^1]: [Team Win Recovery Project](https://twrp.me/) diff --git a/content/post/password_checker.md b/content/post/password_checker.md index 3eb19ac..070631a 100644 --- a/content/post/password_checker.md +++ b/content/post/password_checker.md @@ -67,10 +67,8 @@ It may be worth mentioning, to folks less familiar with `awk`, that the being piped into `sha1sum`. I discovered incorrect `sha1sum` outputs **without** `FNR==1` resulting in a useless password check! -{{< admonition note Note >}} `IFS=` would not have fixed the above newline issue, as the problem stems from the output of `pass "$p"` and **not** the filenames. -{{< /admonition >}} That takes care of gathering our passwords, but we'll revisit this again in the next part. @@ -117,10 +115,9 @@ it's weak (_i.e. "Exists in attack dictionary", "Too short", etc._) was to use well-documented or fully-fledged application to fully determine password strength though for my purposes it will be good enough (_I don't care to write my own version of this, yet.._). -{{< admonition note Note >}} + I made this part of the script **optional**, as not every user would want to install `cracklib` on their system. -{{< /admonition >}} This addition was made in the following order: diff --git a/content/post/stm32-part0.md b/content/post/stm32-part0.md index 4bca91d..f4477e2 100644 --- a/content/post/stm32-part0.md +++ b/content/post/stm32-part0.md @@ -6,8 +6,8 @@ tags: ["libopencm3", "stm32", "tutorial"] categories: ["Tutorial"] contentCopyright: true hideHeaderAndFooter: false -images: - - "/static/img/stm32-examples/part0/stm32-basic-gpio-leds.jpeg" +cover: + image: /static/img/stm32-examples/part0/stm32-basic-gpio-leds.jpeg --- One of the simplest projects to get started with the STM32 microcontroller series: turn on the lights! @@ -17,21 +17,12 @@ series: turn on the lights! {{< thumb src="/static/img/stm32-examples/part0/stm32-basic-gpio-leds.jpeg" alt="Photo of STM32 discovery board with illuminated green and blue LEDs" >}} -{{< admonition warning "Windows Users" >}} -This series of write-ups assumes the reader is on a Linux operating -system. Windows users _can_ utilize the [**Windows Subsystems for -Linux**](https://docs.microsoft.com/en-us/windows/wsl/install-win10) though your -mileage may vary! - -{{< /admonition >}} # Straight to the Chase For those that want to cut to the chase and save time, here is the full source code with friendly names to get you started: -{{< admonition note "Source Code" true >}} - ```C #include #include @@ -50,8 +41,6 @@ int main(void) { } ``` -{{< /admonition >}} - # Getting Started with libopencm3 [libopencm3](https://github.com/libopencm3/libopencm3) is a very powerful, @@ -127,11 +116,9 @@ Makefile's variables of things you may want to change: # Explanation -{{< admonition info "Naming Convention" >}} As a note to the reader: below I will not refer to the GPIO port or pins using the `#define` friendly names from above. This is purely for the sake of clarity in hopes of avoiding confusion. -{{< /admonition >}} Although the source code is fairly simple, lets dive into it at least _somewhat_. diff --git a/content/post/stm32-part1.md b/content/post/stm32-part1.md index cffb3c1..9e62a79 100644 --- a/content/post/stm32-part1.md +++ b/content/post/stm32-part1.md @@ -6,8 +6,8 @@ tags: ["libopencm3", "stm32", "tutorial"] categories: ["Tutorial"] contentCopyright: true hideHeaderAndFooter: false -images: - - "/static/img/stm32-examples/part1/blinky.gif" +cover: + image: /static/img/stm32-examples/part1/blinky.gif --- After having reviewed [**Part 0**](/post/stm32-part0) of this series, we can now explore controlling GPIO with the hardware timers! Other tutorials have used the @@ -26,8 +26,6 @@ timers and their associated GPIO ports with Alternate Function modes. For those that want to cut to the chase and save time, here is the full source code with friendly names to get you started: -{{< admonition note "Source Code" true >}} - ```C #include #include @@ -79,8 +77,6 @@ int main(void) { } ``` -{{< /admonition >}} - # Set up the GPIO Assuming the reader is either familiar with GPIO setup for the STM32F0, or has @@ -107,10 +103,8 @@ For accomplishing this, a few things need to happen: 1. The desired GPIO pins need to be set to `GPIO_MODE_AF` in `gpio_mode_setup()` 1. The alternate function mode number `GPIO_AFx` has to be set for the pins using `gpio_set_af()` -{{< admonition warning "Note for Different STM32Fx Microcontrollers" >}} Review the datasheet for the specific **STM32Fx** microcontroller being programmed, as the Alternate Function mappings may be _significantly_ different! -{{< /admonition >}} ## GPIO Alternate Function Setup diff --git a/content/post/thinkpad_usb_fix.md b/content/post/thinkpad_usb_fix.md index 242c9d3..b384672 100644 --- a/content/post/thinkpad_usb_fix.md +++ b/content/post/thinkpad_usb_fix.md @@ -4,8 +4,8 @@ date: 2019-02-28 lastmod: 2019-02-28 categories: ["Blog"] tags: ["electronics"] -images: - - "/static/img/thinkpad-usb-fix/DSC04781.jpg" +cover: + image: /static/img/thinkpad-usb-fix/DSC04781.jpg --- From the moment that I first had my (_used_) ThinkPad X220, the bottom-right USB port nearest to the SD card reader had been broken. The pad (_or bolster_) was diff --git a/content/post/updating_gpg_key.md b/content/post/updating_gpg_key.md index edaea40..3780dcb 100644 --- a/content/post/updating_gpg_key.md +++ b/content/post/updating_gpg_key.md @@ -13,10 +13,8 @@ is done! -{{< admonition info Info >}} If the reader is unfamiliar with OpenPGP, it's suggested to check out the prior write-up on this blog: [**OpenPGP Best Practices (and Git)**](/post/gpg_best_practices_and_git/) -{{< /admonition >}} # Importing Secret Keys diff --git a/content/search.md b/content/search.md new file mode 100644 index 0000000..4c23889 --- /dev/null +++ b/content/search.md @@ -0,0 +1,5 @@ +--- +title: "Search" +placeholder: Enter text to search.. +layout: "search" +--- \ No newline at end of file diff --git a/layouts/shortcodes/img.html b/layouts/shortcodes/img.html new file mode 100644 index 0000000..816f05d --- /dev/null +++ b/layouts/shortcodes/img.html @@ -0,0 +1,11 @@ +{{- $src := .Get "src" }} +{{- $sub := .Get "sub" -}} +{{- $alt := .Get "alt" -}} + diff --git a/layouts/shortcodes/sub.html b/layouts/shortcodes/sub.html new file mode 100644 index 0000000..bccd81b --- /dev/null +++ b/layouts/shortcodes/sub.html @@ -0,0 +1 @@ +
{{ .Inner | markdownify }}
diff --git a/layouts/shortcodes/thumb.html b/layouts/shortcodes/thumb.html new file mode 100644 index 0000000..6fb8626 --- /dev/null +++ b/layouts/shortcodes/thumb.html @@ -0,0 +1,15 @@ +{{- $src := .Get "src" }} +{{- $sub := .Get "sub" -}} +{{- $alt := .Get "alt" -}} +{{ if not .Parent }} +
+ {{ end }} +
+
{{ $alt }}
+ {{- if $sub -}} +
{{ $sub }}
+ {{- end -}} +
+ {{ if not .Parent }} +
+{{ end }} diff --git a/layouts/shortcodes/thumbgallery.html b/layouts/shortcodes/thumbgallery.html new file mode 100644 index 0000000..e18c022 --- /dev/null +++ b/layouts/shortcodes/thumbgallery.html @@ -0,0 +1,3 @@ + diff --git a/themes/papermod b/themes/papermod new file mode 160000 index 0000000..9f1f414 --- /dev/null +++ b/themes/papermod @@ -0,0 +1 @@ +Subproject commit 9f1f414be805a2f94e2f51bd4be2b365ff12386d