10 Commits

11 changed files with 149 additions and 33 deletions

View File

@ -7,5 +7,5 @@ indent_style = space
indent_size = 2
trim_trailing_whitespace = true
#[*.md]
#max_line_length = 80
[*.md]
max_line_length = 80

View File

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

View File

@ -2,6 +2,18 @@ baseURL = "https://bbaovanc.com/blog/"
languageCode = "en-us"
theme = "terminal"
paginate = 5
enableGitInfo = true
[mediaTypes]
[mediaTypes."text/sql"]
suffixes = ["sql"]
[outputFormats]
[outputFormats.SQL]
mediaType = "text/sql"
[outputs]
home = ["sql", "html"]
# [permalinks]
# posts = "/:year/:month/:title/"
@ -15,7 +27,7 @@ paginate = 5
themeColor = "blue"
# if you set this to 0, only submenu trigger will be visible
showMenuItems = 2
showMenuItems = 5
# show selector to switch language
showLanguageSelector = false
@ -31,7 +43,7 @@ paginate = 5
# 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
showLastUpdated = true
# 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"
@ -68,15 +80,15 @@ paginate = 5
[languages.en.menu]
[[languages.en.menu.main]]
identifier = "other-sites"
name = "Other Sites"
url = "/other-sites"
identifier = "tags"
name = "Tags"
url = "/tags"
weight = 10
[[languages.en.menu.main]]
identifier = "main-website"
name = "Main Website"
url = "https://bbaovanc.com/"
identifier = "links"
name = "Links"
url = "/links"
weight = 20
[[languages.en.menu.main]]
@ -84,3 +96,15 @@ paginate = 5
name = "RSS Feed"
url = "/posts/index.xml"
weight = 30
[[languages.en.menu.main]]
identifier = "main-website"
name = "Main Website"
url = "https://bbaovanc.com/"
weight = 40
[[languages.en.menu.main]]
identifier = "source-code"
name = "Source Code"
url = "https://git.bbaovanc.com/bbaovanc.com/blog"
weight = 50

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://searx.bbaovanc.com/) -
[source code](https://github.com/BBaoVanC/searx.bbaovanc.com)
- [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

@ -5,20 +5,30 @@ author = "bbaovanc"
cover = "/blog/media/checkra1n-gui-on-arch-linux.png"
tags = ["linux", "archlinux", "jailbreak", "checkra1n"]
keywords = ["checkra1n", "gui", "linux", "arch linux"]
description = "You can run the GUI version of checkra1n on non Debian-based distributions. (The GUI looks garbled here because I have a high DPI monitor)"
description = """
You can run the GUI version of checkra1n on non Debian-based distributions.
"""
showFullContent = false
toc = true
+++
*The GUI above looks garbled because I have a high DPI monitor.*
## 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.
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:
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`)
@ -26,10 +36,14 @@ First, download the Debian package available at `https://assets.checkra.in/debia
- 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 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.
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).
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

@ -5,7 +5,12 @@ author = "bbaovanc"
cover = "media/discord-tricks/edited-in-middle-of-message.png"
tags = ["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."
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
+++
@ -19,4 +24,6 @@ showFullContent = false
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](https://git.bbaovanc.com/bbaovanc/discord-tricks)*
*This post was adapted from [gitea:bbaovanc/discord-tricks][1]*
[1]: https://git.bbaovanc.com/bbaovanc/discord-tricks

View File

@ -4,7 +4,11 @@ date = "2021-03-25T18:48:15-05:00"
author = "bbaovanc"
tags = ["discord", "discord-tricks"]
keywords = ["discord", "sed", "text", "replacement"]
description = "Discord has (very primitive) support for text replacement using `sed` syntax."
description = """
Discord has (very primitive) support for text replacement using `sed` syntax.
"""
showFullContent = false
+++
@ -12,11 +16,14 @@ showFullContent = false
[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.
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](https://git.bbaovanc.com/bbaovanc/discord-tricks)*
*This post was adapted from [gitea:bbaovanc/discord-tricks][1]*
[1]: https://git.bbaovanc.com/bbaovanc/discord-tricks

View File

@ -0,0 +1,17 @@
DROP TABLE IF EXISTS db.blog;
CREATE TABLE db.blog (
id INT NOT NULL AUTO_INCREMENT,
published DATE NOT NULL,
title TEXT NOT NULL,
body TEXT NOT NULL,
url varchar(2048) NOT NULL,
CONSTRAINT id_PK PRIMARY KEY (id)
)
ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_general_ci;
CREATE FULLTEXT INDEX blog_body_IDX ON db.blog (body);
{{ block "main" .}}
{{ end }}

View File

@ -0,0 +1,13 @@
{{ define "main" }}
{{ range (where .Pages "Section" "ne" "gist") }}
{{ range .Pages }}
INSERT INTO db.blog (published, title, body, url)
VALUES(
'{{ .Date.Format "2006-01-02" }}',
'{{ plainify .Title }}',
'{{ (plainify .Content) }}',
'{{ .Permalink }}'
);
{{ end }}
{{ end }}
{{ end }}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 33 KiB