feat: Rewrite the whole thing io Zola

This commit is contained in:
David Lapshin 2023-10-13 16:28:01 +00:00
parent df8a0d6d0d
commit 0323f96583
Signed by: daudix
GPG key ID: 93ECF15D3053D81C
134 changed files with 2341 additions and 2534 deletions

5
.gitignore vendored
View file

@ -1,5 +0,0 @@
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata
.gem

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "themes/duckquill"]
path = themes/duckquill
url = https://git.exozy.me/daudix/duckquill.git

View file

@ -1,31 +0,0 @@
# Based on https://codeberg.org/Codeberg-CI/examples/src/branch/main/Jekyll/jekyll.yml
steps:
build:
# Use the official ruby build container
image: ruby:3.2.2
secrets: [ cbtoken, cbmail ]
commands:
# Set up git in a working way
- git config --global --add safe.directory /woodpecker/src/codeberg.org/daudix-UFO/blog-source/_site
- git config --global user.email "$CBMAIL"
- git config --global user.name "CI Builder"
- git config --global init.defaultBranch pages
# clone and move the target repo
- git clone -b pages https://codeberg.org/daudix-UFO/blog.git
- mv blog _site
- cd _site
# Prepare for push
- git remote set-url origin https://$CBTOKEN@codeberg.org/daudix-UFO/blog.git
- cd ..
# Run Jekyll build stage
- gem install bundler
- bundle install
- bundle exec jekyll build
# Only needed for custom domains
# - cp domains _site/.domains
# Push to target
- cd _site
- git add --all
- git commit -m "Woodpecker CI Jekyll Build at $( env TZ=Europe/Berlin date +"%Y-%m-%d %X %Z" )"
- git push

13
404.md
View file

@ -1,13 +0,0 @@
---
layout: default
permalink: /404.html
---
![404]({{site.baseurl}}/assets/404.png){:.full.pixels}
# Document Not Found
The requested page could not be found. If you feel this is not normal, then you create an issue on the {{ site.hosting }}.
[Go Back](<javascript:window.history.go(-1);>){: .inline-button} [File an issue]({{site.issuesurl}})
{: .dialog-buttons}

View file

@ -1,5 +0,0 @@
FROM ruby:3.2.2
COPY Gemfile* ./
RUN gem install bundler && bundle install

15
Gemfile
View file

@ -1,15 +0,0 @@
source 'https://rubygems.org'
group :jekyll_plugins do
gem 'jekyll-default-layout'
gem 'jekyll-feed'
gem 'jekyll-loading-lazy'
gem 'jekyll-optional-front-matter'
gem 'jekyll-readme-index'
gem 'jekyll-relative-links'
gem 'jekyll-sitemap'
gem 'jekyll-titles-from-headings'
gem 'jekyll-toc'
end
gem "webrick"

View file

@ -1,102 +0,0 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.5)
public_suffix (>= 2.0.2, < 6.0)
colorator (1.1.0)
concurrent-ruby (1.2.2)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.16.1)
forwardable-extended (2.6.0)
google-protobuf (3.24.3-x86_64-linux)
http_parser.rb (0.8.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
jekyll (4.3.2)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (>= 2.0, < 4.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (>= 0.3.6, < 0.5)
pathutil (~> 0.9)
rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0)
terminal-table (>= 1.8, < 4.0)
webrick (~> 1.7)
jekyll-default-layout (0.1.5)
jekyll (>= 3.0, < 5.0)
jekyll-feed (0.17.0)
jekyll (>= 3.7, < 5.0)
jekyll-loading-lazy (0.1.1)
jekyll (>= 3.0, < 5.0)
nokogiri (>= 1.10, < 2.0)
jekyll-optional-front-matter (0.3.2)
jekyll (>= 3.0, < 5.0)
jekyll-readme-index (0.3.0)
jekyll (>= 3.0, < 5.0)
jekyll-relative-links (0.7.0)
jekyll (>= 3.3, < 5.0)
jekyll-sass-converter (3.0.0)
sass-embedded (~> 1.54)
jekyll-sitemap (1.4.0)
jekyll (>= 3.7, < 5.0)
jekyll-titles-from-headings (0.5.3)
jekyll (>= 3.3, < 5.0)
jekyll-toc (0.18.0)
jekyll (>= 3.9)
nokogiri (~> 1.12)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.4)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
nokogiri (1.15.4-x86_64-linux)
racc (~> 1.4)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (5.0.3)
racc (1.7.1)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.6)
rouge (4.1.3)
safe_yaml (1.0.5)
sass-embedded (1.68.0-x86_64-linux-gnu)
google-protobuf (~> 3.23)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.4.2)
webrick (1.8.1)
PLATFORMS
x86_64-linux
DEPENDENCIES
jekyll-default-layout
jekyll-feed
jekyll-loading-lazy
jekyll-optional-front-matter
jekyll-readme-index
jekyll-relative-links
jekyll-sitemap
jekyll-titles-from-headings
jekyll-toc
webrick
BUNDLED WITH
2.4.19

View file

