Fix hugo layout in hugo > ~0.130.0
For some reason, newer hugo versions have trouble with .summary, and on some pages where .summary is not defined in the page header metadata, when rendering the page as a preview card, hugo swallows the card's closing </div> tag. Such a weird bug, we now just work around it by explicitly setting the .summary meta on pages that cause this bug(?) to surface.
This commit is contained in:
parent
a324ba7b64
commit
16655c00e0
11 changed files with 34 additions and 13 deletions
|
|
@ -1,11 +1,11 @@
|
|||
---
|
||||
title: "8seg"
|
||||
title: "8seg Technical Overview"
|
||||
date: 2023-12-26T15:26:00+01:00
|
||||
summary: >
|
||||
8seg is a large-scale LED light art installation that displays text on a 1.5 meter high, 30 meter wide
|
||||
8-segment display made from cheap LED tape.
|
||||
---
|
||||
|
||||
8seg Technical Overview
|
||||
=======================
|
||||
|
||||
Prologue
|
||||
--------
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
---
|
||||
title: "Hardware Security Module Basics"
|
||||
date: 2019-05-17T15:29:20+08:00
|
||||
summary: >
|
||||
I gave a short introduction into Hardware Security Modules at our university workgroup, including an overview on
|
||||
interesting research directions.
|
||||
---
|
||||
|
||||
Hardware Security Modules and Security Research and Cryptography
|
||||
================================================================
|
||||
|
||||
On May 17 2019 I gave a short presentation on the fundamentals of hardware security modules at the weekly seminar of
|
||||
Prof. Mori's security research working group at Waseda University. The motivation for this was that outside of low-level
|
||||
hardware security people and people working in the financial industry HSMs are not thought about that often. In
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
---
|
||||
title: "New Paper on Inertial Hardware Security Modules"
|
||||
date: 2021-11-23T23:42:20+01:00
|
||||
summary: >
|
||||
Paper announcement: We have published a paper on how you can DIY a tamper-sensing hardware security module from any
|
||||
single-board computer using a moving tamper-sensing mesh made from cheap PCBs.
|
||||
---
|
||||
|
||||
World's First DIY HSM
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: "Getting the .ipynb Notebook File Location From a Running Jupyter Lab Notebook"
|
||||
date: 2025-06-30T23:42:00+01:00
|
||||
date: 2025-06-29T23:42:00+01:00
|
||||
summary: >
|
||||
If you need to get the path of the ipynb file in a running #Jupyter notebook, this one-liner will do the trick. It
|
||||
seems chatgpt is confused, and a bunch of other approaches on the web look fragile and/or unnecessarily complex to
|
||||
|
|
@ -1,6 +1,10 @@
|
|||
---
|
||||
title: "Kicad Mesh Plugin"
|
||||
date: 2020-08-18T13:15:39+02:00
|
||||
summary: >
|
||||
I wrote a little KiCad plugin that you can use to create security meshes, heaters and other things where you need
|
||||
one or more traces cover the entire surface of a PCB. The plugin supports arbitrary PCB shapes, cutouts, and can
|
||||
route around existing footprints and traces on the PCB.
|
||||
---
|
||||
|
||||
.. raw:: html
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
---
|
||||
title: "32-Channel LED tape driver"
|
||||
date: 2018-05-02T11:31:14+02:00
|
||||
summary: >
|
||||
Together, a friend and I outfitted the small staircase at Berlin's Chaos Computer Club with nice, shiny RGB-WW LED
|
||||
tape for ambient lighting. For this installation, I made a 32-channel LED driver that achieves high dynamic range on
|
||||
all 32 channels using a cheap microcontroller by using Binary Code Modulation.
|
||||
---
|
||||
|
||||
Theoretical basics
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
---
|
||||
title: "Private Contact Discovery"
|
||||
date: 2019-06-22T10:30:00+08:00
|
||||
summary: >
|
||||
I gave a short introduction into Private Contact Discovery protocols at our university workgroup.
|
||||
---
|
||||
|
||||
Private Contact Discovery
|
||||
=========================
|
||||
|
||||
Private Contact Discovery (PCD) is the formal name for the problem modern smartphone messenger applications have on
|
||||
installation: Given a user's address book, find out which of their contacts also use the same messenger without the
|
||||
messenger's servers learning anything about the user's address book. The widespread non-private way to do this is to
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
---
|
||||
title: "Ubiquiti EdgeRouter on Deutsche Telekom GPON Fiber"
|
||||
date: 2022-02-21T20:00:00+01:00
|
||||
summary: >
|
||||
Short tutorial on getting a Deutsche Telekom GPON internet connection running using a SFP ONU unit in an Ubiquiti
|
||||
EdgeRouter.
|
||||
---
|
||||
|
||||
Disclaimer
|
||||
|
|
|
|||
|
|
@ -1,6 +1,13 @@
|
|||
---
|
||||
title: "Wifi Led Driver"
|
||||
date: 2018-05-02T11:31:03+02:00
|
||||
summary: >
|
||||
After the `multichannel LED driver`_ was completed, I was just getting used to controlling LEDs at 14-bit resolution.
|
||||
I liked the board we designed in this project, but at 32 channels it was a bit large for most use cases. Sometimes I
|
||||
just want to pop a piece of LED tape or two somewhere, but I don't need a full 32 channels of control. I ended up
|
||||
thinking that a smaller version of the 32-channel driver that didn't require a separate control computer would be
|
||||
handy. So I sat down and designed a variant of the design with only 8 channels instead of 32 and an on-board ESP8266_
|
||||
module instead of the RS485_ transceiver for WiFi connectivity.
|
||||
---
|
||||
|
||||
Project motivation
|
||||
|
|
|
|||
|
|
@ -18,7 +18,8 @@ if __name__ == '__main__':
|
|||
try:
|
||||
env = dict(os.environ)
|
||||
env['PATH'] = f'{Path("hack").absolute()}:{env["PATH"]}'
|
||||
subprocess.run(['hugo'], cwd=tmpdir, check=True, env=env)
|
||||
hugo = os.environ.get('HUGO', 'hugo')
|
||||
subprocess.run([hugo], cwd=tmpdir, check=True, env=env)
|
||||
subprocess.run([pagefind, '--site', 'public'], cwd=tmpdir, check=True, env=env)
|
||||
subprocess.run(['git', 'add', '--force', 'public'], cwd=tmpdir, check=True)
|
||||
write_tree = subprocess.run(['git', 'write-tree', '--prefix=public/'], cwd=tmpdir, check=True, capture_output=True)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
{{- if and .Date (not (isset (index .Ancestors 0).Params "hide_date")) }}<strong>{{ .Date.Format "2006-01-02" }}</strong>{{- end }}
|
||||
|
||||
<div class="summary">
|
||||
{{ .Summary | safeHTML }}
|
||||
{{ .Summary }}
|
||||
<a href="{{ .Permalink }}">Read more</a>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue