Compare commits

...

10 commits

Author SHA1 Message Date
c0f2eec0ea
Update from github to forgejo 2024-03-02 15:32:57 +03:00
cde0bc071e
Pull the tabi theme 2024-03-02 15:32:34 +03:00
aeb4da0b09
Update my email and pgp 2024-03-02 15:16:06 +03:00
Awiteb
b873356146
Remove domain section
Remove the domain section from `about` post
2024-02-27 17:04:27 +03:00
Awiteb
5e501aa8a4
Add CNAME file, contains my domain 2024-02-27 16:58:00 +03:00
Awiteb
37231a687b
Fix typos 2024-02-27 16:50:21 +03:00
Awiteb
ad18b87239
Short up the main paths
- `archive` -> `a`
- `blog` -> `b`
- `projects` -> `p`
2024-02-27 16:47:33 +03:00
Awiteb
7603954f86
Pull the tabi theme 2024-02-27 16:33:06 +03:00
Awiteb
9edb4a81f4
Add Justfile and delete github workflows 2024-02-27 16:21:31 +03:00
Awiteb
0c0ddcf97d
Update checkout to v4 and unbuild the themes 2024-02-20 21:21:04 +03:00
15 changed files with 101 additions and 89 deletions

View file

@ -1,17 +0,0 @@
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build and deploy zola
uses: shalzz/zola-deploy-action@master
env:
PAGES_BRANCH: gh-pages
TOKEN: ${{ secrets.PAT }}
BUILD_THEMES: true

1
CNAME Normal file
View file

@ -0,0 +1 @@
4rs.nl

20
Justfile Normal file
View file

@ -0,0 +1,20 @@
OUT_DIR := "public"
@build:
zola build -o {{OUT_DIR}} --force
@deploy: build
#!/usr/bin/env bash
cd {{OUT_DIR}}
git init .
git checkout -B gh-pages
touch .nojekyll
git add .
git commit -m "Deploy blog to github pages"
git remote add origin $(git --git-dir ../.git remote get-url origin)
git push origin gh-pages -f
cd ..
rm -fr {{OUT_DIR}}
@install-tools:
echo "Run: `curl -s -L https://github.com/getzola/zola/releases/download/v0.18.0/zola-v0.18.0-x86_64-unknown-linux-gnu.tar.gz | sudo tar xvzf - -C /usr/local/bin`"

View file

@ -1,3 +1,13 @@
## My personal blog (Arabic)
This is my personal blog, where I write about programming, open source, and other things that I find interesting. I write in Arabic
## Deployment
> [!NOTE]
> This only works in Linux (and maybe MacOS).
To deploy this blog to GitHub Pages, you need to run `deploy` task in the `Justfile` file:
```bash
just deploy
```

View file

@ -1,4 +1,4 @@
base_url = "https://awiteb.is-a.dev"
base_url = "https://4rs.nl"
default_language = "ar"
theme = "tabi"
@ -70,7 +70,7 @@ previous_next_article_links_full_width = false
# $AUTHOR will be replaced by the `author` variable.
# $SEPARATOR will be replaced by the `separator` variable.
# Markdown is supported (links, emphasis, etc).
copyright = "© $CURRENT_YEAR $AUTHOR $SEPARATOR المحتوى الموجود في هذا الموقع متاح بموجب ترخيص [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.ar)."
copyright = "© $CURRENT_YEAR $AUTHOR $SEPARATOR هذا المحتوى مرخص بموجب رخصة [المشاع الإبداعي 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.ar)"
# Remote repository for your Zola site.
# Used for `show_remote_changes` and `show_remote_source` (see below).
@ -138,9 +138,9 @@ favicon = "/favicon.png"
social_media_card = "img/social_cards/index.jpg"
menu = [
{name = "blog", url = "blog/"},
{name = "archive", url = "archive/"},
{name = "projects", url = "projects/"},
{name = "blog", url = "b/"},
{name = "archive", url = "a/"},
{name = "projects", url = "p/"},
]
# Extra menu to show on the footer, below socials section.
@ -156,13 +156,13 @@ feed_icon = true
# Protect against spambots:
# 1. Use base64 for email (convert at https://www.base64encode.org/ or `printf 'your@email.com' | base64`).
# 2. Or, set 'encode_plaintext_email' to true for auto-encoding (only protects on site, not in public repos).
email = "QXdpdGViQHBtLm1l"
email = "YUA0cnMubmw="
# Decoding requires ~400 bytes of JavaScript. If JS is disabled, the email won't be displayed.
encode_plaintext_email = false # Setting is ignored if email is already encoded.
# The icons available can be found in "social_icons" in the "static" folder
socials = [
{name = "github", url = "https://github.com/TheAwiteb/", icon = "github"},
{name = "forgejo", url = "https://git.4rs.nl/", icon = "forgejo"},
{name = "telegram", url = "https://t.me/TheAwiteb", icon = "telegram"},
{name = "Bassam", url = "https://bassam.social/@me", icon = "mastodon"},
]

