Compare commits
21 Commits
example-po
...
full-text-
Author | SHA1 | Date | |
---|---|---|---|
2422df5db7
|
|||
fef9c0895e
|
|||
aa1c520d55
|
|||
8a2a77bba3
|
|||
fff1bdd0de
|
|||
6878e125e1
|
|||
3a8b1c6a8d
|
|||
afcaa99cf5
|
|||
cb44bb4b87
|
|||
e3fc548034
|
|||
fbde75e8c6
|
|||
e84980adcb
|
|||
46c1660d52
|
|||
9094e37b08
|
|||
e7637b186e
|
|||
edd7f8b030
|
|||
febefb8c67
|
|||
28b2a2eff8
|
|||
e68c00a4e2
|
|||
42eed53cef
|
|||
7c568ef4d5
|
11
.editorconfig
Normal file
11
.editorconfig
Normal 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
|
12
Makefile
Normal file
12
Makefile
Normal 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
|
139
config.toml
139
config.toml
@ -2,72 +2,109 @@ baseURL = "https://bbaovanc.com/blog/"
|
|||||||
languageCode = "en-us"
|
languageCode = "en-us"
|
||||||
theme = "terminal"
|
theme = "terminal"
|
||||||
paginate = 5
|
paginate = 5
|
||||||
|
enableGitInfo = true
|
||||||
|
|
||||||
|
[mediaTypes]
|
||||||
|
[mediaTypes."text/sql"]
|
||||||
|
suffixes = ["sql"]
|
||||||
|
|
||||||
|
[outputFormats]
|
||||||
|
[outputFormats.SQL]
|
||||||
|
mediaType = "text/sql"
|
||||||
|
|
||||||
|
[outputs]
|
||||||
|
home = ["sql", "html"]
|
||||||
|
|
||||||
# [permalinks]
|
# [permalinks]
|
||||||
# posts = "/:year/:month/:title/"
|
# posts = "/:year/:month/:title/"
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
# dir name of your main content (default is `content/posts`).
|
# dir name of your main content (default is `content/posts`).
|
||||||
# the list of set content will show up on your index page (baseurl).
|
# the list of set content will show up on your index page (baseurl).
|
||||||
contentTypeName = "posts"
|
contentTypeName = "posts"
|
||||||
|
|
||||||
# ["orange", "blue", "red", "green", "pink"]
|
# ["orange", "blue", "red", "green", "pink"]
|
||||||
themeColor = "blue"
|
themeColor = "blue"
|
||||||
|
|
||||||
# if you set this to 0, only submenu trigger will be visible
|
# if you set this to 0, only submenu trigger will be visible
|
||||||
showMenuItems = 2
|
showMenuItems = 5
|
||||||
|
|
||||||
# show selector to switch language
|
# show selector to switch language
|
||||||
showLanguageSelector = false
|
showLanguageSelector = false
|
||||||
|
|
||||||
# set theme to full screen width
|
# set theme to full screen width
|
||||||
fullWidthTheme = false
|
fullWidthTheme = false
|
||||||
|
|
||||||
# center theme with default width
|
# center theme with default width
|
||||||
centerTheme = true
|
centerTheme = true
|
||||||
|
|
||||||
# set a custom favicon (default is a `themeColor` square)
|
# set a custom favicon (default is a `themeColor` square)
|
||||||
favicon = "img/favicon.ico"
|
favicon = "icon/favicon.ico"
|
||||||
|
|
||||||
# set post to show the last updated
|
# 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
|
# 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
|
# 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"
|
# updatedDatePrefix = "Updated"
|
||||||
|
|
||||||
# set all headings to their default size (depending on browser settings)
|
# set all headings to their default size (depending on browser settings)
|
||||||
# it's set to `true` by default
|
# it's set to `true` by default
|
||||||
# oneHeadingSize = false
|
# oneHeadingSize = false
|
||||||
|
|
||||||
[params.twitter]
|
[params.twitter]
|
||||||
# set Twitter handles for Twitter cards
|
# set Twitter handles for Twitter cards
|
||||||
# see https://developer.twitter.com/en/docs/tweets/optimize-with-cards/guides/getting-started#card-and-content-attribution
|
# see https://developer.twitter.com/en/docs/tweets/optimize-with-cards/guides/getting-started#card-and-content-attribution
|
||||||
# do not include @
|
# do not include @
|
||||||
creator = ""
|
creator = ""
|
||||||
site = ""
|
site = ""
|
||||||
|
|
||||||
[languages]
|
[languages]
|
||||||
[languages.en]
|
[languages.en]
|
||||||
languageName = "English"
|
languageName = "English"
|
||||||
title = "bbaovanc's blog"
|
title = "bbaovanc's blog"
|
||||||
subtitle = "My personal blog site"
|
subtitle = "My personal blog site"
|
||||||
owner = "bbaovanc"
|
owner = "bbaovanc"
|
||||||
keywords = ""
|
keywords = ""
|
||||||
copyright = ""
|
copyright = ""
|
||||||
menuMore = "Show more"
|
menuMore = "Show more"
|
||||||
readMore = "Read more"
|
readMore = "Read more"
|
||||||
readOtherPosts = "Read other posts"
|
readOtherPosts = "Read other posts"
|
||||||
newerPosts = "Newer posts"
|
newerPosts = "Newer posts"
|
||||||
olderPosts = "Older posts"
|
olderPosts = "Older posts"
|
||||||
missingContentMessage = "Page not found..."
|
missingContentMessage = "Page not found..."
|
||||||
missingBackButtonLabel = "Back to home page"
|
missingBackButtonLabel = "Back to home page"
|
||||||
|
|
||||||
[languages.en.params.logo]
|
[languages.en.params.logo]
|
||||||
logoText = "bbaovanc's blog"
|
logoText = "bbaovanc's blog"
|
||||||
logoHomeLink = "/blog/"
|
logoHomeLink = "/blog/"
|
||||||
|
|
||||||
[languages.en.menu]
|
[languages.en.menu]
|
||||||
[[languages.en.menu.main]]
|
[[languages.en.menu.main]]
|
||||||
identifier = "other-sites"
|
identifier = "tags"
|
||||||
name = "Other Sites"
|
name = "Tags"
|
||||||
url = "/other-sites"
|
url = "/tags"
|
||||||
|
weight = 10
|
||||||
|
|
||||||
|
[[languages.en.menu.main]]
|
||||||
|
identifier = "links"
|
||||||
|
name = "Links"
|
||||||
|
url = "/links"
|
||||||
|
weight = 20
|
||||||
|
|
||||||
|
[[languages.en.menu.main]]
|
||||||
|
identifier = "rss"
|
||||||
|
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
41
content/links.md
Normal 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)
|
@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Other Sites"
|
|
||||||
draft: false
|
|
||||||
---
|
|
||||||
|
|
||||||
- [GitHub](https://github.com/BBaoVanC)
|
|
||||||
- [Gitea](https://git.bbaovanc.com)
|
|
49
content/posts/checkra1n-gui-on-other-distros.md
Normal file
49
content/posts/checkra1n-gui-on-other-distros.md
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
+++
|
||||||
|
title = "Checkra1n GUI on Other Distros"
|
||||||
|
date = "2021-03-25T21:19:51-05:00"
|
||||||
|
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.
|
||||||
|
"""
|
||||||
|
|
||||||
|
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).
|
29
content/posts/edited-in-middle-of-message-discord.md
Normal file
29
content/posts/edited-in-middle-of-message-discord.md
Normal 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.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.
|
||||||
|
"""
|
||||||
|
|
||||||
|
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
|
29
content/posts/sed-text-substitution-in-discord.md
Normal file
29
content/posts/sed-text-substitution-in-discord.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
+++
|
||||||
|
title = "Text Substitution in Discord using `sed`"
|
||||||
|
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.
|
||||||
|
"""
|
||||||
|
|
||||||
|
showFullContent = false
|
||||||
|
+++
|
||||||
|
|
||||||
|
## How-to
|
||||||
|
|
||||||
|
[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
|
17
layouts/_default/baseof.sql.sql
Normal file
17
layouts/_default/baseof.sql.sql
Normal 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 }}
|
13
layouts/_default/home.sql.sql
Normal file
13
layouts/_default/home.sql.sql
Normal 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 }}
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
BIN
static/media/checkra1n-gui-on-arch-linux.png
Normal file
BIN
static/media/checkra1n-gui-on-arch-linux.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
BIN
static/media/discord-tricks/edited-in-middle-of-message.png
Normal file
BIN
static/media/discord-tricks/edited-in-middle-of-message.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.8 KiB |
BIN
static/media/discord-tricks/sed-text-replacement.mov
Normal file
BIN
static/media/discord-tricks/sed-text-replacement.mov
Normal file
Binary file not shown.
Reference in New Issue
Block a user