8 Commits

Author SHA1 Message Date
30b7681234 Update index.md
All checks were successful
Lint / shellcheck (push) Successful in 19s
2026-03-22 07:24:36 +01:00
13b6106efd docs: bpkg
All checks were successful
Lint / shellcheck (push) Successful in 20s
2026-03-22 07:23:24 +01:00
831b081fc7 docs: new contribution instructions
All checks were successful
Lint / shellcheck (push) Successful in 19s
2026-03-21 16:10:33 +01:00
fde423a32b docs: brew
All checks were successful
Lint / shellcheck (push) Successful in 18s
2026-03-20 09:36:53 +01:00
55a82f75a9 fix: link in homebrew
All checks were successful
Lint / shellcheck (push) Successful in 18s
2026-03-20 09:33:45 +01:00
f85abd43c4 fix: brew
Some checks failed
Lint / shellcheck (push) Has been cancelled
Release Standalone Builder / build (release) Successful in 30s
Release Standalone Builder / publish-aur (release) Successful in 32s
Release Standalone Builder / publish-homebrew (release) Successful in 6s
2026-03-20 09:26:20 +01:00
0f66ebf52a dist: brew
All checks were successful
Lint / shellcheck (push) Successful in 18s
2026-03-20 09:23:43 +01:00
55a515ccd5 dist: bpkg preparation
All checks were successful
Lint / shellcheck (push) Successful in 18s
Release Standalone Builder / build (release) Successful in 31s
Release Standalone Builder / publish-aur (release) Successful in 34s
2026-03-20 08:46:13 +01:00
8 changed files with 127 additions and 23 deletions

View File

@@ -7,6 +7,7 @@ on:
paths: paths:
- 'packaging/AUR/PKGBUILD.git' - 'packaging/AUR/PKGBUILD.git'
- 'packaging/AUR/.SRCINFO.git' - 'packaging/AUR/.SRCINFO.git'
workflow_dispatch:
jobs: jobs:
publish-aur-git: publish-aur-git:

View File

@@ -3,6 +3,7 @@ name: Release Standalone Builder
on: on:
release: release:
types: [published] types: [published]
workflow_dispatch:
jobs: jobs:
build: build:
@@ -103,3 +104,37 @@ jobs:
commit_email: ${{ github.actor }}@users.noreply.github.com commit_email: ${{ github.actor }}@users.noreply.github.com
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
commit_message: "Update kewt-bin to ${{ github.ref_name }}" commit_message: "Update kewt-bin to ${{ github.ref_name }}"
publish-homebrew:
runs-on: local
needs: build
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Render Formula and push to GitHub
run: |
TAG="${GITHUB_REF#refs/tags/}"
VERSION="${TAG#v}"
curl -sL -o kewt-binary \
"https://git.krzak.org/N0VA/kewt/releases/download/${TAG}/kewt"
CHECKSUM=$(sha256sum kewt-binary | awk '{print $1}')
rm -f kewt-binary
mkdir -p brew-work/Formula
sed -e "s/VERSION_PLACEHOLDER/${VERSION}/g" \
-e "s/SHA256SUM_PLACEHOLDER/${CHECKSUM}/g" \
packaging/homebrew/kewt.rb.template > brew-work/Formula/kewt.rb
cd brew-work
git init
git remote add origin https://x-access-token:${{ secrets.GH_RELEASE_TOKEN }}@github.com/n0va-bot/homebrew-tap.git
git fetch origin main || true
git checkout main 2>/dev/null || git checkout --orphan main
git add Formula/kewt.rb
git config user.name "${{ github.actor }}"
git config user.email "${{ github.actor }}@users.noreply.github.com"
git commit -m "Update kewt to ${TAG}" || echo "No changes to commit"
git push origin main

19
Makefile Normal file
View File

@@ -0,0 +1,19 @@
PREFIX ?= /usr/local
BINDIR = $(PREFIX)/bin
all: kewt
kewt:
./tools/build-standalone.sh
install: kewt
install -d $(DESTDIR)$(BINDIR)
install -m 755 kewt $(DESTDIR)$(BINDIR)/kewt
uninstall:
rm -f $(DESTDIR)$(BINDIR)/kewt
clean:
rm -f kewt
.PHONY: all install uninstall clean

View File

@@ -10,22 +10,12 @@
_kewt_ is a minimalist ssg inspired by _[werc](http://werc.cat-v.org/)_ and _[kew](https://github.com/uint23/kew)_ _kewt_ is a minimalist ssg inspired by _[werc](http://werc.cat-v.org/)_ and _[kew](https://github.com/uint23/kew)_
## Quick Install ## [Installation](https://kewt.krzak.org/#Installation)
```sh
curl -L -o kewt https://git.krzak.org/N0VA/kewt/releases/download/latest/kewt
chmod +x kewt
```
On Arch Linux, _kewt_ is available on the AUR:
- [kewt-bin](https://aur.archlinux.org/packages/kewt-bin) — prebuilt standalone binary from the latest release
- [kewt-git](https://aur.archlinux.org/packages/kewt-git) — built from the latest git source
## Contributing ## Contributing
Either through a pull request to the **home** repository ([N0VA/kewt](https://git.krzak.org/N0VA/kewt)) or by sending a patch to my email address ([n0va@krzak.org](mailto:n0va@krzak.org)) Either open an issue or pull request on the **home** repository ([N0VA/kewt](https://git.krzak.org/N0VA/kewt)) or message me on my email address ([n0va@krzak.org](mailto:n0va@krzak.org?subject=%5Bkewt%5D%20something)) with the subjectline being `[kewt] something`.
## Credits ## License
- _kew_ css style adapted from _[kew](https://github.com/uint23/kew)_ by [uint23](https://github.com/uint23) ISC

7
package.json Normal file
View File

@@ -0,0 +1,7 @@
{
"name": "kewt",
"description": "A minimalist static site generator inspired by werc",
"global": "true",
"install": "make install",
"scripts": ["kewt"]
}

View File

@@ -0,0 +1,16 @@
class Kewt < Formula
desc "Minimalist static site generator inspired by werc"
homepage "https://kewt.krzak.org"
url "https://github.com/n0va-bot/kewt/releases/download/vVERSION_PLACEHOLDER/kewt"
sha256 "SHA256SUM_PLACEHOLDER"
license "ISC"
version "VERSION_PLACEHOLDER"
def install
bin.install "kewt"
end
test do
system "#{bin}/kewt", "--version"
end
end

View File

@@ -31,20 +31,58 @@ It's meant to be a static site generator, like _[kew](https://github.com/uint23/
If you want to **force** a file to be inlined, use `\!![]` instead of `\![]` If you want to **force** a file to be inlined, use `\!![]` instead of `\![]`
***
## Installation ## Installation
You can clone the repository to use `kewt.sh` directly, or you can download the standalone executable, which bundles all dependencies into a single file: ### Standalone
```sh ```sh
curl -L -o kewt https://git.krzak.org/N0VA/kewt/releases/download/latest/kewt curl -L -o kewt https://git.krzak.org/N0VA/kewt/releases/download/latest/kewt
chmod +x kewt chmod +x kewt
``` ```
On Arch Linux, _kewt_ is available on the AUR: ### From source
```sh
git clone https://git.krzak.org/N0VA/kewt.git
cd kewt
```
#### Building
```sh
make
```
#### Installing
```sh
sudo make install
```
### Package Managers
#### AUR
- [kewt-bin](https://aur.archlinux.org/packages/kewt-bin) — prebuilt standalone binary from the latest release - [kewt-bin](https://aur.archlinux.org/packages/kewt-bin) — prebuilt standalone binary from the latest release
- [kewt-git](https://aur.archlinux.org/packages/kewt-git) — built from the latest git source - [kewt-git](https://aur.archlinux.org/packages/kewt-git) — built from the latest git source
#### Homebrew
```sh
brew tap n0va-bot/tap
brew install kewt
```
#### bpkg
```sh
bpkg install n0va-bot/kewt
```
***
## Usage ## Usage
```sh ```sh
@@ -60,7 +98,7 @@ On Arch Linux, _kewt_ is available on the AUR:
`--post` creates a new empty markdown file in the configured `posts_dir` with the current date and time as the name. `--post` creates a new empty markdown file in the configured `posts_dir` with the current date and time as the name.
## site.conf ### site.conf
```conf ```conf
title = "kewt" title = "kewt"
@@ -116,13 +154,13 @@ custom_admonitions = ""
- `enable_header_links` turns markdown section headings into clickable anchor links (default: true) - `enable_header_links` turns markdown section headings into clickable anchor links (default: true)
- `custom_admonitions` comma separated list of custom admonitions - `custom_admonitions` comma separated list of custom admonitions
## Ignores ### Ignores
- `.kewtignore`: Files/directories to ignore. If empty, the whole directory gets ignored - `.kewtignore`: Files/directories to ignore. If empty, the whole directory gets ignored
- `.kewthide`: Files/directories to hide from navigation but still process. Same empty rules as with ignore - `.kewthide`: Files/directories to hide from navigation but still process. Same empty rules as with ignore
- `.kewtpreserve`: Files/directories to copy but not convert markdown to html. Same empty rules again - `.kewtpreserve`: Files/directories to copy but not convert markdown to html. Same empty rules again
## Embeds ### Embeds
- `\![link]`: - `\![link]`:
- local image/audio/video files are embedded as media tags - local image/audio/video files are embedded as media tags
@@ -132,9 +170,7 @@ custom_admonitions = ""
- `\![alt](link)` works the same, with `alt` used for images - `\![alt](link)` works the same, with `alt` used for images
- `\!![]` and `\!![alt](link)` force inline local file contents - `\!![]` and `\!![alt](link)` force inline local file contents
## Credits ***
- _kew_ css style adapted from _[kew](https://github.com/uint23/kew)_ by [uint23](https://github.com/uint23)
>[!WARNING] >[!WARNING]
>The base that all of this is built upon was coded at night, while sleepy and a bit sick, and after walking for about 4 hours around a forest, so... >The base that all of this is built upon was coded at night, while sleepy and a bit sick, and after walking for about 4 hours around a forest, so...

View File

@@ -26,7 +26,7 @@ exit $?
#==PAYLOAD== #==PAYLOAD==
EOF EOF
VERSION=$(git describe --tags --abbrev=0 2>/dev/null || echo "standalone") VERSION=$(git describe --tags 2>/dev/null || echo "standalone")
tmpbuild=$(mktemp -d) tmpbuild=$(mktemp -d)
cp -r "$REPO_ROOT/kewt.sh" "$REPO_ROOT/markdown.sh" "$REPO_ROOT/awk" "$REPO_ROOT/styles" "$tmpbuild/" cp -r "$REPO_ROOT/kewt.sh" "$REPO_ROOT/markdown.sh" "$REPO_ROOT/awk" "$REPO_ROOT/styles" "$tmpbuild/"
sed -e "s/kewt version git/kewt version $VERSION/" "$tmpbuild/kewt.sh" > "$tmpbuild/kewt.sh.tmp" && mv "$tmpbuild/kewt.sh.tmp" "$tmpbuild/kewt.sh" sed -e "s/kewt version git/kewt version $VERSION/" "$tmpbuild/kewt.sh" > "$tmpbuild/kewt.sh.tmp" && mv "$tmpbuild/kewt.sh.tmp" "$tmpbuild/kewt.sh"