summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjaseg <git@jaseg.de>2023-12-30 16:35:36 +0100
committerjaseg <git@jaseg.de>2023-12-30 16:35:36 +0100
commit74e119b6e2ce33c3dc66ec078396dfac6314c6c4 (patch)
tree0a1d1745285869e521aed1a96d6181b7f31d867d
parentb357b505257e460d41aef80550693c810780b7fc (diff)
downloadblog-74e119b6e2ce33c3dc66ec078396dfac6314c6c4.tar.gz
blog-74e119b6e2ce33c3dc66ec078396dfac6314c6c4.tar.bz2
blog-74e119b6e2ce33c3dc66ec078396dfac6314c6c4.zip
theme: Add static page search with pagefind
-rw-r--r--content/blog/kicad-mesh-plugin/index.rst32
-rw-r--r--content/blog/led-characterization/index.rst26
-rw-r--r--content/blog/multichannel-led-driver/index.rst28
-rw-r--r--content/blog/sybil-resistance-identity/index-old.rst6
-rw-r--r--content/blog/sybil-resistance-identity/index.rst7
-rw-r--r--content/blog/telekom-gpon-sfp/index.rst10
-rw-r--r--content/blog/thors-hammer/index.rst6
-rw-r--r--content/blog/wifi-led-driver/index.rst6
-rw-r--r--content/imprint/index.rst3
-rw-r--r--themes/conspiracy/assets/css/style.css65
-rw-r--r--themes/conspiracy/layouts/_default/baseof.html5
-rw-r--r--themes/conspiracy/layouts/_default/single.html4
-rw-r--r--themes/conspiracy/layouts/partials/header.html3
13 files changed, 141 insertions, 60 deletions
diff --git a/content/blog/kicad-mesh-plugin/index.rst b/content/blog/kicad-mesh-plugin/index.rst
index df15933..5ba576a 100644
--- a/content/blog/kicad-mesh-plugin/index.rst
+++ b/content/blog/kicad-mesh-plugin/index.rst
@@ -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>
diff --git a/content/blog/led-characterization/index.rst b/content/blog/led-characterization/index.rst
index 6ad4d64..94de4d3 100644
--- a/content/blog/led-characterization/index.rst
+++ b/content/blog/led-characterization/index.rst
@@ -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">
diff --git a/content/blog/multichannel-led-driver/index.rst b/content/blog/multichannel-led-driver/index.rst
index 86fab72..c4e17b8 100644
--- a/content/blog/multichannel-led-driver/index.rst
+++ b/content/blog/multichannel-led-driver/index.rst
@@ -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">
diff --git a/content/blog/sybil-resistance-identity/index-old.rst b/content/blog/sybil-resistance-identity/index-old.rst
index 6f1bee3..734cc5a 100644
--- a/content/blog/sybil-resistance-identity/index-old.rst
+++ b/content/blog/sybil-resistance-identity/index-old.rst
@@ -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>
diff --git a/content/blog/sybil-resistance-identity/index.rst b/content/blog/sybil-resistance-identity/index.rst
index f90b5ac..3c9e008 100644
--- a/content/blog/sybil-resistance-identity/index.rst
+++ b/content/blog/sybil-resistance-identity/index.rst
@@ -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
diff --git a/content/blog/telekom-gpon-sfp/index.rst b/content/blog/telekom-gpon-sfp/index.rst
index 17f78d5..3d85732 100644
--- a/content/blog/telekom-gpon-sfp/index.rst
+++ b/content/blog/telekom-gpon-sfp/index.rst
@@ -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>
diff --git a/content/blog/thors-hammer/index.rst b/content/blog/thors-hammer/index.rst
index ba851a5..d81287a 100644
--- a/content/blog/thors-hammer/index.rst
+++ b/content/blog/thors-hammer/index.rst
@@ -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>
diff --git a/content/blog/wifi-led-driver/index.rst b/content/blog/wifi-led-driver/index.rst
index 1c4024a..f352fe6 100644
--- a/content/blog/wifi-led-driver/index.rst
+++ b/content/blog/wifi-led-driver/index.rst
@@ -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).
diff --git a/content/imprint/index.rst b/content/imprint/index.rst
index 12901ea..bbff4e2 100644
--- a/content/imprint/index.rst
+++ b/content/imprint/index.rst
@@ -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>
diff --git a/themes/conspiracy/assets/css/style.css b/themes/conspiracy/assets/css/style.css
index 78635d5..11654ea 100644
--- a/themes/conspiracy/assets/css/style.css
+++ b/themes/conspiracy/assets/css/style.css
@@ -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%);
diff --git a/themes/conspiracy/layouts/_default/baseof.html b/themes/conspiracy/layouts/_default/baseof.html
index eb163b6..9557f19 100644
--- a/themes/conspiracy/layouts/_default/baseof.html
+++ b/themes/conspiracy/layouts/_default/baseof.html
@@ -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>
diff --git a/themes/conspiracy/layouts/_default/single.html b/themes/conspiracy/layouts/_default/single.html
index 231daf7..c7135f8 100644
--- a/themes/conspiracy/layouts/_default/single.html
+++ b/themes/conspiracy/layouts/_default/single.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 }}
diff --git a/themes/conspiracy/layouts/partials/header.html b/themes/conspiracy/layouts/partials/header.html
index e252f1f..0b9ea44 100644
--- a/themes/conspiracy/layouts/partials/header.html
+++ b/themes/conspiracy/layouts/partials/header.html
@@ -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>