Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added AI_POLICY.md
Empty file.
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,23 @@

My personal blog with articles, thoughts, guides/tips: https://tbt.qkation.com/about/.

> [!IMPORTANT]
>
> _**All content is handwritten. No posts are AI-generated. I use an AI assistant only for spelling and punctuation corrections.**_
> See the [AI Policy](#ai-policy) section for more details.

This blog is made using the [Zola](https://www.getzola.org/) and the [Abridge](https://www.getzola.org/themes/abridge/) Zola theme with small customizations/additions:

- [Mermaid](https://mermaid.js.org/) diagrams support.
- Comments using [utterances](https://utteranc.es/).
- Small custom style improvements:
- [feat(posts): color left border for each year group; (#33)](https://github.com/TheBestTvarynka/tbt/pull/33).
- [feat: projects page: split projects into three categories and color left border for each category; (#29)](https://github.com/TheBestTvarynka/tbt/pull/29).

# AI Policy

- Using AI (i.e., LLMs) as tools for writing is only allowed for spelling and punctuation corrections.
- AI is **not allowed** for producing any kind of content on this blog.
The content term refers to the blog post text (descriptions, explanations, thoughts, opinions, title), schemes and diagrams, images.
- AI may only be used for generating mock images, text placeholders (like fake names), test data, code examples.
All generated code examples and test data **must be reviewed** by the author.
1 change: 1 addition & 0 deletions config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ menu = [
menu_footer = [
{url = "/about/", name = "About", slash = true, blank = false},
{url = "/privacy/", name = "Privacy", slash = true, blank = false},
{url = "/ai-policy/", name = "AI Policy", slash = true, blank = false},
{url = "/sitemap.xml", name = "Sitemap", slash = false, blank = true},
]

Expand Down
4 changes: 4 additions & 0 deletions content/pages/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ I didn't set a purpose to tell you everything I know. My motivation is to tell a

If you enjoy my articles and consider them useful, follow me on [GitHub](https://github.com/TheBestTvarynka) and star the corresponding repo.

{% important_info_block() %}
_**All content is handwritten. No posts are AI-generated. I use an AI assistant only for spelling and punctuation corrections.** For more details, see the [AI Policy](/ai-policy)._
{% end %}

## :see_no_evil: About me

* :computer: [I force electrons to do the math](https://www.reddit.com/r/ProgrammerHumor/comments/jf95z8/the_best_ways_to_describe_the_job) :muscle:
Expand Down
18 changes: 18 additions & 0 deletions content/pages/ai_policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

+++
description = "This page outlines the AI Policy for this site."
draft = false
path = "ai-policy"
template = "pages.html"
title = "AI Policy"
+++

## AI Policy

- Using AI (i.e., LLMs) as tools for writing is only allowed for spelling and punctuation corrections.
- AI is **not allowed** for producing any kind of content on this blog.
The content term refers to the blog post text (descriptions, explanations, thoughts, opinions, title), schemes and diagrams, images.
- AI may only be used for generating mock images, text placeholders (like fake names), test data, code examples.
All generated code examples and test data **must be reviewed** by the author.

Please report any policy violations to [the.best.tvarynka@gmail.com](mailto:the.best.tvarynka@gmail.com).
24 changes: 24 additions & 0 deletions sass/_extra.scss
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,27 @@
.project-dates {
opacity: 0.8;
}

.markdown-alert {
padding: 0.5rem 1rem;
margin: 1rem 0;
border-left: 4px solid rgb(149, 88, 216);
border-radius: 4px;
background: var(--c2);

> :last-child {
margin-bottom: 0;
}
}

.markdown-alert-title {
display: flex;
align-items: center;
gap: 0.4rem;
font-weight: bold;
color: rgb(149, 88, 216);

svg {
flex-shrink: 0;
}
}
3 changes: 3 additions & 0 deletions templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#}

{%- extends "base.html" %}
{%- import "macros/alerts.html" as alerts %}
{%- set uglyurls = config.extra.uglyurls | default(value=false) -%}
{%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{% set uglyurls = true %}{% endif %}{% endif %}

Expand Down Expand Up @@ -32,6 +33,8 @@

{%- block content %}
<div>
{{ alerts::important(content="_**All content is handwritten. No posts are AI-generated. I use an AI assistant only for spelling and punctuation corrections.** For more details, see the [AI Policy](/ai-policy)._" | markdown(inline=true)) }}

{%- for page in paginator.pages %}
<article>
{{- macros::title_index(page=page, config=config) }}
Expand Down
13 changes: 13 additions & 0 deletions templates/macros/alerts.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{% macro important(content) %}
<div class="markdown-alert markdown-alert-important">
<p class="markdown-alert-title">
<svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true">
<circle cx="8" cy="8" r="7" fill="currentColor" opacity="0.15"></circle>
<rect x="7.25" y="3.5" width="1.5" height="6" rx="0.75" fill="currentColor"></rect>
<circle cx="8" cy="11.5" r="0.9" fill="currentColor"></circle>
</svg>
Important
</p>
{{ content | safe }}
</div>
{% endmacro important %}
2 changes: 2 additions & 0 deletions templates/shortcodes/important_info_block.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{% import "macros/alerts.html" as alerts %}
{{ alerts::important(content=body | markdown(inline=true)) }}
Loading