43 Commits

Author SHA1 Message Date
c6e8d0b128 Use https for bear blog submodule 2021-05-19 15:03:28 -05:00
7d4f8d9f1b [WIP] Migrate to hugo-bearblog theme 2021-05-19 15:02:05 -05:00
12576834c2 Use bbaovanc/hugo image
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-12 10:46:06 -05:00
9cb27e684d Change tree step to list files
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-24 23:03:37 -05:00
decd2209f7 Rename steps and add tree step
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-18 15:21:40 -05:00
adf52c8498 Remove table of contents from post
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-17 00:53:53 -05:00
3d14a589fc Add New Comment System Again post
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-17 00:52:05 -05:00
478e152183 Switch comment system from Isso to Commento
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-17 00:05:29 -05:00
3eb95b7f16 Remove systemd tag
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-16 20:55:15 -05:00
6bb94c50c2 Convert images in blog covers to webp
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-16 01:47:24 -05:00
1ed6fd7bf8 Move favicon location and add apple-touch-icon-192x192.png
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-15 02:27:55 -05:00
896cf1eb27 Use Hugo pipes to minify isso.css
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-15 02:10:36 -05:00
b0704a1e1d Make Isso's CSS look a bit better
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-14 17:48:44 -05:00
f1407d7984 Move isso CSS to isso.css
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-14 17:39:44 -05:00
6fbf46a270 Automatically deploy to bbaovanc.com using Drone (#1)
Some checks failed
continuous-integration/drone/push Build is failing
Add .drone.yml

Co-authored-by: BBaoVanC <github@bbaovanc.com>
Reviewed-on: #1
Co-Authored-By: bbaovanc <bbaovanc@noreply.bbaovanc.com>
Co-Committed-By: bbaovanc <bbaovanc@noreply.bbaovanc.com>
2021-04-14 00:55:59 -05:00
6ca71e0ff7 Add email link to menu bar 2021-04-12 22:22:19 -05:00
ae59d03f81 Correct 403 from unauthorized to forbidden 2021-04-11 14:28:30 -05:00
83f780a8b4 Add new comment system post 2021-04-11 00:43:32 -05:00
a235ec2151 Add isso comment section
Current issues:
- previewing a comment when making it is text on white bg
2021-04-10 21:55:51 -05:00
054a2258f5 Update searx instance URL in links page 2021-04-01 22:50:32 -05:00
66833ca13d Add privileged ports post 2021-03-28 21:29:52 -05:00
9378412a09 Add guide tag 2021-03-27 18:39:12 -05:00
ef2274521e Add tutorial tag 2021-03-27 18:38:29 -05:00
fef9c0895e Add link to blog source code 2021-03-26 19:31:30 -05:00
aa1c520d55 Add link to GitHub account 2021-03-26 19:26:32 -05:00
8a2a77bba3 Add link to searx instance source code 2021-03-26 19:20:45 -05:00
fff1bdd0de Make all menu items visible on navbar 2021-03-26 19:18:51 -05:00
6878e125e1 Clean up navbar, remove Other Sites page, and add Links page 2021-03-26 19:16:57 -05:00
3a8b1c6a8d Makefile improvements 2021-03-26 19:00:26 -05:00
afcaa99cf5 Replace checkra1n GUI image with one from a regular DPI monitor 2021-03-26 18:58:25 -05:00
cb44bb4b87 Wrap lines at 80 chars 2021-03-26 13:10:17 -05:00
e3fc548034 Show last updates (from git) 2021-03-26 04:01:32 -05:00
fbde75e8c6 Small grammar fixes and remove authorTwitter (unused) 2021-03-26 02:05:14 -05:00
e84980adcb Add editorconfig 2021-03-26 01:51:00 -05:00
46c1660d52 Add table of contents to checkra1n-gui-on-other-distros post 2021-03-26 01:16:57 -05:00
9094e37b08 Change tags up a little 2021-03-26 01:02:37 -05:00
e7637b186e Add checkra1n-gui-on-other-distros post 2021-03-25 22:16:21 -05:00
edd7f8b030 Change RSS feed to only have regular posts 2021-03-25 22:09:12 -05:00
febefb8c67 Add RSS to navigation bar 2021-03-25 22:07:15 -05:00
28b2a2eff8 Rename favicon directory from img to icon 2021-03-25 21:32:39 -05:00
e68c00a4e2 Migrate discord-tricks posts from Gitea
See https://git.bbaovanc.com/bbaovanc/discord-tricks
2021-03-25 19:55:57 -05:00
42eed53cef Add link to main website (bbaovanc.com) 2021-03-25 18:43:50 -05:00
7c568ef4d5 Add Makefile 2021-03-25 18:42:15 -05:00
28 changed files with 1367 additions and 125 deletions

41
.drone.yml Normal file
View File

@ -0,0 +1,41 @@
---
kind: pipeline
type: docker
name: Deploy to bbaovanc.com
trigger:
branch:
- master
event:
exclude:
- pull_request
steps:
- name: submodules
image: alpine/git
commands:
- git submodule update --init --recursive
- name: build
image: bbaovanc/hugo
commands:
- hugo version
- hugo --minify
- name: list files
image: alpine:latest
commands:
- find public/
- name: upload
image: appleboy/drone-scp
settings:
host: bbaovanc.com
port: 2222
username: droneci
key:
from_secret: SSH_KEY
target: /var/www/bbaovanc/blog/
rm: true
source: public/
strip_components: 1

11
.editorconfig Normal file
View File

@ -0,0 +1,11 @@
root = true
[*.{md,toml}]
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
[*.md]
max_line_length = 80

7
.gitmodules vendored
View File

@ -1,3 +1,4 @@
[submodule "themes/terminal"]
path = themes/terminal
url = https://github.com/panr/hugo-theme-terminal.git
[submodule "themes/hugo-bearblog"]
path = themes/hugo-bearblog
url = https://github.com/janraasch/hugo-bearblog.git
branch = master

12
Makefile Normal file
View File

@ -0,0 +1,12 @@
all: public
public:
hugo
clean:
rm -rf public
push: clean public
rsync -arvz -e 'ssh -p 2222' --progress --delete public/ bbaovanc.com:/var/www/bbaovanc/blog/
.PHONY: all clean push

View File

@ -1,6 +0,0 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---

1
archetypes/posts.md Symbolic link
View File

@ -0,0 +1 @@
../themes/hugo-bearblog/archetypes/blog.md

22
assets/css/comments.css Normal file
View File

@ -0,0 +1,22 @@
.commento-root * {
color: white;
}
.commento-root .commento-logged-container .commento-logged-in-as .commento-name,
.commento-root .commento-anonymous-checkbox-container input[type="checkbox"] + label {
color: rgb(134, 142, 150);
}
.commento-root textarea {
border-color: rgba(255, 255, 255, 0.1);
background-color: rgba(0, 0, 0, 0);
color: white;
}
.commento-root .commento-card {
border-top-color: rgba(255, 255, 255, 0.1);
}
.commento-root .commento-dark-card {
background-color: rgb(64, 64, 64);
}

View File

@ -1,73 +1,46 @@
baseURL = "https://bbaovanc.com/blog/"
languageCode = "en-us"
theme = "terminal"
paginate = 5
theme = "hugo-bearblog"
# [permalinks]
# posts = "/:year/:month/:title/"
title = "bbaovanc's blog"
author = "bbaovanc"
copyright = "Copyright © 2021, bbaovanc."
languageCode = "en-US"
# Generate a nice robots.txt for SEO
enableRobotsTXT = true
#disableKinds = ["taxonomy"]
#ignoreErrors = ["error-disable-taxonomy"]
[permalinks]
blog = "/:slug/"
tags = "/posts/:slug"
[params]
# dir name of your main content (default is `content/posts`).
# the list of set content will show up on your index page (baseurl).
contentTypeName = "posts"
# The "description" of your website. This is used in the meta data of your generated html.
description = "My personal blog site"
# ["orange", "blue", "red", "green", "pink"]
themeColor = "blue"
# The path to your "favicon". This should be a square (at least 32px x 32px) png-file.
# Hint: It's good practise to also put a "favicon.ico"-file into your "static"-folder.
favicon = "img/favicon.svg"
# if you set this to 0, only submenu trigger will be visible
showMenuItems = 2
# These "images" are used for the structured data templates. This will show up, when
# services like Twitter or Slack want to generate a preview of a link to your site.
# See https://gohugo.io/templates/internal#twitter-cards and
# https://gohugo.io/templates/internal#open-graph.
images = ["img/bbaovanc-1024.png"]
# show selector to switch language
showLanguageSelector = false
# Another "title" :-). This one is used as the site_name on the Hugo's internal
# opengraph structured data template.
# See https://ogp.me/ and https://gohugo.io/templates/internal#open-graph.
title = "bbaovanc's blog"
# set theme to full screen width
fullWidthTheme = false
# This theme will, by default, inject a made-with-line at the bottom of the page.
# You can turn it off, but we would really appreciate if you dont :-).
# hideMadeWithLine = true
# center theme with default width
centerTheme = true
# set a custom favicon (default is a `themeColor` square)
favicon = "img/favicon.ico"
# set post to show the last updated
# If you use git, you can set `enableGitInfo` to `true` and then post will automatically get the last updated
showLastUpdated = false
# Provide a string as a prefix for the last update date. By default, it looks like this: 2020-xx-xx [Updated: 2020-xx-xx] :: Author
# updatedDatePrefix = "Updated"
# set all headings to their default size (depending on browser settings)
# it's set to `true` by default
# oneHeadingSize = false
[params.twitter]
# set Twitter handles for Twitter cards
# see https://developer.twitter.com/en/docs/tweets/optimize-with-cards/guides/getting-started#card-and-content-attribution
# do not include @
creator = ""
site = ""
[languages]
[languages.en]
languageName = "English"
title = "bbaovanc's blog"
subtitle = "My personal blog site"
owner = "bbaovanc"
keywords = ""
copyright = ""
menuMore = "Show more"
readMore = "Read more"
readOtherPosts = "Read other posts"
newerPosts = "Newer posts"
olderPosts = "Older posts"
missingContentMessage = "Page not found..."
missingBackButtonLabel = "Back to home page"
[languages.en.params.logo]
logoText = "bbaovanc's blog"
logoHomeLink = "/blog/"
[languages.en.menu]
[[languages.en.menu.main]]
identifier = "other-sites"
name = "Other Sites"
url = "/other-sites"
# By default, this theme displays dates with a format like "02 Jan, 2006", but
# you can customize it by setting the `dateFormat` param in your site's config
# file. See [Hugo's Format function docs](https://gohugo.io/functions/format/)
# for details. An example TOML config that uses [ISO
# 8601](https://en.wikipedia.org/wiki/ISO_8601) format:
dateFormat = "Jan 02, 2006"

41
content/links.md Normal file
View File

@ -0,0 +1,41 @@
---
title: "Links"
toc: true
---
---
## Other
- [GitHub](https://github.com/BBaoVanC/)
## My Website
- [Main Site](https://bbaovanc.com/)
- [Blog](https://bbaovanc.com/blog/)
- [Status Page](https://status.bbaovanc.com/)
- [Searx Instance](https://search.bbaovanc.com/) -
[source code](https://github.com/BBaoVanC/searx)
- [Gitea Instance](https://git.bbaovanc.com/)
## My Software
- [imgupload.py](https://github.com/imgupload-py/imgupload.py)
- [pynamegen](https://git.bbaovanc.com/bbaovanc/pynamegen)
- [libnamegen](https://git.bbaovanc.com/bbaovanc/libnamegen)
- [liblistloader](https://git.bbaovanc.com/bbaovanc/liblistloader)
- [libprogress](https://git.bbaovanc.com/bbaovanc/libprogress)
## My Configurations
- [dotfiles](https://github.com/BBaoVanC/dotfiles)
- [dwm](https://github.com/BBaoVanC/.dwm)
- [st](https://github.com/BBaoVanC/st)
- [dwm-flexipatch](https://github.com/BBaoVanC/dwm-flexipatch)
- [dwmblocks](https://github.com/BBaoVanC/dwmblocks)
- [dmenu](https://github.com/BBaoVanC/dmenu)
### Old Configurations
- [dwm](https://github.com/BBaoVanC/dwm)
- [xmonad](https://github.com/BBaoVanC/.xmonad)

View File

@ -1,7 +0,0 @@
---
title: "Other Sites"
draft: false
---
- [GitHub](https://github.com/BBaoVanC)
- [Gitea](https://git.bbaovanc.com)

View File

@ -0,0 +1,68 @@
+++
title = "Allow Non Root Processes to Bind to Privileged Ports"
date = "2021-03-28T20:03:16-05:00"
author = "bbaovanc"
tags = ["guide", "linux"]
keywords = ["linux", "privileged", "ports", "tutorial", "guide", "gitea",
"systemd"]
description = """
In Linux, processes cannot bind to privileged ports (<=1024) unless they are
running as root. Here's how to allow any process to bind to privileged ports.
"""
showFullContent = false
toc = true
+++
## Introduction
In Linux, processes cannot bind to privileged ports (<=1024) unless they are
running as root. I learned about this when I was trying to add SSH cloning to my
[Gitea](https://gitea.io) instance. This can be bypassed by giving
`CAP_NET_BIND_SERVICE` capabilities to either the systemd service, or the
executable itself.
## Giving `CAP_NET_BIND_SERVICE` capabilities
### Using systemd (preferred)
The best way is to tell systemd to give `CAP_NET_BIND_SERVICE`
capabilities to the service. In fact, the Gitea systemd service has two
lines[^1] that are commented out:
```systemd
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
```
Uncommenting these two lines was all I had to do for Gitea.
### Using `setcap`
You can add `CAP_NET_BIND_SERVICE` to the executable directly using `setcap`,
allowing it to bind to any port. Run the following command[^2]:
```bash
setcap 'cap_net_bind_service=+ep' /path/to/program
```
Note that this means that anyone with permission to run this program will be
able to run it and bind to any privileged ports.
Other caveats[^2]:
> 1. You will need at least a 2.6.24 kernel
> 2. This won't work if your file is a script. (ie, uses a #! line to launch an
> interpreter). In this case, as far I as understand, you'd have to apply the
> capability to the interpreter executable itself, which of course is a
> security nightmare, since any program using that interpreter will have the
> capability. I wasn't able to find any clean, easy way to work around this
> problem.
> 3. Linux will disable LD\_LIBRARY\_PATH on any program that has elevated
> privileges like setcap or suid. So if your program uses its own .../lib/,
> you might have to look into another option like port forwarding.
[^1]: https://github.com/go-gitea/gitea/blob/3416e2a82586fca4cd452b93237b979300f55d62/contrib/systemd/gitea.service#L69
and https://stackoverflow.com/a/47065825
[^2]: https://stackoverflow.com/a/414258

View File

@ -0,0 +1,49 @@
+++
title = "Checkra1n GUI on Other Distros"
date = "2021-03-25T21:19:51-05:00"
author = "bbaovanc"
cover = "media/checkra1n-gui-on-arch-linux.webp"
tags = ["guide", "linux", "archlinux", "jailbreak", "checkra1n"]
keywords = ["checkra1n", "gui", "linux", "arch linux"]
description = """
You can run the GUI version of checkra1n on non Debian-based distributions.
"""
showFullContent = false
toc = true
+++
## Introduction
The official cross-distribution build of checkra1n only contains a CLI and TUI.
However, the version available in the
[checkra1n APT repository](https://checkra.in/linux) also contains a GTK-based
GUI which can be accessed using the `--gui` flag, or the included
`checkra1n.desktop` file.
## Other Distributions
First, download the Debian package available at
`https://assets.checkra.in/debian/checkra1n_VERSION_amd64.deb` (as of writing,
`VERSION` is currently `0.12.2`). Then, extract the `checkra1n` executable from
the package, and install the correct shared libraries. Here are the most
important ones, and their corresponding package names on Arch Linux:
- libimobiledevice-1.0.so.6 (`libimobiledevice`)
- libirecovery-1.0.so.3 (`libirecovery`)
- libtvcontrol.so (`libtvcontrol`)
- libplist-2.0.so.3 (`libplist`)
- libncurses.so.5 (`ncurses5-compat-libs`)
I found these by running the binary and then finding and installing the package
that contained the shared object I was missing.
I also made an AUR package named
[`checkra1n-gui`](https://aur.archlinux.org/packages/checkra1n-gui),
which does all this automatically.
## Conclusion
As I expected, there is nothing preventing the checkra1n GUI from working on non
Debian-based distributions (as far as I can tell).

View File

@ -0,0 +1,29 @@
+++
title = "Put (edited) in the middle of a message in Discord"
date = "2021-03-25T18:48:34-05:00"
author = "bbaovanc"
cover = "media/discord-tricks/edited-in-middle-of-message.webp"
tags = ["tutorial", "discord", "discord-tricks"]
keywords = ["discord", "edited"]
description = """
With a bit of trickery using the RLE character (U+202B), you can get the
(edited) text on a message to be somewhere other than at the end of the message.
"""
showFullContent = false
+++
## Tutorial
1. Copy the "right-to-left embedding" character (U+202A) to your clipboard.
2. Open editing box of a message
3. Delete all text inside
4. Paste the character
5. Type the text you want on the right of `(edited)`
6. Press space and paste the character
7. Type the text you want on the left of `(edited)`
*This post was adapted from [gitea:bbaovanc/discord-tricks][1]*
[1]: https://git.bbaovanc.com/bbaovanc/discord-tricks

View File

@ -1,19 +0,0 @@
+++
title = "First Post"
date = "2021-03-25T18:00:53-05:00"
author = "bbaovanc"
authorTwitter = "" #do not include @
cover = ""
tags = ["example"]
keywords = ["first"]
description = "First article"
showFullContent = false
+++
Hello, world!
This is another paragraph!
<!--more-->
This is some more!

View File

@ -1,25 +0,0 @@
+++
title = "Lorem Ipsum"
date = "2021-03-25T18:00:55-05:00"
author = "Lorem"
authorTwitter = "" #do not include @
cover = ""
tags = ["example", "lorem"]
showFullContent = false
+++
## Lorem
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam malesuada bibendum arcu vitae. Suspendisse ultrices gravida dictum fusce ut placerat. Volutpat est velit egestas dui id ornare arcu. Quisque egestas diam in arcu. Augue lacus viverra vitae congue eu consequat ac. Tortor at auctor urna nunc id. Eu consequat ac felis donec. Nulla aliquet porttitor lacus luctus accumsan tortor. Justo nec ultrices dui sapien. Nec ullamcorper sit amet risus. Eleifend quam adipiscing vitae proin sagittis nisl rhoncus mattis rhoncus. Risus nullam eget felis eget nunc. Ut placerat orci nulla pellentesque dignissim enim sit amet.
<!--more-->
## Ipsum
At varius vel pharetra vel turpis nunc eget. Dolor morbi non arcu risus quis varius. Suspendisse potenti nullam ac tortor vitae purus faucibus ornare suspendisse. Sit amet facilisis magna etiam tempor orci eu. Nulla porttitor massa id neque. Volutpat consequat mauris nunc congue nisi vitae suscipit. Aliquet risus feugiat in ante. Lacus laoreet non curabitur gravida. Diam donec adipiscing tristique risus nec feugiat. Pharetra magna ac placerat vestibulum lectus mauris ultrices eros. Sed arcu non odio euismod lacinia at quis. Aliquam ultrices sagittis orci a. Libero nunc consequat interdum varius sit amet. Donec ultrices tincidunt arcu non sodales neque. Metus dictum at tempor commodo ullamcorper a lacus vestibulum.
Amet consectetur adipiscing elit pellentesque habitant. Dignissim convallis aenean et tortor at risus viverra adipiscing. Odio aenean sed adipiscing diam. Sociis natoque penatibus et magnis dis parturient montes nascetur. Eget mauris pharetra et ultrices. Neque sodales ut etiam sit amet nisl. Consequat ac felis donec et odio pellentesque. Morbi non arcu risus quis varius quam quisque. Sit amet facilisis magna etiam tempor orci. Augue mauris augue neque gravida in fermentum et sollicitudin. Eget nullam non nisi est sit. Nunc eget lorem dolor sed viverra ipsum nunc. Vulputate sapien nec sagittis aliquam malesuada bibendum arcu vitae. Sed vulputate odio ut enim blandit volutpat. Turpis nunc eget lorem dolor sed viverra ipsum nunc. Fermentum posuere urna nec tincidunt. Malesuada pellentesque elit eget gravida cum sociis. Interdum velit euismod in pellentesque massa placerat duis ultricies lacus.
Tempor id eu nisl nunc. Et egestas quis ipsum suspendisse. Consectetur adipiscing elit ut aliquam purus sit amet luctus. Adipiscing tristique risus nec feugiat in. Nibh tellus molestie nunc non blandit massa enim. Cras fermentum odio eu feugiat. Urna id volutpat lacus laoreet non curabitur gravida arcu ac. Quis commodo odio aenean sed adipiscing diam. Vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam. Netus et malesuada fames ac turpis. Nunc scelerisque viverra mauris in aliquam. Ut porttitor leo a diam sollicitudin tempor id eu nisl. Facilisis magna etiam tempor orci eu lobortis elementum. Vitae semper quis lectus nulla at volutpat diam ut. Pellentesque adipiscing commodo elit at imperdiet dui accumsan. Risus nullam eget felis eget. Neque volutpat ac tincidunt vitae semper quis lectus. Neque egestas congue quisque egestas diam in. Egestas quis ipsum suspendisse ultrices gravida dictum fusce. A iaculis at erat pellentesque adipiscing commodo elit at imperdiet.
Amet aliquam id diam maecenas ultricies mi eget mauris. Est placerat in egestas erat imperdiet sed euismod. Vel quam elementum pulvinar etiam non. Eros donec ac odio tempor orci dapibus ultrices in. Sagittis nisl rhoncus mattis rhoncus urna neque. Quam viverra orci sagittis eu volutpat odio facilisis. Maecenas pharetra convallis posuere morbi leo urna molestie. Mauris pellentesque pulvinar pellentesque habitant. Cursus in hac habitasse platea dictumst quisque. Nibh venenatis cras sed felis eget velit aliquet sagittis id.

View File

@ -0,0 +1,36 @@
+++
title = "New Comment System (again)"
date = "2021-04-17T00:08:30-05:00"
author = "bbaovanc"
tags = ["announcement", "hugo", "blog"]
keywords = ["hugo", "comment system", "blog", "commento"]
description = """
I decided to switch my comment system from Isso to
[Commento](https://www.commento.io/)
"""
showFullContent = false
+++
## Isso vs Commento
I know it's only been six days since I added Isso, but I decided to switch to a
better comment system. Isso is meant to be simple, which means that it's missing
a lot of features. Commento has a lot of features such as sticky (pinned)
comments, spam detection, thread locking, email notifications (I couldn't get
this working on Isso), and a nicer design. I also was able to write some
[custom CSS rules][1] which make it look alright on my blog's theme. It also
supports SSO, so I might add support for signing up with GitHub, and possibly
GitLab.
## Summary of the [first post]({{< ref "/posts/new-comment-system" >}})
If you haven't read the
[New Comment System]({{< ref "/posts/new-comment-system" >}}) post, here's the
most important information. There's a comment section at the bottom of each post
where you can view and post comments. You can post anonymously, or create an
account so you can show your username and get email notifications. You can also
upvote, downvote, and reply to other comments.
[1]: https://git.bbaovanc.com/bbaovanc.com/blog/src/commit/478e15218313a33216d361de387b3bd878cd0ba6/assets/css/comments.css

View File

@ -0,0 +1,39 @@
+++
title = "New Comment System"
date = "2021-04-11T00:17:13-05:00"
author = "bbaovanc"
tags = ["announcement", "hugo", "blog"]
keywords = ["hugo", "comment system", "blog", "isso"]
description = """
I added a comment system to my blog, using [Isso](https://posativ.org/isso/).
"""
showFullContent = false
toc = true
+++
## About
I set up a comment system named [Isso](https://posativ.org/isso/) on my blog
today. At the bottom of each blog post, there's a comment section. You don't
need to sign up with an account or sign in with Google, Facebook, none of that
junk. You can comment anonymously, or provide any of the following three fields:
name, email address, and website, which will be shown to other people viewing
your comment. I'm going off of the assumption that no one cares/is malicious
enough to spam my comment sections.
## Known Issues
### Editing and deleting not working
You're supposed to be able to edit and delete comments up to 15 minutes after
posting them. As of now, that doesn't seem to be working; the request just
returns 403 (forbidden).
### White text on white background when previewing comment
This is a CSS related issue. This was also happening when editing/writing a
comment, but I edited it so the edit box has black text. I think a better fix is
to make the new comment form have a dark background, but I'll deal with that
later.

View File

@ -0,0 +1,29 @@
+++
title = "Text Substitution in Discord using `sed`"
date = "2021-03-25T18:48:15-05:00"
author = "bbaovanc"
tags = ["tutorial", "discord", "discord-tricks"]
keywords = ["discord", "sed", "text", "replacement"]
description = """
Discord has (very primitive) support for text replacement using `sed` syntax.
"""
showFullContent = false
+++
## Tutorial
[Example Video](/blog/media/discord-tricks/sed-text-replacement.mov)
If you send a message using `sed` substitution format (`s/old text/new text`),
Discord will execute it on the message you've last sent.
## Caveats
- Regex is not supported
- Global substitution is not supported
*This post was adapted from [gitea:bbaovanc/discord-tricks][1]*
[1]: https://git.bbaovanc.com/bbaovanc/discord-tricks

View File

@ -0,0 +1,15 @@
{{ $css := resources.Get "css/comments.css" }}
{{ $style := $css | resources.Minify }}
<script defer
src="https://commento.bbaovanc.com/js/commento.js"
data-page-id="{{ .RelPermalink }}"
data-no-fonts="true"
data-css-override="{{ $style.Permalink }}">
</script>
<div id="commento"></div>
<noscript>
<br />
<b>Comments are not available when JavaScript is disabled.</b>
</noscript>

10
layouts/partials/nav.html Normal file
View File

@ -0,0 +1,10 @@
<!--This file is exactly the same as the one in the theme, except references
to /blog are changed to /posts (since that's what I use).
See lines 7 and 8.-->
<a href="{{ "/" | relURL }}">Home</a>
{{ range .Site.Menus.main }}
<a href="{{ .URL }}">{{ .Name }}</a>
{{ end }}
{{ with .Site.GetPage "/posts" }}
<a href="{{ "/posts" | relURL }}">Blog</a>
{{ end }}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

922
static/img/favicon.svg Normal file
View File

@ -0,0 +1,922 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="8"
height="8"
viewBox="0 0 2.1166666 2.1166666"
version="1.1"
id="svg40"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
sodipodi:docname="catalex-circle.svg">
<defs
id="defs34">
<clipPath
id="clipPath57"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle59"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath61"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle63"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath65"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle67"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath69"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle71"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath73"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle75"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath77"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle79"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath81"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle83"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath85"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle87"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath89"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle91"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath93"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle95"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath97"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle99"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath101"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle103"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath105"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle107"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath109"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle111"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath113"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle115"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath117"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle119"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath121"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle123"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath125"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle127"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath129"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle131"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath133"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle135"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath137"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle139"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath141"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle143"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath145"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle147"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath149"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle151"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath153"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle155"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath157"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle159"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath161"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle163"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath165"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle167"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath169"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle171"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath173"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle175"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath177"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle179"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath181"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle183"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath185"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle187"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath189"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle191"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath193"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle195"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath197"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle199"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath201"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle203"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath205"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle207"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath209"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle211"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath213"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle215"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath217"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle219"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath221"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle223"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath225"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle227"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath229"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle231"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath233"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle235"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath237"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle239"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath241"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle243"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
<clipPath
id="clipPath245"
clipPathUnits="userSpaceOnUse">
<circle
r="1.0583333"
cy="1.0583333"
cx="1.0583333"
id="circle247"
style="fill:#5d605c;fill-opacity:0.6;stroke-width:0.264583" />
</clipPath>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="64"
inkscape:cx="3.1419425"
inkscape:cy="4.5306433"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
units="px"
showguides="true"
inkscape:window-width="1920"
inkscape:window-height="1006"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata37">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
clip-path="url(#clipPath245)"
style="fill:#e59947;fill-opacity:1;stroke-width:0.264583"
id="rect1004"
width="0.26458332"
height="0.26458332"
x="0"
y="0" />
<rect
clip-path="url(#clipPath241)"
style="fill:#e58d3f;fill-opacity:1;stroke-width:0.264583"
id="rect1006"
width="0.26458332"
height="0.26458332"
x="0.26458332"
y="0" />
<rect
clip-path="url(#clipPath237)"
y="0.26458332"
x="0"
height="0.26458335"
width="0.26458332"
id="rect1006-7"
style="fill:#e58d3f;fill-opacity:1;stroke-width:0.264583" />
<rect
clip-path="url(#clipPath233)"
y="0.52916664"
x="0.26458332"
height="0.26458338"
width="0.26458338"
id="rect1006-5"
style="fill:#e58d3f;fill-opacity:1;stroke-width:0.264583" />
<rect
clip-path="url(#clipPath229)"
y="0.26458332"
x="0.52916664"
height="0.26458332"
width="0.26458332"
id="rect1006-3"
style="fill:#e58d3f;fill-opacity:1;stroke-width:0.264583" />
<rect
clip-path="url(#clipPath225)"
y="6.7858374e-10"
x="0.79374999"
height="0.26458332"
width="0.26458332"
id="rect1006-56"
style="fill:#e58d3f;fill-opacity:1;stroke-width:0.264583" />
<rect
clip-path="url(#clipPath221)"
y="6.7858374e-10"
x="0.52916664"
height="0.26458332"
width="0.26458332"
id="rect1004-2"
style="fill:#e59947;fill-opacity:1;stroke-width:0.264583" />
<rect
clip-path="url(#clipPath217)"
y="0.26458332"
x="0.26458332"
height="0.26458332"
width="0.26458332"
id="rect1004-9"
style="fill:#e59947;fill-opacity:1;stroke-width:0.264583" />
<rect
clip-path="url(#clipPath213)"
y="0.26458332"
x="0.79374999"
height="0.26458332"
width="0.26458332"
id="rect1004-1"
style="fill:#e59947;fill-opacity:1;stroke-width:0.264583" />
<rect
clip-path="url(#clipPath209)"
y="0.52916664"
x="0.52916664"
height="0.26458332"
width="0.26458332"
id="rect1004-27"
style="fill:#e59947;fill-opacity:1;stroke-width:0.264583" />
<rect
clip-path="url(#clipPath205)"
y="0.52916664"
x="0"
height="0.26458332"
width="0.26458332"
id="rect1004-0"
style="fill:#e59947;fill-opacity:1;stroke-width:0.264583" />
<rect
clip-path="url(#clipPath201)"
style="fill:#dc933c;fill-opacity:1;stroke-width:0.264583"
id="rect1083"
width="0.26458332"
height="0.26458332"
x="0"
y="0.79374999" />
<rect
clip-path="url(#clipPath197)"
y="0.79374999"
x="0.26458332"
height="0.26458332"
width="0.26458332"
id="rect1083-9"
style="fill:#dc933c;fill-opacity:1;stroke-width:0.264583" />
<rect
clip-path="url(#clipPath193)"
y="0.79374999"
x="0.52916664"
height="0.26458332"
width="0.26458332"
id="rect1083-3"
style="fill:#dc933c;fill-opacity:1;stroke-width:0.264583" />
<rect
clip-path="url(#clipPath189)"
y="0.52916664"
x="0.79374999"
height="0.26458332"
width="0.26458332"
id="rect1083-6"
style="fill:#dc933c;fill-opacity:1;stroke-width:0.264583" />
<rect
clip-path="url(#clipPath185)"
style="fill:#000000;fill-opacity:1;stroke-width:0.264583"
id="rect1112"
width="1.0583333"
height="0.26458332"
x="1.0583333"
y="0" />
<rect
clip-path="url(#clipPath181)"
style="fill:#000000;fill-opacity:1;stroke-width:0.264583"
id="rect1114"
width="0.26458332"
height="1.0583333"
x="1.8520833"
y="0.26458332" />
<rect
clip-path="url(#clipPath177)"
style="fill:#000000;fill-opacity:1;stroke-width:0.264583"
id="rect1116"
width="0.26458332"
height="0.52916664"
x="1.8520833"
y="1.5875" />
<rect
clip-path="url(#clipPath173)"
style="fill:#000000;fill-opacity:1;stroke-width:0.264583"
id="rect1118"
width="0.79375005"
height="0.26458335"
x="1.0583333"
y="1.8520833" />
<rect
clip-path="url(#clipPath169)"
style="fill:#000000;fill-opacity:1;stroke-width:0.264583"
id="rect1120"
width="0.26458332"
height="0.79374999"
x="1.0583333"
y="0.26458332" />
<rect
clip-path="url(#clipPath165)"
style="fill:#ebd3b3;fill-opacity:1;stroke-width:0.264583"
id="rect1122"
width="0.26458332"
height="0.26458332"
x="0.79374999"
y="0.79374999" />
<rect
clip-path="url(#clipPath161)"
style="fill:#236224;fill-opacity:1;stroke-width:0.264583"
id="rect1124"
width="0.26458332"
height="0.26458332"
x="0.52916664"
y="1.0583333" />
<rect
clip-path="url(#clipPath157)"
style="fill:#fbfbfb;fill-opacity:1;stroke-width:0.264583"
id="rect1126"
width="0.26458332"
height="0.26458332"
x="0.26458332"
y="1.0583333" />
<rect
clip-path="url(#clipPath153)"
style="fill:#e4cba9;fill-opacity:1;stroke-width:0.264583"
id="rect1128"
width="0.26458332"
height="0.26458332"
x="0"
y="1.0583333" />
<rect
clip-path="url(#clipPath149)"
style="fill:#eed6b6;fill-opacity:1;stroke-width:0.264583"
id="rect1130"
width="0.26458332"
height="0.26458332"
x="0"
y="1.3229166" />
<rect
clip-path="url(#clipPath145)"
style="fill:#f2daba;fill-opacity:1;stroke-width:0.264583"
id="rect1132"
width="0.26458332"
height="0.26458332"
x="0"
y="1.5875" />
<rect
clip-path="url(#clipPath141)"
style="fill:#f2daba;fill-opacity:1;stroke-width:0.264583"
id="rect1134"
width="0.52916664"
height="0.26458335"
x="0"
y="1.8520833" />
<rect
clip-path="url(#clipPath137)"
style="fill:#efd9bb;fill-opacity:1;stroke-width:0.264583"
id="rect1136"
width="0.26458332"
height="0.26458332"
x="0.26458332"
y="1.3229166" />
<rect
clip-path="url(#clipPath133)"
style="fill:#f2daba;fill-opacity:1;stroke-width:0.264583"
id="rect1138"
width="0.26458332"
height="0.52916664"
x="0.52916664"
y="1.3229166" />
<rect
clip-path="url(#clipPath129)"
style="fill:#f2ddc2;fill-opacity:1;stroke-width:0.264583"
id="rect1140"
width="0.26458332"
height="0.26458332"
x="0.26458332"
y="1.5875" />
<rect
clip-path="url(#clipPath125)"
style="fill:#f2ddc2;fill-opacity:1;stroke-width:0.264583"
id="rect1142"
width="0.26458332"
height="0.26458332"
x="0.52916664"
y="1.8520833" />
<rect
clip-path="url(#clipPath121)"
style="fill:#f2daba;fill-opacity:1;stroke-width:0.264583"
id="rect1144"
width="0.26458332"
height="0.26458332"
x="0.79374999"
y="1.8520833" />
<rect
clip-path="url(#clipPath117)"
style="fill:#f2ddc2;fill-opacity:1;stroke-width:0.264583"
id="rect1146"
width="0.26458332"
height="0.26458332"
x="0.79374999"
y="1.3229166" />
<rect
clip-path="url(#clipPath113)"
style="fill:#f2daba;fill-opacity:1;stroke-width:0.264583"
id="rect1148"
width="0.26458332"
height="0.26458332"
x="0.79374999"
y="1.0583333" />
<rect
clip-path="url(#clipPath109)"
style="fill:#efbbb1;fill-opacity:1;stroke-width:0.264583"
id="rect1150"
width="0.26458332"
height="0.26458332"
x="0.79374999"
y="1.5875" />
<rect
clip-path="url(#clipPath105)"
style="fill:#000000;fill-opacity:1;stroke-width:0.264583"
id="rect1152"
width="0.26458332"
height="0.26458332"
x="1.3229166"
y="0.26458332" />
<rect
clip-path="url(#clipPath101)"
style="fill:#303130;fill-opacity:1;stroke-width:0.264583"
id="rect1154"
width="0.52916664"
height="0.26458332"
x="1.3229166"
y="0.52916664" />
<rect
clip-path="url(#clipPath97)"
style="fill:#d57cac;fill-opacity:1;stroke-width:0.264583"
id="rect1156"
width="0.26458332"
height="0.26458332"
x="1.5875"
y="0.26458332" />
<rect
clip-path="url(#clipPath93)"
style="fill:#5d605c;fill-opacity:1;stroke-width:0.264583"
id="rect1158"
width="0.52916664"
height="0.26458332"
x="1.3229166"
y="0.79374999" />
<rect
clip-path="url(#clipPath89)"
style="fill:#eaf50a;fill-opacity:1;stroke-width:0.264583"
id="rect1160"
width="0.26458332"
height="0.26458332"
x="1.3229166"
y="1.0583333" />
<rect
clip-path="url(#clipPath85)"
style="fill:#f6f7de;fill-opacity:1;stroke-width:0.264583"
id="rect1162"
width="0.26458332"
height="0.26458332"
x="1.5875"
y="1.0583333" />
<rect
clip-path="url(#clipPath81)"
style="fill:#5d605c;fill-opacity:1;stroke-width:0.264583"
id="rect1164"
width="0.26458332"
height="0.26458332"
x="1.8520833"
y="1.3229166" />
<rect
clip-path="url(#clipPath77)"
style="fill:#303130;fill-opacity:1;stroke-width:0.264583"
id="rect1166"
width="0.26458332"
height="0.52916664"
x="1.5875"
y="1.3229166" />
<rect
clip-path="url(#clipPath73)"
style="fill:#959d98;fill-opacity:1;stroke-width:0.264583"
id="rect1168"
width="0.26458332"
height="0.26458332"
x="1.3229166"
y="1.3229166" />
<rect
clip-path="url(#clipPath69)"
style="fill:#959d98;fill-opacity:1;stroke-width:0.264583"
id="rect1170"
width="0.26458332"
height="0.26458332"
x="1.0583333"
y="1.5875" />
<rect
clip-path="url(#clipPath65)"
style="fill:#e7a2cd;fill-opacity:1;stroke-width:0.264583"
id="rect1172"
width="0.26458332"
height="0.26458332"
x="1.0583333"
y="1.3229166" />
<rect
clip-path="url(#clipPath61)"
style="fill:#f6f6ee;fill-opacity:1;stroke-width:0.264583"
id="rect1174"
width="0.26458332"
height="0.26458332"
x="1.3229166"
y="1.5875" />
<rect
clip-path="url(#clipPath57)"
style="fill:#5d605c;fill-opacity:1;stroke-width:0.264583"
id="rect1176"
width="0.26458332"
height="0.26458332"
x="1.0583333"
y="1.0583333" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

1
themes/hugo-bearblog Submodule

Submodule themes/hugo-bearblog added at 11d7e54cb9

Submodule themes/terminal deleted from aaaadafec9