View file

@ -8,7 +8,7 @@ insert_anchor_links = "left"
[extra]
header = {title = "اهلآ، انا عويتب", img = "/img/awiteb-profile.png"}
section_path = "blog/_index.md"
section_path = "b/_index.md"
social_media_card = "img/social_cards/index.jpg"
max_posts = 4
+++

View file

@ -4,4 +4,5 @@ path = "archive"
template = "archive.html"
[extra]
section_path = "b/"
+++

View file

@ -1,6 +1,6 @@
+++
paginate_by = 5
path = "/blog"
path = "/b"
title = "تدويناتي"
sort_by = "date"
template = "section.html"

View file

@ -5,9 +5,9 @@ weight = 30
[extra]
local_image = "/img/projects/salvo-captcha/banner.png"
canonical_url = "https://awiteb.is-a.dev/projects/doteki/"
canonical_url = "https://4rs.nl/p/salvo-captcha/"
+++
<!-- social_media_card = "social_cards/projects_doteki.jpg" -->
<!-- social_media_card = "/img/projects/salvo-captcha/social.jpg" -->
هي وسيطة تساعدك على اضافة CAPTCHA إلى تطبيقك بسهولة.

View file

@ -26,17 +26,14 @@ social_media_card = "/img/social_cards/about.jpg"
### مكان إستضافتها
يتم استضافتها على [GitHub Pages](https://pages.github.com/) وهي خدمة مقدمة من GitHub لإستضافة المواقع التي لاتتطلب خادم لتعمل.
### النطاق المُستخدم
تستخدم المدونة نطاق [is-a.dev](https://is-a.dev) وهو نطاق مقدم من [Akshay Nair](https://github.com/phenax) إلى العامة لأخذ نطاق فرعي منه بشكل مجاني، لمعرفة المزيد يمكنك إلقاء نظرة على صفحة النطاق.
## طرق التواصل معي
طريقة التواصل التي ستستخدمها للتواصل معي تعتمد على سبب التواصل، وهذه هي الطرق ويجب عليك اختيار طريقة التواصل الصحيحة بناءً على سبب تواصل.
طريقة التواصل التي ستستخدمها للتواصل معي تعتمد على سبب التواصل، وهذه هي الطرق ويجب عليك اختيار طريقة التواصل المناسبة بناءً على سبب التواصل.
### تعليقات المدونة
لكل تدوينة يوجد خانة تعليقات في أسفلها، ستستخدمها إذا كان سبب التواصل هو الإستفسار عن شيء يخص التدوينة نفسها ولا يخرج عن نطاقها.
### البريد الإلكتروني
تواصل معي عبر البريد الالكتروني إذا كان موضوعك لايتطلب الدردشة ويمكن الرد عليه برسالة واحدة. تجد البريد الخاص بي أسفل جميع صفحات المدونة، وستجد ايضآ مفتاح الـ PGP الخاص بي، ومن المهم أن تستخدمه عند إرسالك رسالة لي، [للمزيد](https://awiteb.is-a.dev/pgp/).
تواصل معي عبر البريد الالكتروني إذا كان موضوعك لايتطلب الدردشة ويمكن الرد عليه برسالة واحدة. تجد البريد الخاص بي أسفل جميع صفحات المدونة، وستجد ايضآ مفتاح الـ PGP الخاص بي، ومن المهم أن تستخدمه عند إرسالك رسالة لي، [للمزيد](https://4rs.nl/pgp/).
### التيليجرام
تواصل معي عبر تطبيق التيليجرام إذا كان موضوعك يتطلب الدردشة ولايمكن الرد عليه برسالة واحدة. ستجد التيليجرام الخاص بي أسفل جميع صفحات المدونة

View file

@ -14,57 +14,57 @@ social_media_card = "/img/social_cards/pgp.jpg"
<summary>مفتاح الـPGP</summary>
<div dir=ltr>
```plaintext
```txt
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=oSci
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
Q6W3yUjcrXRCIftqkLZ87dO+AkkhtCmFFCqhd94=
=9prh
-----END PGP PUBLIC KEY BLOCK-----
```
@ -77,4 +77,4 @@ IJtqbB8SmKxXEU1kiIALlOGmPkHMASb30SrB1zftwZLw
## تنويه قبل الإرسال
يُفضل إرفاق مفتاحك العام مع الرسالة، ليمكنني الرد عليك بشكل آمن
[pgp.help]: https://pgp.help/#/permalink?pgp=-----BEGIN%20PGP%20PUBLIC%20KEY%20BLOCK-----%0D%0AVersion:%20OpenPGP.js%20v1.5.7%0D%0AComment:%20https:~2F~2Fpgp.help%0D%0A%0D%0AxsFNBGW4vgsBEADhexvUlbMz7X0QecUZgwvpzc1KHRSBTFS5Wgdz1xhOPMnY%0AT11zTLlxRpBdAaGXxJyaxavQqYyi9eqGqGvIhTVUM3zpixAydhPM1Z0gR6Sv%0Ave9AqGjJQDrLwRBujHd0YF8ke4xVHkkaYJGIIWbMp~2FyTVj4InhppBMi6rWRM%0AZyKyOIIuFvPh1IsMxlinEOec8G7~2FCQy8y1v1Js9PakQrSBJMaxRIOuZSacir%0AZU5qUFbthikUynyJ%2BjrEJMwKIg2jeWuDdO2b0928iKj5hOSEu96KOQYuLGbo%0A3VQGMi3PwFZAhrjdeF8Mb5a2BDbPGbtG3u9bhpLTYvrbdD0urStsMXUxVDfO%0AAnt1UQNkrfjhYcNlPyvcMZRbQFgy2nwGminot~2Fi1nEsFHEcYMow2d8sGJYC9%0Ai7A6oC2V4LwAuFzWZ68qgYebBllp7bkAwK7JMgYKRBmxBJD%2B5CP4ihVjcuM9%0AyZr10kFBBqGQUVOLGtEnshXUmJ1iB%2BzYwXBIEVn0cSe1MGUvLIgKb~2F0APItG%0AJJD%2B1hJDnr9RQPDtSGTH67rT3~2FMGQtjR6YiTm7AVCvkbrTx6nBT7jtCs27my%0AL2FT5TrlOTZhBcNrzcczempvJ~2FC%2BQJWIlbMxG1OC77kbi4kZI0ru0cHT3Lhi%0A7PzPIk~2FuZ%2Ba1oX4EAIgIYKVRZlQhD98gDLYMjwARAQABzRVBd2l0ZWIgPEF3%0AaXRlYkBwbS5tZT7CwY4EEwEKADgWIQQEp7LcqFGCpldziCQWyK0LScOciAUC%0AZbi%2BCwIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRAWyK0LScOciATu%0AEACAJdT~2F8w5MOi8lda~2FS2QVCURKhj0HPcHl0Nb7%2BZuhB~2FZvYCM55wFl86eq2%0AvUTdO11FC567TXMbMjxeM~2F4UvPPUdeR6q%2Bvwi4Xvepq0JW0QN8qa9DX3FRfK%0ANonoZKN~2FKwpgdRwuecw1OeaSfZvjkWZjpRIZJG~2F0d5HlLZIPRHLgRCmd2tPq%0AZNV79evijqQnhHaw8AKB9cNGaCUpVp%2BRzfEo7DYd4U2~2FpP%2BI5f7qYq2gjEK3%0Ah1a34Qz0g0nH8q77KKZYyCyXMqa%2BmYWC3~2F0Y6MfRRCoG6NxP6A9SdQAw~2FGu7%0AsfxsprUqT~2FXkGeohcpLcB1AcFOR5fD6FAmEgmmz~2FtNDBKffAl07NnrytibUc%0AESbVO0qSB%2B~2FibO14~2Fi1BlU~2F4JGKLfOrnx9%2BV76gI8shnyAOFDwlj6wPQDrK~2F%0ABUKGjY48T~2FyEkWGiiiV16fUBNp%2Bp2RDIdRX4wEX6ThBzjQXwf43isWTm9HN~2F%0Aarl~2FheD9VFHkbiUQrTXq8qLUl2hqNqmPodLO8~2FyIoJuQIVZBppOAkLHpM%2B6t%0AsLw~2Fcou31msXrwp~2FV76vJzP1bVWsa8bEW%2BjRBiR59fF4gePmULBo~2Fn%2BhoMxP%0AfsQq4~2FG8%2B%2BrvhinBWqjgubmEJDrG0qrELbCj1~2F1C~2F1Uw5labutKFDlHrfw2c%0ALHVHPz0lV6tXatXb0iRDcLcLNM7BTQRluL4LARAArgd~2F9Zp0aBpjfiOHVG47%0ADNnINDk5fkGkhleVBb1HPnCObiQFQte~2FcwJJzkZ4sPu%2BD0Xv88usYCcBwav5%0A4QcBTiQHj6ixjzQz7P%2BD7LHEBLkoj9XJHB9fFXKdt23t2YQ4L2xvh62tlds2%0AyZ4bIy3YehOc%2B%2Bc0USmaRLIxFfCDuPe7nzSKPWtro5T7V1ndRJVxtw8igqzL%0AongALvoNY8i~2F%2BtghuVqcvSXDYnmVJx4ciuI%2BwP0~2FUf0yERJfEXIbSEQaypRY%0A%2BmTZ66zLQG2PU0upywWFmdgRt%2BZumLmb5UTTqYNwBdaRQWg3E3OlFeFGUFKd%0AkeB0NX74Ig1HA~2F%2BFlT9w6Omf9U9OeQdrH4nrNYME0GYb5uskxFbe5omrHrA~2F%0AxCfDVsp65kJSztxtD6VKUwijydmRtfWMtudIkihFhXMd1v0E%2BL%2BIBPkC4neN%0AJJzEqya8xOUocR2NNbQbd7WrzuHnKoXMnJKsVFyaJs3mevZNaCLx1M3rKf6O%0ALKT2y~2F94nx%2BreU%2BaTJ67GPHvoWJiXyaa2eRE1HJ78t1YiZpJh1x0YvXIwofP%0At6XCpAgD75QrvCglVqClKcNAXv~2FwZeC0hWUCqLNuwZ8IX93pOZAP23vNmtji%0Ai~2FgH5QNXRaaJtc%2Ba8ivDr8iPqcUJeph46dM9Mkd25iZ%2BFhw5t5rx621dTFaa%0ALDcAEQEAAcLBdgQYAQoAIBYhBASnstyoUYKmV3OIJBbIrQtJw5yIBQJluL4L%0AAhsMAAoJEBbIrQtJw5yIM5EP~2F2pwGwgKpxPcTOFpAnIqqeR87i~2F8yDe~2FRY%2Bl%0AXgFEmwQhRxWIBPJihISQNCF32Jw47uYxzZG~2Farjim~2FYwVmqHFFqoV02sYOxx%0AYzDUkwGQfoIumO4awb5MbrImr08TPyTi65mUXvJTVWJAQus19QZEF0162c6N%0Acxo7Cuiiujt3h96RdtiH8dY%2BCMYHERfwYi3NP1Yy8LMHeyRjXLOn%2B5vsbnaj%0Ag1aZybFU57psCzfh0nLbdXnlJU08euORPs3Gq%2BsVW60JF9jfKdsMQX0TMVNu%0ACfS3ZtFDPXtrGJcZd%2BsTqYO%2BO2rwtj0vNmaVe892RMGFmHeMhNEa3KZEFngJ%0AykjTSFR~2FzOw%2BRtCwTNdOkH3ZlyC7tC0oFi86mGbiS8zY1TyRvfnbLVcy8D0y%0AmjQ9J35ZTK8HmdQhU1cD04ES1avfO5xksgZITY3Nwahld9PudXPRJcppQUUR%0AoZjK7E28%2BUOBemW~2Fsm%2BO7%2BWjIHAWi0FVfUA6Y~2FcLY87tUDAh4hKjyE0Fg%2BIw%0AsICIu%2BtsCf965AldFEKVsuTwUhLuJInEHEQcWlGoZBfkkxbJl%2BNWWtuEKF08%0A8Z~2FNq3GTmbF2KTKBG1jMWOVRUBtl1rNdh8%2BGhfpVMPvdYTBg0L5Sk~2Fl8Qki7%0AaO8qIJtqbB8SmKxXEU1kiIALlOGmPkHMASb30SrB1zftwZLw%0D%0A%3DJTtY%0D%0A-----END%20PGP%20PUBLIC%20KEY%20BLOCK-----%0D%0A%0D%0A
[pgp.help]: https://pgp.help/#/permalink?pgp=-----BEGIN%20PGP%20PUBLIC%20KEY%20BLOCK-----%0A%0AmQINBGXeB%2BoBEACmdJ1TsCoVpFH5echFXkfNBYea3JYqlIqdobqfA1E2LQUffY%2Bh%0ApvsdIkYs%2BUQzLDmFn%2FMbrRJOiNqxNEOAXGU3ofX4Qd%2F8S9lzMab9%2FW3JrqiJfnus%0A2aOHemLR5uOyc6vIWWdqT7azK2gTLPQqJ8OTpDNYUN%2FM6aQyn9eYJY9TgwymORVF%0AnXwgdEP0qTyYgmmpyxd52ux3c6VGTrVBNPSkkCWQlVl7qInbfFbfkB2RI7LpgHIw%0APXwuvGA4SRdtYa0qPcBXtJwO746l74X9qe9TqYtdpC%2BDZuAy0cCJkOel96SgmGTm%0AnVqnK7FzckzgbPP7pC88xIPdjQi%2FyXqKq4GZq53trYM6y%2FmCJBycAEhf%2Fu%2B%2Bn4Yk%0ABVcyXK51TDUr8UTlj%2Fky7gQJbXOlwk30lfi7JqOjWK8aFHm0xQ8oL6bfbJmSVZVL%0ALcy9DPoUMHOx%2BJSP%2FgKnUVFWRmgGdx3r%2Bl1kGnuDSmAKABviwqXoESr%2FBsFsFZ4%2F%0AZvYQb2l5zhKa%2BZi5ACYzcnmmLChiwcXlg1HVxeivu4r6Go8hk42DxIuZ9vq359Va%0AF7Og%2BR8S2nY8ALEIXcUR%2BvsW%2F6c69zlFqdtF%2FZZvBZeCRYfozwKI6m4NACKOPFDJ%0A5MVeVf5MhoJR372ZmVGPmwbYhHMOy8%2B9qTxPqESm2J%2BP%2B2Ii%2FXxuoUZAkwARAQAB%0AtBFBd2l0ZWIgPGFANHJzLm5sPokCTgQTAQoAOBYhBE8OBoaxyFC6%2Be2f3z9rVWQK%0ApmgvBQJl3gfqAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJED9rVWQKpmgv%0A6dsP%2FRHIO5VhblfdWQl9xjBf8C4NiwcBONy49BfVbt6XCH31E4xBGGF3ZJq4aSwb%0ABbCvGA5jM2nsT1%2Fb3p5%2BuCEbPmo0XiDnStsx5YDuivI2zJOHjW7Dddm4hsIjALrH%0ApkOqAlSqZbDiKzEurGmdR3fAos0v3%2BaWzr%2FMGh%2B2PVG81BBS3qs%2BEdWWxkrDZcUs%0AFV7Wwh2v0t7kDBs6Hdbnwynl9h78%2FnE%2BDvkTTnjCFHDNVRmhUMJmmqBvmmZh1oAn%0ADxo6Xzhq6MVP%2B%2FK37VvBrwdBhJ3wWX11GqPdsDX%2BvE17orswEe5XP1oMIr9PYZ2Q%0AZAzzrhylq8FEVJYB5zulxstyTw6L%2F6aThI0syNYzytva02fW5TJHe9Z%2BfTN4grtK%0AGwu%2FvwYsU2ZkG7qsvyMg1SQ1wjkyYrnKiZiCW1hTUI1bRmEZb8RoJ3NA2yzcRWUW%0Ap1Rub1swFzdyDbdIKymjdUYaZ%2B0soRzcy6zqQDXNGQFVUGsbemd%2F%2FR3CNdTWaHDz%0A8cYpEQdMASAOMXI%2F6BUsAu0RIoX4tnv2T5QfdvHAG6pmtvqetFHnJ7J78a82tzQx%0AtJywsfVvOsU7Aui6NO2PqKIE5zsV3xFrDExKF3LCyNE4dQxzF%2BadSiopkti9ChzP%0Ap2VPGAIip39jpt%2FXf0YR5QZ36hm9RGfjW7PnnZbkm%2BZQ%2B1PbuQINBGXeB%2BoBEAC%2B%0A36opwrd%2BZznKoC8VZKSYHCtzOr69ZlQ4ZId3%2FAC9SOglGrcp3wwuMfMICwo9TxWk%0AvQmFW73F8GTds7pai40o0ykQ6DrAznznd9tVud4e7%2BgysoEyrryz1PzLojQqkRNJ%0AF4ZVm%2BkzbC5q8behVoCIkfKjew8tVd%2BZF3YCizwSDM%2FR3nlpLuSipgmReNg55D6c%0ALalTlH4%2BfV3LzjEUVLxQZXqwFWilzHns7n0T1R1Qat%2FxpGA93zMXMbIHUGnaFoRh%0AK1L2souhaOwYPMRcssvHg%2BP9tci9F3f9pkwtZpqvAUx%2FDCdH3n4ZlGMyNuDEp%2Bc1%0A6R2ZpoT7hcvPMvTEXCT7zlIRzVFPiu4dgquLIoNO32Job5AqlAJi5%2BWMIt5NHyvw%0AOq6QTQL0nzE8ZJTsXDUbaw45QIAyam1qbMy4TJ%2Fu0E7BDpUowIjTaHModaFQfEeH%0AqQMT4jguFKYgX5OwRFEUfI%2Bon6c0NbhCzQ0pCDawqZHKvtnYKlhlNu36Zx0ZN7dP%0AdciYFeVwb9b9vR%2FRwhLedcLxZtPHQs0CUj37Xo7UvoniVKEbJDfZ3UkPAX51bREY%0AEdwZuTgHkhNeMNow7HaDDHoZttMYglNBon9%2BMKGiIMvoXagiL2fgKwTpR0yuYjUl%0AXU05MrN5FuNJoWrgrTkTkEw%2Bslr1qMPEFNr9PBGtxQARAQABiQI2BBgBCgAgFiEE%0ATw4GhrHIULr57Z%2FfP2tVZAqmaC8FAmXeB%2BoCGwwACgkQP2tVZAqmaC%2BrEg%2F%2FTVxZ%0A4G8tDUFcPREafaf%2B%2FJkeHS9wfPuGos3ayx4l3WlESG%2FvJqcusJSm%2Bc6VmEVksEbg%0AAl1rfcogbApw9wE3FO9fWZPLnJe1hLgT8gpza2I8T4OmMAm1XCp1H8JjJcxbQIc2%0A6bILu9rV92OFCnY2mK%2B%2B%2FZjJKON2UobuqB3g2KpuCvDI7ctTR2Pqmq%2BxVrBSf3ZY%0APXdD1whtubqf9%2FrWNFowv0oO0fVXab6Og7RdojYZWVqxm1LnPyMIBAXnCUVfhrza%0A1zbqWnP8TemtkLI3uhV%2BWf7SWC4wE6w3cH4awofijgwUe5rv5R5CgVf7ySjC7ojU%0AQ84aIm57nPFXEMEd6SGWtsRJublZ7queqt33DFWXK%2FDcT8f1pvBP12TO6omyB7pR%0Al%2Bn6wtnvZ51r27YOx%2BIh1PXjWvKTX%2BS7fnlUHA4X76EAg0CcCoSgBNYveaMhgnhk%0ADVJRol9AUoOoJUt9WdYSyzx7b9f6LrWLrkJKQHz3q1XV5yPuLLz14E%2BFvXPjmj1m%0AeoWb0Iat52gAxMlat4w6T8MP%2BNOxhQHnsjWh4SsodPAqOeu%2FzZZ5Z47CaaJD89Pl%0AuQ8wO1AyLZ5%2BsH3VXB7dpK2jDPykzV61OVWr6YhWaq5Gk3QG6PVcOKm9LBkp66OW%0AQ6W3yUjcrXRCIftqkLZ87dO%2BAkkhtCmFFCqhd94%3D%0A%3D9prh%0A-----END%20PGP%20PUBLIC%20KEY%20BLOCK-----

View file

@ -6,7 +6,7 @@
# - Update the header of an article or add a new header (command: update)
#
# License: MIT License
# Copyright: (c) 2024 Awiteb <Awiteb@pm.me>
# Copyright: (c) 2024 Awiteb <a@4rs.nl>
import sys
@ -52,7 +52,7 @@ def now() -> str:
class Article:
def __init__(self, name: str) -> None:
self.name = name
self.path = f"content/blog/{name}/index.md"
self.path = f"content/b/{name}/index.md"
self.headers = {
"global": {},
"taxonomies": {},

View file

@ -1,11 +1,11 @@
#! /usr/bin/env nu
def main () {
let paths: list<string> = (git diff --name-only | split row "\n" | filter {|p| $p | str contains "content/blog"});
let posts: string = (ls content/blog | filter {|p| $p.type == "dir"} | each {|p| $p.name | sed 's/content\/blog\///g'});
let paths: list<string> = (git diff --name-only | split row "\n" | filter {|p| $p | str contains "content/b"});
let posts: string = (ls content/b | filter {|p| $p.type == "dir"} | each {|p| $p.name | sed 's/content\/b\///g'});
for post in $posts {
if $"content/blog/($post)/index.md" in $paths {
if $"content/b/($post)/index.md" in $paths {
echo $"`($post)` post has been modified";
python3 ./scripts/article.py card $post
python3 ./scripts/article.py update $post "global" "updated" $"(date now | format date '%Y-%m-%d')"

@ -1 +1 @@
Subproject commit 8537e301f7656870255f9066aed9aa874f7c168d
Subproject commit 07cc4e201d47c946f3e1c1ec16e22f9f34f390b4