removed files from anemone theme
This commit is contained in:
parent
ba7d2c9347
commit
2dad50d16e
|
@ -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.
|
|
@ -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!🪅🌟🤣😉🙃
|
|
@ -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.
|
||||
|
||||
|
|
@ -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/)
|
|
@ -1,7 +0,0 @@
|
|||
+++
|
||||
title = 'testing differentiated systemd paths'
|
||||
[taxonomies]
|
||||
tags = ['self-hosting', 'zola', 'systemd']
|
||||
+++
|
||||
|
||||
Some testing 🤣
|
|
@ -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 🕰️)
|
||||
|
||||
|
BIN
static/click.ogg
BIN
static/click.ogg
Binary file not shown.
|
@ -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 |
|
@ -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);
|
|
@ -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 }}">/{{ tag }}/</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endblock content %}
|
|
@ -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 & <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>
|
|
@ -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>
|
||||
|
|
@ -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 %}
|
|
@ -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>
|
|
@ -1 +0,0 @@
|
|||
<mark>{{content}}</mark>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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 %}
|
|
@ -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 }}"><< First</a> <a href="{{ paginator.previous }}">< Previous</a>{% endif %} [{{ paginator.current_index }}/{{ paginator.number_pagers }}] {% if paginator.next %}<a href="{{ paginator.next }}">Next ></a> <a href="{{ paginator.last }}">Last >></a>{% endif %}</p>
|
||||
{% endif %}
|
||||
{% endblock content %}
|
Loading…
Reference in New Issue
Block a user