website

Personal website
git clone https://github.com/michaelneuper/website.git
README | Files | Log | Refs

website/src/components/home/Contact.astro (2386B)


---
// Contact, as an *unsent mail* buffer: the address, the GPG key, links
// elsewhere and the CTF.
import Buffer from "../frame/Buffer.astro";
import "../../styles/home/contact.css";
---
<Buffer id="contact" file="*unsent mail*" mode="Message" meta="draft">
    <h2 class="h2">Say hello</h2>
    <p class="lede">Email works best. For anything private, encrypt it with my GPG key below.</p>

    <div class="contact">
      {/* The address is only ever put together in JavaScript (src/scripts/home/contact.js), so scrapers
           reading this HTML don't see it. The link and the copy button read data-user and data-host. */}
      <a class="mail" href="#contact" data-user="michael" data-host="michaelneuper.com">michael<span class="at"> [at] </span>michaelneuper.com</a>
      <button type="button" class="btn" data-email="copy">copy address</button>
    </div>

    <div class="contact-grid">
      <div class="gpg">
        <h3 class="ds-h">Encrypt it</h3>
        <p class="gpg-fp"><span class="dim">fingerprint</span><code>4E7B F800 0D86 182D F484 5C37 508B CF84 373C 8930</code></p>
        <div class="gpg-cmd">
          <pre><code>curl -sL https://michaelneuper.com/<wbr>michaelneuper.gpg | gpg --import</code></pre>
          <button type="button" class="btn" data-copy=".gpg-cmd code">copy</button>
        </div>
      </div>
      <div>
        <h3 class="ds-h">Elsewhere</h3>
        <ul class="elsewhere">
          <li><a href="https://github.com/michaelneuper">GitHub</a></li>
          <li><a href="https://git.michaelneuper.com">Git mirror</a></li>
          <li><a href="https://www.linkedin.com/in/michaelneuper/">LinkedIn</a></li>
          <li><a href="https://buymeacoffee.com/michaelneuper" target="_blank" rel="noopener">Buy me a coffee</a></li>
        </ul>
      </div>
    </div>

    <div class="ctf">
      <h3 class="ds-h">Capture the flag</h3>
      <p>Three flags are hidden on this site, the kind you would find in a beginner CTF. They look like <code>{"flag{…}"}</code>. Found one? Run <kbd>M-x</kbd> <code>submit-flag</code>, or use the button.</p>
      <p class="ctf-row"><button type="button" class="btn" data-ctf="submit">submit a flag</button><span class="ctf-progress" aria-live="polite">0 of 3 found</span></p>
    </div>
</Buffer>

<script>
  import { initContact } from "../../scripts/home/contact.js";

  initContact();
</script>