removed files from anemone theme

This commit is contained in:
Joost Agterhoek 2024-09-11 21:20:10 +02:00
parent ba7d2c9347
commit 2dad50d16e
20 changed files with 0 additions and 481 deletions

View File

@ -1,7 +0,0 @@
+++
title = "testing..again"
[taxonomies]
tags = ["test"]
+++
I just *keep* on testing...I guess I'm never happy 🧐 But! The end result will be just what I want.

View File

@ -1,11 +0,0 @@
+++
title = "testing"
[taxonomies]
tags = ["test"]
+++
testing! ♥️
I guess the testing...worked? Essentially, it all worked out. I had some issues with `zola serve` not automatically rebuilding and reloading the page upon editing data. That was handled by replacing the root folder for this website to the root of my WSL (as found [here](https://github.com/getzola/zola/issues/1440). This is something of a problem, as it would be great to test out any edits locally and then (maybe with a git hook) push a commit ánd sync the updated files to my server. But of course, we can't have everything, can we!
Another thing that bothers me is that I found a solution to a 'bug', but I don't understand the solution. After writing some initial posts, I started to wonder how the base HTML pages work together with these Markdown files to produce the actual statically generated website pages. The syntax looks similar to Jinja, which I am sort of used to using in one of my Python projects. But for the life of me, I couldn't get the actual HTML (which would show some metadata like a date and author above a post like this one), to show up. Then I started looking at the Github-folder for this theme and git cloned that repo and whaddayaknow: that clone **does** produce the expected HTML! I compared files, even diffed some, to understand what I was missing in my files or folder structure. In the end I couldn't find it, so I simply copy and pasted the files. And of course, it worked immediately. Sigh. Again: we can't have everything. But! We do have emojis. So. That's something!🪅🌟🤣😉🙃

View File

@ -1,23 +0,0 @@
+++
title = "I want to learn malware analysis (again)"
[taxonomies]
tags = ['malware analysis', 'programming', 'reverse engineering']
+++
The heading says it all: I *really* want to learn malware analysis. Ever since I finalized the [Practical Malware Analysis & Triage](https://academy.tcm-sec.com/p/practical-malware-analysis-triage) course by [TCM Security](https://academy.tcm-sec.com/), I was hooked. I 💚loved💚 the entire course, especially diving deep into binaries, (trying) reverse engineering, debugging. I went through all the material, did the labs and wrote up a report, a (very shallow) static and dynamic analysis of a WannaCry-sample. I found my niche (or so I thought...)
## Rabbit holes
One thing that bothered me throughout the course, was the lack of direction and stable ground when investigating and debugging binaries. I found myself stuck reverse engineering functions that were not user written code (C runtime for example). I got close to a particularly interesting part, stepping into and over functions, all to ultimately never reach that goal of finding a specific return value or determining a critical execution flow junction. So I thought to myself: what's the best way to learn how programs work, and flip them inside out? By building them myself! With that motivation, I dove deep back into Python 🐍, thinking, this will be a good starting ground to hop over to C 🖥️ later. But...I think I got stuck at the first step! 🛑 Over the last year, I got really hooked on programming. Some of the stuff I (partially) made:
* A [`Flask`](https://flask.palletsprojects.com/en/3.0.x/) website to look up individual URLs, websites, IP addresses and email addresses for general security analysis purposes. [(Code and screenshots here)](https://code.joostagterhoek.nl/joost/flask-soc-site).
* A command-line interface tool that does the same, without the upload feature. I still need to add relevant emphasis on certain values and legend explanations. The tables are drawn with the [`rich`](https://rich.readthedocs.io/en/stable/introduction.html) module. [(Code and screenshots here)](https://code.joostagterhoek.nl/joost/cli-lookup)
* Finally, the same idea, now in a [`Tkinter`](https://docs.python.org/3/library/tkinter.html#module-tkinter) GUI app. I'm currently reimplementing the basically functioning app into classes for the main app and the frames, which is proving quite challenging. ([Code and screenshots here](https://code.joostagterhoek.nl/joost/gui-host-lookup))
## Refocused (with more experience)
Trying to get back into malware analysis, malware study in general, has been really difficult for the past couple of weeks: the Practical Malware Analysis-book I was working with feels entirely foreign (I also can't get the labs to properly function, as it's all Windows XP-based and the executables don't do what the book says). After some frustrated attempts, I will now refocus on my two main interests in the field of malware: developing 🏗️ and reverse engineering 🖥️ .
Developing I hope to do with my brand-new lifetime access to [Maldev Academy](https://maldevacademy.com). Reverse engineering by reading and practicing along with the (so far very practical) book [Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation](https://www.amazon.com/Practical-Reverse-Engineering-Reversing-Obfuscation/dp/1118787315). I hope to post any notes or blog posts about my progress here.

View File

@ -1,17 +0,0 @@
+++
title = "syncing works"
[taxonomies]
tags = ["self-hosting", "zola", "automation", "systemd"]
+++
I am quite 🤩 ecstatic 🤩: I got a seamless sync working between my local Git-controlled site content and my server! The way I did it:
1. use rsync to sync local files to the server in a normal user-owned folder
2. setup another rsync-script owned by the `zola` user on the server
3. create a `systemd` unit path and service that syncs these files with the proper ownership to the folders where the `zola` service watches for changes
4. 💸 profit!
Online resources that helped me with this:
- [Using systemd Path Units to Monitor Files and Directories](https://www.putorius.net/systemd-path-units.html)
- [How to run systemd service as specific user and group in Linux](https://www.golinuxcloud.com/run-systemd-service-specific-user-group-linux/)

View File

@ -1,7 +0,0 @@
+++
title = 'testing differentiated systemd paths'
[taxonomies]
tags = ['self-hosting', 'zola', 'systemd']
+++
Some testing 🤣

View File

@ -1,23 +0,0 @@
+++
title = "trying out a different theme"
[taxonomies]
tags = ['self-hosting', 'zola', 'portfolio']
+++
## Portfolio
While the [seamless sync](./2024-09-08-sync-working.md) is working great, this immediately got me thinking whether this test website is already good enough to replace my current [main website](https://joostagterhoek.nl).
But, I still need to something quite important: a place for my projects 🏠! The intention of this website and pretty much my entire self-hosted online presence is to showcase what I am working on, what I want to learn and what's keeping me busy 🖱️.
I think it shouldn't be *too* hard to get a portfolio or projects page or pages running, **but** it would distract from actually working on these projects or thinking how to best showcase them. So, instead... ❓
## Switching themes
I will try out some themes! 🖌️ A fresh coat of paint never hurt anyone. I have already been looking on the [Zola themes](https://www.getzola.org/themes/) page and one that immediately caught my eye was [apollo](https://www.getzola.org/themes/apollo/).
![apollo-screenshot-from-github-repo](https://github.com/not-matthias/apollo/blob/main/screenshot-dark.png?raw=true)
It's a nice, neat and minimal theme, with support for [blog posts](https://not-matthias.github.io/apollo/posts), [projects](https://not-matthias.github.io/apollo/projects/) and a clean [tags](https://not-matthias.github.io/apollo/tags/) overview. As I already have `zola` installed locally, I will be trying it out in the coming days to see if it would fit my needs ✔️. If so, I would be happy to get it going on this test website or maybe even immediately to my main domain (I am not the most patient person 🕰️)

Binary file not shown.

View File

@ -1,105 +0,0 @@
#nav-bar {
padding: .625rem 0 0 0;
display: flex;
flex-direction: row;
gap: .25rem;
flex-wrap: wrap;
justify-content: flex-end;
align-items: center;
align-content: flex-end
}
#footer-container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.accent-data {
color: var(--accent);
}
.theme-transition {
transition: color 0.3s ease, background-color 0.3s ease;
}
.tags-data {
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: flex-end;
align-items: flex-start;
align-content: flex-end
}
.title-list li {
margin-bottom: .375rem;
}
/* icons settings */
.icons {
width: 1.3rem;
height: 1.3rem;
aspect-ratio: 1/1;
display: inline-block;
vertical-align: middle;
color: var(--text);
fill: var(--text);
background-color: transparent;
cursor: pointer;
}
.icons:hover {
background-color: transparent;
color: var(--accent);
}
/* footnotes */
.footnote-definition {
margin: 0 0 0 .125rem;
}
.footnote-definition-label {
color: var(--accent);
}
.footnote-definition p {
display: inline;
margin: .625rem 0 0 .625rem;
}
/* general classes */
.no-style {
padding: 0;
margin: 0;
border: none;
border-radius: 0
}
.no-style:hover {
background-color: transparent;
color: var(--accent);
}
.center {
text-align: center;
}
.center img {
display: block;
margin: 1rem auto;
}
.float-right {
float: right
}
.float-left {
float: left
}
/* shortcodes css */
.webring {
margin: .375rem;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 B

View File

@ -1,49 +0,0 @@
const toggleButton = document.getElementById('theme-toggle');
const themeIcon = document.getElementById('theme-icon');
const themeSound = document.getElementById('theme-sound');
// Function to update the theme icon based on the current theme
const updateThemeIcon = (isDarkMode) => {
const themeMode = isDarkMode ? 'darkMode' : 'lightMode';
const iconPath = themeIcon.querySelector('use').getAttribute('href').replace(/#.*$/, `#${themeMode}`);
themeIcon.querySelector('use').setAttribute('href', iconPath);
};
// Function to update the theme based on the current mode
const updateTheme = (isDarkMode) => {
const theme = isDarkMode ? 'dark' : 'light';
document.documentElement.setAttribute('data-theme', theme);
updateThemeIcon(isDarkMode);
};
// Function to toggle the theme
const toggleTheme = () => {
const isDarkMode = toggleButton.checked;
updateTheme(isDarkMode);
themeSound.play();
localStorage.setItem('theme', isDarkMode ? 'dark' : 'light');
// Add transition class to body for smooth transition
document.body.classList.add('theme-transition');
setTimeout(() => {
document.body.classList.remove('theme-transition');
}, 300);
};
// Event listener for theme toggle
toggleButton.addEventListener('change', toggleTheme);
// Function to initialize the theme based on the stored preference
const initializeTheme = () => {
const storedTheme = localStorage.getItem('theme');
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
const isDarkMode = storedTheme === 'dark' || (!storedTheme && prefersDark);
toggleButton.checked = isDarkMode;
updateTheme(isDarkMode);
};
// Initialize the theme
initializeTheme();
// Listen for changes in system preference
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', initializeTheme);

View File

@ -1,47 +0,0 @@
{% extends "base.html" %}
{% block content %}
<div><a href="..">..</a>/<span class="accent-data">{{ page.slug }}</span></div>
<time datetime="{{ page.date }}">Published on: <span class="accent-data">{{ page.date }}</span></time>
{% if config.extra.author and config.extra.display_author == true %}
<address rel="author">By <span class="accent-data">{{config.extra.author}}</span></address>
{% endif %}
<h1>{{ page.title }}</h1>
{% if page.toc and page.extra.toc %}
<h2>Table of contents</h2>
<ul>
{% for h1 in page.toc %}
<li>
<a href="{{ h1.permalink | safe }}">{{ h1.title }}</a>
{% if h1.children %}
<ul>
{% for h2 in h1.children %}
<li>
<a href="{{ h2.permalink | safe }}">{{ h2.title }}</a>
<ul>
{% for h3 in h2.children %}
<li>
<a href="{{ h3.permalink | safe }}">{{ h3.title }}</a>
</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
{{ page.content | safe }}
<p class="tags-data">
{% if page.taxonomies.tags %}
{% for tag in page.taxonomies.tags %}
<a href="/tags/{{ tag | slugify }}">&#47;{{ tag }}&#47;</a>
{% endfor %}
{% endif %}
</p>
{% endblock content %}

View File

@ -1,23 +0,0 @@
<hr>
<div id="footer-container">
{% if config.extra.footer_content_license %}
<div>Except where otherwise noted, content on this site is licensed under a
{% if config.extra.footer_content_license_link %}
<a target="_blank" rel="noopener noreferrer" href="{{config.extra.footer_content_license_link}}">{{config.extra.footer_content_license}}</a>
{% else %}
{{config.extra.footer_content_license}}
{% endif %}
license.</div>
{% endif %}
<div>
<p>Theme and color theme licensed under <a target="_blank" rel="noopener noreferrer" href="https://en.wikipedia.org/wiki/Licence_MIT">MIT</a>.<br>
Built with <a target="_blank" rel="noopener noreferrer" href="https://www.getzola.org">Zola</a> using <a target="_blank" rel="noopener noreferrer" href="https://github.com/Speyll/anemone">anemone</a> theme, <a target="_blank" rel="noopener noreferrer" href="https://speyll.github.io/suCSS/">suCSS</a> framework &amp; <a target="_blank" rel="noopener noreferrer" href="https://github.com/Speyll/veqev">veqev</a>.<br>
</p>
</div>
{% if config.generate_feeds %}
<div>
<a class="no-style" target="_blank" rel="noopener noreferrer" href="{{ get_url(path="atom.xml", trailing_slash=false) }}" title="Subscribe via RSS for updates."><svg class="icons"><use href="{{ get_url(path='icons.svg#rss', trailing_slash=false) | safe }}"></use></svg></a>
</div>
{% endif %}
</div>

View File

@ -1,98 +0,0 @@
<meta charset="UTF-8">
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>
<meta content="text/html; charset=UTF-8" http-equiv="content-type"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<meta name="robots" content="index, follow">
{% if page.title %}
{% set title = page.title %}
{% elif section.title %}
{% set title = section.title %}
{% elif config.title %}
{% set title = config.title %}
{% endif %}
{% if page.extra.author %}
{% set author = page.extra.author %}
{% elif section.extra.author %}
{% set author = section.extra.author %}
{% elif config.extra.author %}
{% set author = config.extra.author %}
{% endif %}
{% if page.description %}
{% set description = page.description | truncate(length=150) %}
{% elif section.description %}
{% set description = section.description | truncate(length=150) %}
{% elif config.description %}
{% set description = config.description | truncate(length=150) %}
{% endif %}
{% if page.extra.image %}
{% set image = get_url(path=page.extra.image, trailing_slash=false) %}
{% elif section.extra.image %}
{% set image = get_url(path=section.extra.image, trailing_slash=false) %}
{% elif config.extra.favicon %}
{% set image = get_url(path=config.extra.favicon, trailing_slash=false) %}
{% endif %}
{% if page.permalink %}
{% set url = page.permalink %}
{% elif section.permalink %}
{% set url = section.permalink %}
{% elif config.base_url %}
{% set url = config.base_url %}
{% endif %}
{% if title %}
<title>{{ title }}</title>
{% endif %}
{% block metatags %}
{% if title %}
<meta name="title" content="{{ title }}">
{% endif %}
{% if author %}
<meta name="author" content="{{ author }}">
{% endif %}
{% if description %}
<meta name="description" content="{{ description }}">
{% endif %}
<meta property="og:type" content="website">
<meta property="og:url" content="{{ url | safe }}">
{% if title %}
<meta property="og:site_name" content="{{ config.title }}">
{% endif %}
{% if title %}
<meta property="og:title" content="{{ title }}">
{% endif %}
{% if description %}
<meta property="og:description" content="{{ description }}">
{% endif %}
{% if image %}
<meta property="og:image" content="{{ image }}">
{% endif %}
{% set twitter_card = config.extra.twitter_card | default(value=true) %}
{% if twitter_card != false %}
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:url" content="{{ url | safe }}">
{% if title %}
<meta property="twitter:title" content="{{ title }}">
{% endif %}
{% if description %}
<meta property="twitter:description" content="{{ description }}">
{% endif %}
{% if image %}
<meta property="twitter:image" content="{{ image }}">
{% endif %}
{% endif %}
<link rel="canonical" href="{{ url | safe }}">
{% if image %}
<link rel="shortcut icon" type="image/x-icon" href="{{ get_url(path=config.extra.favicon, trailing_slash=false) }}">
{% endif %}
{% endblock metatags %}
{% if config.generate_feeds %}
{% block feed %}
<link rel="alternate" type="application/atom+xml" title="RSS" href="{{ get_url(path="atom.xml", trailing_slash=false) }}">
{% endblock feed %}
{% endif %}
{% block css %}
<link rel="stylesheet" type="text/css" href="https://speyll.github.io/suCSS/reset-min.css"/>
<link rel="stylesheet" type="text/css" href="https://speyll.github.io/suCSS/suCSS-min.css"/>
<link rel="stylesheet" type="text/css" href="{{ get_url(path='css/style.css', trailing_slash=false) | safe }}"/>
{% endblock css %}
<script src="{{ get_url(path='js/script.js', trailing_slash=false) | safe }}" defer></script>

View File

@ -1,23 +0,0 @@
{% set current_lang = config.default_language %}
{% if page %}
{% set current_lang = page.lang %}
{% elif section %}
{% set current_lang = section.lang %}
{% endif %}
{% if config.extra.header_nav %}
<nav id="nav-bar">
{% for nav_item in config.extra.header_nav %}
<a href="{{ nav_item.url }}" class="{% if nav_item.url == current_url %}active{% endif %}">
{% set language_key = 'name_' ~ current_lang %}
{{ nav_item[language_key] }}
</a>
{% endfor %}
<div>
<input type="checkbox" id="theme-toggle" style="display: none;">
<label for="theme-toggle" id="theme-toggle-label"><svg id="theme-icon" class="icons"><use href="{{ get_url(path='/icons.svg#lightMode', trailing_slash=false) | safe }}"></use></svg></label>
<audio id="theme-sound">
<source src="{{ get_url(path='click.ogg', trailing_slash=false) | safe }}" type="audio/ogg">
</audio>
</div>
</nav>
{% endif %}

View File

@ -1,4 +0,0 @@
<div {% if class %}class="{{class}}"{% endif %}>
<img src="{{id}}" {% if alt %}alt="{{alt}}"{% endif %}>
{% if caption %}<div class="caption">{{caption}}</div>{% endif %}
</div>

View File

@ -1 +0,0 @@
<mark>{{content}}</mark>

View File

@ -1,4 +0,0 @@
<span class="webring">
<a class="no-style" href={{prev}}><svg class="icons"><use href="{{ get_url(path='icons.svg#chevronLeft', trailing_slash=false) | safe }}"></use></svg></a>
<a href={{webring}}>{{webringName}}</a>
<a class="no-style" href={{next}}><svg class="icons"><use href="{{ get_url(path='icons.svg#chevronRight', trailing_slash=false) | safe }}"></use></svg></a></span>

View File

@ -1,9 +0,0 @@
<div {% if class %}class="{{class}}"{% endif %}>
<iframe
src="https://www.youtube-nocookie.com/embed/{{id}}{% if autoplay %}?autoplay=1{% endif %}"
allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
webkitallowfullscreen
mozallowfullscreen
allowfullscreen>
</iframe>
</div>

View File

@ -1,10 +0,0 @@
{% extends "base.html" %}
{% block content %}
<h1>{{ taxonomy.name }}</h1>
<p>
{% for term in terms %}
<a href="{{ term.permalink | safe }}">#{{ term.name }}</a>[{{ term.pages | length }}]
{% endfor %}
</p>
{% endblock content %}

View File

@ -1,20 +0,0 @@
{% extends "base.html" %}
{% block content %}
<h1>{{ term.name }}</h1>
{% if paginator %}
{% set pages = paginator.pages %}
{% else %}
{% set pages = term.pages %}
{% endif %}
<ul>
{% for page in pages %}
<li>
<a href="{{ page.permalink | safe }}">{% if page.date %}{{ page.date }} - {% endif %}{{ page.title }}</a>
</li>
{% endfor %}
</ul>
{% if paginator %}
<p>{% if paginator.previous %}<a href="{{ paginator.first }}">&lt;&lt; First</a> <a href="{{ paginator.previous }}">&lt; Previous</a>{% endif %} [{{ paginator.current_index }}/{{ paginator.number_pagers }}] {% if paginator.next %}<a href="{{ paginator.next }}">Next &gt;</a> <a href="{{ paginator.last }}">Last &gt;&gt;</a>{% endif %}</p>
{% endif %}
{% endblock content %}