Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use flake
12 changes: 12 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

60 changes: 59 additions & 1 deletion public/rss.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,69 @@
<id>kellnr.io/blog</id>
<title>kellnr.io - The Rust Registry</title>
<subtitle>Rust development related blog</subtitle>
<updated>2026-01-20T12:00:00.000Z</updated>
<updated>2026-01-28T12:00:00+00:00</updated>
<link rel="self" href="https://kellnr.io/rss.xml" type="application/atom+xml" />
<link rel="alternate" href="https://kellnr.io/blog" type="text/html" />
<icon>https://kellnr.io/favicon.ico</icon>
<logo>https://kellnr.io/favicon.ico</logo>
<entry>
<id>https://kellnr.io/blog/release6</id>
<title>Kellnr 6.0.0 Release</title>
<link href="https://kellnr.io/blog/release6" />
<published>2026-01-28T12:00:00+00:00</published>
<updated>2026-01-28T12:00:00+00:00</updated>
<content type="html"><![CDATA[Kellnr 6.0.0 brings a new CLI interface, OAuth2/OIDC authentication, and important configuration changes. This guide covers breaking changes and how to upgrade safely.]]></content>
</entry>
<entry>
<id>https://kellnr.io/changelog#5.14.1</id>
<title>Kellnr 5.14.1 release</title>
<link href="https://kellnr.io/changelog" />
<published>2026-01-26T12:00:00.000Z</published>
<updated>2026-01-26T12:00:00.000Z</updated>
<content type="html"><![CDATA[Version 5.14.1 of Kellnr, the private Rust registry, is released.
<br/>
<strong>Changed:</strong>
<ul>
<li>reuse reqwest client ([#984]()) <a href="https://github.com/kellnr/kellnr/pull/984" target="_blank" rel="noopener noreferrer">#984</a></li>
</ul>
<br/>
<strong>Fixed:</strong>
<ul>
<li>web UI open documentation link ignores kellnr origin path ([#985]()) <a href="https://github.com/kellnr/kellnr/pull/985" target="_blank" rel="noopener noreferrer">#985</a></li>
</ul>]]></content>
</entry>
<entry>
<id>https://kellnr.io/changelog#5.14.0</id>
<title>Kellnr 5.14.0 release</title>
<link href="https://kellnr.io/changelog" />
<published>2026-01-24T12:00:00.000Z</published>
<updated>2026-01-24T12:00:00.000Z</updated>
<content type="html"><![CDATA[Version 5.14.0 of Kellnr, the private Rust registry, is released.
<br/>
<strong>Added:</strong>
<ul>
<li>promote user to admin ([#980]()) <a href="https://github.com/kellnr/kellnr/pull/980" target="_blank" rel="noopener noreferrer">#980</a></li>
<li>redirect to auth tokens on /me ([#974]()) <a href="https://github.com/kellnr/kellnr/pull/974" target="_blank" rel="noopener noreferrer">#974</a></li>
<li>add "pubtime" index field ([#970]()) <a href="https://github.com/kellnr/kellnr/pull/970" target="_blank" rel="noopener noreferrer">#970</a></li>
</ul>
<br/>
<strong>Changed:</strong>
<ul>
<li>improve performance of UI tests ([#981]()) <a href="https://github.com/kellnr/kellnr/pull/981" target="_blank" rel="noopener noreferrer">#981</a></li>
<li>*(deps)* bump object_store from 0.13.0 to 0.13.1 ([#978]()) <a href="https://github.com/kellnr/kellnr/pull/978" target="_blank" rel="noopener noreferrer">#978</a></li>
<li>*(deps)* bump time from 0.3.45 to 0.3.46 ([#979]()) <a href="https://github.com/kellnr/kellnr/pull/979" target="_blank" rel="noopener noreferrer">#979</a></li>
<li>*(deps)* bump object_store from 0.13.0 to 0.13.1</li>
<li>*(deps)* bump time from 0.3.45 to 0.3.46</li>
<li>*(deps)* bump quote from 1.0.43 to 1.0.44 ([#975]()) <a href="https://github.com/kellnr/kellnr/pull/975" target="_blank" rel="noopener noreferrer">#975</a></li>
<li>*(deps)* bump thiserror from 2.0.17 to 2.0.18 ([#976]()) <a href="https://github.com/kellnr/kellnr/pull/976" target="_blank" rel="noopener noreferrer">#976</a></li>
<li>*(deps)* bump thiserror from 2.0.17 to 2.0.18</li>
<li>*(deps)* bump quote from 1.0.43 to 1.0.44</li>
<li>enforce fmt and no clippy warnings ([#973]()) <a href="https://github.com/kellnr/kellnr/pull/973" target="_blank" rel="noopener noreferrer">#973</a></li>
<li>remove cargo-deny ([#972]()) <a href="https://github.com/kellnr/kellnr/pull/972" target="_blank" rel="noopener noreferrer">#972</a></li>
<li>make UI code more maintainable ([#968]()) <a href="https://github.com/kellnr/kellnr/pull/968" target="_blank" rel="noopener noreferrer">#968</a></li>
<li>move crate.io publish further up the pipeline</li>
</ul>]]></content>
</entry>
<entry>
<id>https://kellnr.io/changelog#5.13.0</id>
<title>Kellnr 5.13.0 release</title>
Expand Down
4 changes: 4 additions & 0 deletions src/components/NavBar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@
<router-link to="/" class="side-nav-link-ref">Home</router-link>
</li>

<li>
<router-link to="/features" class="side-nav-link-ref">Features</router-link>
</li>

<li class="has-submenu">
<a href="javascript:void(0)" @click="onMenuClick">Docs</a><span class="menu-arrow"></span>
<ul class="submenu">
Expand Down
45 changes: 45 additions & 0 deletions src/components/elements/AttentionBlock.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<script setup lang="ts">

</script>

<template>
<div class="attention-block">
<div class="attention-icon">
<i class="mdi mdi-information"></i>
</div>
<div class="attention-content">
<slot></slot>
</div>
</div>
</template>

<style scoped>
.attention-block {
display: flex;
gap: 1rem;
margin-top: 1.5rem;
margin-bottom: 1.5rem;
padding: 1rem 1.25rem;
background: #eff6ff;
border-left: 4px solid #3b82f6;
border-radius: 0 8px 8px 0;
}

.attention-icon {
flex-shrink: 0;
color: #3b82f6;
font-size: 1.25rem;
line-height: 1.75;
}

.attention-content {
color: #1e3a5f;
font-size: 1rem;
line-height: 1.75;
}

.attention-content :deep(a) {
color: #2563eb;
text-decoration: underline;
}
</style>
7 changes: 7 additions & 0 deletions src/data/blog-posts.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
{
"posts": [
{
"id": "release6",
"title": "Kellnr 6.0.0 Release",
"url": "https://kellnr.io/blog/release6",
"published": "2026-01-28T12:00:00+00:00",
"summaryHtml": "Kellnr 6.0.0 brings a new CLI interface, OAuth2/OIDC authentication, and important configuration changes. This guide covers breaking changes and how to upgrade safely."
},
{
"id": "review-2025",
"title": "Kellnr 2025 - A Year in Review",
Expand Down
22 changes: 17 additions & 5 deletions src/router/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router'
import LandingView from "../views/LandingView.vue";
import FeaturesView from "../views/FeaturesView.vue";
import ChangelogView from "../views/ChangelogView.vue";
import DocumentationV5View from "../views/DocumentationV5View.vue";
import DocumentationV6View from "../views/DocumentationV6View.vue";
import BlogView from "../views/BlogView.vue";
import AsyncClosuresInRust from "../views/posts/AsyncClosuresInRust.vue";
import RustSupplyChainSecurity from "../views/posts/RustSupplyChainSecurity.vue";
Expand All @@ -18,6 +19,7 @@ import CrossPlatNativeLib from "../views/posts/CrossPlatNativeLib.vue";
import Release5 from "../views/posts/Release5.vue";
import RustAssembly from "../views/posts/RustAssembly.vue";
import Review2025 from "../views/posts/Review2025.vue";
import Release6 from "../views/posts/Release6.vue";

const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
Expand All @@ -35,20 +37,25 @@ const router = createRouter({
name: 'landing',
component: LandingView
},
{
path: '/features',
name: 'features',
component: FeaturesView
},
{
path: '/changelog',
name: 'changelog',
component: ChangelogView
},
{
path: '/documentation/v5',
name: 'documentationV5',
component: DocumentationV5View
path: '/documentation/v6',
name: 'documentationV6',
component: DocumentationV6View
},
{
path: '/documentation',
name: 'documentation',
component: DocumentationV5View
component: DocumentationV6View
},
{
path: '/contact',
Expand Down Expand Up @@ -126,6 +133,11 @@ const router = createRouter({
name: 'review-2025',
component: Review2025
},
{
path: '/blog/release6',
name: 'release6',
component: Release6
},
// Default route to redirect all unknown paths to the landing page
{
path: '/:pathMatch(.*)*',
Expand Down
Loading