@ -3,38 +3,11 @@
[![Please don't upload to GitHub](https://nogithub.codeberg.page/badge.svg)](https://nogithub.codeberg.page)
[![status-badge](https://ci.codeberg.org/api/badges/12428/status.svg)](https://ci.codeberg.org/repos/12428)
## Usage
My personal website made with Zola and [Duckquill](https://duckquill.exozy.me) theme.
### 🧪️ Test pages
- [Demo page](https://daudix-ufo.codeberg.page/blog/demo/)
- [Cake Party!](https://daudix-ufo.codeberg.page/blog/demo-page/)
- [ActivityPub/Fediverse comments demo](https://daudix-ufo.codeberg.page/blog/comments/)
### 🏗️ Build static files
```shell
./local.sh build
```
### ⏱️ Watch static files and serve
```shell
./local.sh serve
```
_Building guide were shamelessly taken from [here](https://talk.jekyllrb.com/t/local-testing-of-existing-github-jekyll-site/7459/4)_
_Initial script (`local.sh`) were taken from [here](https://kuros.in/docker/docker-jekyll-container-to-serve-locally)_
### 🏷️ Rename posts to web-friendly format
```shell
./rename.sh posts
```
## ❤️ Special thanks
## Special thanks ♥
- [Jakub Steiner](https://jimmac.eu) for an awesome [OS Component Website](https://jimmac.github.io/os-component-website), on top of which this whole thing is built
- [Cassidy James](https://cassidyjames.com) for an awesome [Mastodon-powered comments](https://cassidyjames.com/blog/fediverse-blog-comments-mastodon)
- [Cassidy James](https://cassidyjames.com) for an awesome [Mastodon-powered Comments](https://cassidyjames.com/blog/fediverse-blog-comments-mastodon)
- [Mehdi](https://codepen.io/meduzen) for an awesome [CSS Scanlines](https://codepen.io/meduzen/pen/zxbwRV)
- dwb, ejm and jgs for awesome ASCII art

View file

@ -1,50 +0,0 @@
# Site settings
title: Daudix's Blog
baseurl:
"/blog" # the subpath of your site, e.g. /blog
# usually empty. necessary for building absolute URIs
# for metadata header
url: "https://daudix-ufo.codeberg.page" # the base hostname & protocol for your site
sourceurl: "https://codeberg.org/daudix-UFO/blog-source" # "edit this website" link in the footer
hosting: "Codeberg" # the hosting of your site, e.g Codeberg
description: "Daudix UFO's blog."
issuesurl: "https://codeberg.org/daudix-UFO/blog-source/issues" # issue tracker for website
permalink: /:title/
primary-color: "#c061cb" # used in iOS theme. further color customization in _sass/variables.scss
# Mastodon-powered commenting.
# See https://github.com/cassidyjames/cassidyjames.github.io/blob/main/_config.yaml#L31-L70
comments:
host: mstdn.social
username: Daudix
token: jTNX9pAV8XEPBby0cPWF6CmGY60kkIy4vidggfxXmoQ
# Build settings
markdown: kramdown
timezone: UTC
exclude: [Gemfile, Gemfile.lock, Dockerfile, local.sh, rename.sh, README.md]
compress_html:
blanklines: true
feed:
tags:
path: "feed/tags/"
plugins:
- jekyll-default-layout
- jekyll-feed
- jekyll-loading-lazy
- jekyll-optional-front-matter
- jekyll-readme-index
- jekyll-relative-links
- jekyll-sitemap
- jekyll-titles-from-headings
- jekyll-toc
defaults:
- scope:
path: "_posts"
type: "posts"
values:
layout: "default"
author: "Daudix_UFO"
destination: "posts"

View file

@ -1,414 +0,0 @@
<!--
Based on https://github.com/cassidyjames/cassidyjames.github.io/blob/99782788a7e3ba3cc52d6803010873abd1b02b9e/_includes/comments.html
which were inspired by https://codeberg.org/jwildeboer/jwildeboersource/src/commit/45f9750bb53b9f0f6f28399ce4d21785a3bb7d22/_includes/fediverse_comments.html
-->
{% if include.host %}
{% assign host = include.host %}
{% elsif page.comments.host %}
{% assign host = page.comments.host %}
{% else %}
{% assign host = site.comments.host %}
{% endif %}
{% if include.domain %}
{% assign domain = include.domain %}
{% elsif page.comments.domain %}
{% assign domain = page.comments.domain %}
{% elsif site.comments.domain %}
{% assign domain = site.comments.domain %}
{% else %}
{% assign domain = host %}
{% endif %}
{% if include.username %}
{% assign username = include.username %}
{% elsif page.comments.username %}
{% assign username = page.comments.username %}
{% else %}
{% assign username = site.comments.username %}
{% endif %}
{% if include.token %}
{% assign token = include.token %}
{% elsif page.comments.token %}
{% assign token = page.comments.token %}
{% else %}
{% assign token = site.comments.token %}
{% endif %}
{% if include.id %}
{% assign id = include.id %}
{% else %}
{% assign id = page.comments.id %}
{% endif %}
{% if site.comments.verified %}
{% assign verified = site.comments.verified | jsonify %}
{% else %}
{% assign verified = "[]" %}
{% endif %}
<section id="comments" class="article comments">
<h2>Comments</h2>
<p>Comment on this blog post by publicly replying to <a href="https://{{ host }}/@{{ username }}/{{ id }}">this Mastodon post</a> using a Mastodon or other ActivityPub/Fediverse account. Known non-private replies are displayed below.</p>
<div id="comments-wrapper">
<p><small>Press the button below to load comments if they exist, if not, be the first!</small></p>
<noscript><p>Loading comments relies on JavaScript. Try enabling JavaScript and reloading, or visit <a href="https://{{ host }}/@{{ username }}/{{ id }}">the original post</a> on Mastodon.</p></noscript>
<a onclick="loadComments()" class="inline-button">Load comments…</a>
</div>
<script>
// loadComments();
function loadComments() {
const HOST = "{{ host }}";
const DOMAIN = "{{ domain }}";
const USERNAME = "{{ username }}";
const TOKEN = "{{ token }}";
const VERIFIED = "{{ verified }}";
const ID = "{{ id }}";
const SUPPORTED_MEDIA = [
"image",
"gifv",
];
const STATUS_URL = `https://${ HOST }/api/v1/statuses/${ ID }`;
const REQUEST_HEADERS = new Headers();
if(TOKEN != ""){
REQUEST_HEADERS.append("Authorization", "Bearer " + TOKEN);
}
const requestOptions = {
method: "GET",
headers: REQUEST_HEADERS,
mode: "cors",
cache: "default",
};
const STATUS_REQUEST = new Request(STATUS_URL, requestOptions);
const CONTEXT_REQUEST = new Request(STATUS_URL + "/context", requestOptions);
let commentsWrapper = document.getElementById("comments-wrapper");
fetch(STATUS_REQUEST).then((response) => {
return response.json();
}).then((status) => {
fetch(CONTEXT_REQUEST).then((response) => {
return response.json();
}).then((data) => {
let descendants = data['descendants'];
if(
descendants &&
Array.isArray(descendants) &&
descendants.length > 0
) {
commentsWrapper.innerHTML = "";
descendants.unshift(status);
descendants.forEach((status) => {
if( status.account.display_name.length > 0 ) {
status.account.display_name = escapeHtml(status.account.display_name);
status.account.display_name = emojify(
status.account.display_name,
status.account.emojis
);
} else {
status.account.display_name = status.account.username;
};
let instance = "";
if( status.account.acct.includes("@") ) {
instance = status.account.acct.split("@")[1];
} else {
instance = DOMAIN;
}
status.content = emojify(status.content, status.emojis);
let avatarSource = document.createElement("source");
avatarSource.setAttribute("srcset", escapeHtml(status.account.avatar));
avatarSource.setAttribute("media", "(prefers-reduced-motion: no-preference)");
let avatarImg = document.createElement("img");
avatarImg.className = "avatar";
avatarImg.setAttribute("src", escapeHtml(status.account.avatar_static));
avatarImg.setAttribute(
"alt",
`@${ status.account.username }@${ instance } avatar`
);
avatarImg.setAttribute("loading", "lazy");
let avatarPicture = document.createElement("picture");
avatarPicture.appendChild(avatarSource);
avatarPicture.appendChild(avatarImg);
let avatar = document.createElement("a");
avatar.className = "avatar-link";
avatar.setAttribute("href", status.account.url);
avatar.setAttribute("rel", "external nofollow");
avatar.setAttribute(
"title",
`View profile at @${ status.account.username }@${ instance }`
);
avatar.appendChild(avatarPicture);
let instanceBadge = document.createElement("a");
instanceBadge.className = "instance";
instanceBadge.setAttribute("href", status.account.url);
instanceBadge.setAttribute(
"title",
`@${ status.account.username }@${ instance }`
);
instanceBadge.setAttribute("rel", "external nofollow");
instanceBadge.textContent = instance;
let display = document.createElement("span");
display.className = "display";
display.setAttribute("itemprop", "author");
display.setAttribute("itemtype", "http://schema.org/Person");
display.innerHTML = status.account.display_name;
let header = document.createElement("header");
header.className = "author";
header.appendChild(display);
header.appendChild(instanceBadge);
let permalink = document.createElement("a");
permalink.setAttribute("href", status.url);
permalink.setAttribute("itemprop", "url");
permalink.setAttribute("title", `View comment at ${ instance }`);
permalink.setAttribute("rel", "external nofollow");
permalink.textContent = new Date(status.created_at).toLocaleString('en-GB', {
dateStyle: "long",
timeStyle: "short",
});
let timestamp = document.createElement("time");
timestamp.setAttribute("datetime", status.created_at);
timestamp.appendChild(permalink);
if(status.edited_at != null) {
timestamp.classList.add("edited");
timestamp.setAttribute(
"title",
"Edited " + new Date(status.edited_at).toLocaleString('en-GB', {
dateStyle: "long",
timeStyle: "short",
})
)
};
let main = document.createElement("main");
main.setAttribute("itemprop", "text");
if(status.sensitive == true || status.spoiler_text != "") {
let summary = document.createElement("summary");
if(status.spoiler_text == "") {
status.spoiler_text == "Sensitive";
}
summary.innerHTML = status.spoiler_text;
let spoiler = document.createElement("details");
spoiler.appendChild(summary);
spoiler.innerHTML += status.content;
main.appendChild(spoiler);
} else {
main.innerHTML = status.content;
}
let interactions = document.createElement("footer");
if(status.reblogs_count > 0) {
let boosts = document.createElement("span");
boosts.className = "boosts";
boosts.setAttribute("title", "Boosts");
boosts.textContent = status.reblogs_count;
interactions.appendChild(boosts);
}
if(status.favourites_count > 0) {
let faves = document.createElement("span");
faves.className = "faves";
faves.setAttribute("title", "Favorites");
faves.textContent = status.favourites_count;
interactions.appendChild(faves);
}
let comment = document.createElement("article");
comment.id = `comment-${ status.id }`;
comment.className = "comment";
comment.setAttribute("itemprop", "comment");
comment.setAttribute("itemtype", "http://schema.org/Comment");
comment.appendChild(avatar);
comment.appendChild(header);
comment.appendChild(timestamp);
comment.appendChild(main);
let attachments = status.media_attachments;
if(
attachments &&
Array.isArray(attachments) &&
attachments.length > 0
) {
attachments.forEach((attachment) => {
if( SUPPORTED_MEDIA.includes(attachment.type) ){
let media = document.createElement("a");
media.className = "card";
media.setAttribute("href", attachment.url);
media.setAttribute("rel", "external nofollow");
let mediaElement;
switch(attachment.type){
case "image":
mediaElement = document.createElement("img");
mediaElement.setAttribute("src", attachment.preview_url);
mediaElement.setAttribute("loading", "lazy");
mediaElement.className = "media hover";
if(attachment.description != null) {
mediaElement.setAttribute("alt", attachment.description);
mediaElement.setAttribute("title", attachment.description);
}
media.appendChild(mediaElement);
break;
case "gifv":
mediaElement = document.createElement("video");
mediaElement.setAttribute("src", attachment.url);
mediaElement.setAttribute("autoplay", "");
mediaElement.setAttribute("playsinline", "");
mediaElement.setAttribute("loop", "");
mediaElement.className = "media hover";
if(attachment.description != null) {
mediaElement.setAttribute("aria-title", attachment.description);
mediaElement.setAttribute("title", attachment.description);
}
media.appendChild(mediaElement);
break;
}
comment.appendChild(media);
}
});
} else if(
status.card != null &&
status.card.image != null &&
!status.card.url.startsWith("{{ site.url }}")
) {
let cardImg = document.createElement("img");
cardImg.setAttribute("src", status.card.image);
cardImg.setAttribute("loading", "lazy");
let cardTitle = document.createElement("h5");
cardTitle.innerHTML = status.card.title;
let cardDescription = document.createElement("p");
cardDescription.innerHTML = status.card.description;
let cardCaption = document.createElement("figcaption");
cardCaption.appendChild(cardTitle);
cardCaption.appendChild(cardDescription);
let cardFigure = document.createElement("figure");
cardFigure.appendChild(cardImg);
cardFigure.appendChild(cardCaption);
let card = document.createElement("a");
card.className = "card";
card.setAttribute("href", status.card.url);
card.setAttribute("rel", "external nofollow");
card.appendChild(cardFigure);
comment.appendChild(card);
}
comment.appendChild(interactions);
if(status.account.acct == USERNAME) {
comment.classList.add("op");
avatar.classList.add("op");
avatar.setAttribute(
"title",
"Blog post author; " + avatar.getAttribute("title")
);
instanceBadge.classList.add("op");
instanceBadge.setAttribute(
"title",
"Blog post author: " + instanceBadge.getAttribute("title")
);
} else if( VERIFIED.includes(status.account.acct) ) {
comment.classList.add("verified");
avatar.classList.add("verified");
avatar.setAttribute(
"title",
avatar.getAttribute("title") + " (verified by site owner)"
);
instanceBadge.classList.add("verified");
instanceBadge.setAttribute(
"title",
instanceBadge.getAttribute("title") + " (verified by site owner)"
);
}
commentsWrapper.innerHTML += comment.outerHTML;
});
}
});
});
}
function emojify(input, emojis) {
let output = input;
emojis.forEach(emoji => {
let picture = document.createElement("picture");
let source = document.createElement("source");
source.setAttribute("srcset", escapeHtml(emoji.url));
source.setAttribute("media", "(prefers-reduced-motion: no-preference)");
let img = document.createElement("img");
img.className = "emoji";
img.setAttribute("src", escapeHtml(emoji.static_url));
img.setAttribute("alt", `:${ emoji.shortcode }:`);
img.setAttribute("title", `:${ emoji.shortcode }:`);
img.setAttribute("width", "20");
img.setAttribute("height", "20");
img.setAttribute("loading", "lazy");
picture.appendChild(source);
picture.appendChild(img);
output = output.replace(`:${ emoji.shortcode }:`, picture.outerHTML);
});
return output;
}
function escapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/'/g, "&apos;")
.replace(/"/g, "&quot;")
;
}
</script>
</section>

View file

@ -1,15 +0,0 @@
<footer class="site-footer">
<small>
<details><summary>Johnvertisement</summary>
<iframe src="https://john.citrons.xyz/embed?ref=daudix-ufo.codeberg.page" style="margin-left:auto;display:block;margin-right:auto;max-width:732px;width:100%;height:94px;border:none;"></iframe>
</details>
</small>
<p title="Last built at {{ site.time }} ">&copy; {{ site.title }}, 2023</p>
<!-- <p><a href="{{ site.sourceurl }}">Website source</a></p> -->
<small>
Powered by <a href="https://jekyllrb.com">Jekyll</a> and <a href="https://daudix-ufo.codeberg.page/duckquill">Duckquill</a>
</small>
</footer>

View file

@ -1,25 +0,0 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="{{ site.primary-color }}"><!-- primary color -->
<title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}" />
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" />
<link rel="stylesheet" href="{{ "/assets/css/style.css" | prepend: site.baseurl }}" />
<link rel="icon" type="image/gif" href="{{ "/favicon.gif" | prepend: site.baseurl }}" />
<link rel="apple-touch-icon" sizes="180x180" href="{{ "/apple-touch-icon.png" | prepend: site.baseurl }}" />
<!-- Open Graph -->
<meta property="og:title" content="{{ site.title }}" />
<meta property="og:url" content="{{ site.url }}" />
<meta property="og:description" content="{{ site.description }}" />
<meta property="og:image" content="{{ "/assets/card.png" | prepend: site.baseurl | prepend: site.url }}" />
<meta property="og:image:width" content="600" />
<meta property="og:image:height" content="400" />
<meta property="og:image:alt" content="A card with Daudix UFO written on it" />
</head>

View file

@ -1,53 +0,0 @@
<nav class="nav">
<div class="nav-container">
<a href="{{ site.baseurl }}/">
<h2 class="nav-title">{{ site.title }}</h2>
</a>
<ul>
<li>
<a href="{{ '/' | prepend: relative_url }}">
<svg viewBox="0 0 16 16" width="16" height="16">
<path
fill="currentColor"
d="M8 .361a2.2 2.2 0 0 0-1.41.51L2.129 4.59A3.143 3.143 0 0 0 1 7v6c0 1.66 1.34 3 3 3h8c1.66 0 3-1.34 3-3V7c0-.93-.414-1.813-1.129-2.41L9.411.87A2.2 2.2 0 0 0 8 .361zm0 2.002a.2.2 0 0 1 .129.047l4.46 3.719c.263.215.411.535.411.871v6c0 .547-.453 1-1 1h-2V9c0-.55-.45-1-1-1H7c-.55 0-1 .45-1 1v5H4c-.547 0-1-.453-1-1V7c0-.336.148-.656.41-.871L7.871 2.41A.2.2 0 0 1 8 2.363z"
/>
</svg>
Home
</a>
</li>
<li>
<a href="{{ '/posts' | prepend: site.baseurl }}">
<svg viewBox="0 0 16 16" width="16" height="16">
<path
fill="currentColor"
d="M11.771 1.184a.496.496 0 0 0-.1.015l-.964.262a.499.499 0 0 0-.355.613l3.363 12.555a.506.506 0 0 0 .613.355l.969-.261a.497.497 0 0 0 .351-.61L12.285 1.555a.507.507 0 0 0-.514-.371zM1.5 2c-.277 0-.5.223-.5.5v12c0 .277.223.5.5.5h2c.277 0 .5-.223.5-.5v-12c0-.277-.223-.5-.5-.5h-2zm7 1c-.277 0-.5.223-.5.5v11c0 .277.223.5.5.5h1c.277 0 .5-.223.5-.5v-11c0-.277-.223-.5-.5-.5h-1zm-3 1c-.277 0-.5.223-.5.5v10c0 .277.223.5.5.5h1c.277 0 .5-.223.5-.5v-10c0-.277-.223-.5-.5-.5h-1z"
/>
</svg>
Posts
</a>
</li>
<li>
<a href="{{ '/tags' | prepend: site.baseurl }}">
<svg viewBox="0 0 16 16" width="16" height="16">
<path
fill="currentColor"
d="M4 0C1.785 0 0 1.785 0 4v3.09c0 .847.336 1.66.938 2.262l5.382 5.382c.93.934 2.43.934 3.36 0l4.965-4.964c.98-.98.98-2.56 0-3.54L9.227.812A2.777 2.777 0 0 0 7.266 0H4zm0 2h3.266c.207 0 .402.082.546.227l5.418 5.418a.512.512 0 0 1 0 .71L8.266 13.32a.38.38 0 0 1-.532 0L2.352 7.937A1.198 1.198 0 0 1 2 7.09V4c0-1.098.902-2 2-2zm.5 1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z"
/>
</svg>
Tags
</a>
</li>
<li>
<a href="{{ '/feed.xml' | prepend: site.baseurl }}">
<svg viewBox="0 0 16 16" width="16" height="16">
<path
fill="currentColor"
d="M1.988 1.988V3c.008.547.453.984 1 .988.004-.004.008-.004.012-.004v.028A8.977 8.977 0 0 1 11.988 13a.991.991 0 0 0 1 .984h1V13h-.004c0-.004 0-.004.004-.008C13.984 7.02 9.184 2.148 3.242 2.02A1.004 1.004 0 0 0 3 1.988v-.004zm0 4V7c.008.547.453.984 1 .988.004-.004.008-.004.012-.004V8a4.985 4.985 0 0 1 4.996 4.844 1.002 1.002 0 0 0 .988 1.145c.008-.005.012-.005.016-.005v.004h.984V13H10c0-3.793-3.047-6.898-6.82-6.992 0-.004-.004-.004-.004-.004A.892.892 0 0 0 3 5.988v-.004zm2 4a1.999 1.999 0 1 0-.002 3.998 1.999 1.999 0 0 0 .002-3.998zm0 0"
/>
</svg>
Feed
</a>
</li>
</ul>
</div>
</nav>

View file

@ -1,10 +0,0 @@
---
# Jekyll layout that compresses HTML
# v3.1.0
# http://jch.penibelst.de/
# © 20142015 Anatol Broder
# MIT License
---
{% capture _LINE_FEED %}
{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment or site.compress_html.ignore.envs == "all" %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ content | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}

View file

@ -1,22 +0,0 @@
---
layout: compress
---
<!DOCTYPE html>
<html>
{% include head.html %}
<body>
{% include navigation.html %}
<div class="container">
{{ content }}
</div>
{% include footer.html %}
</body>
</html>

View file

@ -1,68 +0,0 @@
---
layout: default
---
<h1>{{ page.title }}</h1>
<small>
<time datetime="{{ page.date | date: "%Y-%m-%d" }}">{{ page.date | date_to_long_string }}</time>
{% if page.tags %}
{% if page.tags.size > 0 %}
• {{ page.tags | join: ', ' }}
{% endif %}
{% endif %}
</small>
{% if page.archive %}
<div class="highlighter-rouge statement-container archive">
<h2>⚠ Archived</h2>
{{ page.archive | markdownify }}
</div>
{% endif %}
{% if page.trigger %}
<div class="highlighter-rouge statement-container trigger">
<h2>⚠ Trigger Warning</h2>
{{ page.trigger | markdownify }}
</div>
{% endif %}
{% if page.disclaimer %}
<div class="highlighter-rouge statement-container disclaimer">
<h2>⚠ Disclaimer(s)</h2>
{{ page.disclaimer | markdownify }}
</div>
{% endif %}
{% if page.toc %}
<h2>Table of Contents</h2>
{{ content | toc }}
{% else %}
{{ content }}
{% endif %}
{%- if page.comments -%}
{%- if page.comments.id -%}
{%- include comments.html -%}
<hr>
{%- endif -%}
{%- endif -%}
{% if page.next %}
<h2>Read Next</h2>
<a href="{{ site.baseurl }}{{ page.next.url }}" class="page-link">
{{ page.next.title }}
</a>
{% endif %}
{% if page.previous %}
<h2>Read Previous</h2>
<a href="{{ site.baseurl }}{{ page.previous.url }}" class="page-link">
{{ page.previous.title }}
</a>
{% endif %}
<p class="dialog-buttons">
<a href="#top" class="inline-button">Go to top</a>
<a href="{{ site.issuesurl }}">File an issue</a>
</p>

View file

@ -1,25 +0,0 @@
---
layout: default
---
{{ content }}
<h1>{{ page.title }}</h1>
{{ page.description }}
{% for post in site.posts %}
<article>
<h2>
<a href="{{ site.baseurl }}{{ post.url }}" class="page-link">
{{ post.title }}
</a>
</h2>
<small>
<time datetime="{{ post.date | date: "%Y-%m-%d" }}">{{ post.date | date_to_long_string }}</time>
{% if post.tags %}
{% if post.tags.size > 0 %}
• {{ post.tags | join: ', ' }}
{% endif %}
{% endif %}
</small>
</article>
{% endfor %}

View file

@ -1,16 +0,0 @@
---
layout: default
---
{{ content }}
<h1>{{ page.title }}</h1>
{{ page.description }}
{% for tag in site.tags %}
<h3>{{ tag[0] }}</h3>
<ul>
{% for post in tag[1] %}
<li><a href="{{ site.baseurl }}{{ post.url }}" class="page-link">{{ post.title }}</a></li>
{% endfor %}
</ul>
{% endfor %}

View file

@ -1,250 +0,0 @@
/* Comments */
section#comments {
.comment {
display: grid;
column-gap: 1rem;
grid-template-areas:
"avatar name"
"avatar time"
"avatar post"
"...... card"
"...... interactions";
grid-template-columns: min-content;
justify-items: start;
margin: 2rem auto 2rem -1rem;
padding: 1rem;
.avatar-link {
grid-area: avatar;
height: 4rem;
position: relative;
width: 4rem;
.avatar {
margin: unset;
background-color: var(--bg2);
border-radius: var(--border-radius);
box-shadow: var(--shadow);
height: 100%;
width: 100%;
}
&.op::after {
background-color: var(--accent-color);
border-radius: 50%;
bottom: -0.25rem;
color: var(--light2);
content: "";
display: block;
font-size: 1.25rem;
font-weight: bold;
height: 1.5rem;
line-height: 1.5rem;
position: absolute;
right: -0.25rem;
text-align: center;
width: 1.5rem;
}
}
.author {
align-items: center;
cursor: default;
display: flex;
font-weight: bold;
gap: 0.5rem;
grid-area: name;
.instance {
background-color: var(--fg05);
border-radius: 9999px;
color: var(--text);
font-size: smaller;
font-weight: normal;
padding: 0.25rem 0.75rem;
&:hover {
opacity: 0.8;
text-decoration: none;
}
&.op {
background-color: var(--accent-color);
color: var(--light2);
&::before {
content: "";
font-weight: bold;
margin-inline-end: 0.25rem;
margin-inline-start: -0.25rem;
}
}
}
}
time {
@extend small;
font-size: smaller;
opacity: 0.9;
grid-area: time;
line-height: 1.5rem;
&.edited::after {
content: " *";
}
}
main {
grid-area: post;
justify-self: stretch;
p:first-child {
margin-top: 0.25rem;
}
p:last-child {
margin-bottom: 0;
}
}
.card {
color: inherit;
grid-area: card;
max-width: 400px;
&:hover {
text-decoration: none;
}
figure {
border-radius: var(--border-radius);
background-color: var(--bg2);
box-shadow: var(--shadow);
margin-left: 0;
margin-right: 0;
overflow: hidden;
transition: var(--transition);
img {
margin: unset;
}
&:hover {
transform: translateY(-0.5rem);
}
}
figcaption {
color: var(--text);
font-size: unset;
display: grid;
gap: 0.5rem;
margin: 0;
padding: 1rem;
text-align: left;
* {
display: inline-block;
line-height: 1.25;
margin: 0;
overflow: hidden;
padding: 0;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
// Hide the card from the shared post
&:first-of-type .card {
display: none;
}
footer {
@extend small;
display: flex;
gap: 0.4rem;
grid-area: interactions;
margin-top: 0.925rem;
.boosts {
cursor: default;
font-weight: 600;
font-variation-settings: "wght" 600; /* needed for webkit */
font-size: 90%;
padding: 0.4rem 1rem;
border-radius: var(--border-radius);
background-color: var(--orange-bg);
color: var(--orange-fg);
&::before {
color: var(--orange2);
content: "🔁";
margin-inline-end: 0.25rem;
}
}
.faves {
cursor: default;
font-weight: 600;
font-variation-settings: "wght" 600; /* needed for webkit */
font-size: 90%;
padding: 0.4rem 1rem;
border-radius: var(--border-radius);
background-color: var(--red-bg);
color: var(--red-fg);
&::before {
color: var(--red2);
content: "❤️";
margin-inline-end: 0.25rem;
}
}
}
.emoji {
margin: unset;
display: inline;
height: 1.25rem;
vertical-align: middle;
width: 1.25rem;
}
.invisible {
display: none;
}
.ellipsis::after {
content: "";
}
details {
summary {
background-image: linear-gradient(
90deg,
transparent,
transparent 0.4rem,
var(--bg2) 0.4rem,
var(--bg2) calc(100% - 0.4rem),
transparent calc(100% - 0.4rem),
transparent
),
repeating-linear-gradient(
45deg,
var(--bg1),
var(--bg1) 0.3rem,
var(--accent-color) 0.3rem,
var(--accent-color) 0.6rem
);
border-radius: var(--border-radius-small);
color: inherit;
cursor: pointer;
box-shadow: var(--shadow);
margin-top: 0.925rem;
padding: 1rem;
}
}
}
}

View file

@ -1 +0,0 @@
/* Custom styles/overrides */

View file

@ -1,8 +0,0 @@
/* Typography */
@font-face {
font-family: "Inter";
font-weight: 100 900;
font-display: swap;
font-style: oblique italic 0deg 10deg;
src: url("../fonts/Inter.var.woff2?v=4.0") format("woff2");
}

View file

@ -1,492 +0,0 @@
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
html,
body {
margin: 0;
padding: 0;
scroll-behavior: smooth;
scrollbar-color: var(--fg50) transparent;
}
body {
font-size: 16px;
font-family: "Inter", sans-serif;
font-weight: 400;
line-height: 1.6;
color: var(--text);
background-color: var(--background);
/* ⇩⇩ put footer at the bottom for short pages, such as the 404 ⇩⇩ */
display: grid;
min-height: 100vh;
grid-template-rows: auto minmax(auto, 1fr) auto; /* header, stuff, footer */
}
@media only screen and (max-device-width: 480px) {
body {
font-size: 14px;
}
}
@media (prefers-color-scheme: dark) {
html {
background-color: var(--dark5);
}
}
/* Layout */
.container {
width: 80%;
margin-left: auto;
margin-right: auto;
max-width: var(--content-width);
}
@media only screen and (max-device-width: 480px) {
/*mobile*/
.container {
width: 90%;
}
}
:target {
scroll-margin-top: 25vh;
animation: glow-in-out var(--transition-long);
animation-delay: 1s;
}
@keyframes glow-in-out {
0% {
text-shadow: none;
}
50% {
text-shadow: var(--glow);
}
100% {
text-shadow: none;
}
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 3rem 0 1rem;
font-weight: 600;
line-height: 1.25;
font-variation-settings: "wght" 600; /* needed for webkit */
}
h1 {
font-size: 1.5rem;
}
@media screen and (min-width: 640px) {
h1 {
font-size: 1.6rem;
}
}
h2 {
font-size: 1.2rem;
}
a {
font-weight: 600;
text-decoration: none;
color: var(--accent-color);
cursor: pointer;
font-variation-settings: "wght" 600; /* needed for webkit */
}
a:hover {
text-decoration: underline;
}
b {
font-weight: 600;
}
small {
color: var(--fg50);
}
dl {
padding: 0;
}
dl dt {
padding: 0;
margin-top: 1rem;
font-size: 1rem;
font-weight: bold;
}
dl dd {
padding: 0;
margin-bottom: 1rem;
}
hr {
margin: 3rem auto 4rem;
width: 40%;
opacity: 40%;
}
blockquote {
padding: 0 1rem;
margin-left: 0;
color: var(--fg40);
border-left: 0.3rem solid var(--fg07);
}
blockquote > :first-child {
margin-top: 0;
}
blockquote > :last-child {
margin-bottom: 0;
}
abbr {
cursor: help;
}
kbd {
background-color: var(--fg05);
border: 1px solid var(--fg07);
border-radius: 4px;
box-shadow: inset 0 -1px 0 var(--fg09);
color: var(--text);
display: inline-block;
font-size: 11px;
line-height: 10px;
padding: 3px 5px;
vertical-align: middle;
cursor: pointer;
user-select: none;
-webkit-user-select: none;
}
kbd:active {
box-shadow: inset 0 0px 0 var(--fg09);
vertical-align: bottom;
filter: contrast(0.2);
}
figcaption {
margin-top: -1rem;
margin-bottom: 2rem;
display: block;
text-align: center;
color: var(--fg50);
font-size: smaller;
}
/* Tables */
table {
border-collapse: collapse;
border-spacing: 0;
}
table {
display: block;
width: 100%;
overflow: auto;
word-break: normal;
word-break: keep-all;
}
table th {
font-weight: bold;
}
table th,
table td {
padding: 0.5rem 1rem;
border: 1px solid var(--fg05);
}
td,
th {
padding: 0;
}
/* Make tables vertically aligned to the top */
tbody td {
vertical-align: top;
}
/* Media */
img {
display: block;
margin: 2rem auto;
max-width: 100%;
}
img.full {
width: 100%;
}
img.pixels {
image-rendering: crisp-edges; /* older firefox browsers */
image-rendering: pixelated;
}
video {
display: block;
margin: 2rem auto;
max-width: 100%;
}
video.full {
width: 100%;
}
video.pixels {
image-rendering: crisp-edges; /* older firefox browsers */
image-rendering: pixelated;
}
.media {
border-radius: var(--border-radius-small);
box-shadow: var(--shadow);
}
.media.hover {
transition: var(--transition-longer);
}
.media.hover:hover {
transform: scale(125%);
border-radius: unset;
box-shadow: var(--shadow-raised);
}
@media only screen and (max-device-width: 480px) {
/*mobile*/
.media.hover:hover {
transform: scale(110%);
}
}
/* Navbar */
.nav-container {
display: block;
width: 80%;
margin-left: auto;
margin-right: auto;
max-width: var(--content-width);
}
.nav {
position: sticky;
top: 0;
z-index: 1;
background-color: var(--nav-bg);
backdrop-filter: blur(24px) saturate(180%);
-webkit-backdrop-filter: blur(24px) saturate(180%);
border-bottom: 1px solid var(--fg07);
box-shadow: var(--shadow);
overflow: auto;
}
.nav-container {
margin: 0.5rem auto;
position: relative;
text-align: center;
}
.nav-title {
display: inline-block;
margin: 0;
}
.nav ul {
list-style-type: none;
margin: 1rem 0 0;
padding: 0;
text-align: center;
}
.nav li {
color: var(--fg50);
display: inline-block;
}
.nav a {
display: inline-block;
font-weight: 900;
font-size: 90%;
padding: 0.4rem 1rem;
border-radius: var(--border-radius);
background-color: transparent;
color: var(--fg50);
transition: var(--transition);
text-decoration: none;
}
.nav a:hover {
background-color: var(--fg05);
color: var(--accent-color);
// box-shadow: var(--glow);
}
.nav svg {
height: 1rem;
width: 1rem;
vertical-align: middle;
transform: translateY(-0.125rem) translateX(-0.125rem);
}
@media (min-width: 640px) {
.nav-container {
text-align: left;
}
.nav ul {
bottom: 0;
position: absolute;
right: 0;
}
}
/* Footer */
.site-footer {
text-align: center;
padding: 3rem 0 3rem;
font-size: 1rem;
margin-top: 4rem;
}
/* Link arrows */
.page-link::after {
content: "";
}
.site-link::after {
content: "";
}
/* Buttons */
.dialog-buttons {
display: flex;
flex-direction: row;
align-items: baseline;
justify-content: space-between;
margin-top: 6rem;
}
.inline-button {
display: inline-block;
font-weight: 900;
font-size: 90%;
padding: 0.4rem 1rem;
border-radius: var(--border-radius);
background-color: var(--fg05);
color: var(--text);
}
/* ASCII */
.ascii {
line-height: normal;
margin: 3rem 0 1rem;
padding: 2px 1rem;
max-width: 80vw;
overflow-x: auto;
transition: var(--transition-long);
background: linear-gradient(to top, var(--text) 0%, transparent 100%);
background-clip: text;
-webkit-background-clip: text;
-moz-background-clip: text;
-webkit-text-fill-color: transparent;
-moz-text-fill-color: transparent;
}
.ascii:hover {
-webkit-text-fill-color: var(--text);
-moz-text-fill-color: var(--text);
text-shadow: var(--glow);
}
@media only screen and (max-device-width: 480px) {
/*mobile*/
.ascii {
max-width: 90vw;
}
}
@media only screen and (max-device-width: 640px) {
/*mobile*/
.ascii {
display: none;
}
}
@media (prefers-color-scheme: dark) {
.highlight {
filter: contrast(0.4) saturate(2);
}
}
/* Code Blocks */
.highlighter-rouge {
line-height: normal;
margin: 1rem 0 1rem;
padding: 2px 1rem;
border-radius: var(--border-radius-small);
background-color: var(--bg2);
max-width: 80vw;
overflow-x: auto;
box-shadow: var(--shadow);
}
@media only screen and (max-device-width: 480px) {
/*mobile*/
.highlighter-rouge {
max-width: 90vw;
}
}
.highlighter-rouge * {
background-color: transparent;
}
/* Inline Code */
code.highlighter-rouge {
padding: 2px 6px;
background-color: var(--fg07);
color: var(--red-fg);
box-shadow: none;
}
/* Statements */
.statement-container {
margin: 1rem 0 1rem;
line-height: normal;
}
.statement-container h2 {
margin: inherit;
}
.archive {
background-color: var(--purple-bg);
color: var(--purple-fg);
}
.disclaimer {
background-color: var(--red-bg);
color: var(--red-fg);
}
.trigger {
background-color: var(--yellow-bg);
color: var(--yellow-fg);
}

View file

@ -1,217 +0,0 @@
.highlight table td {
padding: 5px;
}
.highlight table pre {
margin: 0;
}
.highlight .cm {
color: #999988;
font-style: italic;
}
.highlight .cp {
color: #999999;
font-weight: bold;
}
.highlight .c1 {
color: #999988;
font-style: italic;
}
.highlight .cs {
color: #999999;
font-weight: bold;
font-style: italic;
}
.highlight .c,
.highlight .cd {
color: #999988;
font-style: italic;
}
.highlight .err {
color: #a61717;
background-color: #e3d2d2;
}
.highlight .gd {
color: #000000;
background-color: #ffdddd;
}
.highlight .ge {
color: #000000;
font-style: italic;
}
.highlight .gr {
color: #aa0000;
}
.highlight .gh {
color: #999999;
}
.highlight .gi {
color: #000000;
background-color: #ddffdd;
}
.highlight .go {
color: #888888;
}
.highlight .gp {
color: #555555;
}
.highlight .gs {
font-weight: bold;
}
.highlight .gu {
color: #aaaaaa;
}
.highlight .gt {
color: #aa0000;
}
.highlight .kc {
color: #000000;
font-weight: bold;
}
.highlight .kd {
color: #000000;
font-weight: bold;
}
.highlight .kn {
color: #000000;
font-weight: bold;
}
.highlight .kp {
color: #000000;
font-weight: bold;
}
.highlight .kr {
color: #000000;
font-weight: bold;
}
.highlight .kt {
color: #445588;
font-weight: bold;
}
.highlight .k,
.highlight .kv {
color: #000000;
font-weight: bold;
}
.highlight .mf {
color: #009999;
}
.highlight .mh {
color: #009999;
}
.highlight .il {
color: #009999;
}
.highlight .mi {
color: #009999;
}
.highlight .mo {
color: #009999;
}
.highlight .m,
.highlight .mb,
.highlight .mx {
color: #009999;
}
.highlight .sb {
color: #d14;
}
.highlight .sc {
color: #d14;
}
.highlight .sd {
color: #d14;
}
.highlight .s2 {
color: #d14;
}
.highlight .se {
color: #d14;
}
.highlight .sh {
color: #d14;
}
.highlight .si {
color: #d14;
}
.highlight .sx {
color: #d14;
}
.highlight .sr {
color: #009926;
}
.highlight .s1 {
color: #d14;
}
.highlight .ss {
color: #990073;
}
.highlight .s {
color: #d14;
}
.highlight .na {
color: #008080;
}
.highlight .bp {
color: #999999;
}
.highlight .nb {
color: #0086b3;
}
.highlight .nc {
color: #445588;
font-weight: bold;
}
.highlight .no {
color: #008080;
}
.highlight .nd {
color: #3c5d5d;
font-weight: bold;
}
.highlight .ni {
color: #800080;
}
.highlight .ne {
color: #990000;
font-weight: bold;
}
.highlight .nf {
color: #990000;
font-weight: bold;
}
.highlight .nl {
color: #990000;
font-weight: bold;
}
.highlight .nn {
color: #555555;
}
.highlight .nt {
color: #000080;
}
.highlight .vc {
color: #008080;
}
.highlight .vg {
color: #008080;
}
.highlight .vi {
color: #008080;
}
.highlight .nv {
color: #008080;
}
.highlight .ow {
color: #000000;
font-weight: bold;
}
.highlight .o {
color: #000000;
font-weight: bold;
}
.highlight .w {
color: #bbbbbb;
}
.highlight {
background-color: transparent;
}

View file

@ -1,126 +0,0 @@
:root {
/* GNOME Color Palette */
--blue1: rgb(153, 193, 241);
--blue2: rgb(98, 160, 234);
--blue3: rgb(53, 132, 228);
--blue4: rgb(28, 113, 216);
--blue5: rgb(26, 95, 180);
--green1: rgb(143, 240, 164);
--green2: rgb(87, 227, 137);
--green3: rgb(51, 209, 122);
--green4: rgb(46, 194, 126);
--green5: rgb(38, 162, 105);
--yellow1: rgb(249, 240, 107);
--yellow2: rgb(248, 228, 92);
--yellow3: rgb(246, 211, 45);
--yellow4: rgb(245, 194, 17);
--yellow5: rgb(229, 165, 10);
--orange1: rgb(255, 190, 111);
--orange2: rgb(255, 163, 72);
--orange3: rgb(255, 120, 0);
--orange4: rgb(230, 97, 0);
--orange5: rgb(198, 70, 0);
--red1: rgb(246, 97, 81);
--red2: rgb(237, 51, 59);
--red3: rgb(224, 27, 36);
--red4: rgb(192, 28, 40);
--red5: rgb(165, 29, 45);
--purple1: rgb(220, 138, 221);
--purple2: rgb(192, 97, 203);
--purple3: rgb(145, 65, 172);
--purple4: rgb(129, 61, 156);
--purple5: rgb(97, 53, 131);
--brown1: rgb(205, 171, 143);
--brown2: rgb(181, 131, 90);
--brown3: rgb(152, 106, 68);
--brown4: rgb(134, 94, 60);
--brown5: rgb(99, 69, 44);
--light1: rgb(255, 255, 255);
--light2: rgb(246, 245, 244);
--light3: rgb(222, 221, 218);
--light4: rgb(192, 191, 188);
--light5: rgb(154, 153, 150);
--dark1: rgb(119, 118, 123);
--dark2: rgb(94, 92, 100);
--dark3: rgb(61, 56, 70);
--dark4: rgb(36, 31, 49);
--dark5: rgb(0, 0, 0);
/* General Setup */
--border: var(--light3);
--border-radius: 0.75rem;
--border-radius-small: 0.5rem;
--accent-color: var(--purple2);
--secondary-accent-color: var(--blue2);
--text: var(--dark4);
--background: var(--bg1);
--content-width: 720px;
/* Custom Color Palette */
--bg1: rgb(250, 250, 250);
--bg2: rgb(255, 255, 255);
--bg3: rgb(75, 75, 75);
--fg01: rgba(0, 0, 0, 0.01);
--fg03: rgba(0, 0, 0, 0.03);
--fg05: rgba(0, 0, 0, 0.05);
--fg07: rgba(0, 0, 0, 0.07);
--fg09: rgba(0, 0, 0, 0.09);
--fg40: rgba(0, 0, 0, 0.4);
--fg50: rgba(0, 0, 0, 0.5);
--nav-bg: rgba(255, 255, 255, 0.5);
--purple-bg: rgba(145, 65, 172, 0.1);
--purple-fg: rgb(145, 65, 172);
--red-bg: rgba(224, 27, 36, 0.1);
--red-fg: rgb(224, 27, 36);
--yellow-bg: rgba(156, 110, 3, 0.1);
--yellow-fg: rgb(156, 110, 3);
--orange-bg: rgba(255, 120, 0, 0.1);
--orange-fg: rgb(255, 120, 0);
/* Custom Variables */
--shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07),
0 2px 6px 2px rgba(0, 0, 0, 0.03);
--shadow-raised: 0 0 0 1px rgba(0, 0, 0, 0.03),
0 2px 6px 2px rgba(0, 0, 0, 0.09), 0 4px 12px 4px rgba(0, 0, 0, 0.06);
--glow: var(--accent-color) -6px 0 12px,
var(--secondary-accent-color) 6px 0 12px;
--transition: 200ms;
--transition-longer: 400ms;
--transition-long: 800ms;
}
@media (prefers-color-scheme: dark) {
:root {
color-scheme: dark;
--text: var(--light2);
--background: var(--bg3);
--fg01: rgba(255, 255, 255, 0.01);
--fg03: rgba(255, 255, 255, 0.03);
--fg05: rgba(255, 255, 255, 0.05);
--fg07: rgba(255, 255, 255, 0.07);
--fg09: rgba(255, 255, 255, 0.09);
--fg40: rgba(255, 255, 255, 0.4);
--fg50: rgba(255, 255, 255, 0.5);
--bg1: rgb(36, 36, 36);
--bg2: rgb(30, 30, 30);
--bg3: rgb(11, 11, 11);
--nav-bg: rgba(0, 0, 0, 0.5);
--purple-bg: rgba(220, 138, 221, 0.1);
--purple-fg: rgb(220, 138, 221);
--red-bg: rgba(226, 97, 81, 0.1);
--red-fg: rgb(246, 97, 81);
--yellow-bg: rgba(248, 228, 92, 0.1);
--yellow-fg: rgb(248, 228, 92);
--orange-bg: rgba(255, 190, 111, 0.1);
--orange-fg: rgb(255, 190, 111);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

View file

@ -1,20 +0,0 @@
---
---
/*
Daudix's Blog
====================
based on OS Component Website which shamelessly stolen CSS from systemd
https://github.com/jimmac/os-component-website
https://github.com/systemd/systemd/tree/main/docs
*/
@import "variables";
@import "fonts";
@import "main";
@import "rouge-github";
@import "comments";
@import "custom";

Binary file not shown.

View file

@ -1,7 +0,0 @@
---
layout: post
title: "ActivityPub/Fediverse comments demo"
toc: false
comments:
id: 110896168682002971
---

49
config.toml Normal file
View file

@ -0,0 +1,49 @@
title = "Daudix UFO"
base_url = "https://daudix.exozy.me"
description = "Passionate designer, translator, and FOSS contributor"
theme = "duckquill"
compile_sass = true
minify_html = true
generate_feed = true
feed_filename = "atom.xml"
build_search_index = false
taxonomies = [
{name = "tags", feed = true},
]
[markdown]
highlight_code = true
highlight_theme = "css"
highlight_themes_css = [
{ theme = "solarized-dark", filename = "syntax-theme-dark.css" },
{ theme = "solarized-light", filename = "syntax-theme-light.css" },
]
smart_punctuation = true
[extra]
accent_color = "#c061cb"
blog_title = "Daudix's Blog"
blog_description = "Howdy! welcome to my little blog, I write about software, FOSS and what not. Take your cup of ☕ and look around!"
date_format = "%d %B %Y"
hosting = "Forgejo"
issues_url = "https://git.exozy.me/daudix/website/issues"
source_url = "https://git.exozy.me/daudix/website"
nav_links = [
{url = "/about", name = "About"},
{url = "/design", name = "Design"},
{url = "/blog", name = "Blog"},
]
[extra.footer]
johnvert_ref = "daudix.exozy.me"
show_copyright = true
show_johnvert = true
show_powered_by = true
show_source = false
[extra.comments]
host = "mstdn.social"
user = "Daudix"
token = "jTNX9pAV8XEPBby0cPWF6CmGY60kkIy4vidggfxXmoQ"

2
content/_index.md Normal file
View file

@ -0,0 +1,2 @@
+++
+++

92
content/about/index.md Normal file
View file

@ -0,0 +1,92 @@
+++
aliases = ["info"]
+++
<h1 class="gradient-h1">David Lapshin</h1>
<br />
<small>Passionate designer, translator, and FOSS contributor</small>
## About
Hello there! My name is David, you can call me by my nickname - Daudix - if you prefer.
I'm from the Siberian part of Russia, but currently live in ▒▓░▒▓░.
I love photography, design, open source and retro-futurism, my
favorite games are «Portal» series, «Untitled Goose» and «The Stanley
Parable».
Design is a bit more than just thing I like, it's my hobby that I
learn more about every day.
I also have some minimal understanding of how Blender works,
occasionally do some silly stuff in it.
## Works
I mostly create and improve icons for around-GNOME apps, if app
doesn't have a translation I do it, sometimes I help with UI design.
Currently member of [Nickvision](https://nickvision.org) and [Gradience](https://gradienceteam.github.io) teams as a designer and maintainer respectively.
I have a project that I'm pretty happy with - [Pixfect](https://codeberg.org/daudix-UFO/Pixfect), it's a CLI tool for image dithering, to give images that pixel art look, this project inspired [tfuxu](https://github.com/tfuxu) on creation of [Halftone](https://github.com/tfuxu/Halftone), a beautiful little app.
I have a [showcase](works) of my latest good-looking icons, take a look ;)
Oh and, there are also calming [screensaver](screensaver) laying around, made of scarpped background for this page.
## Links
Compressed list of places where you can find me on:
### Git Forges
- [Codeberg](https://codeberg.org/daudix-UFO)
- [GitHub](https://github.com/daudix-UFO)
- [GitLab](https://gitlab.com/daudix-UFO)
- [GitLab (GNOME)](https://gitlab.gnome.org/daudix-UFO)
### Contacts
- [Mail](mailto:ddaudix@gmail.com)
- [Matrix](https://matrix.to/#/@daudix_ufo:matrix.org)
- [Discord](https://discord.com/users/650757995378114581)
- [Telegram](https://t.me/Daudix_UFO)
### Socials
- [Mastodon](https://mstdn.social/@Daudix)
- [Pixelfed](https://pixey.org/Daudix)
- [Lemmy](https://toast.ooo/u/Daudix)
- [YouTube](https://www.youtube.com/@Daudix_UFO)
## Extra
Well, I guess you are pretty interested and have plenty of free time as you have read this long, so here are unsorted list of random facts and stuff
<details class="blur"><summary>Expand at your own risc(-v)!</summary>
- This site are made using only pure CSS and HTML, JavaScript only used when it's impossible to do something without it or super complex.
- This site is God knows what attempt at making it, this one is more successful than any.
- I know 3 languages, Russian, English and Arabic, the later is in bad state currently, maybe I will get to it some day.
- My nickname is mix of my name in Arabic (Daud), IX (I don't know why it's here), and UFO as additional word that I can put in last name input box.
- I'm 2007 gang but I don't like saying about that (in fact this is first time).
- I have (self diagnosed) ADHD, so if I act weirdly, take this into account.
- I have some sort of anxiety of people, I don't like to talk to people or even look at.
- As you may know, I like Retro, I don't know WHY but yeah, Vintage/Retro stuff has unique look, stuff looks... I don't know... cool.
- I f\***ing hate the overuse of emojis, especially if it's Apple ones.
- I f\***ing hate TikTok, made up s\**t, influencers and all this kind of stuff.
- I'm disappointed in people, especially by most people of my age.
- I didn't plan adding this section, but then ADHD kicked in and you know what happened next, as you are reading this.
</details>

5
content/blog/_index.md Normal file
View file

@ -0,0 +1,5 @@
+++
sort_by = "date"
template = "blog_list.html"
page_template = "blog.html"
+++

View file

@ -1,19 +1,21 @@
---
layout: post
title: "ChatGPT And File Renaming"
tags: AI ChatGPT Script
toc: true
---
+++
title = "ChatGPT And File Renaming"
date = 2023-07-24
[taxonomies]
tags = ["AI", "ChatGPT", "Bash"]
[extra]
toc = true
+++
## Backstory
While writing and the [previous post](/migration-from-github-to-codeberg) I ran into an "issue" that post file names had spaces in them and special characters like `:`, I could rename them manually but why not use script to do this automatically?
While writing and the [previous post](/posts/migration-from-github-to-codeberg) I ran into an "issue" that post file names had spaces in them and special characters like `:`, I could rename them manually but why not use script to do this automatically?
## The ~~programming~~ asking
After a quick web search I understood that this will be hard to do (a lot of `sed` and bash tricks, sounds like data loss), so I asked ChatGPT to write the script. After countless tweak requests and `git restore ./` *we* have finally got it, script that works for English and Russian, it makes everything lowercase, replaces spaces with dashes and removes spacial characters like said `:`, I don't know how it works but here is it:
```shell
```sh
#!/usr/bin/env bash
# Made by ChatGPT and countless tweak requests

View file

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View file

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View file

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View file

@ -1,9 +1,11 @@
---
layout: post
title: "Gemini: Exploring the Cozy World of Capsules and Space"
tags: Gemini Dithering ASCII
toc: true
---
+++
title = "Gemini: Exploring the Cozy World of Capsules and Space"
date = 2023-06-12
[taxonomies]
tags = ["Gemini", "Dithering", "ASCII"]
[extra]
toc = true
+++
This post is made to give you basic understanding of what Gemini is, what are Capsules and Gemlogs, modern-day use of retro image techniques and text-based art
@ -114,7 +116,7 @@ For this you can use Halftone - A simple Linux app that allows you to dither you
Example of simple ordered image dithering with 2 colors using ImageMagick [^1]
```shell
```sh
convert image.jpg -resize 840x840 -strip -colors 4 -ordered-dither o8x8 image-dithered.png
```
@ -126,7 +128,7 @@ I will use Halftone in this example
This is what we get in the end
[![]({{site.baseurl}}/assets/posts/2023-06-12/bay-bridge-floyd-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-06-12/bay-bridge-floyd.png)
{{ image(url="bay-bridge-floyd.png", url_min="bay-bridge-floyd-min.png", hover=true) }}
<figcaption>Bay Bridge photo in dark tones, with Floyd-Steinberg dithering</figcaption>
[Image on Unsplash](https://unsplash.com/photos/raNGlrn5JRI)
@ -144,7 +146,7 @@ But, we can go even further, by using less colors and different dithering algori
With ordered dithering (Bayer) and 2 colors we get the following result
[![]({{site.baseurl}}/assets/posts/2023-06-12/bay-bridge-bayer-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-06-12/bay-bridge-bayer.png)
{{ image(url="bay-bridge-bayer.png", url_min="bay-bridge-bayer-min.png", hover=true) }}
<figcaption>Bay Bridge photo in black and white, with Bayer dithering</figcaption>
[Image on Unsplash](https://unsplash.com/photos/raNGlrn5JRI)
@ -250,14 +252,14 @@ Here are simple example of ASCII and Braille images made with ascii-image-conver
⣿⣿⡻⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣾⣷⣶⣧⣶⣷⣶⣶⣶⣾⣶⣦
```
But, do you think it has quality of this image?
But, do you think it looks anything like this image?
[![]({{site.baseurl}}/assets/posts/2023-06-12/grayscale-plane-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-06-12/grayscale-plane.png)
{{ image(url="grayscale-plane.png", url_min="grayscale-plane-min.png", hover=true) }}
<figcaption>T-6 plane photo in grayscale, with Floyd-Steinberg dithering</figcaption>
[Image on Unsplash](https://unsplash.com/photos/cs4uFYrNZfc)
Me too...
Me neither...
The result heavily depends on amount of detail, colors, contrast, the width of ASCII output and etc. you can get pretty decent result, but for images it probably worth just to use dithering ;)
@ -315,21 +317,21 @@ The ASCII art can be found online in huge amounts, I will give you some good web
As for banners, they can be easily created with figlet or toilet, you can easily find installation instructions online, I also recommend to install additional beautiful and sometimes funny fonts from [figlet-fonts](https://github.com/xero/figlet-fonts), which basically consists of few commands
```shell
```sh
git clone https://github.com/xero/figlet-fonts.git
```
```shell
```sh
cd figlet-fonts/
```
```shell
```sh
sudo cp -r ./ /usr/share/figlet/
```
And then you can create your own banner!
```shell
```sh
figlet -f ANSI\ Shadow "gemini"
```

View file

@ -1,11 +1,13 @@
---
layout: post
title: "Migration from GitHub to Codeberg"
tags: Codeberg GitHub Woodpecker Migration
toc: true
comments:
id: 110720129252541458
---
+++
title = "Migration from GitHub to Codeberg"
date = 2023-07-15
[taxonomies]
tags = ["Codeberg", "GitHub", "Woodpecker", "Migration"]
[extra]
toc = true
[extra.comments]
id = "110720129252541458"
+++
## Backstory
@ -132,35 +134,35 @@ _Personally I use [VSCodium](https://vscodium.com), fork of VSCode with Microsof
Push all the changes and [Generate an Access Token](https://docs.codeberg.org/advanced/access-token), you need to generate token named `cbtoken` with the `repo` scope selected
[![]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715225539-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715225539.png)
{{ image(url="pasted-image-20230715225539.png", url_min="pasted-image-20230715225539-min.png", hover=true) }}
Then copy the resulted token and save it to a safe place, as it won't be shown again.
Go to [Woodpecker](https://ci.codeberg.org) and navigate to _Repositories_ tab and add a new repository (`blog-source`)
[![]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715224850-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715224850.png)
{{ image(url="pasted-image-20230715224850.png", url_min="pasted-image-20230715224850-min.png", hover=true) }}
Navigate to _Settings_ and go to _Secrets_ tab
[![]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715225826-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715225826.png)
{{ image(url="pasted-image-20230715225826.png", url_min="pasted-image-20230715225826-min.png", hover=true) }}
[![]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715225841-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715225841.png)
{{ image(url="pasted-image-20230715225841.png", url_min="pasted-image-20230715225841-min.png", hover=true) }}
Here create two secrets, `cbmail` and `cbtoken`
`cbmail` should contain your Codeberg account email
[![]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715230017-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715230017.png)
{{ image(url="pasted-image-20230715230017.png", url_min="pasted-image-20230715230017-min.png", hover=true) }}
And `cbtoken` should contain the secret we saved earlier
[![]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715230115-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715230115.png)
{{ image(url="pasted-image-20230715230115.png", url_min="pasted-image-20230715230115-min.png", hover=true) }}
Make sure these two secrets have successfully created and make some changes in `blog-source` to trigger the CI, it should finish successfully.
> If you don't want to trigger the CI (the change doesn't affect content for example) you can add `[CI SKIP]` to your commit message to skip the CI
[![]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715231347-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-07-15/pasted-image-20230715231347.png)
{{ image(url="pasted-image-20230715231347.png", url_min="pasted-image-20230715231347-min.png", hover=true) }}
Now it's up to you to choose Jekyll theme and write something ;)

View file

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View file

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View file

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View file

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View file

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View file

@ -1,11 +1,13 @@
---
layout: post
title: "Site and Blog Devlog"
tags: Devlog
toc: true
comments:
id: 110882489740462163
---
+++
title = "Site and Blog Devlog"
date = 2023-08-13
[taxonomies]
tags = ["Devlog"]
[extra]
toc = true
[extra.comments]
id = "110882489740462163"
+++
<script>
function playAudio(url) {
@ -21,7 +23,7 @@ The Index is not only home page, it's also a showcase, info and screensaver page
One important change have happened to the Index, now all its pages use the same base, `style.css`, and only page-specific tweaks are specified in page <abbr title="Cascading Style Sheets">CSS</abbr>, e.g showcase page style has `@import url("style.css");` in the beginning instead of exact copy of `index.css`, not only this makes the file size smaller, but also makes the tweaking process a breeze, since stuff can be changed in one place and be applied to every page.
[![]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813115925-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813115925.png)
{{ image(url="pasted-image-20230813115925.png", url_min="pasted-image-20230813115925-min.png", hover=true) }}
<figcaption>VSCodium screenshot showing off import if base style and some «body» styles</figcaption>
### Home
@ -32,12 +34,12 @@ Home page is a very important page, this page links to all other pages, it gives
- Background color are a bit different (taken from Libadwaita)
- Added shadows to all cards to give them some depth
[![]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813120014-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813120014.png)
{{ image(url="pasted-image-20230813120014.png", url_min="pasted-image-20230813120014-min.png", hover=true) }}
<figcaption>Blog link card with newely added shadow</figcaption>
- Added hover effect for cards that act like a button (blog and showcase).
<video class="media" controls src="{{site.baseurl}}/assets/posts/2023-08-13/запись-экрана-от-2023-08-13-12-00-41.webm"></video>
{{ video(url="запись-экрана-от-2023-08-13-12-00-41.webm") }}
<figcaption>Blog link card being hovered with cursor</figcaption>
- Active state for cards (when you click/press on card) have been removed since it looked weird
@ -48,7 +50,7 @@ And more, these are that I could remember.
Showcase have been updated to include more icons, info overlay closing animation have been fixed (previously it just disappeared without any animation) and assets were optimized.
<video class="media" controls src="{{site.baseurl}}/assets/posts/2023-08-13/запись-экрана-от-2023-08-13-12-04-04.webm"></video>
{{ video(url="запись-экрана-от-2023-08-13-12-04-04.webm") }}
<figcaption>Demo of opening/closing info overlay</figcaption>
### Info
@ -56,14 +58,14 @@ Showcase have been updated to include more icons, info overlay closing animation
Info page were completely redesigned, inspired by the design of [Felipe
Kinoshita's](https://felipekinoshita.com) site. It is more similar to the blog in terms of typography, has nice animated stripes background and a lot of info about me. Compared to the previous version it has way less links - only ones that I actually use.
<video class="media" controls src="{{site.baseurl}}/assets/posts/2023-08-13/запись-экрана-от-2023-08-13-12-12-30.webm"></video>
{{ video(url="запись-экрана-от-2023-08-13-12-12-30.webm") }}
<figcaption>Me scrolling through the whole page</figcaption>
### Screensaver
Screensaver is a brand-new page, the name is self-explanatory, it's just a pretty screensaver with colorful circles floating around, it is made around [this codepen](https://codepen.io/alvarotrigo/pen/qBMMyxz) by [Álvaro](https://codepen.io/alvarotrigo), from interesting it has «Enter Fulllscreen» button.
[![]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813121518-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813121518.png)
{{ image(url="pasted-image-20230813121518.png", url_min="pasted-image-20230813121518-min.png", hover=true) }}
<figcaption>Pretty colorful circles blending with each other</figcaption>
## «The Blog»
@ -73,34 +75,34 @@ The blog have seen the most of the changes, it all were flipped upside down to b
- Proper dark mode have been implemented from scratch, previously <abbr title="Cascading Style Sheets">CSS</abbr> invert filter with hue rotation were used, it worked but had too much issues: images became unsaturated, emojis creepy, shadows glowing and etc.
- Navigation bar have been added, it has pretty glassy look and shadow. Inspired by the navigation bar of [Micah Ilbery's](https://micahilbery.com) site. I really like how it looks :3
[![]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813121727-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813121727.png)
{{ image(url="pasted-image-20230813121727.png", url_min="pasted-image-20230813121727-min.png", hover=true) }}
<figcaption>Navigation bar with content behind it being blurred</figcaption>
- Added <abbr title="American Standard Code for Information Interchange">ASCII</abbr> style, now instead of boring code block it uses pretty gradient fill and has this neon glow on hover
[![]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813121756-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813121756.png)
{{ image(url="pasted-image-20230813121756.png", url_min="pasted-image-20230813121756-min.png", hover=true) }}
<figcaption>Regular state, it's filled with gradient going from bottom to top, with the bottom being black and top being transparent</figcaption>
[![]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813121750-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813121750.png)
{{ image(url="pasted-image-20230813121750.png", url_min="pasted-image-20230813121750-min.png", hover=true) }}
<figcaption>Hovered state, it becomes fully black and gains purple-blue glow</figcaption>
- Images now scale up on hover and have round corners
<video class="media" controls src="{{site.baseurl}}/assets/posts/2023-08-13/запись-экрана-от-2023-08-13-12-24-13.webm"></video>
{{ video(url="запись-экрана-от-2023-08-13-12-24-13.webm") }}
<figcaption>Image zooming in on hover, with it loosing rounded corners</figcaption>
- Code blocks now have some filters applied in dark mode for better visibility, the code blocks themselves are now more round and have shadows
[![]({{site.baseurl}}/assets/posts/2023-08-13/снимок-экрана-от-2023-08-13-12-26-07-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-08-13/снимок-экрана-от-2023-08-13-12-26-07.png)
{{ image(url="снимок-экрана-от-2023-08-13-12-26-07.png", url_min="снимок-экрана-от-2023-08-13-12-26-07-min.png", hover=true) }}
<figcaption>Code block in light mode</figcaption>
[![]({{site.baseurl}}/assets/posts/2023-08-13/снимок-экрана-от-2023-08-13-12-26-18-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-08-13/снимок-экрана-от-2023-08-13-12-26-18.png)
{{ image(url="снимок-экрана-от-2023-08-13-12-26-18.png", url_min="снимок-экрана-от-2023-08-13-12-26-18-min.png", hover=true) }}
<figcaption>...And in dark</figcaption>
- Some colors have been changed, all in all should be more pleasant to the eye
- Everything now respects global variables, so e.g you can change accent color, roundness, shadows and maximum content width without going through the whole 1200+ <abbr title="Lines Of Code">LOC</abbr> <abbr title="Cascading Style Sheets">CSS</abbr>, this is made not only to keep myself sane but also for _you_ to make it easier to build upon ;)
<video class="media" class="media" controls src="{{site.baseurl}}/assets/posts/2023-08-13/запись-экрана-от-2023-08-11-01-50-55.webm"></video>
{{ video(url="запись-экрана-от-2023-08-11-01-50-55.webm") }}
<figcaption>Me chaning 2 color variables and site respecting this</figcaption>
- The structure have been changed, now uses recommended Jekyll structure for posts
@ -108,36 +110,36 @@ The blog have seen the most of the changes, it all were flipped upside down to b
- Posts now have its own page
- Posts list on index page now generates automatically on build, this allowed to display tags and publication date
[![]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813122050-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813122050.png)
{{ image(url="pasted-image-20230813122050.png", url_min="pasted-image-20230813122050-min.png", hover=true) }}
<figcaption>Automatically generated list of posts on index page</figcaption>
- Table of contents are now generated on build, now I don't have to create it for every page manually
- Hovering over `© Daudix's Blog, 2023` in footer now displays last built date
[![]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813122106-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813122106.png)
{{ image(url="pasted-image-20230813122106.png", url_min="pasted-image-20230813122106-min.png", hover=true) }}
<figcaption>You guess it, last built date is displayed on hover</figcaption>
- Atom Feed is here!
[![]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813122201-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813122201.png)
{{ image(url="pasted-image-20230813122201.png", url_min="pasted-image-20230813122201-min.png", hover=true) }}
<figcaption>Screenshot of NewsBlur with this blog</figcaption>
- Added Johnvertisements
- Probably most exiting addition, Mastodon (and any other ActivityPub/Fediverse account) powered comments! you can _right now_ scroll down and comment! all thanks goes to Cassidy James for [Mastodon-powered Blog Comments](https://cassidyjames.com/blog/fediverse-blog-comments-mastodon) ❤️
[![]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813122238-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813122238.png)
{{ image(url="pasted-image-20230813122238.png", url_min="pasted-image-20230813122238-min.png", hover=true) }}
<figcaption>Mastodon post about my migration to Codeberg blog post being used as a comment</figcaption>
## One More Thing™
🥁 [Drum roll ▻](<javascript:onclick=playAudio('{{site.baseurl}}/assets/posts/2023-08-13/drum-roll-gaming-sound-effect-hd.mp3');>) I have a new site at Neocities! it will not replace this one, it's just a silly playground that has this old look. You know... Geocities and stuff.
🥁 [Drum roll ▻](<javascript:onclick=playAudio('drum-roll-gaming-sound-effect-hd.mp3');>) I have a new site at Neocities! it will not replace this one, it's just a silly playground that has this old look. You know... Geocities and stuff.
It's empty <abbr title="At The Moment">ATM</abbr>, but it has [AD-HD button](https://mstdn.social/@Daudix/110872543493210479)!
[Visit it here](https://daudix.neocities.org){:.site-link}
[Visit it here](https://daudix.neocities.org)
[![]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813122311-min.png){:.media.hover}]({{site.baseurl}}/assets/posts/2023-08-13/pasted-image-20230813122311.png)
{{ image(url="pasted-image-20230813122311.png", url_min="pasted-image-20230813122311-min.png", hover=true) }}
<figcaption>The Neocities site!</figcaption>
## The Future

View file

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 85 KiB

View file

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View file

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View file

Before

Width:  |  Height:  |  Size: 245 KiB

After

Width:  |  Height:  |  Size: 245 KiB

View file

Before

Width:  |  Height:  |  Size: 486 KiB

After

Width:  |  Height:  |  Size: 486 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View file

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View file

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 139 KiB

View file

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View file

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View file

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

View file

Before

Width:  |  Height:  |  Size: 259 KiB

After

Width:  |  Height:  |  Size: 259 KiB

View file

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View file

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 128 KiB

View file

Before

Width:  |  Height:  |  Size: 395 KiB

After

Width:  |  Height:  |  Size: 395 KiB

View file

@ -0,0 +1,130 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" gradientUnits="userSpaceOnUse" x1="8.0000015" x2="120.0000015" y1="115.999977" y2="115.999977">
<stop offset="0" stop-color="#9a9996"/>
<stop offset="0.0357143" stop-color="#deddda"/>
<stop offset="0.0714286" stop-color="#c0bfbc"/>
<stop offset="0.928571" stop-color="#c0bfbc"/>
<stop offset="0.964286" stop-color="#deddda"/>
<stop offset="1" stop-color="#9a9996"/>
</linearGradient>
<linearGradient id="b" gradientUnits="userSpaceOnUse" x1="64" x2="64" y1="36" y2="72">
<stop offset="0" stop-color="#57e389"/>
<stop offset="1" stop-color="#26a269"/>
</linearGradient>
<filter id="c" height="100%" width="100%" x="0%" y="0%">
<feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<mask id="d">
<g filter="url(#c)">
<rect fill-opacity="0.2" height="128" width="128"/>
</g>
</mask>
<clipPath id="e">
<rect height="152" width="192"/>
</clipPath>
<mask id="f">
<g filter="url(#c)">
<rect fill-opacity="0.2" height="128" width="128"/>
</g>
</mask>
<clipPath id="g">
<rect height="152" width="192"/>
</clipPath>
<mask id="h">
<g filter="url(#c)">
<rect fill-opacity="0.2" height="128" width="128"/>
</g>
</mask>
<clipPath id="i">
<rect height="152" width="192"/>
</clipPath>
<linearGradient id="j" gradientUnits="userSpaceOnUse" x1="64" x2="64" y1="82" y2="102">
<stop offset="0" stop-color="#e01b24"/>
<stop offset="1" stop-color="#f66151"/>
</linearGradient>
<mask id="k">
<g filter="url(#c)">
<rect fill-opacity="0.2" height="128" width="128"/>
</g>
</mask>
<clipPath id="l">
<rect height="152" width="192"/>
</clipPath>
<path d="m 16 40 h 96 c 4.417969 0 8 3.582031 8 8 v 60 c 0 4.417969 -3.582031 8 -8 8 h -96 c -4.417969 0 -8 -3.582031 -8 -8 v -60 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="url(#a)"/>
<path d="m 16 28 h 96 c 4.417969 0 8 3.582031 8 8 v 64 c 0 4.417969 -3.582031 8 -8 8 h -96 c -4.417969 0 -8 -3.582031 -8 -8 v -64 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="#f6f5f4"/>
<path d="m 120 80 h -112 v 20 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 z m 0 0" fill="#deddda"/>
<path d="m 20 36 h 88 c 2.210938 0 4 1.789062 4 4 v 28 c 0 2.210938 -1.789062 4 -4 4 h -88 c -2.210938 0 -4 -1.789062 -4 -4 v -28 c 0 -2.210938 1.789062 -4 4 -4 z m 0 0" fill="url(#b)"/>
<g clip-path="url(#e)" fill="#241f31" mask="url(#d)" transform="matrix(1 0 0 1 -8 -16)">
<path d="m 42 61 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 51 62 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 41 62 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 51 72 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 41 72 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 42 81 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 58 61 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 67 62 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 57 62 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 67 72 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 57 72 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 58 81 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 78 61 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 87 62 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 87 72 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 78 81 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 94 61 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 103 62 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 103 72 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 74 66 c 0 1.105469 -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 s 2 0.894531 2 2 z m 0 0"/>
<path d="m 74 76 c 0 1.105469 -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 s 2 0.894531 2 2 z m 0 0"/>
<path d="m 58 71 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 78 71 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 93 62 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 93 72 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 94 71 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 94 81 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 77 62 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 77 72 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 42 71 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
</g>
<g clip-path="url(#g)" mask="url(#f)" transform="matrix(1 0 0 1 -8 -16)">
<path d="m 28 52 c -2.214844 0 -4 1.785156 -4 4 v 4 c 0 -2.214844 1.785156 -4 4 -4 h 88 c 2.214844 0 4 1.785156 4 4 v -4 c 0 -2.214844 -1.785156 -4 -4 -4 z m 0 0"/>
</g>
<path d="m 20 36 c -2.214844 0 -4 1.785156 -4 4 v 2 c 0 -2.214844 1.785156 -4 4 -4 h 88 c 2.214844 0 4 1.785156 4 4 v -2 c 0 -2.214844 -1.785156 -4 -4 -4 z m 0 0" fill="#c0bfbc"/>
<g fill="#241f31">
<path d="m 34 45 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 43 46 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 33 46 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 43 56 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 33 56 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 34 65 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 50 45 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 59 46 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 49 46 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 59 56 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 49 56 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 50 65 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 70 45 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 79 46 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 70 65 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 86 45 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 95 46 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 95 56 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 50 55 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 70 55 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 85 46 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 85 56 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 86 65 l 1 -1 h 6 l 1 1 l -1 1 h -6 z m 0 0"/>
<path d="m 69 56 l 1 1 v 6 l -1 1 l -1 -1 v -6 z m 0 0"/>
<path d="m 66 50 c 0 1.105469 -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 s 2 0.894531 2 2 z m 0 0"/>
<path d="m 66 60 c 0 1.105469 -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 s 2 0.894531 2 2 z m 0 0"/>
</g>
<g clip-path="url(#i)" mask="url(#h)" transform="matrix(1 0 0 1 -8 -16)">
<path d="m 16 116 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 0" fill="#77767b"/>
</g>
<path d="m 36 84 h 56 c 2.210938 0 4 1.789062 4 4 v 12 c 0 2.210938 -1.789062 4 -4 4 h -56 c -2.210938 0 -4 -1.789062 -4 -4 v -12 c 0 -2.210938 1.789062 -4 4 -4 z m 0 0" fill="#c01c28"/>
<path d="m 36 82 h 56 c 2.210938 0 4 1.789062 4 4 v 12 c 0 2.210938 -1.789062 4 -4 4 h -56 c -2.210938 0 -4 -1.789062 -4 -4 v -12 c 0 -2.210938 1.789062 -4 4 -4 z m 0 0" fill="url(#j)"/>
<g clip-path="url(#l)" mask="url(#k)" transform="matrix(1 0 0 1 -8 -16)">
<path d="m 44 98 c -2.214844 0 -4 1.785156 -4 4 v 2 c 0 -2.214844 1.785156 -4 4 -4 h 56 c 2.214844 0 4 1.785156 4 4 v -2 c 0 -2.214844 -1.785156 -4 -4 -4 z m 0 0" fill="#ffffff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8 KiB

View file

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<filter id="a" height="100%" width="100%" x="0%" y="0%">
<feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<mask id="b">
<g filter="url(#a)">
<rect fill-opacity="0.2" height="128" width="128"/>
</g>
</mask>
<clipPath id="c">
<rect height="152" width="192"/>
</clipPath>
<linearGradient id="d" gradientUnits="userSpaceOnUse" x1="64" x2="64" y1="56" y2="102">
<stop offset="0" stop-color="#deddda"/>
<stop offset="0.3" stop-color="#f6f5f4"/>
<stop offset="0.7" stop-color="#deddda"/>
<stop offset="1" stop-color="#f6f5f4"/>
</linearGradient>
<mask id="e">
<g filter="url(#a)">
<rect fill-opacity="0.2" height="128" width="128"/>
</g>
</mask>
<clipPath id="f">
<rect height="152" width="192"/>
</clipPath>
<clipPath id="g">
<path d="m 20 88 h 88 v 32 h -88 z m 0 0"/>
</clipPath>
<clipPath id="h">
<path d="m 15 83 h 98 v 42 h -98 z m 13 1 c -4.433594 0 -8 3.566406 -8 8 v 16 c 0 4.433594 3.566406 8 8 8 h 72 c 4.433594 0 8 -3.566406 8 -8 v -16 c 0 -4.433594 -3.566406 -8 -8 -8 z m 0 0"/>
</clipPath>
<linearGradient id="i" gradientTransform="matrix(0.196428 0 0 0.342105 2.59729 273.740051)" gradientUnits="userSpaceOnUse" x1="88.595741" x2="536.596375" y1="-449.393982" y2="-449.393982">
<stop offset="0" stop-color="#77767b"/>
<stop offset="0.0454546" stop-color="#c0bfbc"/>
<stop offset="0.0908181" stop-color="#9a9996"/>
<stop offset="0.909091" stop-color="#9a9996"/>
<stop offset="0.954545" stop-color="#c0bfbc"/>
<stop offset="1" stop-color="#77767b"/>
</linearGradient>
<linearGradient id="j" gradientUnits="userSpaceOnUse" x1="19.999562" x2="107.999562" y1="258.00087" y2="258.00087">
<stop offset="0" stop-color="#3d3846" stop-opacity="0.6"/>
<stop offset="0.0454545" stop-color="#5e5c64"/>
<stop offset="0.0909091" stop-color="#241f31" stop-opacity="0.6"/>
<stop offset="0.909091" stop-color="#241f31" stop-opacity="0.6"/>
<stop offset="0.954545" stop-color="#77767b"/>
<stop offset="1" stop-color="#3d3846" stop-opacity="0.6"/>
</linearGradient>
<g clip-path="url(#c)" mask="url(#b)" transform="matrix(1 0 0 1 -8 -16)">
<path d="m 40 74 h 7 v 36 h -7 z m 0 0"/>
<path d="m 54 74 h 7 v 38 h -7 z m 0 0"/>
<path d="m 68 74 h 7 v 46 h -7 z m 0 0"/>
<path d="m 82 74 h 7 v 36 h -7 z m 0 0"/>
<path d="m 96 74 h 7 v 46 h -7 z m 0 0"/>
</g>
<g fill="url(#d)">
<path d="m 32 56 h 7 v 36 h -7 z m 0 0"/>
<path d="m 46 56 h 7 v 38 h -7 z m 0 0"/>
<path d="m 60 56 h 7 v 46 h -7 z m 0 0"/>
<path d="m 74 56 h 7 v 36 h -7 z m 0 0"/>
<path d="m 88 56 h 7 v 46 h -7 z m 0 0"/>
</g>
<g clip-path="url(#f)" mask="url(#e)" transform="matrix(1 0 0 1 -8 -16)">
<path d="m 40 72 h 7 v 2 h -7 z m 0 0"/>
<path d="m 54 72 h 7 v 2 h -7 z m 0 0"/>
<path d="m 68 72 h 7 v 2 h -7 z m 0 0"/>
<path d="m 82 72 h 7 v 2 h -7 z m 0 0"/>
<path d="m 96 72 h 7 v 2 h -7 z m 0 0"/>
</g>
<g clip-path="url(#g)">
<g clip-path="url(#h)">
<path d="m 28 88 h 72 c 4.433594 0 8 3.566406 8 8 v 16 c 0 4.433594 -3.566406 8 -8 8 h -72 c -4.433594 0 -8 -3.566406 -8 -8 v -16 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0" fill="url(#i)"/>
</g>
</g>
<path d="m 28 48 h 72 c 4.417969 0 8 3.582031 8 8 v 52 c 0 4.417969 -3.582031 8 -8 8 h -72 c -4.417969 0 -8 -3.582031 -8 -8 v -52 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="url(#j)"/>
<path d="m 27 42 h 74 c 3.867188 0 7 3.132812 7 7 s -3.132812 7 -7 7 h -74 c -3.867188 0 -7 -3.132812 -7 -7 s 3.132812 -7 7 -7 z m 0 0" fill="#c0bfbc"/>
<path d="m 27 46 h 74 c 1.65625 0 3 1.34375 3 3 s -1.34375 3 -3 3 h -74 c -1.65625 0 -3 -1.34375 -3 -3 s 1.34375 -3 3 -3 z m 0 0" fill="#241f31"/>
<path d="m 35 8 h 39 c 6 16 6 16 22 22 v 23 c 0 1.660156 -1.339844 3 -3 3 h -58 c -1.660156 0 -3 -1.339844 -3 -3 v -42 c 0 -1.660156 1.339844 -3 3 -3 z m 0 0" fill="#f6f5f4"/>
<path d="m 40 20 h 30 v 4 h -30 z m 0 0" fill="#deddda"/>
<path d="m 40 28 h 30 v 4 h -30 z m 0 0" fill="#deddda"/>
<path d="m 40 36 h 48 v 4 h -48 z m 0 0" fill="#deddda"/>
<path d="m 40 44 h 48 v 4 h -48 z m 0 0" fill="#deddda"/>
<path d="m 96 30 h -19 c -1.660156 0 -3 -1.339844 -3 -3 v -19 z m 0 0" fill="#deddda"/>
<path d="m 20 52 h 88 v 4 h -88 z m 0 0" fill="#c0bfbc"/>
<path d="m 104 49 h 4 v 6 h -4 z m 0 0" fill="#c0bfbc"/>
<path d="m 20 49 h 4 v 6 h -4 z m 0 0" fill="#c0bfbc"/>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View file

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<clipPath id="a">
<path d="m 8 28 h 112 v 16 h -112 z m 0 0"/>
</clipPath>
<clipPath id="b">
<path d="m 16 28 h 96 c 4.417969 0 8 3.582031 8 8 v 72 c 0 4.417969 -3.582031 8 -8 8 h -96 c -4.417969 0 -8 -3.582031 -8 -8 v -72 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0"/>
</clipPath>
<clipPath id="c">
<path d="m 8 28 h 112 v 88 h -112 z m 0 0"/>
</clipPath>
<clipPath id="d">
<path d="m 16 28 h 96 c 4.417969 0 8 3.582031 8 8 v 72 c 0 4.417969 -3.582031 8 -8 8 h -96 c -4.417969 0 -8 -3.582031 -8 -8 v -72 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0"/>
</clipPath>
<filter id="e" height="100%" width="100%" x="0%" y="0%">
<feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<mask id="f">
<g filter="url(#e)">
<rect fill-opacity="0.6" height="128" width="128"/>
</g>
</mask>
<clipPath id="g">
<rect height="152" width="192"/>
</clipPath>
<linearGradient id="h" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#9a9996"/>
<stop offset="0.5" stop-color="#ffffff"/>
<stop offset="1" stop-color="#c0bfbc"/>
</linearGradient>
<linearGradient id="i" gradientTransform="matrix(0.419845 -0.419845 1.06066 1.06066 -514.668679 161.416048)" x1="848.421692" x2="848.421692" xlink:href="#h" y1="231.999969" y2="227.999969"/>
<linearGradient id="j" gradientTransform="matrix(0.419845 -0.419845 1.06066 1.06066 -514.668679 161.416048)" x1="853.474365" x2="863.57959" xlink:href="#h" y1="237.333313" y2="237.333313"/>
<linearGradient id="k" gradientTransform="matrix(0.419845 -0.419845 1.06066 1.06066 -515.375786 160.708942)" x1="823.158569" x2="823.158569" xlink:href="#h" y1="242.666641" y2="246.666641"/>
<linearGradient id="l" gradientTransform="matrix(0.359867 -0.359867 1.06066 1.06066 -468.428906 115.176276)" x1="782.737488" x2="794.526978" xlink:href="#h" y1="248.666641" y2="248.666641"/>
<linearGradient id="m" gradientTransform="matrix(0.606092 -0.606092 0.74639 0.74639 -415.914647 194.596414)" gradientUnits="userSpaceOnUse" x1="483.446625" x2="497.446625" y1="288.67099" y2="288.67099">
<stop offset="0" stop-color="#865e3c"/>
<stop offset="0.5" stop-color="#b5835a"/>
<stop offset="1" stop-color="#865e3c"/>
</linearGradient>
<linearGradient id="n" gradientTransform="matrix(1.06066 -1.06066 1.099944 1.099944 -136.621656 148.078885)" gradientUnits="userSpaceOnUse" x1="102.666656" x2="102.666656" y1="47.000015" y2="65.000015">
<stop offset="0" stop-color="#1c71d8"/>
<stop offset="0.5" stop-color="#3584e4"/>
<stop offset="1" stop-color="#1a5fb4"/>
</linearGradient>
<linearGradient id="o" gradientTransform="matrix(1.06066 -1.06066 1.099944 1.099944 -95.609458 107.066686)" gradientUnits="userSpaceOnUse" x1="81.999985" x2="81.999985" y1="47.000015" y2="65.000015">
<stop offset="0" stop-color="#2ec27e"/>
<stop offset="0.5" stop-color="#33d17a"/>
<stop offset="1" stop-color="#26a269"/>
</linearGradient>
<linearGradient id="p" gradientTransform="matrix(1.06066 -1.06066 1.099944 1.099944 -70.153592 81.610821)" gradientUnits="userSpaceOnUse" x1="87.999962" x2="87.999962" y1="47.000015" y2="65.000015">
<stop offset="0" stop-color="#c01c28"/>
<stop offset="0.5" stop-color="#e01b24"/>
<stop offset="1" stop-color="#a51d2d"/>
</linearGradient>
<linearGradient id="q" gradientTransform="matrix(1.06066 -1.06066 1.099944 1.099944 -82.881519 94.338748)" gradientUnits="userSpaceOnUse" x1="81.999969" x2="81.999969" y1="47.000015" y2="65.000015">
<stop offset="0" stop-color="#f5c211"/>
<stop offset="0.5" stop-color="#f6d32d"/>
<stop offset="1" stop-color="#e5a50a"/>
</linearGradient>
<path d="m 16 30 h 96 c 4.417969 0 8 3.582031 8 8 v 72 c 0 4.417969 -3.582031 8 -8 8 h -96 c -4.417969 0 -8 -3.582031 -8 -8 v -72 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="#deddda"/>
<path d="m 16 28 h 96 c 4.417969 0 8 3.582031 8 8 v 72 c 0 4.417969 -3.582031 8 -8 8 h -96 c -4.417969 0 -8 -3.582031 -8 -8 v -72 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="#fafafa"/>
<g clip-path="url(#a)">
<g clip-path="url(#b)">
<path d="m 8 28 h 112 v 16 h -112 z m 0 0" fill="#ebebeb"/>
</g>
</g>
<path d="m 117 36 c 0 2.761719 -2.238281 5 -5 5 s -5 -2.238281 -5 -5 s 2.238281 -5 5 -5 s 5 2.238281 5 5 z m 0 0" fill="#d8d8d8"/>
<path d="m 110 34 h 0.515625 c 0.128906 0.007812 0.257813 0.0625 0.34375 0.15625 l 1.140625 1.140625 l 1.15625 -1.140625 c 0.132812 -0.113281 0.222656 -0.152344 0.34375 -0.15625 h 0.5 v 0.5 c 0 0.144531 -0.015625 0.273438 -0.125 0.375 l -1.140625 1.140625 l 1.125 1.125 c 0.09375 0.09375 0.140625 0.226563 0.140625 0.359375 v 0.5 h -0.5 c -0.132812 0 -0.265625 -0.046875 -0.359375 -0.140625 l -1.140625 -1.140625 l -1.140625 1.140625 c -0.09375 0.09375 -0.226563 0.140625 -0.359375 0.140625 h -0.5 v -0.5 c 0 -0.132812 0.046875 -0.265625 0.140625 -0.359375 l 1.140625 -1.125 l -1.140625 -1.140625 c -0.105469 -0.097656 -0.152344 -0.234375 -0.140625 -0.375 z m 0 0" fill="#2f2f2f"/>
<g clip-path="url(#c)">
<g clip-path="url(#d)">
<g clip-path="url(#g)" mask="url(#f)" transform="matrix(1 0 0 1 -8 -16)">
<path d="m -26.011719 48.898438 l 12.726563 -12.726563 l 67.882812 67.882813 l -12.726562 12.726562 z m 0 0" fill="#3584e4"/>
<path d="m -13.285156 36.171875 l 12.726562 -12.726563 l 67.882813 67.878907 l -12.726563 12.730469 z m 0 0" fill="#33d17a"/>
<path d="m -0.558594 23.445312 l 12.730469 -12.730468 l 67.882813 67.882812 l -12.730469 12.726563 z m 0 0" fill="#f6d32d"/>
<path d="m 12.171875 10.714844 l 12.726563 -12.726563 l 67.882812 67.882813 l -12.726562 12.726562 z m 0 0" fill="#e01b24"/>
</g>
</g>
</g>
<path d="m 79.125 51.285156 c -1.175781 1.175782 -1.175781 3.066406 0 4.242188 c 1.175781 1.175781 3.066406 1.175781 4.242188 0 l 6.363281 -6.363282 v -7.246093 c -0.765625 0 -1.53125 0.292969 -2.121094 0.878906 z m 0 0" fill="url(#i)"/>
<path d="m 89.730469 41.917969 v 7.246093 l 10.605469 10.605469 h 7.246093 c 0 -0.765625 -0.292969 -1.535156 -0.878906 -2.121093 l -14.851563 -14.851563 c -0.585937 -0.585937 -1.355468 -0.878906 -2.121093 -0.878906 z m 0 0" fill="url(#j)"/>
<path d="m 72.054688 88.054688 c -0.589844 0.585937 -0.882813 1.351562 -0.882813 2.121093 h 7.246094 l 28.285156 -28.285156 c 0.585937 -0.585937 0.878906 -1.355469 0.878906 -2.121094 h -7.246093 z m 0 0" fill="url(#k)"/>
<path d="m 71.171875 90.175781 c 0 0.765625 0.292969 1.53125 0.882813 2.121094 l 9.898437 9.898437 c 1.175781 1.175782 3.066406 1.175782 4.242187 0 c 1.175782 -1.175781 1.175782 -3.066406 0 -4.242187 l -7.777343 -7.777344 z m 0 0" fill="url(#l)"/>
<path d="m 83.367188 99.367188 c 2.34375 -2.34375 6.140624 -2.34375 8.484374 0 l 18.386719 18.382812 c 2.34375 2.34375 2.34375 6.144531 0 8.488281 s -6.144531 2.34375 -8.488281 0 l -18.382812 -18.386719 c -2.34375 -2.34375 -2.34375 -6.140624 0 -8.484374 z m 0 0" fill="url(#m)"/>
<g fill="#865e3c">
<path d="m 96.800781 117.042969 l 4.242188 -4.242188 c 0.390625 -0.390625 1.027343 -0.390625 1.417969 0 c 0.386718 0.390625 0.386718 1.023438 0 1.414063 l -4.246094 4.246094 c -0.390625 0.386718 -1.023438 0.386718 -1.414063 0 c -0.390625 -0.390626 -0.390625 -1.027344 0 -1.417969 z m 0 0"/>
<path d="m 99.628906 119.875 l 4.246094 -4.246094 c 0.390625 -0.390625 1.023438 -0.390625 1.414062 0 c 0.390626 0.390625 0.390626 1.023438 0 1.414063 l -4.246093 4.246093 c -0.390625 0.390626 -1.023438 0.390626 -1.414063 0 c -0.390625 -0.390624 -0.390625 -1.023437 0 -1.414062 z m 0 0"/>
<path d="m 102.460938 122.703125 l 4.242187 -4.242187 c 0.390625 -0.390626 1.023437 -0.390626 1.414063 0 c 0.390624 0.386718 0.390624 1.023437 0 1.414062 l -4.242188 4.242188 c -0.390625 0.390624 -1.027344 0.390624 -1.414062 0 c -0.390626 -0.390626 -0.390626 -1.023438 0 -1.414063 z m 0 0"/>
</g>
<path d="m 28.210938 86.640625 c -2.347657 2.347656 -2.347657 6.132813 0 8.484375 l 11.316406 11.3125 c 2.347656 2.351562 6.132812 2.351562 8.484375 0 l 8.484375 -8.484375 l -19.796875 -19.800781 z m 0 0" fill="url(#n)"/>
<path d="m 36.699219 78.152344 l 12.726562 -12.726563 l 19.800781 19.800781 l -12.730468 12.726563 z m 0 0" fill="url(#o)"/>
<path d="m 81.953125 72.496094 l 8.484375 -8.484375 c 2.351562 -2.351563 2.351562 -6.136719 0 -8.484375 l -11.3125 -11.316406 c -2.351562 -2.347657 -6.136719 -2.347657 -8.484375 0 l -8.488281 8.488281 z m 0 0" fill="url(#p)"/>
<path d="m 49.425781 65.425781 l 12.726563 -12.726562 l 19.800781 19.796875 l -12.726563 12.730468 z m 0 0" fill="url(#q)"/>
</svg>

After

Width:  |  Height:  |  Size: 8.9 KiB

View file

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" gradientTransform="matrix(0.196428 0 0 0.342105 2.59702 273.740051)" gradientUnits="userSpaceOnUse" x1="88.597115" x2="536.597778" y1="-449.393982" y2="-449.393982">
<stop offset="0" stop-color="#77767b"/>
<stop offset="0.0454546" stop-color="#c0bfbc"/>
<stop offset="0.0909091" stop-color="#9a9996"/>
<stop offset="0.909091" stop-color="#9a9996"/>
<stop offset="0.954545" stop-color="#c0bfbc"/>
<stop offset="1" stop-color="#77767b"/>
</linearGradient>
<linearGradient id="b" gradientUnits="userSpaceOnUse" x1="32" x2="64" y1="104" y2="104">
<stop offset="0" stop-color="#865e3c"/>
<stop offset="0.0625" stop-color="#b5835a"/>
<stop offset="0.125" stop-color="#986a44"/>
<stop offset="0.875" stop-color="#986a44"/>
<stop offset="0.9375" stop-color="#b5835a"/>
<stop offset="1" stop-color="#865e3c"/>
</linearGradient>
<filter id="c" height="100%" width="100%" x="0%" y="0%">
<feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<mask id="d">
<g filter="url(#c)">
<rect fill-opacity="0.2" height="128" width="128"/>
</g>
</mask>
<clipPath id="e">
<rect height="152" width="192"/>
</clipPath>
<linearGradient id="f" gradientUnits="userSpaceOnUse" x1="68" x2="96" y1="108" y2="108">
<stop offset="0" stop-color="#865e3c"/>
<stop offset="0.0714286" stop-color="#b5835a"/>
<stop offset="0.142857" stop-color="#986a44"/>
<stop offset="0.857143" stop-color="#986a44"/>
<stop offset="0.928571" stop-color="#b5835a"/>
<stop offset="1" stop-color="#865e3c"/>
</linearGradient>
<mask id="g">
<g filter="url(#c)">
<rect fill-opacity="0.2" height="128" width="128"/>
</g>
</mask>
<clipPath id="h">
<rect height="152" width="192"/>
</clipPath>
<clipPath id="i">
<path d="m 28 52 h 72 v 2 h -72 z m 0 0"/>
</clipPath>
<clipPath id="j">
<path d="m 32 52 h 64 c 2.210938 0 4 1.789062 4 4 v 16 c 0 2.210938 -1.789062 4 -4 4 h -64 c -2.210938 0 -4 -1.789062 -4 -4 v -16 c 0 -2.210938 1.789062 -4 4 -4 z m 0 0"/>
</clipPath>
<clipPath id="k">
<path d="m 28 58 h 72 v 2 h -72 z m 0 0"/>
</clipPath>
<clipPath id="l">
<path d="m 32 52 h 64 c 2.210938 0 4 1.789062 4 4 v 16 c 0 2.210938 -1.789062 4 -4 4 h -64 c -2.210938 0 -4 -1.789062 -4 -4 v -16 c 0 -2.210938 1.789062 -4 4 -4 z m 0 0"/>
</clipPath>
<clipPath id="m">
<path d="m 28 64 h 72 v 2 h -72 z m 0 0"/>
</clipPath>
<clipPath id="n">
<path d="m 32 52 h 64 c 2.210938 0 4 1.789062 4 4 v 16 c 0 2.210938 -1.789062 4 -4 4 h -64 c -2.210938 0 -4 -1.789062 -4 -4 v -16 c 0 -2.210938 1.789062 -4 4 -4 z m 0 0"/>
</clipPath>
<clipPath id="o">
<path d="m 28 70 h 72 v 2 h -72 z m 0 0"/>
</clipPath>
<clipPath id="p">
<path d="m 32 52 h 64 c 2.210938 0 4 1.789062 4 4 v 16 c 0 2.210938 -1.789062 4 -4 4 h -64 c -2.210938 0 -4 -1.789062 -4 -4 v -16 c 0 -2.210938 1.789062 -4 4 -4 z m 0 0"/>
</clipPath>
<clipPath id="q">
<path d="m 48 78 h 4 v 2 h -4 z m 0 2 h 32 v 6 h -32 z m 0 0"/>
</clipPath>
<clipPath id="r">
<path d="m 48 76 h 4 v 2 h -4 z m 0 2 h 32 v 6 h -32 z m 0 0"/>
</clipPath>
<linearGradient id="s" gradientUnits="userSpaceOnUse" x1="47.999865" x2="87.999865" y1="84" y2="84">
<stop offset="0" stop-color="#deddda"/>
<stop offset="0.025" stop-color="#eeeeec"/>
<stop offset="0.05" stop-color="#deddda"/>
<stop offset="0.95" stop-color="#deddda"/>
<stop offset="0.975" stop-color="#eeeeec"/>
<stop offset="1" stop-color="#c0bfbc"/>
</linearGradient>
<linearGradient id="t" gradientUnits="userSpaceOnUse" x1="64.000134" x2="64.000134" y1="76" y2="80">
<stop offset="0" stop-color="#9a9996"/>
<stop offset="1" stop-color="#c0bfbc"/>
</linearGradient>
<path d="m 28 16 h 72 c 4.417969 0 8 3.582031 8 8 v 88 c 0 4.417969 -3.582031 8 -8 8 h -72 c -4.417969 0 -8 -3.582031 -8 -8 v -88 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="url(#a)"/>
<path d="m 28 8 h 72 c 4.417969 0 8 3.582031 8 8 v 20 c 0 4.417969 -3.582031 8 -8 8 h -72 c -4.417969 0 -8 -3.582031 -8 -8 v -20 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="#deddda"/>
<path d="m 32 64 h 64 c 2.210938 0 4 1.789062 4 4 v 40 c 0 2.210938 -1.789062 4 -4 4 h -64 c -2.210938 0 -4 -1.789062 -4 -4 v -40 c 0 -2.210938 1.789062 -4 4 -4 z m 0 0" fill="#3d3846"/>
<path d="m 36 80 h 24 c 2.210938 0 4 1.789062 4 4 v 16 c 0 2.210938 -1.789062 4 -4 4 h -24 c -2.210938 0 -4 -1.789062 -4 -4 v -16 c 0 -2.210938 1.789062 -4 4 -4 z m 0 0" fill="url(#b)"/>
<path d="m 36 80 h 24 c 2.210938 0 4 1.789062 4 4 v 8 c 0 2.210938 -1.789062 4 -4 4 h -24 c -2.210938 0 -4 -1.789062 -4 -4 v -8 c 0 -2.210938 1.789062 -4 4 -4 z m 0 0" fill="#b5835a"/>
<g clip-path="url(#e)" mask="url(#d)" transform="matrix(1 0 0 1 -8 -16)">
<path d="m 40 102 h 32 v 4 h -32 z m 0 0" fill="#ffffff"/>
</g>
<path d="m 72 80 h 20 c 2.210938 0 4 1.789062 4 4 v 20 c 0 2.210938 -1.789062 4 -4 4 h -20 c -2.210938 0 -4 -1.789062 -4 -4 v -20 c 0 -2.210938 1.789062 -4 4 -4 z m 0 0" fill="url(#f)"/>
<path d="m 72 80 h 20 c 2.210938 0 4 1.789062 4 4 v 8 c 0 2.210938 -1.789062 4 -4 4 h -20 c -2.210938 0 -4 -1.789062 -4 -4 v -8 c 0 -2.210938 1.789062 -4 4 -4 z m 0 0" fill="#b5835a"/>
<g clip-path="url(#h)" mask="url(#g)" transform="matrix(1 0 0 1 -8 -16)">
<path d="m 92 96 v 28 h -4 v -28 z m 0 0" fill="#ffffff"/>
</g>
<path d="m 32 52 h 64 c 2.210938 0 4 1.789062 4 4 v 16 c 0 2.210938 -1.789062 4 -4 4 h -64 c -2.210938 0 -4 -1.789062 -4 -4 v -16 c 0 -2.210938 1.789062 -4 4 -4 z m 0 0" fill="#62a0ea"/>
<g clip-path="url(#i)">
<g clip-path="url(#j)">
<path d="m 28 52 h 72 v 2 h -72 z m 0 0" fill="#3584e4"/>
</g>
</g>
<g clip-path="url(#k)">
<g clip-path="url(#l)">
<path d="m 28 58 h 72 v 2 h -72 z m 0 0" fill="#3584e4"/>
</g>
</g>
<g clip-path="url(#m)">
<g clip-path="url(#n)">
<path d="m 28 64 h 72 v 2 h -72 z m 0 0" fill="#3584e4"/>
</g>
</g>
<g clip-path="url(#o)">
<g clip-path="url(#p)">
<path d="m 28 70 h 72 v 2 h -72 z m 0 0" fill="#3584e4"/>
</g>
</g>
<path d="m 28 76 h 72 v 8 h -72 z m 0 0" fill-opacity="0.2"/>
<path d="m 28 74 h 72 v 8 h -72 z m 0 0" fill="#deddda"/>
<path d="m 28 72 h 72 v 2 h -72 z m 0 0" fill="#c0bfbc"/>
<g clip-path="url(#q)">
<path d="m 50 78 h 28 c 1.109375 0 2 0.890625 2 2 v 4 c 0 1.109375 -0.890625 2 -2 2 h -28 c -1.109375 0 -2 -0.890625 -2 -2 v -4 c 0 -1.109375 0.890625 -2 2 -2 z m 0 0" fill-opacity="0.2"/>
</g>
<g clip-path="url(#r)">
<path d="m 50 76 h 28 c 1.109375 0 2 0.890625 2 2 v 4 c 0 1.109375 -0.890625 2 -2 2 h -28 c -1.109375 0 -2 -0.890625 -2 -2 v -4 c 0 -1.109375 0.890625 -2 2 -2 z m 0 0" fill="url(#s)"/>
</g>
<path d="m 48 76 v 2 c 0 1.109375 0.890625 2 2 2 h 28 c 1.109375 0 2 -0.890625 2 -2 v -2 h -4 v 2 h -24 v -2 z m 0 0" fill="url(#t)"/>
</svg>

After

Width:  |  Height:  |  Size: 7.3 KiB

View file

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#f9f06b"/>
<stop offset="1" stop-color="#33d17a"/>
</linearGradient>
<radialGradient id="b" cx="40" cy="34.000031" r="120" xlink:href="#a"/>
<radialGradient id="c" cx="40" cy="32.000031" r="120" xlink:href="#a"/>
<radialGradient id="d" cx="48.00000028061" cy="39.99999401871" gradientUnits="userSpaceOnUse" r="79.999997">
<stop offset="0" stop-color="#241f31" stop-opacity="0.4"/>
<stop offset="1" stop-color="#241f31" stop-opacity="0"/>
</radialGradient>
<linearGradient id="e" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#9a9996"/>
<stop offset="0.4" stop-color="#deddda"/>
<stop offset="1" stop-color="#77767b"/>
</linearGradient>
<linearGradient id="f" gradientTransform="matrix(0.707107 0.707107 -0.549972 0.549972 135.799002 -115.847758)" x1="112" x2="120" xlink:href="#e" y1="216" y2="216"/>
<linearGradient id="g" gradientTransform="matrix(1 0 0 0.888889 0 -152)" gradientUnits="userSpaceOnUse" x1="112" x2="120" y1="216" y2="216">
<stop offset="0" stop-color="#9a9996"/>
<stop offset="0.5" stop-color="#deddda"/>
<stop offset="1" stop-color="#77767b"/>
</linearGradient>
<linearGradient id="h" gradientUnits="userSpaceOnUse" x1="116" x2="116" y1="0" y2="24">
<stop offset="0" stop-color="#c0bfbc"/>
<stop offset="1" stop-color="#deddda"/>
</linearGradient>
<linearGradient id="i" gradientTransform="matrix(0.707107 0.707107 -1.414214 1.414214 427.12699 -381.719945)" x1="96" x2="100" xlink:href="#e" y1="295" y2="295"/>
<linearGradient id="j" gradientTransform="matrix(0.707107 -0.707107 0.471405 0.471405 -110.866971 45.022466)" gradientUnits="userSpaceOnUse" x1="104" x2="106" y1="274" y2="274">
<stop offset="0" stop-color="#3d3846" stop-opacity="0.980392"/>
<stop offset="0.6" stop-color="#9a9996"/>
<stop offset="1" stop-color="#5e5c64"/>
</linearGradient>
<linearGradient id="k" gradientTransform="matrix(0.707107 0.707107 -0.707107 0.707107 2.000002 -174)" gradientUnits="userSpaceOnUse" x1="245.729996" x2="257.730011" y1="132.509659" y2="132.509659">
<stop offset="0" stop-color="#5e5c64"/>
<stop offset="0.4" stop-color="#9a9996"/>
<stop offset="1" stop-color="#3d3846" stop-opacity="0.980392"/>
</linearGradient>
<path d="m 124 65 c 0 33.136719 -26.863281 60 -60 60 s -60 -26.863281 -60 -60 s 26.863281 -60 60 -60 s 60 26.863281 60 60 z m 0 0" fill="url(#b)"/>
<path d="m 124 63 c 0 33.136719 -26.863281 60 -60 60 s -60 -26.863281 -60 -60 s 26.863281 -60 60 -60 s 60 26.863281 60 60 z m 0 0" fill="url(#c)"/>
<path d="m 123.960938 63.511719 c -0.277344 32.921875 -27.035157 59.46875 -59.960938 59.488281 c -32.722656 -0.035156 -59.382812 -26.28125 -59.929688 -59 c -0.023437 0.332031 -0.050781 0.667969 -0.070312 1 c 0 33.136719 26.863281 60 60 60 s 60 -26.863281 60 -60 c -0.007812 -0.496094 -0.019531 -0.992188 -0.035156 -1.488281 z m 0 0" fill-opacity="0.2"/>
<path d="m 64 47 c -8.835938 0 -16 7.164062 -16 16 s 7.164062 16 16 16 s 16 -7.164062 16 -16 s -7.164062 -16 -16 -16 z m 0 2 c 7.730469 0 14 6.269531 14 14 s -6.269531 14 -14 14 s -14 -6.269531 -14 -14 s 6.269531 -14 14 -14 z m 0 0" fill="#ffffff" fill-opacity="0.4"/>
<path d="m 78 63 c 0 7.730469 -6.269531 14 -14 14 s -14 -6.269531 -14 -14 s 6.269531 -14 14 -14 s 14 6.269531 14 14 z m 0 0" fill="#ffffff" fill-opacity="0.2"/>
<path d="m 67 63 c 0 1.65625 -1.34375 3 -3 3 s -3 -1.34375 -3 -3 s 1.34375 -3 3 -3 s 3 1.34375 3 3 z m 0 0" fill="#241f31"/>
<g fill="url(#d)">
<path d="m 64 14 c -27.050781 0 -49 21.949219 -49 49 s 21.949219 49 49 49 s 49 -21.949219 49 -49 s -21.949219 -49 -49 -49 z m 0 2 c 25.96875 0 47 21.03125 47 47 s -21.03125 47 -47 47 s -47 -21.03125 -47 -47 s 21.03125 -47 47 -47 z m 0 0"/>
<path d="m 64 20 c -23.738281 0 -43 19.261719 -43 43 s 19.261719 43 43 43 s 43 -19.261719 43 -43 s -19.261719 -43 -43 -43 z m 0 2 c 22.65625 0 41 18.34375 41 41 s -18.34375 41 -41 41 s -41 -18.34375 -41 -41 s 18.34375 -41 41 -41 z m 0 0"/>
<path d="m 64 26 c -20.421875 0 -37 16.578125 -37 37 s 16.578125 37 37 37 s 37 -16.578125 37 -37 s -16.578125 -37 -37 -37 z m 0 2 c 19.339844 0 35 15.660156 35 35 s -15.660156 35 -35 35 s -35 -15.660156 -35 -35 s 15.660156 -35 35 -35 z m 0 0"/>
<path d="m 64 32 c -17.109375 0 -31 13.890625 -31 31 s 13.890625 31 31 31 s 31 -13.890625 31 -31 s -13.890625 -31 -31 -31 z m 0 2 c 16.027344 0 29 12.972656 29 29 s -12.972656 29 -29 29 s -29 -12.972656 -29 -29 s 12.972656 -29 29 -29 z m 0 0"/>
<path d="m 64 38 c -13.796875 0 -25 11.203125 -25 25 s 11.203125 25 25 25 s 25 -11.203125 25 -25 s -11.203125 -25 -25 -25 z m 0 2 c 12.714844 0 23 10.285156 23 23 s -10.285156 23 -23 23 s -23 -10.285156 -23 -23 s 10.285156 -23 23 -23 z m 0 0"/>
</g>
<path d="m 64 3 c -33.136719 0 -60 26.863281 -60 60 s 26.863281 60 60 60 s 60 -26.863281 60 -60 s -26.863281 -60 -60 -60 z m 0 4 c 30.929688 0 56 25.070312 56 56 s -25.070312 56 -56 56 s -56 -25.070312 -56 -56 s 25.070312 -56 56 -56 z m 0 0" fill="#ffffff" fill-opacity="0.4"/>
<path d="m 116 10 c -2.214844 0 -4 1.785156 -4 4 v 54.34375 l -21.453125 21.453125 c -0.785156 -0.78125 -2.046875 -0.78125 -2.832031 0 l -11.3125 11.316406 c -0.785156 0.785157 -0.785156 2.042969 0 2.828125 l 1.414062 1.414063 l -2.828125 2.828125 c -0.785156 0.785156 -0.785156 2.042968 0 2.828125 c 0.785157 0.785156 2.042969 0.785156 2.828125 0 l 2.828125 -2.828125 l 1.414063 1.414062 c 0.785156 0.785156 2.042968 0.785156 2.828125 0 l 6.949219 -6.949218 l 2.121093 2.121093 c 0.394531 0.390625 1.023438 0.390625 1.417969 0 c 0.390625 -0.390625 0.390625 -1.023437 -0.003906 -1.414062 l -2.121094 -2.121094 l 2.949219 -2.949219 c 0.785156 -0.785156 0.785156 -2.046875 0.003906 -2.828125 l 22.625 -22.628906 c 0.804687 -0.804687 1.191406 -1.855469 1.171875 -2.902344 v -55.925781 c 0 -2.214844 -1.785156 -4 -4 -4 z m 0 0" fill-opacity="0.2"/>
<path d="m 128 14 c 0 6.628906 -5.371094 12 -12 12 s -12 -5.371094 -12 -12 s 5.371094 -12 12 -12 s 12 5.371094 12 12 z m 0 0" fill="#c0bfbc"/>
<path d="m 118.828125 65.171875 c 1.5625 1.5625 1.5625 4.09375 0 5.65625 l -33.941406 33.941406 c -1.5625 1.5625 -4.09375 1.5625 -5.65625 0 s -1.5625 -4.09375 0 -5.65625 l 33.941406 -33.941406 c 1.5625 -1.5625 4.09375 -1.5625 5.65625 0 z m 0 0" fill="url(#f)"/>
<path d="m 116 8 c -2.214844 0 -4 1.785156 -4 4 v 54.34375 l 8 1.65625 v -56 c 0 -2.214844 -1.785156 -4 -4 -4 z m 0 0" fill="url(#g)"/>
<path d="m 112 20 h 8 c 1.105469 0 2 0.894531 2 2 v 8 c 0 1.105469 -0.894531 2 -2 2 h -8 c -1.105469 0 -2 -0.894531 -2 -2 v -8 c 0 -1.105469 0.894531 -2 2 -2 z m 0 0" fill="#c0bfbc"/>
<path d="m 128 12 c 0 6.628906 -5.371094 12 -12 12 s -12 -5.371094 -12 -12 s 5.371094 -12 12 -12 s 12 5.371094 12 12 z m 0 0" fill="url(#h)"/>
<path d="m 127.941406 10.824219 c -0.433594 6.28125 -5.644531 11.160156 -11.941406 11.175781 c -6.226562 -0.015625 -11.410156 -4.792969 -11.925781 -11 c -0.039063 0.332031 -0.0625 0.664062 -0.074219 1 c 0 6.628906 5.371094 12 12 12 s 12 -5.371094 12 -12 c 0 -0.394531 -0.019531 -0.785156 -0.058594 -1.175781 z m 0 0" fill="#ffffff" fill-opacity="0.2"/>
<path d="m 110 28 v 2 c 0 1.109375 0.890625 2 2 2 h 8 c 1.109375 0 2 -0.890625 2 -2 v -2 c 0 1.109375 -0.890625 2 -2 2 h -8 c -1.109375 0 -2 -0.890625 -2 -2 z m 0 0" fill="#9a9996"/>
<path d="m 83.472656 100.527344 c 0.78125 0.78125 0.78125 2.046875 0 2.828125 l -5.65625 5.65625 c -0.78125 0.78125 -2.046875 0.78125 -2.828125 0 s -0.78125 -2.046875 0 -2.828125 l 5.65625 -5.65625 c 0.78125 -0.78125 2.046875 -0.78125 2.828125 0 z m 0 0" fill="url(#i)"/>
<path d="m 89.714844 97.113281 c 0.390625 -0.390625 1.023437 -0.390625 1.414062 0 l 4.242188 4.242188 c 0.390625 0.390625 0.390625 1.023437 0 1.414062 s -1.023438 0.390625 -1.414063 0 l -4.242187 -4.242187 c -0.390625 -0.390625 -0.390625 -1.023438 0 -1.414063 z m 0 0" fill="url(#j)"/>
<path d="m 90.542969 87.800781 l 5.65625 5.65625 c 0.78125 0.78125 0.78125 2.046875 0 2.828125 l -11.3125 11.3125 c -0.78125 0.78125 -2.046875 0.78125 -2.828125 0 l -5.65625 -5.65625 c -0.78125 -0.78125 -0.78125 -2.046875 0 -2.828125 l 11.3125 -11.3125 c 0.78125 -0.78125 2.046875 -0.78125 2.828125 0 z m 0 0" fill="url(#k)"/>
</svg>

After

Width:  |  Height:  |  Size: 8.4 KiB

View file

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<clipPath id="a">
<path d="m 2 2 h 124 v 124 h -124 z m 0 0"/>
</clipPath>
<clipPath id="b">
<path d="m 34.957031 2.382812 l 85.003907 22.777344 c 4.265624 1.144532 6.796874 5.53125 5.65625 9.796875 l -22.777344 85.003907 c -1.144532 4.265624 -5.53125 6.796874 -9.796875 5.65625 l -85.003907 -22.777344 c -4.265624 -1.144532 -6.796874 -5.53125 -5.65625 -9.796875 l 22.777344 -85.003907 c 1.144532 -4.265624 5.53125 -6.796874 9.796875 -5.65625 z m 0 0"/>
</clipPath>
<pattern id="c" height="152" patternTransform="matrix(1 0 0 1 -8 -16)" patternUnits="userSpaceOnUse" width="192">
<image height="152" width="192" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAACYCAYAAACyAeadAAAABmJLR0QA/wD/AP+gvaeTAAAEwklEQVR4nO3c6XLaQBSE0RYmef/nDVt+wC2uLiPshBmx9HeqpjAuIC6pe7QRSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHg908qfP/rfw9npm+e42A74zKnx8yTCv7aT2sGnDEnvUNbAT5I25fmIfxdnp/QY41ie59fZ67kFqKFvDQowVg74cWFQgqRXAXL4vxZG3hJgnDzzH9LY67zsD+W11noUIM/qX5fPrIMCrKcWYK/b8B8ur5lkXoJeW4CNrjP9VtJvSb80LwDHAOPVY4CDrutlkrTTPPDHVf+6F/RoAfI+/5fOof+teQHy7J/fJ5nPPh21ludJ8+OveF0tSX2flV67QFGArc7BjyLUmV9aPj2H/5eXZz0TVyefOBCuB8WWHilAPeNTCxAzf6in4jDG1BhbzXeLYmxkvhXovQuUd3ly+JdmG8uFPkDrinteB7F+jjqvo73mJyVs18OjW4B4zAfBdeZvnYNGX3W55kLUEtTT0vF6y3XTcwuQL3blg7LWwDitZb90kdJ+C7D5/iXfau1zBsK/vnvL/N66stSrAK3nre+lYB1L3/3h27lFjwJIyzMKwX+u1vJn9k96FQB4SxQA1igArFEAWKMAsEYBYI0CwBoFgDUKAGsUANYoAKxRAFijALBGAWCNAsAaBYA1CgBrFADWKACsUQBYowCwRgFgjQLAGgWANQoAaxQA1igArFEAWKMAsEYBYI0CwBoFgDUKAGsUANYoAKxRAFijALBGAWCNAsAaBYA1CgBrFADWKACsUQBYowCwRgFgjQLAGgWANQoAaxQA1igArFEAWKMAsEYBYI0CwBoFgDUKAGsUANYoAKxRAFijALBGAWCNAny2KQ00UIDP1Ao9JWigAJ9nKj/n56fGsEYBPkuEfZNGlCACf7wM+/BLFOCT5PDXff8I/kHXAlAEUYBPUcOfZ3/pGv6DpP1l5PDbloACvL+fhn8vaXcZUQa2AM/+A/CQn4Z/J+nPZex0LsNBHAxTgDf2L+HPI8IfxwDWKMB7+tfwL83+kvHsL1GAd9Qr/Na7PoECvBfC3xkFeB+EfwAK8B4I/yAU4PUR/oEowGsj/INRgNdF+FdAAV4T4V8JBXg9hH9FFOC1EP6VUYDXQfifYPvsPwCS7oc/Ak34B2AL8HyE/4l6FWBpBXBLjvt+Ev78H1kIf2c9ClAXfDyf0iNFuPXT8EcBCP8APY4B7t1qY9JtAVhZt8vlXvgj9IR/gEcLUG+1cUy/qys5bxFwDX5+bIU/gk/4B3ikABHyfMuNGDGjSfPdrKXdJRf1plWt+/bU8P9JvyP8nfXcAsSdB7aa35hJup3h3NUtI+F/kke3ANJ11yffeiNW7FbsArXkZRETCOF/gq8H31/P9NTf3XufYxHqyYC89aynOgn/CnrsAknXlShdZ7X4/VbnorEVmMsXufKpzjjYJfwr6PVViHx/mXoF86BzAfIBH26PnWL3J4JP+FfQ6zpAhD62AkfNZzcKcCufPo7Q73QtBeFfQc8wti7s1MEu0FXeSuYTCflaCuEfrHcQW19/aN2umwLMQ34sjxLhX8WIINaLPfFI6NvyTE/4VzY6lPXzKcGc+5VxAAAAAAAAAAAAAAAAAAAA4AF/AYzlNDEK203UAAAAAElFTkSuQmCC"/>
</pattern>
<linearGradient id="d" gradientTransform="matrix(2 0 0 1.125 -256 -274.5)" gradientUnits="userSpaceOnUse" x1="159" x2="161" y1="276" y2="276">
<stop offset="0" stop-color="#9a9996"/>
<stop offset="0.5" stop-color="#f6f5f4"/>
<stop offset="1" stop-color="#9a9996"/>
</linearGradient>
<linearGradient id="e" gradientTransform="matrix(1.333333 0 0 1.378125 -149.333313 -341.762512)" gradientUnits="userSpaceOnUse" x1="154" x2="166" y1="266.857147" y2="266.857147">
<stop offset="0" stop-color="#c01c28"/>
<stop offset="0.124999" stop-color="#e01b24"/>
<stop offset="0.499999" stop-color="#f66151"/>
<stop offset="0.875" stop-color="#e01b24"/>
<stop offset="1" stop-color="#c01c28"/>
</linearGradient>
<clipPath id="f">
<path d="m 88 88 h 28 v 28 h -28 z m 0 0"/>
</clipPath>
<clipPath id="g">
<path d="m 116 88 l -28 28 h -8 v -36 h 36 z m 0 0"/>
</clipPath>
<linearGradient id="h" gradientTransform="matrix(0 0.25 0.25 0 83 16)" gradientUnits="userSpaceOnUse" x1="344" x2="336" y1="76" y2="68">
<stop offset="0" stop-color="#f5c211"/>
<stop offset="1" stop-color="#f8e45c"/>
</linearGradient>
<path d="m 34.957031 2.382812 l 85.003907 22.777344 c 4.265624 1.144532 6.796874 5.53125 5.65625 9.796875 l -22.777344 85.003907 c -1.144532 4.265624 -5.53125 6.796874 -9.796875 5.65625 l -85.003907 -22.777344 c -4.265624 -1.144532 -6.796874 -5.53125 -5.65625 -9.796875 l 22.777344 -85.003907 c 1.144532 -4.265624 5.53125 -6.796874 9.796875 -5.65625 z m 0 0" fill="#f6d32d"/>
<g clip-path="url(#a)">
<g clip-path="url(#b)">
<rect fill="url(#c)" height="128" width="128"/>
</g>
</g>
<path d="m 20 12 h 88 c 4.433594 0 8 3.566406 8 8 v 68 l -28 28 h -68 c -4.433594 0 -8 -3.566406 -8 -8 v -88 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0" fill="#f9f06b"/>
<path d="m 64 18 c 1.105469 0 2 0.894531 2 2 v 14 c 0 1.105469 -0.894531 2 -2 2 s -2 -0.894531 -2 -2 v -14 c 0 -1.105469 0.894531 -2 2 -2 z m 0 0" fill="url(#d)"/>
<path d="m 76 20 c 0 6.628906 -5.371094 12 -12 12 s -12 -5.371094 -12 -12 s 5.371094 -12 12 -12 s 12 5.371094 12 12 z m 0 0" fill="#c01c28"/>
<path d="m 76 18 c 0 6.628906 -5.371094 12 -12 12 s -12 -5.371094 -12 -12 s 5.371094 -12 12 -12 s 12 5.371094 12 12 z m 0 0" fill="#e01b24"/>
<path d="m 64 8 c 4.417969 0 8 3.582031 8 8 v 2 c 0 4.417969 -3.582031 8 -8 8 s -8 -3.582031 -8 -8 v -2 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="url(#e)"/>
<path d="m 73 11 c 0 4.96875 -4.03125 9 -9 9 s -9 -4.03125 -9 -9 s 4.03125 -9 9 -9 s 9 4.03125 9 9 z m 0 0" fill="#c01c28"/>
<path d="m 73 9 c 0 4.96875 -4.03125 9 -9 9 s -9 -4.03125 -9 -9 s 4.03125 -9 9 -9 s 9 4.03125 9 9 z m 0 0" fill="#e01b24"/>
<path d="m 72.933594 7.925781 c -0.472656 4.582031 -4.328125 8.066407 -8.933594 8.074219 c -4.578125 -0.007812 -8.417969 -3.449219 -8.925781 -8 c -0.042969 0.332031 -0.070313 0.664062 -0.074219 1 c 0 4.96875 4.03125 9 9 9 s 9 -4.03125 9 -9 c 0 -0.359375 -0.023438 -0.714844 -0.066406 -1.074219 z m 0 0" fill="#ed333b"/>
<path d="m 75.941406 16.824219 c -0.433594 6.28125 -5.644531 11.160156 -11.941406 11.175781 c -6.226562 -0.015625 -11.410156 -4.792969 -11.925781 -11 c -0.039063 0.332031 -0.0625 0.664062 -0.074219 1 c 0 6.628906 5.371094 12 12 12 s 12 -5.371094 12 -12 c 0 -0.394531 -0.019531 -0.785156 -0.058594 -1.175781 z m 0 0" fill="#ed333b"/>
<g clip-path="url(#f)">
<g clip-path="url(#g)">
<path d="m 88 96 v 20 c 0 4.417969 3.582031 8 8 8 h 20 c 4.417969 0 8 -3.582031 8 -8 v -20 c 0 -4.417969 -3.582031 -8 -8 -8 h -20 c -4.417969 0 -8 3.582031 -8 8 z m 0 0" fill="url(#h)"/>
</g>
</g>
<g fill="none" stroke="#e5a50a" stroke-linecap="round" stroke-linejoin="round" stroke-width="4">
<path d="m 23.023438 80.226562 c 3.695312 -2.5 7.394531 -5 10.503906 -6.324218 c 3.109375 -1.324219 5.632812 -1.472656 5.707031 -0.460938 c 0.074219 1.007813 -2.300781 3.175782 -2.65625 4.273438 s 1.308594 1.128906 3.527344 0.4375 s 4.996093 -2.097656 7.34375 -2.847656 c 2.351562 -0.746094 4.273437 -0.832032 4.699219 -0.222657 c 0.425781 0.609375 -0.644532 1.914063 0.386718 2.375 c 1.035156 0.460938 4.164063 0.082031 7.839844 -0.421875 s 7.894531 -1.125 12.113281 -1.75"/>
<path d="m 23.023438 59.117188 c 7.703124 -5.71875 15.410156 -11.4375 18.738281 -15.113282 c 3.328125 -3.679687 2.28125 -5.316406 0.269531 -5.773437 s -4.984375 0.261719 -7.273438 1.78125 c -2.292968 1.519531 -3.902343 3.832031 -4.007812 6.695312 s 1.292969 6.277344 2.964844 8.011719 c 1.671875 1.730469 3.621094 1.78125 6.726562 -0.050781 c 3.105469 -1.835938 7.371094 -5.558594 10.527344 -7.367188 c 3.160156 -1.808593 5.203125 -1.710937 4.425781 0.09375 c -0.777343 1.800781 -4.375 5.300781 -4.332031 7.039063 c 0.042969 1.738281 3.730469 1.710937 6.992188 0.445312 c 3.261718 -1.265625 6.097656 -3.773437 8.660156 -5.078125 c 2.566406 -1.308593 4.855468 -1.414062 5.335937 -0.445312 c 0.484375 0.96875 -0.839843 3.015625 -0.628906 4.015625 c 0.214844 1 1.964844 0.957031 5.425781 0.289062 c 3.464844 -0.664062 8.640625 -1.953125 12.816406 -2.597656 c 4.175782 -0.640625 7.351563 -0.640625 10.527344 -0.640625"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

View file

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" gradientUnits="userSpaceOnUse" x1="7.999702" x2="120.383827" y1="116.000488" y2="116">
<stop offset="0" stop-color="#9a9996"/>
<stop offset="0.0357143" stop-color="#deddda"/>
<stop offset="0.0713653" stop-color="#77767b"/>
<stop offset="0.928571" stop-color="#c0bfbc"/>
<stop offset="0.964286" stop-color="#deddda"/>
<stop offset="1" stop-color="#9a9996"/>
</linearGradient>
<linearGradient id="b" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#deddda"/>
<stop offset="0.5" stop-color="#f6f5f4"/>
<stop offset="1" stop-color="#c0bfbc"/>
</linearGradient>
<linearGradient id="c" x1="64" x2="64" xlink:href="#b" y1="28" y2="112"/>
<linearGradient id="d" gradientUnits="userSpaceOnUse" x1="48" x2="48" y1="40" y2="72">
<stop offset="0" stop-color="#3d3846"/>
<stop offset="0.5" stop-color="#5e5c64"/>
<stop offset="0.75" stop-color="#3d3846"/>
<stop offset="1" stop-color="#241f31"/>
</linearGradient>
<linearGradient id="e" x1="64" x2="64" xlink:href="#b" y1="27.999695" y2="112"/>
<linearGradient id="f" gradientUnits="userSpaceOnUse" x1="64" x2="64" y1="96" y2="84">
<stop offset="0" stop-color="#ed333b"/>
<stop offset="1" stop-color="#f66151"/>
</linearGradient>
<path d="m 120 104 v 4 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 v -4 z m 0 0" fill="url(#a)"/>
<path d="m 16 28 h 64 c 4.433594 0 6.113281 3.988281 8 8 l 32 68 c 1.886719 4.011719 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 v -68 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0" fill="url(#c)"/>
<path d="m 16 28 c -4.433594 0 -8 3.566406 -8 8 v 2 c 0 -4.433594 3.566406 -8 8 -8 h 64 c 4.433594 0 6.113281 3.988281 8 8 l 32 68 c 0.105469 0.222656 0.175781 0.441406 0.238281 0.660156 c 0.226563 -0.855468 0.1875 -1.757812 -0.238281 -2.660156 l -32 -68 c -1.886719 -4.011719 -3.566406 -8 -8 -8 z m 0 0" fill="#ffffff" fill-opacity="0.2"/>
<path d="m 8 102 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.1875 0 9.28125 -3.5625 8.238281 -7.339844 c -0.773437 2.941406 -4.804687 5.339844 -8.238281 5.339844 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 0" fill-opacity="0.2"/>
<path d="m 48 108 l 2 8 h -34 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 0" fill="#5e5c64"/>
<path d="m 14 106 h 28 c 1.105469 0 2 0.894531 2 2 v 4 c 0 1.105469 -0.894531 2 -2 2 h -28 c -1.105469 0 -2 -0.894531 -2 -2 v -4 c 0 -1.105469 0.894531 -2 2 -2 z m 0 0" fill="#77767b"/>
<path d="m 14 104 h 28 c 1.105469 0 2 0.894531 2 2 v 4 c 0 1.105469 -0.894531 2 -2 2 h -28 c -1.105469 0 -2 -0.894531 -2 -2 v -4 c 0 -1.105469 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
<path d="m 40 108 c 0 6.628906 -5.371094 12 -12 12 s -12 -5.371094 -12 -12 s 5.371094 -12 12 -12 s 12 5.371094 12 12 z m 0 0" fill="#241f31"/>
<path d="m 40 106 c 0 6.628906 -5.371094 12 -12 12 s -12 -5.371094 -12 -12 s 5.371094 -12 12 -12 s 12 5.371094 12 12 z m 0 0" fill="#3d3846"/>
<path d="m 37 106 c 0 4.96875 -4.03125 9 -9 9 s -9 -4.03125 -9 -9 s 4.03125 -9 9 -9 s 9 4.03125 9 9 z m 0 0" fill="#5e5c64"/>
<path d="m 39.941406 105.824219 c -0.433594 6.28125 -5.644531 11.160156 -11.941406 11.175781 c -6.226562 -0.015625 -11.410156 -4.792969 -11.925781 -11 c -0.039063 0.332031 -0.0625 0.664062 -0.074219 1 c 0 6.628906 5.371094 12 12 12 s 12 -5.371094 12 -12 c 0 -0.394531 -0.019531 -0.785156 -0.058594 -1.175781 z m 0 0" fill="#ffffff" fill-opacity="0.101961"/>
<path d="m 8 106 v 2 c 0 0.691406 0.097656 1.359375 0.257812 2 h 40.242188 l -0.5 -2 z m 0 0" fill-opacity="0.2"/>
<path d="m 8 40 h 68 c 2.453125 0 4.691406 1.386719 5.789062 3.578125 l 12.421876 24.84375 c 0.820312 1.644531 -0.375 3.578125 -2.210938 3.578125 h -84 z m 0 0" fill="url(#d)"/>
<path d="m 8 92 h 40 v 16 h -40 z m 0 0" fill="url(#e)"/>
<path d="m 8 84 v 12 h 108.234375 l -5.648437 -12 z m 0 0" fill="url(#f)"/>
<path d="m 8 40 v 2 h 68 c 2.453125 0 4.691406 1.386719 5.789062 3.578125 l 12.421876 24.84375 c 0.015624 0.03125 0.019531 0.066406 0.035156 0.097656 c 0.285156 -0.636719 0.320312 -1.390625 -0.035156 -2.097656 l -12.421876 -24.84375 c -1.097656 -2.191406 -3.335937 -3.578125 -5.789062 -3.578125 z m 0 0" fill="#241f31"/>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" gradientUnits="userSpaceOnUse" x1="31.462524" x2="39" y1="113.997253" y2="113.997253">
<stop offset="0" stop-color="#1c71d8"/>
<stop offset="0.469318" stop-color="#62a0ea"/>
<stop offset="1" stop-color="#1c71d8"/>
</linearGradient>
<linearGradient id="b" gradientUnits="userSpaceOnUse" x1="8" x2="120" y1="70" y2="70">
<stop offset="0" stop-color="#1c71d8"/>
<stop offset="0.0714286" stop-color="#62a0ea"/>
<stop offset="0.142857" stop-color="#1c71d8"/>
<stop offset="0.857143" stop-color="#1c71d8"/>
<stop offset="0.928571" stop-color="#62a0ea"/>
<stop offset="1" stop-color="#1c71d8"/>
</linearGradient>
<linearGradient id="c" gradientUnits="userSpaceOnUse" x1="48" x2="80" y1="100" y2="32">
<stop offset="0" stop-color="#3584e4"/>
<stop offset="1" stop-color="#62a0ea"/>
</linearGradient>
<radialGradient id="d" cx="93.338875" cy="259.468933" gradientTransform="matrix(0 -1.498446 1.498444 0 -308.799622 223.863251)" gradientUnits="userSpaceOnUse" r="21.355469">
<stop offset="0" stop-color="#f8e45c"/>
<stop offset="1" stop-color="#ff7800"/>
</radialGradient>
<path d="m 24 100 v 12 h 4 c 2.210938 0 4 1.789062 4 4 v 7 c 0 1.992188 1.183594 3.792969 3.011719 4.585938 c 1.828125 0.789062 3.953125 0.417968 5.40625 -0.945313 l 13.523437 -12.707031 c 1.324219 -1.242188 3.070313 -1.933594 4.882813 -1.933594 h 9.175781 v -12 z m 0 0" fill="url(#a)" fill-rule="evenodd"/>
<path d="m 24 28 h 80 c 8.835938 0 16 7.164062 16 16 v 52 c 0 8.835938 -7.164062 16 -16 16 h -80 c -8.835938 0 -16 -7.164062 -16 -16 v -52 c 0 -8.835938 7.164062 -16 16 -16 z m 0 0" fill="url(#b)"/>
<path d="m 24 24 h 80 c 8.835938 0 16 7.164062 16 16 v 52 c 0 8.835938 -7.164062 16 -16 16 h -80 c -8.835938 0 -16 -7.164062 -16 -16 v -52 c 0 -8.835938 7.164062 -16 16 -16 z m 0 0" fill="url(#c)"/>
<path d="m 24 106 v 2 h 4 c 2.210938 0 4 1.789062 4 4 v 7 c 0 1.992188 1.183594 3.792969 3.011719 4.585938 c 1.828125 0.789062 3.953125 0.417968 5.40625 -0.945313 l 13.523437 -12.707031 c 1.324219 -1.242188 3.070313 -1.933594 4.882813 -1.933594 h 9.175781 v -2 z m 0 0" fill="#3584e4" fill-rule="evenodd"/>
<path d="m 63.917969 48.363281 v 0.011719 c -1.289063 0.035156 -2.332031 0.644531 -3.011719 1.242188 c -0.667969 0.597656 -1.101562 1.21875 -1.488281 1.863281 c -0.773438 1.289062 -1.324219 2.707031 -1.863281 4.113281 c -0.539063 1.394531 -1.03125 2.789062 -1.488282 3.808594 c -0.246094 0.5625 -0.1875 0.480468 -0.339844 0.703125 l -10.183593 -0.023438 c -1.148438 -0.011719 -2.167969 0.601563 -2.699219 1.542969 c 0.257812 0.539062 0.574219 1.027344 0.871094 1.488281 c 0.808594 1.253907 1.828125 2.4375 2.859375 3.597657 c 1.03125 1.148437 2.0625 2.25 2.847656 3.164062 c 0.488281 0.578125 0.839844 1.117188 1.027344 1.398438 c -0.023438 0.214843 -0.035157 0.738281 -0.207031 1.332031 c -0.140626 0.480469 -0.328126 1.042969 -0.535157 1.636719 c -0.238281 0.691406 -0.5 1.429687 -0.765625 2.183593 c -0.480468 1.40625 -0.960937 2.824219 -1.195312 4.289063 c -0.117188 0.726562 -0.1875 1.476562 -0.023438 2.355468 c 0.039063 0.234376 0.109375 0.488282 0.203125 0.75 c 0.265625 0.730469 0.761719 1.519532 1.566407 2.0625 c 1.078124 0.726563 2.320312 0.808594 3.222656 0.703126 c 0.914062 -0.105469 1.640625 -0.375 2.355468 -0.679688 c 1.441407 -0.609375 2.789063 -1.453125 4.125 -2.296875 c 1.324219 -0.84375 2.625 -1.6875 3.644532 -2.273437 c 0.515625 -0.292969 1.011718 -0.46875 1.300781 -0.570313 c 0.273437 0.101563 0.753906 0.269531 1.242187 0.558594 c 0.996094 0.585937 2.25 1.453125 3.550782 2.308593 c 1.300781 0.84375 2.601562 1.699219 4.007812 2.320313 c 0.691406 0.304687 1.417969 0.585937 2.332032 0.691406 c 0.914062 0.105469 2.203124 0 3.28125 -0.785156 c 0.117187 -0.09375 0.234374 -0.199219 0.339843 -0.304687 c 0.628907 -0.621094 1.011719 -1.339844 1.242188 -2.074219 c 0.339843 -1.082031 0.332031 -2.199219 0.1875 -3.117188 c -0.246094 -1.535156 -0.796875 -2.917969 -1.324219 -4.242187 c -0.265625 -0.667969 -0.535156 -1.320313 -0.769531 -1.925782 c -0.230469 -0.59375 -0.425781 -1.144531 -0.566407 -1.625 c -0.242187 -0.835937 -0.222656 -1.324218 -0.222656 -1.453124 c 0.105469 -0.097657 0.484375 -0.664063 1.078125 -1.230469 c 0.820313 -0.796875 1.945313 -1.78125 3.070313 -2.859375 c 1.125 -1.066406 2.25 -2.203125 3.140625 -3.574219 c 0.308593 -0.480469 0.601562 -1.027344 0.824219 -1.621094 c -0.492188 -1.046875 -1.5625 -1.726562 -2.769532 -1.738281 h -10.792968 c -0.058594 -0.09375 -0.058594 -0.070312 -0.117188 -0.199219 c -0.433594 -0.832031 -0.960938 -2.238281 -1.5 -3.703125 c -0.527344 -1.476562 -1.078125 -3.011718 -1.792969 -4.394531 c -0.363281 -0.691406 -0.75 -1.359375 -1.394531 -2.015625 c -0.644531 -0.667969 -1.78125 -1.441406 -3.269531 -1.417969 z m 0 0" fill="url(#d)"/>
<path d="m 63.917969 44.363281 v 0.011719 c -1.289063 0.035156 -2.332031 0.644531 -3.011719 1.242188 c -0.667969 0.597656 -1.101562 1.21875 -1.488281 1.863281 c -0.773438 1.289062 -1.324219 2.707031 -1.863281 4.113281 c -0.539063 1.394531 -1.03125 2.789062 -1.488282 3.808594 c -0.246094 0.5625 -0.1875 0.480468 -0.339844 0.703125 l -10.183593 -0.023438 c -1.359375 -0.011719 -2.542969 0.84375 -2.941407 2.085938 c -0.4375 1.421875 -0.199218 2.519531 0.242188 3.457031 c 0.53125 -0.941406 1.550781 -1.554688 2.699219 -1.542969 l 10.183593 0.023438 c 0.152344 -0.222657 0.09375 -0.140625 0.339844 -0.703125 c 0.457032 -1.019532 0.949219 -2.414063 1.488282 -3.808594 c 0.539062 -1.40625 1.089843 -2.824219 1.863281 -4.113281 c 0.386719 -0.644531 0.820312 -1.265625 1.488281 -1.863281 c 0.679688 -0.597657 1.722656 -1.207032 3.011719 -1.242188 v -0.011719 c 1.488281 -0.023437 2.625 0.75 3.269531 1.417969 c 0.644531 0.65625 1.03125 1.324219 1.394531 2.015625 c 0.714844 1.382813 1.265625 2.917969 1.792969 4.394531 c 0.539062 1.464844 1.066406 2.871094 1.5 3.703125 c 0.058594 0.128907 0.058594 0.105469 0.117188 0.199219 h 10.792968 c 1.207032 0.011719 2.277344 0.691406 2.773438 1.738281 c 0.421875 -1.117187 0.597656 -2.402343 0.109375 -3.757812 c -0.433594 -1.183594 -1.582031 -1.96875 -2.882813 -1.980469 h -10.792968 c -0.058594 -0.09375 -0.058594 -0.070312 -0.117188 -0.199219 c -0.433594 -0.832031 -0.960938 -2.238281 -1.5 -3.703125 c -0.527344 -1.476562 -1.078125 -3.011718 -1.792969 -4.394531 c -0.363281 -0.691406 -0.75 -1.359375 -1.394531 -2.015625 c -0.644531 -0.667969 -1.78125 -1.441406 -3.269531 -1.417969 z m 0 0" fill="#1c71d8"/>
</svg>

After

Width:  |  Height:  |  Size: 6.5 KiB

View file

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" gradientTransform="matrix(0.821429 0 0 1.047623 11.428571 -181.524866)" gradientUnits="userSpaceOnUse" x1="64" x2="64" y1="200.00029" y2="284">
<stop offset="0" stop-color="#e01b24"/>
<stop offset="0.5" stop-color="#f66151"/>
<stop offset="1" stop-color="#c01c28"/>
</linearGradient>
<linearGradient id="b" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#deddda"/>
<stop offset="0.5" stop-color="#f6f5f4"/>
<stop offset="1" stop-color="#9a9996"/>
</linearGradient>
<linearGradient id="c" gradientTransform="matrix(0.375 0 0 1.04 75 -179.68)" x1="112" x2="112" xlink:href="#b" y1="192" y2="292"/>
<linearGradient id="d" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#deddda"/>
<stop offset="0.5" stop-color="#f6f5f4"/>
<stop offset="1" stop-color="#c0bfbc"/>
</linearGradient>
<linearGradient id="e" gradientTransform="matrix(0.25 0 0 0.959998 84 -160.31952)" x1="111.999992" x2="111.999992" xlink:href="#d" y1="187.652161" y2="296.348083"/>
<linearGradient id="f" gradientTransform="matrix(0.375 0 0 1.04 -31 -179.68)" x1="112" x2="112" xlink:href="#b" y1="192" y2="292"/>
<linearGradient id="g" gradientTransform="matrix(0.25 0 0 0.959998 -11.999999 -160.31952)" x1="111.999992" x2="111.999992" xlink:href="#d" y1="187.652161" y2="296.348083"/>
<path d="m 18 28 h 92 v 88 h -92 z m 0 0" fill="url(#a)"/>
<path d="m 18 114 h 92 v 2 h -92 z m 0 0" fill-opacity="0.2"/>
<path d="m 18 28 h 92 v 2 h -92 z m 0 0" fill="#ffffff" fill-opacity="0.2"/>
<path d="m 118 108 h 4 c 1.109375 0 2 0.890625 2 2 v 4 c 0 1.109375 -0.890625 2 -2 2 h -4 c -1.109375 0 -2 -0.890625 -2 -2 v -4 c 0 -1.109375 0.890625 -2 2 -2 z m 0 -20 h 4 c 1.109375 0 2 0.890625 2 2 v 4 c 0 1.109375 -0.890625 2 -2 2 h -4 c -1.109375 0 -2 -0.890625 -2 -2 v -4 c 0 -1.109375 0.890625 -2 2 -2 z m 0 -20 h 4 c 1.109375 0 2 0.890625 2 2 v 4 c 0 1.109375 -0.890625 2 -2 2 h -4 c -1.109375 0 -2 -0.890625 -2 -2 v -4 c 0 -1.109375 0.890625 -2 2 -2 z m 0 -20 h 4 c 1.109375 0 2 0.890625 2 2 v 4 c 0 1.109375 -0.890625 2 -2 2 h -4 c -1.109375 0 -2 -0.890625 -2 -2 v -4 c 0 -1.109375 0.890625 -2 2 -2 z m 0 -20 h 4 c 1.109375 0 2 0.890625 2 2 v 4 c 0 1.109375 -0.890625 2 -2 2 h -4 c -1.109375 0 -2 -0.890625 -2 -2 v -4 c 0 -1.109375 0.890625 -2 2 -2 z m 0 0" fill="#deddda"/>
<path d="m 118 28 c -1.109375 0 -2 0.890625 -2 2 v 4 c 0 1.109375 0.890625 2 2 2 h 4 c 0.175781 0 0.339844 -0.027344 0.5 -0.070312 c -0.863281 -0.222657 -1.5 -0.996094 -1.5 -1.929688 v -4 c 0 -0.933594 0.636719 -1.707031 1.5 -1.929688 c -0.160156 -0.042968 -0.324219 -0.070312 -0.5 -0.070312 z m 0 20 c -1.109375 0 -2 0.890625 -2 2 v 4 c 0 1.109375 0.890625 2 2 2 h 4 c 0.175781 0 0.339844 -0.027344 0.5 -0.070312 c -0.863281 -0.222657 -1.5 -0.996094 -1.5 -1.929688 v -4 c 0 -0.933594 0.636719 -1.707031 1.5 -1.929688 c -0.160156 -0.042968 -0.324219 -0.070312 -0.5 -0.070312 z m 0 20 c -1.109375 0 -2 0.890625 -2 2 v 4 c 0 1.109375 0.890625 2 2 2 h 4 c 0.175781 0 0.339844 -0.027344 0.5 -0.070312 c -0.863281 -0.222657 -1.5 -0.996094 -1.5 -1.929688 v -4 c 0 -0.933594 0.636719 -1.707031 1.5 -1.929688 c -0.160156 -0.042968 -0.324219 -0.070312 -0.5 -0.070312 z m 0 20 c -1.109375 0 -2 0.890625 -2 2 v 4 c 0 1.109375 0.890625 2 2 2 h 4 c 0.175781 0 0.339844 -0.027344 0.5 -0.070312 c -0.863281 -0.222657 -1.5 -0.996094 -1.5 -1.929688 v -4 c 0 -0.933594 0.636719 -1.707031 1.5 -1.929688 c -0.160156 -0.042968 -0.324219 -0.070312 -0.5 -0.070312 z m 0 20 c -1.109375 0 -2 0.890625 -2 2 v 4 c 0 1.109375 0.890625 2 2 2 h 4 c 0.175781 0 0.339844 -0.027344 0.5 -0.070312 c -0.863281 -0.222657 -1.5 -0.996094 -1.5 -1.929688 v -4 c 0 -0.933594 0.636719 -1.707031 1.5 -1.929688 c -0.160156 -0.042968 -0.324219 -0.070312 -0.5 -0.070312 z m 0 0" fill="#c0bfbc"/>
<path d="m 114 20 h 6 v 104 h -6 z m 0 0" fill="url(#c)"/>
<path d="m 110 24 h 4 v 96 h -4 z m 0 0" fill="url(#e)"/>
<path d="m 110 24 h 4 v 96 h -4 z m 0 0" fill="#77767b" fill-opacity="0.501961"/>
<path d="m 110 24 h 2 v 96 h -2 z m 0 0" fill="#ffffff" fill-opacity="0.501961"/>
<path d="m 6 108 h 4 c 1.109375 0 2 0.890625 2 2 v 4 c 0 1.109375 -0.890625 2 -2 2 h -4 c -1.109375 0 -2 -0.890625 -2 -2 v -4 c 0 -1.109375 0.890625 -2 2 -2 z m 0 -20 h 4 c 1.109375 0 2 0.890625 2 2 v 4 c 0 1.109375 -0.890625 2 -2 2 h -4 c -1.109375 0 -2 -0.890625 -2 -2 v -4 c 0 -1.109375 0.890625 -2 2 -2 z m 0 -20 h 4 c 1.109375 0 2 0.890625 2 2 v 4 c 0 1.109375 -0.890625 2 -2 2 h -4 c -1.109375 0 -2 -0.890625 -2 -2 v -4 c 0 -1.109375 0.890625 -2 2 -2 z m 0 -20 h 4 c 1.109375 0 2 0.890625 2 2 v 4 c 0 1.109375 -0.890625 2 -2 2 h -4 c -1.109375 0 -2 -0.890625 -2 -2 v -4 c 0 -1.109375 0.890625 -2 2 -2 z m 0 -20 h 4 c 1.109375 0 2 0.890625 2 2 v 4 c 0 1.109375 -0.890625 2 -2 2 h -4 c -1.109375 0 -2 -0.890625 -2 -2 v -4 c 0 -1.109375 0.890625 -2 2 -2 z m 0 0" fill="#deddda"/>
<path d="m 6 28 c -0.175781 0 -0.339844 0.027344 -0.5 0.070312 c 0.863281 0.222657 1.5 0.996094 1.5 1.929688 v 4 c 0 0.933594 -0.636719 1.707031 -1.5 1.929688 c 0.160156 0.042968 0.324219 0.070312 0.5 0.070312 h 4 c 1.109375 0 2 -0.890625 2 -2 v -4 c 0 -1.109375 -0.890625 -2 -2 -2 z m 0 20 c -0.175781 0 -0.339844 0.027344 -0.5 0.070312 c 0.863281 0.222657 1.5 0.996094 1.5 1.929688 v 4 c 0 0.933594 -0.636719 1.707031 -1.5 1.929688 c 0.160156 0.042968 0.324219 0.070312 0.5 0.070312 h 4 c 1.109375 0 2 -0.890625 2 -2 v -4 c 0 -1.109375 -0.890625 -2 -2 -2 z m 0 20 c -0.175781 0 -0.339844 0.027344 -0.5 0.070312 c 0.863281 0.222657 1.5 0.996094 1.5 1.929688 v 4 c 0 0.933594 -0.636719 1.707031 -1.5 1.929688 c 0.160156 0.042968 0.324219 0.070312 0.5 0.070312 h 4 c 1.109375 0 2 -0.890625 2 -2 v -4 c 0 -1.109375 -0.890625 -2 -2 -2 z m 0 20 c -0.175781 0 -0.339844 0.027344 -0.5 0.070312 c 0.863281 0.222657 1.5 0.996094 1.5 1.929688 v 4 c 0 0.933594 -0.636719 1.707031 -1.5 1.929688 c 0.160156 0.042968 0.324219 0.070312 0.5 0.070312 h 4 c 1.109375 0 2 -0.890625 2 -2 v -4 c 0 -1.109375 -0.890625 -2 -2 -2 z m 0 20 c -0.175781 0 -0.339844 0.027344 -0.5 0.070312 c 0.863281 0.222657 1.5 0.996094 1.5 1.929688 v 4 c 0 0.933594 -0.636719 1.707031 -1.5 1.929688 c 0.160156 0.042968 0.324219 0.070312 0.5 0.070312 h 4 c 1.109375 0 2 -0.890625 2 -2 v -4 c 0 -1.109375 -0.890625 -2 -2 -2 z m 0 0" fill="#c0bfbc"/>
<path d="m 8 20 h 6 v 104 h -6 z m 0 0" fill="url(#f)"/>
<path d="m 14 24 h 4 v 96 h -4 z m 0 0" fill="url(#g)"/>
<path d="m 14 24 h 4 v 96 h -4 z m 0 0" fill="#77767b" fill-opacity="0.501961"/>
<path d="m 16 24 h 2 v 96 h -2 z m 0 0" fill="#ffffff" fill-opacity="0.501961"/>
<path d="m 52 62 v 24 c 0 0.828125 0.441406 1.59375 1.15625 2.007812 c 0.714844 0.414063 1.597656 0.417969 2.316406 0.007813 l 21.054688 -12.03125 c 0.710937 -0.40625 1.152344 -1.164063 1.152344 -1.984375 s -0.441407 -1.578125 -1.152344 -1.984375 l -21.054688 -12.03125 c -0.71875 -0.410156 -1.601562 -0.40625 -2.316406 0.007813 c -0.714844 0.414062 -1.15625 1.179687 -1.15625 2.007812 z m 0 0" fill="#c0bfbc"/>
<path d="m 52 60 v 24 c 0 0.828125 0.441406 1.59375 1.15625 2.007812 c 0.714844 0.414063 1.597656 0.417969 2.316406 0.007813 l 21.054688 -12.03125 c 0.710937 -0.40625 1.152344 -1.164063 1.152344 -1.984375 s -0.441407 -1.578125 -1.152344 -1.984375 l -21.054688 -12.03125 c -0.71875 -0.410156 -1.601562 -0.40625 -2.316406 0.007813 c -0.714844 0.414062 -1.15625 1.179687 -1.15625 2.007812 z m 0 0" fill="#f6f5f4"/>
<path d="m 54.71875 57.710938 c -0.675781 -0.113282 -1.367188 0.074218 -1.890625 0.511718 c -0.527344 0.441406 -0.828125 1.09375 -0.828125 1.777344 v 2 c 0 -0.828125 0.441406 -1.59375 1.15625 -2.007812 c 0.714844 -0.414063 1.597656 -0.417969 2.316406 -0.007813 l 21.054688 12.03125 c 0.394531 0.230469 0.710937 0.574219 0.910156 0.984375 c 0.527344 -1.078125 0.128906 -2.382812 -0.910156 -2.984375 l -21.054688 -12.03125 c -0.234375 -0.132813 -0.488281 -0.226563 -0.753906 -0.273437 z m 0 0" fill-opacity="0.101961"/>
</svg>

After

Width:  |  Height:  |  Size: 8 KiB

View file

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#9a9996"/>
<stop offset="0.5" stop-color="#deddda"/>
<stop offset="1" stop-color="#9a9996"/>
</linearGradient>
<linearGradient id="b" gradientTransform="matrix(0.707107 -0.707107 0.707107 0.707107 -123.362482 -71.823376)" x1="50" x2="54" xlink:href="#a" y1="180" y2="180"/>
<linearGradient id="c" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#deddda"/>
<stop offset="1" stop-color="#9a9996"/>
</linearGradient>
<radialGradient id="d" cx="54" cy="162" gradientTransform="matrix(0.707107 -0.707107 0.707107 0.707107 -123.362482 -71.823376)" r="6" xlink:href="#c"/>
<linearGradient id="e" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#deddda" stop-opacity="0"/>
<stop offset="1" stop-color="#241f31" stop-opacity="0.2"/>
</linearGradient>
<radialGradient id="f" cx="54" cy="162" gradientTransform="matrix(0.707107 -0.707107 0.707107 0.707107 -123.362482 -71.823376)" r="6" xlink:href="#e"/>
<linearGradient id="g" gradientTransform="matrix(-0.707107 -0.707107 -0.707107 0.707107 227.362488 -71.823372)" x1="50" x2="54" xlink:href="#a" y1="180" y2="180"/>
<radialGradient id="h" cx="54" cy="162" gradientTransform="matrix(-0.707107 -0.707107 -0.707107 0.707107 227.362488 -71.823372)" r="6" xlink:href="#c"/>
<radialGradient id="i" cx="54" cy="162" gradientTransform="matrix(-0.707107 -0.707107 -0.707107 0.707107 227.362488 -71.823372)" r="6" xlink:href="#e"/>
<clipPath id="j">
<path d="m 8 30 h 88 v 42 h -88 z m 0 0"/>
</clipPath>
<clipPath id="k">
<path d="m 31 28 h 42 c 12.703125 0 23 10.296875 23 23 s -10.296875 23 -23 23 h -42 c -12.703125 0 -23 -10.296875 -23 -23 s 10.296875 -23 23 -23 z m 0 0"/>
</clipPath>
<linearGradient id="l" gradientUnits="userSpaceOnUse" x1="52" x2="52" y1="29" y2="74">
<stop offset="0" stop-color="#ffffff" stop-opacity="0.101961"/>
<stop offset="1" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
<clipPath id="m">
<path d="m 24 34 h 20 v 2 h -20 z m 0 4 h 20 v 2 h -20 z m 0 4 h 20 v 2 h -20 z m 0 4 h 20 v 2 h -20 z m 0 4 h 20 v 2 h -20 z m 0 0"/>
</clipPath>
<clipPath id="n">
<path d="m 60 34 h 20 v 2 h -20 z m 0 4 h 20 v 2 h -20 z m 0 4 h 20 v 2 h -20 z m 0 4 h 20 v 2 h -20 z m 0 4 h 20 v 2 h -20 z m 0 0"/>
</clipPath>
<clipPath id="o">
<path d="m 40 58 h 24 v 2 h -24 z m 0 4 h 24 v 2 h -24 z m 0 4 h 24 v 2 h -24 z m 0 0"/>
</clipPath>
<path d="m 27.957031 8.785156 l 2.828125 -2.828125 l 22.628906 22.628907 l -2.828124 2.828124 z m 0 0" fill="url(#b)"/>
<path d="m 33.613281 3.128906 c 2.34375 2.34375 2.34375 6.144532 0 8.484375 c -2.339843 2.34375 -6.140625 2.34375 -8.484375 0 c -2.34375 -2.339843 -2.34375 -6.140625 0 -8.484375 c 2.34375 -2.34375 6.144532 -2.34375 8.484375 0 z m 0 0" fill="url(#d)"/>
<path d="m 33.613281 3.128906 c 2.34375 2.34375 2.34375 6.144532 0 8.484375 c -2.339843 2.34375 -6.140625 2.34375 -8.484375 0 c -2.34375 -2.339843 -2.34375 -6.140625 0 -8.484375 c 2.34375 -2.34375 6.144532 -2.34375 8.484375 0 z m 0 0" fill="url(#f)"/>
<path d="m 76.042969 8.785156 l -2.828125 -2.828125 l -22.628906 22.628907 l 2.828124 2.828124 z m 0 0" fill="url(#g)"/>
<path d="m 70.386719 3.128906 c -2.34375 2.34375 -2.34375 6.144532 0 8.484375 c 2.339843 2.34375 6.140625 2.34375 8.484375 0 c 2.34375 -2.339843 2.34375 -6.140625 0 -8.484375 c -2.34375 -2.34375 -6.144532 -2.34375 -8.484375 0 z m 0 0" fill="url(#h)"/>
<path d="m 70.386719 3.128906 c -2.34375 2.34375 -2.34375 6.144532 0 8.484375 c 2.339843 2.34375 6.140625 2.34375 8.484375 0 c 2.34375 -2.339843 2.34375 -6.140625 0 -8.484375 c -2.34375 -2.34375 -6.144532 -2.34375 -8.484375 0 z m 0 0" fill="url(#i)"/>
<path d="m 56 52 h 40 c 15.464844 0 28 12.535156 28 28 s -12.535156 28 -28 28 h -40 c -15.464844 0 -28 -12.535156 -28 -28 s 12.535156 -28 28 -28 z m 0 0" fill="#ff7800"/>
<path d="m 100 106 v 14 l -16 -14 z m 0 0" fill="#e66100" fill-rule="evenodd"/>
<path d="m 28.023438 79 c -0.007813 0.332031 -0.023438 0.664062 -0.023438 1 c 0 15.511719 12.488281 28 28 28 h 40 c 15.511719 0 28 -12.488281 28 -28 c 0 -0.335938 -0.015625 -0.667969 -0.027344 -1 c -0.523437 15.042969 -12.796875 27 -27.972656 27 h -40 c -15.175781 0 -27.449219 -11.957031 -27.976562 -27 z m 0 0" fill="#e66100"/>
<path d="m 100 104 v 14 l -16 -14 z m 0 0" fill="#ff7800" fill-rule="evenodd"/>
<path d="m 32 24 h 40 c 15.464844 0 28 12.535156 28 28 s -12.535156 28 -28 28 h -40 c -15.464844 0 -28 -12.535156 -28 -28 s 12.535156 -28 28 -28 z m 0 0" fill="#3584e4"/>
<path d="m 31 28 h 42 c 12.703125 0 23 10.296875 23 23 s -10.296875 23 -23 23 h -42 c -12.703125 0 -23 -10.296875 -23 -23 s 10.296875 -23 23 -23 z m 0 0" fill="#241f31"/>
<g clip-path="url(#j)">
<g clip-path="url(#k)">
<path d="m 6 70 h 92 v 2 h -92 z m 0 -4 h 92 v 2 h -92 z m 0 -4 h 92 v 2 h -92 z m 0 -4 h 92 v 2 h -92 z m 0 -4 h 92 v 2 h -92 z m 0 -4 h 92 v 2 h -92 z m 0 -4 h 92 v 2 h -92 z m 0 -4 h 92 v 2 h -92 z m 0 -4 h 92 v 2 h -92 z m 0 -4 h 92 v 2 h -92 z m 0 -4 h 92 v 2 h -92 z m 0 0" fill="url(#l)"/>
</g>
</g>
<path d="m 4.023438 51 c -0.007813 0.332031 -0.023438 0.664062 -0.023438 1 c 0 15.511719 12.488281 28 28 28 h 40 c 15.511719 0 28 -12.488281 28 -28 c 0 -0.335938 -0.015625 -0.667969 -0.027344 -1 c -0.523437 15.042969 -12.796875 27 -27.972656 27 h -40 c -15.175781 0 -27.449219 -11.957031 -27.976562 -27 z m 0 0" fill="#1a5fb4"/>
<path d="m 28 78 v 14 l 16 -14 z m 0 0" fill="#1a5fb4" fill-rule="evenodd"/>
<path d="m 28 76 v 14 l 16 -14 z m 0 0" fill="#3584e4" fill-rule="evenodd"/>
<g clip-path="url(#m)">
<path d="m 44 44 c 0 5.523438 -4.476562 10 -10 10 s -10 -4.476562 -10 -10 s 4.476562 -10 10 -10 s 10 4.476562 10 10 z m 0 0" fill="#62a0ea"/>
</g>
<g clip-path="url(#n)">
<path d="m 80 44 c 0 5.523438 -4.476562 10 -10 10 s -10 -4.476562 -10 -10 s 4.476562 -10 10 -10 s 10 4.476562 10 10 z m 0 0" fill="#62a0ea"/>
</g>
<g clip-path="url(#o)">
<path d="m 40 56 c 0 4.285156 2.289062 8.25 6 10.394531 c 3.710938 2.140625 8.289062 2.140625 12 0 c 3.710938 -2.144531 6 -6.109375 6 -10.394531 h -4 c 0 2.863281 -1.523438 5.496094 -4 6.925781 c -2.476562 1.433594 -5.523438 1.433594 -8 0 c -2.476562 -1.429687 -4 -4.0625 -4 -6.925781 z m 0 0" fill="#62a0ea"/>
</g>
<g fill="#c0bfbc">
<path d="m 105.625 70.003906 c 3.289062 -0.1875 6.195312 2.34375 6.375 5.625 c 0 2.804688 -0.757812 3.84375 -3.1875 5.6875 c -0.382812 0.289063 -0.648438 0.5 -0.75 0.625 s -0.0625 0.0625 -0.0625 0.0625 c 0.015625 1.054688 -0.945312 2 -2 2 s -2.015625 -0.945312 -2 -2 c 0 -1.007812 0.453125 -1.890625 0.9375 -2.5 c 0.492188 -0.617187 0.984375 -1.03125 1.4375 -1.375 c 0.40625 -0.320312 0.921875 -0.765625 1.375 -1.3125 c 0.1875 -0.226562 0.257812 -0.617187 0.25 -0.875 v -0.0625 c -0.0625 -1.125 -1 -1.9375 -2.125 -1.875 s -1.9375 0.875 -1.875 2 h -4 c -0.179688 -3.28125 2.34375 -5.8125 5.625 -6 z m 0.375 16 c 1.101562 0 2 0.898438 2 2 c 0 1.101563 -0.898438 2 -2 2 s -2 -0.898437 -2 -2 c 0 -1.101562 0.898438 -2 2 -2 z m 0 0"/>
<path d="m 91.625 70.003906 c 3.289062 -0.1875 6.195312 2.34375 6.375 5.625 c 0 2.804688 -0.757812 3.84375 -3.1875 5.6875 c -0.382812 0.289063 -0.648438 0.5 -0.75 0.625 s -0.0625 0.0625 -0.0625 0.0625 c 0.015625 1.054688 -0.945312 2 -2 2 s -2.015625 -0.945312 -2 -2 c 0 -1.007812 0.453125 -1.890625 0.9375 -2.5 c 0.492188 -0.617187 0.984375 -1.03125 1.4375 -1.375 c 0.40625 -0.320312 0.921875 -0.765625 1.375 -1.3125 c 0.1875 -0.226562 0.257812 -0.617187 0.25 -0.875 v -0.0625 c -0.0625 -1.125 -1 -1.9375 -2.125 -1.875 s -1.9375 0.875 -1.875 2 h -4 c -0.179688 -3.28125 2.34375 -5.8125 5.625 -6 z m 0.375 16 c 1.101562 0 2 0.898438 2 2 c 0 1.101563 -0.898438 2 -2 2 s -2 -0.898437 -2 -2 c 0 -1.101562 0.898438 -2 2 -2 z m 0 0"/>
<path d="m 77.625 70.003906 c 3.289062 -0.1875 6.195312 2.34375 6.375 5.625 c 0 2.804688 -0.757812 3.84375 -3.1875 5.6875 c -0.382812 0.289063 -0.648438 0.5 -0.75 0.625 s -0.0625 0.0625 -0.0625 0.0625 c 0.015625 1.054688 -0.945312 2 -2 2 s -2.015625 -0.945312 -2 -2 c 0 -1.007812 0.453125 -1.890625 0.9375 -2.5 c 0.492188 -0.617187 0.984375 -1.03125 1.4375 -1.375 c 0.40625 -0.320312 0.921875 -0.765625 1.375 -1.3125 c 0.1875 -0.226562 0.257812 -0.617187 0.25 -0.875 v -0.0625 c -0.0625 -1.125 -1 -1.9375 -2.125 -1.875 s -1.9375 0.875 -1.875 2 h -4 c -0.179688 -3.28125 2.34375 -5.8125 5.625 -6 z m 0.375 16 c 1.101562 0 2 0.898438 2 2 c 0 1.101563 -0.898438 2 -2 2 s -2 -0.898437 -2 -2 c 0 -1.101562 0.898438 -2 2 -2 z m 0 0"/>
</g>
<path d="m 105.625 68.003906 c 3.289062 -0.1875 6.195312 2.34375 6.375 5.625 c 0 2.804688 -0.757812 3.84375 -3.1875 5.6875 c -0.382812 0.289063 -0.648438 0.5 -0.75 0.625 s -0.0625 0.0625 -0.0625 0.0625 c 0.015625 1.054688 -0.945312 2 -2 2 s -2.015625 -0.945312 -2 -2 c 0 -1.007812 0.453125 -1.890625 0.9375 -2.5 c 0.492188 -0.617187 0.984375 -1.03125 1.4375 -1.375 c 0.40625 -0.320312 0.921875 -0.765625 1.375 -1.3125 c 0.1875 -0.226562 0.257812 -0.617187 0.25 -0.875 v -0.0625 c -0.0625 -1.125 -1 -1.9375 -2.125 -1.875 s -1.9375 0.875 -1.875 2 h -4 c -0.179688 -3.28125 2.34375 -5.8125 5.625 -6 z m 0.375 16 c 1.101562 0 2 0.898438 2 2 c 0 1.101563 -0.898438 2 -2 2 s -2 -0.898437 -2 -2 c 0 -1.101562 0.898438 -2 2 -2 z m 0 0" fill="#ffffff"/>
<path d="m 91.625 68.003906 c 3.289062 -0.1875 6.195312 2.34375 6.375 5.625 c 0 2.804688 -0.757812 3.84375 -3.1875 5.6875 c -0.382812 0.289063 -0.648438 0.5 -0.75 0.625 s -0.0625 0.0625 -0.0625 0.0625 c 0.015625 1.054688 -0.945312 2 -2 2 s -2.015625 -0.945312 -2 -2 c 0 -1.007812 0.453125 -1.890625 0.9375 -2.5 c 0.492188 -0.617187 0.984375 -1.03125 1.4375 -1.375 c 0.40625 -0.320312 0.921875 -0.765625 1.375 -1.3125 c 0.1875 -0.226562 0.257812 -0.617187 0.25 -0.875 v -0.0625 c -0.0625 -1.125 -1 -1.9375 -2.125 -1.875 s -1.9375 0.875 -1.875 2 h -4 c -0.179688 -3.28125 2.34375 -5.8125 5.625 -6 z m 0.375 16 c 1.101562 0 2 0.898438 2 2 c 0 1.101563 -0.898438 2 -2 2 s -2 -0.898437 -2 -2 c 0 -1.101562 0.898438 -2 2 -2 z m 0 0" fill="#ffffff"/>
<path d="m 77.625 68.003906 c 3.289062 -0.1875 6.195312 2.34375 6.375 5.625 c 0 2.804688 -0.757812 3.84375 -3.1875 5.6875 c -0.382812 0.289063 -0.648438 0.5 -0.75 0.625 s -0.0625 0.0625 -0.0625 0.0625 c 0.015625 1.054688 -0.945312 2 -2 2 s -2.015625 -0.945312 -2 -2 c 0 -1.007812 0.453125 -1.890625 0.9375 -2.5 c 0.492188 -0.617187 0.984375 -1.03125 1.4375 -1.375 c 0.40625 -0.320312 0.921875 -0.765625 1.375 -1.3125 c 0.1875 -0.226562 0.257812 -0.617187 0.25 -0.875 v -0.0625 c -0.0625 -1.125 -1 -1.9375 -2.125 -1.875 s -1.9375 0.875 -1.875 2 h -4 c -0.179688 -3.28125 2.34375 -5.8125 5.625 -6 z m 0.375 16 c 1.101562 0 2 0.898438 2 2 c 0 1.101563 -0.898438 2 -2 2 s -2 -0.898437 -2 -2 c 0 -1.101562 0.898438 -2 2 -2 z m 0 0" fill="#ffffff"/>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 24 KiB

Some files were not shown because too many files have changed in this diff Show more