theme: Add static page search with pagefind
This commit is contained in:
parent
b357b50525
commit
74e119b6e2
13 changed files with 141 additions and 60 deletions
|
|
@ -5,8 +5,8 @@ date: 2020-08-18T13:15:39+02:00
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<img src="images/anim.webp" style="max-width: 20em">
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/anim.webp" style="max-width: 20em">
|
||||
</figure>
|
||||
|
||||
Tamper Detection Meshes
|
||||
|
|
@ -38,7 +38,7 @@ stored on the card, things such as copying of a card can only be hindered by mak
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/modern_art.svg" style="max-width: 20em">
|
||||
</figure>
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ usable for this task.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/kicad-mesh-outline.png" alt="KiCAD showing an irregular board shape with rounded corners and
|
||||
indents. In the middle of the board there is a footprint for a 4-pin surface-mount pin header.">
|
||||
<figcaption>The process starts out with the mesh shape being defined inside KiCAD. The mesh's outline is drawn
|
||||
|
|
@ -104,7 +104,7 @@ usable for this task.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/grid-vis-plain.svg" alt="A vizualization of the grid fitting process. Over the mesh's irregular
|
||||
outline a grid is drawn. In this picture, all grid cells that are fully inside the grid are shown. Grid cells
|
||||
that overlap the mesh border are highlighted. Grid cells outside of the mesh border are not drawn.">
|
||||
|
|
@ -125,7 +125,7 @@ means that on every step, the algorithm is choosing a new direction at random.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<div class="subfigure">
|
||||
<div class="subfigure" data-pagefind-ignore>
|
||||
<figure>
|
||||
<img src="images/cells-0.svg" alt="a completely organized looking grid with spiral patterns all over.">
|
||||
<figcaption>0%</figcaption>
|
||||
|
|
@ -157,7 +157,7 @@ sides connected, a straight through, a 90 degree bend, and a "T"-junction—see
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/maze_tiles_plain.svg" style="max-width: 20em">
|
||||
<figcaption>
|
||||
There are six possible tile types in our connectivity graph inside its square tiling. This graphic illustrates
|
||||
|
|
@ -169,7 +169,7 @@ After tiling the grid according to the key above, we get the result below.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/tiles-25-small.svg">
|
||||
<figcaption>
|
||||
An auto-routed mesh with traces colored according to tile types.
|
||||
|
|
@ -178,7 +178,7 @@ After tiling the grid according to the key above, we get the result below.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/traces-25-small.svg">
|
||||
<figcaption>
|
||||
The same mesh, but with traces all black.
|
||||
|
|
@ -189,7 +189,7 @@ Putting it all together got me the KiCAD plugin you can see in the screenshot be
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/kicad-mesh-settings2.png">
|
||||
<figcaption>
|
||||
The plugin settings window open.
|
||||
|
|
@ -198,11 +198,11 @@ Putting it all together got me the KiCAD plugin you can see in the screenshot be
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<img src="images/kicad-mesh-result-large.png">
|
||||
<figcaption>
|
||||
After runing the plugin, the generated mesh looks like this in pcbnew.
|
||||
</figcaption>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/kicad-mesh-result-large.png">
|
||||
<figcaption>
|
||||
After runing the plugin, the generated mesh looks like this in pcbnew.
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
I am fairly happy with the result, but getting there was a medium pain. Especially KiCAD's plugin API is still very
|
||||
|
|
@ -218,7 +218,7 @@ making a copy of the board file first and treating mesh generation as a non-reve
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/grid-vis-plain.svg" alt="">
|
||||
<figcaption></figcaption>
|
||||
</figure>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ really important so you could dim it down a lot without flickering. I ended up u
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/rgb_cube.svg" alt="An illustration of the RGB color cube.">
|
||||
<figcaption>An illustration of the RGB color cube.
|
||||
<a href="https://commons.wikimedia.org/wiki/File:RGB_color_cube.svg">Picture</a> by
|
||||
|
|
@ -46,7 +46,7 @@ transformation.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/hsv_cylinder.png" alt="An illustration of the HSV color space as a cylinder.">
|
||||
<figcaption>An illustration of the HSV color space as a cylinder.
|
||||
<a href="https://commons.wikimedia.org/wiki/File:HSV_color_solid_cylinder.png">Picture</a> by
|
||||
|
|
@ -67,7 +67,7 @@ particular in the blues and greens we loose *a lot* of colors to sRGB.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<video controls loop>
|
||||
<source src="video/sRGB.mkv" type="video/h264">
|
||||
<source src="video/sRGB.webm" type="video/webm">
|
||||
|
|
@ -98,7 +98,7 @@ over the problem, there are several sources for imperfections:
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<div class="subfigure">
|
||||
<div class="subfigure" data-pagefind-ignore>
|
||||
<figure>
|
||||
<img src="images/driver_ringing_strong.jpg" alt="Strong ringing on the LED voltage waveform edge at about
|
||||
100% overshoot during about 70% of the cycle time.">
|
||||
|
|
@ -160,7 +160,7 @@ spectrum of the phosphor.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<div class="subfigure">
|
||||
<div class="subfigure" data-pagefind-ignore>
|
||||
<figure>
|
||||
<img src="images/spectrograph_step1_parts.jpg">
|
||||
<figcaption>The ingredients. The cup of coffee and Madoka Magica DVD set are essential to the eventual
|
||||
|
|
@ -195,7 +195,7 @@ different colors on their pictures. Some other sensor was needed.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/daylight_spectrum_dvd.jpg">
|
||||
<figcaption>The daylight spectrum as seen using a DVD as a grating.
|
||||
<a href="https://commons.wikimedia.org/wiki/File:SpectresSolaires-DVD.jpg">Picture</a> by
|
||||
|
|
@ -235,7 +235,7 @@ trimpot on the virtual ground both amplifers use as a reference so I could trim
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/preamp_schematic.jpg" alt="A drawing of the photodiode preamplifier's schematic">
|
||||
<figcaption>The photodiode preamplifier schematic. Schematic drawn with an unlicensed copy of
|
||||
DaveCAD.</figcaption>
|
||||
|
|
@ -255,7 +255,7 @@ here.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<div class="subfigure">
|
||||
<div class="subfigure" data-pagefind-ignore>
|
||||
<figure>
|
||||
<img src="images/preamp_front.jpg">
|
||||
<figcaption>The front side of the preamplifier board.</figcaption>
|
||||
|
|
@ -290,7 +290,7 @@ The whole unit with photodiode preamplifier, linear stage, photodiode and steppe
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/electronics_whole.jpg" alt="The complete electronics setup of the spectrograph. In the back
|
||||
there is the DVD drive stepper stage. In front of it, mounted on a piece of wood are a small USB-to-12V
|
||||
switching-regulator module to power the stepper motor in the top left, below on the bottom left is the
|
||||
|
|
@ -338,7 +338,7 @@ begin.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/raw_plot_cheap_rgb.svg" alt="A plot with three wide peaks, two large peaks on both sides and
|
||||
one smaller one in the middle. The middle one overlaps the two on the sides. The large ones are about 2.5V in
|
||||
amplitude. Overall, the plot is about 300 stepper steps wide with each peak being around 130 steps wide.">
|
||||
|
|
@ -375,7 +375,7 @@ of the blue peak towards red.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/photodiode_sensitivity.svg" alt="A plot of photodiode sensitivity against wavelength relative
|
||||
to peak sensitivity at 820nm. The sensitivity rises from 20% at 380nm approximately linearly to 80% at 620nm,
|
||||
then the rise rolls off.">
|
||||
|
|
@ -394,7 +394,7 @@ wavelength in nanometers.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/processed_plot_cheap_rgb.svg" alt="A plot with three wide peaks, all three of different
|
||||
heights. The leftmost peak is highest at 6nA, the middle peak lowest at 1.6nA and the rightmost peak in between
|
||||
at 4nA. The middle one overlaps the two on the sides. Overall, the plot spans about 300nm on its x axis with
|
||||
|
|
@ -428,7 +428,7 @@ models can be found in the `project repo`_.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<video controls loop>
|
||||
<source src="video/led_within_srgb_scale=1.0.mkv" type="video/h264">
|
||||
<source src="video/led_within_srgb_scale=1.0.webm" type="video/webm">
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ good timing.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/pwm_schema.jpg" alt="A visualization of PWM at different duty cycles.">
|
||||
<figcaption>Waveforms of two PWM cycles at different duty cycles.</figcaption>
|
||||
</figure>
|
||||
|
|
@ -96,7 +96,7 @@ on.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/bcm_schema.jpg" alt="A visualization of BCM at different duty cycles.">
|
||||
<figcaption>Waveforms of a single 4-bit BCM cycle at different duty cycles. This BCM can produce 16 different
|
||||
levels.</figcaption>
|
||||
|
|
@ -144,7 +144,7 @@ period, one pulse will reset the shift register and one will strobe the freshly-
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/olsndot_output_schematic.jpg" alt="From left to right, we see the STM32, one of the shift
|
||||
registers, and the LEDs and MOSFETs. The LED tape is driven to ground by the MOSFETs, which are in turn directly
|
||||
driven from the shift register outputs. The shift register is wired up to the STM32 with its clock and data
|
||||
|
|
@ -199,7 +199,7 @@ voltrage we saw on our oscilloscope on the LED tape.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/driver_ringing_strong.jpg" alt="Strong ringing on the LED voltage waveform edge at about
|
||||
100% overshoot during about 70% of the cycle time.">
|
||||
<figcaption>Bad ringing on the LED output voltage caused by wiring inductance. Note that the effect on the
|
||||
|
|
@ -215,7 +215,7 @@ likely culprit. The figure below is the schematic used for the simulations.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/driver_output_ltspice_schematic.jpg" alt="The LTSpice schematic of one output of the driver,
|
||||
taking into account the shift register's output ESR and the wiring ESL.">
|
||||
<figcaption>The schematic of the simulation in LTSpice</figcaption>
|
||||
|
|
@ -228,7 +228,7 @@ driver.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/overshoot_sim_r0.svg" alt="The result of the LTSpice simulation of our driver output. The LED
|
||||
current shows similar ringing to what we measured using the oscilloscope. Interestingly, the gate voltage shows
|
||||
strong ringing, too.">
|
||||
|
|
@ -246,7 +246,7 @@ since the estimated ESL and stray capacitance of the wiring is probably way off.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/driver_ringing_weak.jpg" alt="Weak ringing on the LED voltage waveform edge at about 30%
|
||||
overshoot during about 20% of the cycle time.">
|
||||
<figcaption>Adding a resistor in front of the MOSFET gate to slow the transition damped the ringing somewhat,
|
||||
|
|
@ -257,7 +257,7 @@ since the estimated ESL and stray capacitance of the wiring is probably way off.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/overshoot_sim_r100.svg" alt="The result of the LTSpice simulation of our driver output with an
|
||||
extra 100 Ohms between shift register output and MOSFET gate. Similar to the oscilloscope measurement the
|
||||
ringing is much reduced in its amplitude.">
|
||||
|
|
@ -273,7 +273,7 @@ cycle of the LED current is not at all equal to the 50% duty cycle of the excita
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/asymmetric_iled.svg" alt="The result of an LTSpice simulation of the LED duty cycle without and
|
||||
with damping. Dampening widens the LED current waveform from 50% duty cycle with sharp edges to about 80% duty
|
||||
cycle with soft edges.">
|
||||
|
|
@ -283,7 +283,7 @@ cycle of the LED current is not at all equal to the 50% duty cycle of the excita
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/asymmetric_vgate.svg" alt="The gate voltages in the spice simulation above. The undamped
|
||||
response shows sharp edges with the miller plateau being a barely noticeable step, but with strong ringing on
|
||||
the trailing edge. The damped response shows RC-like slow-edges, but has wide miller plateaus on both edges
|
||||
|
|
@ -327,7 +327,7 @@ sensitive owing to their physically large die area.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/linearization_setup.jpg" alt="The led measurement setup consists of several PCBs and a
|
||||
breadboard linked with a bunch of wires and a big tin can to shield the LEDs and the photodiode. A large sub-D
|
||||
connector is put into the top of the tin can as a feed-through for the LED tape's control signals and the
|
||||
|
|
@ -356,7 +356,7 @@ photocurrents for a certain BCM setpoint just as our retinas would do.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/driver_linearity_raw.svg" alt="">
|
||||
<figcaption>
|
||||
A plot of the measured brightness of our LED tape for each BCM period. The brightness values are normalized
|
||||
|
|
@ -376,7 +376,7 @@ the resulting brightness curve below.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<div class="subfigure">
|
||||
<div class="subfigure" data-pagefind-ignore>
|
||||
<figure>
|
||||
<img src="images/uncorrected_brightness_sim.svg" alt="">
|
||||
<figcaption>
|
||||
|
|
@ -432,7 +432,7 @@ Conclusion
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<div class="subfigure">
|
||||
<div class="subfigure" data-pagefind-ignore>
|
||||
<figure>
|
||||
<a href="images/olsndot_schematic.png">
|
||||
<img src="images/olsndot_schematic.png" alt="A picture of the LED driver schematic">
|
||||
|
|
|
|||
|
|
@ -1,13 +1,15 @@
|
|||
---
|
||||
title: "Theia Attack Resistance and Digital Identity"
|
||||
date: 2020-09-09T15:00:00+02:00
|
||||
draft: true
|
||||
---
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<figure class="header">
|
||||
<img src="images/succulents.jpg">
|
||||
<figcaption>Photo by <a href="https://unsplash.com/@timbennettcreative">Tim Bennett</a> on <a href="https://unsplash.com/">Unsplash</a></figcaption>
|
||||
<img src="images/succulents.jpg">
|
||||
<figcaption>Photo by <a href="https://unsplash.com/@timbennettcreative">Tim Bennett</a> on
|
||||
<a href="https://unsplash.com/">Unsplash</a></figcaption>
|
||||
</figure>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -6,9 +6,10 @@ draft: true
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure class="header">
|
||||
<img src="images/succulents.jpg">
|
||||
<figcaption>Photo by <a href="https://unsplash.com/@timbennettcreative">Tim Bennett</a> on <a href="https://unsplash.com/">Unsplash</a></figcaption>
|
||||
<figure class="header" data-pagefind-ignore>
|
||||
<img src="images/succulents.jpg">
|
||||
<figcaption>Photo by <a href="https://unsplash.com/@timbennettcreative">Tim Bennett</a> on
|
||||
<a href="https://unsplash.com/">Unsplash</a></figcaption>
|
||||
</figure>
|
||||
|
||||
Identity in Cyberspace
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ EdgeRouter's SFP interface, then patch connections between the SFP ONU and the l
|
|||
<figure style="width: 20em">
|
||||
<a href="images/edgerouter_sfp_config.png">
|
||||
<img src="images/edgerouter_sfp_config.png" alt="The EdgeRouter's graphical configuration interface showing IP
|
||||
address 10.10.1.2/24 being configured for interface eth5, which is the SFP interface.">
|
||||
address 10.10.1.2/24 being configured for interface eth5, which is the SFP interface." data-pagefind-ignore>
|
||||
</a>
|
||||
<figcaption>SFP interface configuration to access the SFP ONU from a laptop connected to the EdgeRouter's LAN
|
||||
port</figcaption>
|
||||
|
|
@ -114,7 +114,7 @@ EdgeRouter's SFP interface, then patch connections between the SFP ONU and the l
|
|||
<a href="images/edgerouter_snat_config.png">
|
||||
<img src="images/edgerouter_snat_config.png" alt="The EdgeRouter's graphical configuration interface showing a
|
||||
source NAT being configured for interface eth5 for TCP protocol connections to destination address 10.10.1.1
|
||||
using masquerading.">
|
||||
using masquerading." data-pagefind-ignore>
|
||||
</a>
|
||||
<figcaption>Source NAT configuration to access the SFP ONU from LAN. eth5, masquerading on, TCP, destination
|
||||
10.10.1.1 (the SFP ONU's IP).</figcaption>
|
||||
|
|
@ -135,7 +135,7 @@ default login credentials for the device are admin/1234.
|
|||
<a href="images/sfp_onu_web_if.png">
|
||||
<img src="images/sfp_onu_web_if.png" alt="The SFP ONU configuration web interface is a basic-looking website with
|
||||
a big Zyxel logo on it. It has menu options named status, setup and management. It shows a system overview
|
||||
page that lists the device's uptime and software version.">
|
||||
page that lists the device's uptime and software version." data-pagefind-ignore>
|
||||
</a>
|
||||
<figcaption>The SFP ONU's web interface.</figcaption>
|
||||
</figure>
|
||||
|
|
@ -155,7 +155,7 @@ on this page.
|
|||
<a href="images/sfp_onu_ploam_pw_config.png">
|
||||
<img src="images/sfp_onu_ploam_pw_config.png" alt="The SFP ONU configuration web interface shows its SLID
|
||||
configuration page. A text field labelled SLID asks the user to enter a value of at most ten characters. As
|
||||
an example, abcdefg123 is listed.">
|
||||
an example, abcdefg123 is listed." data-pagefind-ignore>
|
||||
</a>
|
||||
<figcaption>The SFP ONU's config interface to set SLID/PLOAM PW/ONT-Installationskennung.</figcaption>
|
||||
</figure>
|
||||
|
|
@ -169,7 +169,7 @@ link on the left. Make sure to not select the factory reset option instead.
|
|||
<a href="images/sfp_onu_reset.png">
|
||||
<img src="images/sfp_onu_reset.png" alt="The SFP ONU configuration web interface shows its reset ONU page. There
|
||||
are two options labelled Reset ONU and Reset to factory default settings. The reset ONU option is
|
||||
selected.">
|
||||
selected." data-pagefind-ignore>
|
||||
</a>
|
||||
<figcaption>Rebooting the SFP ONU.</figcaption>
|
||||
</figure>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ for `PS/2`_ keyboards.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<video controls loop>
|
||||
<source src="video/thors_hammer.mov" type="video/h264">
|
||||
<source src="video/thors_hammer.webm" type="video/webm">
|
||||
|
|
@ -31,7 +31,7 @@ pulse a few tens of milliseconds long that is enough to actuate the solenoid.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/thors_hammer_schematic.jpg" alt="The schematic of the PS2 driver">
|
||||
<figcaption>The schematic of the driver stretching the PS/2 clock pulses to drive the solenoid.</figcaption>
|
||||
</figure>
|
||||
|
|
@ -44,7 +44,7 @@ Built on a breadboard, the circuit looks like this.
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/thors_hammer_breadboard.jpg" alt="The circuit built on a breadboard">
|
||||
<figcaption>The completed circuit built up on a breadboard and attached to a keyboard.</figcaption>
|
||||
</figure>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ Project motivation
|
|||
.. FIXME finished project picture with LED tape
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/board_in_case.small.jpg">
|
||||
<figcaption>The completed driver board installed in the 3D-printed case. This device can now be connected to
|
||||
12V and two segments of LED tape that can then be controlled trough Wifi. The ESP8266 module goes on the pin
|
||||
|
|
@ -47,7 +47,7 @@ currents their `trip times get long enough that they become unlikely to trip in
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<div class="subfigure">
|
||||
<div class="subfigure" data-pagefind-ignore>
|
||||
<figure>
|
||||
<img src="images/schematic.png">
|
||||
<figcaption>
|
||||
|
|
@ -71,7 +71,7 @@ currents their `trip times get long enough that they become unlikely to trip in
|
|||
|
||||
.. raw:: html
|
||||
|
||||
<figure>
|
||||
<figure data-pagefind-ignore>
|
||||
<img src="images/boards.small.jpg">
|
||||
<figcaption>The completed PCBs of this project (front) and the `multichannel LED driver`_ project the driver
|
||||
circuitry was derived from (back).
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
title: "Impressum"
|
||||
noindex: true
|
||||
---
|
||||
|
||||
Impressum
|
||||
|
|
@ -29,7 +30,7 @@ Lizenz dieser Seite
|
|||
</a>.<br/>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">
|
||||
<img alt="Creative Commons Lizenzvertrag" style="border-width:0"
|
||||
src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" />
|
||||
src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" data-pagefind-ignore/>
|
||||
</a>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -601,6 +601,71 @@ body .il { color: var(--c-text); font-weight: 600 } /* Literal.Number.Integer.L
|
|||
}
|
||||
}
|
||||
|
||||
.search {
|
||||
align-self: center;
|
||||
max-width: calc(100vw - 20px);
|
||||
flex-grow: 1;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.pagefind-ui__form {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.search input {
|
||||
height: 1.5lh;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
#search, .pagefind-ui, #search form, #search input {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.search button {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pagefind-ui__drawer {
|
||||
position: fixed;
|
||||
margin-top: 10px;
|
||||
background: var(--c-bg-highlight);
|
||||
max-width: min(100%, min(100vw, 40em));
|
||||
max-height: 100%;
|
||||
overflow-x: clip;
|
||||
overflow-y: scroll;
|
||||
text-overflow: clip;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.pagefind-ui__message {
|
||||
font-family: "Nyght Serif";
|
||||
font-weight: 700;
|
||||
font-size: 16pt;
|
||||
}
|
||||
|
||||
.pagefind-ui__results-area {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.pagefind-ui__results-area img {
|
||||
max-width: min(50vw, 200px);
|
||||
}
|
||||
|
||||
.pagefind-ui__results-area a {
|
||||
max-width: min(50vw, 200px);
|
||||
color: var(--c-fg-secondary) !important;
|
||||
text-decoration: none;
|
||||
padding: 10px 10px 10px 0 !important;
|
||||
font-family: "Nyght Serif";
|
||||
font-weight: 700;
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
.pagefind-ui__results-area figure, .pagefind-ui__results-area div.subfigure, .pagefind-ui__results-area img {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media print, (prefers-color-scheme: light) {
|
||||
html {
|
||||
--c-bg-backdrop: hsl(220, 10%, 90%);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
{{- partial "header.html" . -}}
|
||||
{{- block "main" . }}{{- end }}
|
||||
{{- partial "footer.html" . -}}
|
||||
<script src="/pagefind/pagefind-ui.js"></script>
|
||||
<script>
|
||||
if(navigator.getEnvironmentIntegrity!==undefined)document.querySelector('body').innerHTML=`<h1>Your browser
|
||||
contains Google DRM</h1>"Web Environment Integrity" is a Google euphemism for a DRM that is designed to
|
||||
|
|
@ -12,6 +13,10 @@
|
|||
In support of an open web, this website does not function with this DRM. Please install a browser such
|
||||
as <a href="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> that respects your freedom and supports
|
||||
ad blockers.`;
|
||||
|
||||
window.addEventListener('DOMContentLoaded', (event) => {
|
||||
new PagefindUI({element: "#search", showSubResults: true});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,11 @@
|
|||
{{- if .Params.Date }} <strong>{{ .Date.Format "2006-01-02" }}</strong>{{- end }}
|
||||
</header>
|
||||
{{- end }}
|
||||
{{- if .Params.noindex }}
|
||||
<main>
|
||||
{{- else }}
|
||||
<main data-pagefind-body>
|
||||
{{- end }}
|
||||
{{- if .Params.external_links }}
|
||||
<div class="links">
|
||||
{{- range .Params.external_links }}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,9 @@
|
|||
</a>
|
||||
{{- end }}
|
||||
</div>
|
||||
<div class="search">
|
||||
<div id="search"></div>
|
||||
</div>
|
||||
<div class="external">
|
||||
{{- range site.Params.profile_links }}
|
||||
<a href="{{ .url | absURL }}" title="{{ .name }}">{{ .name }}</a>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue