Compare commits
8 Commits
website-co
...
6952b77980
| Author | SHA1 | Date | |
|---|---|---|---|
| 6952b77980 | |||
| 134790aa25 | |||
| 817c6076dc | |||
| 6305482fc1 | |||
| 3ddd9b3640 | |||
| 43d0724345 | |||
| aeffd1545f | |||
| e9dd38ca6a |
@@ -57,16 +57,12 @@ jobs:
|
|||||||
- name: Login to Docker Registry
|
- name: Login to Docker Registry
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: 192.168.1.36:30008
|
registry: gitea.perren.cloud
|
||||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||||
password: ${{ secrets.ACTIONS_TOKEN }}
|
password: ${{ secrets.ACTIONS_TOKEN }}
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
with:
|
|
||||||
buildkitd-config-inline: |
|
|
||||||
[registry."192.168.1.36:30008"]
|
|
||||||
http = true
|
|
||||||
|
|
||||||
- name: Build and Push
|
- name: Build and Push
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
@@ -74,8 +70,8 @@ jobs:
|
|||||||
context: caperren-com
|
context: caperren-com
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
192.168.1.36:30008/caperren/${{ needs.test.outputs.repo_name }}:${{ needs.test.outputs.repo_version_hash }}
|
gitea.perren.cloud/caperren/${{ needs.test.outputs.repo_name }}:${{ needs.test.outputs.repo_version_hash }}
|
||||||
192.168.1.36:30008/caperren/caperren-com:latest
|
gitea.perren.cloud/caperren/caperren-com:latest
|
||||||
build-args: |
|
build-args: |
|
||||||
REPO_VERSION_HASH=${{ needs.test.outputs.repo_version_hash }}
|
REPO_VERSION_HASH=${{ needs.test.outputs.repo_version_hash }}
|
||||||
BUILD_ENVIRONMENT=production
|
BUILD_ENVIRONMENT=production
|
||||||
|
|||||||
@@ -57,16 +57,12 @@ jobs:
|
|||||||
- name: Login to Docker Registry
|
- name: Login to Docker Registry
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: 192.168.1.36:30008
|
registry: gitea.perren.cloud
|
||||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||||
password: ${{ secrets.ACTIONS_TOKEN }}
|
password: ${{ secrets.ACTIONS_TOKEN }}
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
with:
|
|
||||||
buildkitd-config-inline: |
|
|
||||||
[registry."192.168.1.36:30008"]
|
|
||||||
http = true
|
|
||||||
|
|
||||||
- name: Build and Push
|
- name: Build and Push
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
@@ -74,7 +70,7 @@ jobs:
|
|||||||
context: caperren-com
|
context: caperren-com
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
192.168.1.36:30008/caperren/caperren-com:latest-staging
|
gitea.perren.cloud/caperren/caperren-com:latest-staging
|
||||||
build-args: |
|
build-args: |
|
||||||
REPO_VERSION_HASH=${{ needs.test.outputs.repo_version_hash }}
|
REPO_VERSION_HASH=${{ needs.test.outputs.repo_version_hash }}
|
||||||
BUILD_ENVIRONMENT=staging
|
BUILD_ENVIRONMENT=staging
|
||||||
|
|||||||
13
Makefile
@@ -15,8 +15,7 @@
|
|||||||
cleanup-check \
|
cleanup-check \
|
||||||
cleanup-code \
|
cleanup-code \
|
||||||
convert_video \
|
convert_video \
|
||||||
convert_video_times \
|
convert_video_times
|
||||||
generate_asset_imports
|
|
||||||
|
|
||||||
default: dev
|
default: dev
|
||||||
|
|
||||||
@@ -84,17 +83,9 @@ convert_video_times:
|
|||||||
-init_hw_device vaapi=va:/dev/dri/renderD128 \
|
-init_hw_device vaapi=va:/dev/dri/renderD128 \
|
||||||
-filter_hw_device va \
|
-filter_hw_device va \
|
||||||
-i $(input) \
|
-i $(input) \
|
||||||
-ss $(start) \
|
-vf 'format=nv12,hwupload,scale_vaapi=-2:720,trim=start=$(start):end=$(end)' \
|
||||||
-to $(end) \
|
|
||||||
-vf 'format=nv12,hwupload,scale_vaapi=-2:720' \
|
|
||||||
-c:v h264_vaapi \
|
-c:v h264_vaapi \
|
||||||
-rc_mode CQP \
|
-rc_mode CQP \
|
||||||
-qp 28 \
|
-qp 28 \
|
||||||
-an \
|
-an \
|
||||||
$(output)
|
$(output)
|
||||||
|
|
||||||
generate_asset_imports:
|
|
||||||
@for assets_path in `find "src/assets/${assets_relative_path}" -maxdepth 1 -type f -printf "%f\n"`; do \
|
|
||||||
without_extension=$${assets_path/%.*}; \
|
|
||||||
echo "import $${without_extension//-/_} from \"@assets/${assets_relative_path}/$$assets_path\";"; \
|
|
||||||
done;
|
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ const disabledPaths = getPaths(siteLayout, [], true);
|
|||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
site: "https://caperren.com",
|
site: "https://caperren.com",
|
||||||
trailingSlash: "never",
|
|
||||||
prefetch: {
|
prefetch: {
|
||||||
prefetchAll: true,
|
prefetchAll: true,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,12 +1,6 @@
|
|||||||
ADCP
|
ADCP
|
||||||
Altium
|
|
||||||
ASSEM
|
ASSEM
|
||||||
astrojs
|
astrojs
|
||||||
Atmel
|
|
||||||
automations
|
|
||||||
barebones
|
|
||||||
beaglebone
|
|
||||||
Bitwarden
|
|
||||||
Candian
|
Candian
|
||||||
caperren
|
caperren
|
||||||
CEOAS
|
CEOAS
|
||||||
@@ -15,20 +9,9 @@ Concours
|
|||||||
CONSERV
|
CONSERV
|
||||||
Corwin
|
Corwin
|
||||||
dangerousthings
|
dangerousthings
|
||||||
dechorionation
|
|
||||||
Dechorionator
|
Dechorionator
|
||||||
dechorionators
|
|
||||||
dockerization
|
|
||||||
dockerizing
|
|
||||||
drumheller
|
|
||||||
ebox
|
|
||||||
ELMI
|
|
||||||
fhhs
|
fhhs
|
||||||
flowbite
|
flowbite
|
||||||
flowrate
|
|
||||||
gcode
|
|
||||||
gerbers
|
|
||||||
Gitea
|
|
||||||
HDFS
|
HDFS
|
||||||
headshot
|
headshot
|
||||||
Homelab
|
Homelab
|
||||||
@@ -36,61 +19,33 @@ hwupload
|
|||||||
iceops
|
iceops
|
||||||
ITAR
|
ITAR
|
||||||
Jetson
|
Jetson
|
||||||
KFSK
|
|
||||||
Labjack
|
|
||||||
leconte
|
leconte
|
||||||
Loctite
|
Loctite
|
||||||
luxon
|
luxon
|
||||||
MGMT
|
MGMT
|
||||||
microcontroller
|
|
||||||
microcontroller's
|
|
||||||
Micropumps
|
|
||||||
Millis
|
|
||||||
modbus
|
|
||||||
Mokai
|
|
||||||
Multimeters
|
|
||||||
nixos
|
nixos
|
||||||
nvme
|
|
||||||
offroad
|
offroad
|
||||||
Onshape
|
Onshape
|
||||||
OSSM
|
OSSM
|
||||||
OSURC
|
OSURC
|
||||||
panelized
|
|
||||||
Passthroughs
|
|
||||||
pcbs
|
|
||||||
Perren
|
Perren
|
||||||
Perren's
|
Perren's
|
||||||
Pixhawk
|
|
||||||
Protocase
|
|
||||||
pubpath
|
pubpath
|
||||||
RFID
|
RFID
|
||||||
Rito
|
|
||||||
RSSI
|
RSSI
|
||||||
SARL
|
SARL
|
||||||
SCARA
|
|
||||||
showerheads
|
|
||||||
Shuttlebox
|
Shuttlebox
|
||||||
simplemotion
|
|
||||||
sinnhuber
|
sinnhuber
|
||||||
sitemapindex
|
sitemapindex
|
||||||
Smartsheet
|
|
||||||
solderable
|
|
||||||
ssds
|
ssds
|
||||||
Starlink
|
Starlink
|
||||||
steller
|
steller
|
||||||
Steller
|
Steller
|
||||||
Tanguay
|
|
||||||
Teamcenter
|
|
||||||
timelapse
|
timelapse
|
||||||
touchoff
|
|
||||||
triaging
|
|
||||||
trivago
|
trivago
|
||||||
Truong
|
|
||||||
Ubiquiti
|
|
||||||
Unstow
|
Unstow
|
||||||
uuidv
|
uuidv
|
||||||
vaapi
|
vaapi
|
||||||
vitest
|
vitest
|
||||||
Waterjet
|
|
||||||
Zebrafish
|
Zebrafish
|
||||||
zscan
|
zscan
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.4 MiB After Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 2.7 MiB After Width: | Height: | Size: 2.7 MiB |
|
Before Width: | Height: | Size: 3.9 MiB |
|
Before Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 10 MiB |
|
Before Width: | Height: | Size: 1.9 MiB |
|
Before Width: | Height: | Size: 3.3 MiB |
|
Before Width: | Height: | Size: 10 MiB |
|
Before Width: | Height: | Size: 1.9 MiB |
|
Before Width: | Height: | Size: 10 MiB |
|
Before Width: | Height: | Size: 14 MiB |
|
Before Width: | Height: | Size: 12 MiB |
|
Before Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 4.7 MiB |
|
Before Width: | Height: | Size: 1.8 MiB |
|
Before Width: | Height: | Size: 4.0 MiB |
|
Before Width: | Height: | Size: 3.5 MiB |
|
Before Width: | Height: | Size: 4.0 MiB |
|
Before Width: | Height: | Size: 3.1 MiB |
|
Before Width: | Height: | Size: 3.6 MiB |
|
Before Width: | Height: | Size: 4.2 MiB |
|
Before Width: | Height: | Size: 3.7 MiB |
|
Before Width: | Height: | Size: 7.7 MiB |
|
Before Width: | Height: | Size: 7.3 MiB |
|
Before Width: | Height: | Size: 8.3 MiB |
|
Before Width: | Height: | Size: 7.6 MiB |
|
Before Width: | Height: | Size: 4.4 MiB |
|
Before Width: | Height: | Size: 3.5 MiB |
|
Before Width: | Height: | Size: 3.8 MiB |
|
Before Width: | Height: | Size: 4.1 MiB |
|
Before Width: | Height: | Size: 166 KiB |
|
Before Width: | Height: | Size: 239 KiB |
|
Before Width: | Height: | Size: 3.8 MiB |
|
Before Width: | Height: | Size: 3.9 MiB |
|
Before Width: | Height: | Size: 4.6 MiB |
|
Before Width: | Height: | Size: 4.2 MiB |
|
Before Width: | Height: | Size: 4.2 MiB |
|
Before Width: | Height: | Size: 4.3 MiB |
|
Before Width: | Height: | Size: 4.4 MiB |
|
Before Width: | Height: | Size: 4.4 MiB |
|
Before Width: | Height: | Size: 6.4 MiB |
|
Before Width: | Height: | Size: 7.9 MiB |
|
Before Width: | Height: | Size: 8.9 MiB |
|
Before Width: | Height: | Size: 8.7 MiB |
|
Before Width: | Height: | Size: 7.8 MiB |
|
Before Width: | Height: | Size: 5.9 MiB |
|
Before Width: | Height: | Size: 9.2 MiB |
|
Before Width: | Height: | Size: 4.2 MiB |
|
Before Width: | Height: | Size: 1013 KiB |
|
Before Width: | Height: | Size: 6.8 MiB |
|
Before Width: | Height: | Size: 9.2 MiB |
|
Before Width: | Height: | Size: 8.8 MiB |
|
Before Width: | Height: | Size: 8.5 MiB |
|
Before Width: | Height: | Size: 6.3 MiB |
|
Before Width: | Height: | Size: 1017 KiB |
|
Before Width: | Height: | Size: 878 KiB |
|
Before Width: | Height: | Size: 7.1 MiB |
|
Before Width: | Height: | Size: 605 KiB |
|
Before Width: | Height: | Size: 826 KiB |
|
Before Width: | Height: | Size: 7.1 MiB |
|
Before Width: | Height: | Size: 6.1 MiB |
|
Before Width: | Height: | Size: 6.9 MiB |
|
Before Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 8.3 MiB |
|
Before Width: | Height: | Size: 7.5 MiB |
|
Before Width: | Height: | Size: 7.2 MiB |
|
Before Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 4.6 MiB |
|
Before Width: | Height: | Size: 4.6 MiB |
|
Before Width: | Height: | Size: 4.4 MiB |
|
Before Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 438 KiB |
|
Before Width: | Height: | Size: 224 KiB |
|
Before Width: | Height: | Size: 437 KiB |
|
Before Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 580 KiB |
|
Before Width: | Height: | Size: 600 KiB |
|
Before Width: | Height: | Size: 701 KiB |
|
Before Width: | Height: | Size: 2.4 MiB |
@@ -1,23 +1,10 @@
|
|||||||
---
|
---
|
||||||
import InlineLink from "@components/InlineLink.astro";
|
|
||||||
|
|
||||||
const { pathname } = Astro.url;
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<footer
|
<footer
|
||||||
class="border-t-caperren-green-dark text-caperren-green-dark z-50 flex w-full max-w-full items-center justify-between border-t bg-black px-6 py-2 text-sm"
|
class="border-t-caperren-green-dark text-caperren-green-dark z-50 flex w-full max-w-full items-center justify-between border-t bg-black px-6 py-2 text-sm"
|
||||||
>
|
>
|
||||||
<span>{import.meta.env.PUBLIC_BUILD_ENVIRONMENT || "development"}</span>
|
<span>{import.meta.env.PUBLIC_BUILD_ENVIRONMENT || "development"}</span>
|
||||||
<div>
|
|
||||||
<InlineLink
|
|
||||||
class:list={[
|
|
||||||
"text-caperren-green-dark hover:text-caperren-green",
|
|
||||||
pathname === "/hobby/this-website"
|
|
||||||
? "border-caperren-green-dark hover:border-caperren-green border-b-2"
|
|
||||||
: false,
|
|
||||||
]}
|
|
||||||
href="/hobby/this-website">About This Website</InlineLink
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
<span>{import.meta.env.PUBLIC_REPO_VERSION_HASH || "invalid"}</span>
|
<span>{import.meta.env.PUBLIC_REPO_VERSION_HASH || "invalid"}</span>
|
||||||
</footer>
|
</footer>
|
||||||
|
|||||||
@@ -2,4 +2,4 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<h1 class="text-xl font-extrabold sm:text-2xl md:text-3xl"><slot /></h1>
|
<h1 class="text-xl font-extrabold md:text-3xl"><slot /></h1>
|
||||||
|
|||||||
@@ -2,4 +2,4 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<h2 class="text-lg font-bold sm:text-xl md:text-2xl"><slot /></h2>
|
<h2 class="my-4 font-bold md:text-2xl"><slot /></h2>
|
||||||
|
|||||||
@@ -2,4 +2,4 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<h3 class="text-md font-semibold sm:text-lg md:text-xl"><slot /></h3>
|
<h3 class="mt-4 mb-2 font-bold md:text-lg"><slot /></h3>
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<h4 class="md:text-md text-xs sm:text-sm"><slot /></h4>
|
|
||||||
@@ -7,10 +7,16 @@ interface Props extends ComponentPropsBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const { class: className, href, target } = Astro.props;
|
const { class: className, href, target } = Astro.props;
|
||||||
const { pathname } = Astro.url;
|
|
||||||
|
|
||||||
const finalTarget =
|
let finalTarget: string | undefined = target;
|
||||||
target === undefined ? (href.startsWith("/") ? undefined : "_blank") : target;
|
|
||||||
|
if (target === undefined) {
|
||||||
|
if (href.startsWith("/")) {
|
||||||
|
finalTarget = "";
|
||||||
|
} else {
|
||||||
|
finalTarget = "_blank";
|
||||||
|
}
|
||||||
|
}
|
||||||
---
|
---
|
||||||
|
|
||||||
<>
|
<>
|
||||||
@@ -18,7 +24,6 @@ const finalTarget =
|
|||||||
class:list={["text-blue-500", "hover:text-blue-300", className]}
|
class:list={["text-blue-500", "hover:text-blue-300", className]}
|
||||||
href={href}
|
href={href}
|
||||||
target={finalTarget}
|
target={finalTarget}
|
||||||
aria-current={pathname === href ? "page" : undefined}
|
|
||||||
>
|
>
|
||||||
<slot />
|
<slot />
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<>
|
|
||||||
<li>
|
|
||||||
<slot />
|
|
||||||
</li>
|
|
||||||
</>
|
|
||||||
@@ -9,12 +9,10 @@ interface Props {
|
|||||||
const { title, href, target = "_blank" } = Astro.props;
|
const { title, href, target = "_blank" } = Astro.props;
|
||||||
---
|
---
|
||||||
|
|
||||||
<div class="mx-auto">
|
<a
|
||||||
<a
|
|
||||||
class="text-caperren-green border-caperren-green hover:border-caperren-green-light hover:text-caperren-green-light rounded-2xl border-2 bg-black p-2"
|
class="text-caperren-green border-caperren-green hover:border-caperren-green-light hover:text-caperren-green-light rounded-2xl border-2 bg-black p-2"
|
||||||
href={href}
|
href={href}
|
||||||
target={target}
|
target={target}
|
||||||
>
|
>
|
||||||
{title}
|
{title}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
|
||||||
|
|||||||