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
38 changes: 38 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Storaged Project Website

Source for [storaged.org](https://storaged.org) website.

## Local Development

```bash
bundle install # Install dependencies
bundle exec jekyll serve # Dev server at http://localhost:4000
bundle exec jekyll build # Build static site to _site/
```

## Contributing

Blog posts go in `_posts/` as `YYYY-MM-DD-Title.md`.

Each blogpost starts with a metadata block:

```yaml
---
layout: post
title: "Post Title"
date: 2026-01-01 10:00:00 +0100
categories: category
author: Author Name
---
```

Note: Jekyll will exclude posts with a future date from the build so don't forget to adjust the date before merging PR with the new post.

New authors need to be added to `_data/authors.yml` with their name, short bio, and GitHub username:

```yaml
Author Name:
name: Author Name
bio: Short description of the author.
github: github-username
```
6 changes: 6 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ description: >-
theme: minima
plugins:
- jekyll-feed
- jekyll-sitemap

show_excerpts: true

github_username: storaged-project
rss: rss
goatcounter: storaged

header_pages:
- blivet/blivet.md
Expand All @@ -24,3 +26,7 @@ markdown: kramdown
include:
- _static
- _*.html

exclude:
- README.md
- vendor
11 changes: 11 additions & 0 deletions _data/authors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Vojtech Trefny:
name: Vojtech Trefny
bio: Senior Software Engineer at Red Hat working on blivet, libblockdev,
storage role and other storaged projects.
github: vojtechtrefny

Tomáš Bžatek:
name: Tomáš Bžatek
bio: Senior Software Engineer at Red Hat working on UDisks, NVMe and other
storage tools and technologies.
github: tbzatek
13 changes: 13 additions & 0 deletions _includes/author-bio.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{% if page.author %}
{% assign author = site.data.authors[page.author] %}
{% if author %}
<div class="author-bio">
<img class="author-bio-avatar" src="https://github.com/{{ author.github }}.png?size=80" alt="{{ author.name }}" />
<div class="author-bio-text">
<strong>{{ author.name }}</strong>
<p>{{ author.bio }}</p>
<a href="https://github.com/{{ author.github }}">GitHub</a>
</div>
</div>
{% endif %}
{% endif %}
4 changes: 4 additions & 0 deletions _includes/goatcounter.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{%- if site.goatcounter -%}
<script data-goatcounter="https://{{ site.goatcounter }}.goatcounter.com/count"
async src="//gc.zgo.at/count.js"></script>
{%- endif -%}
32 changes: 32 additions & 0 deletions _includes/header.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<header class="site-header" role="banner">

<div class="wrapper">
{%- assign default_paths = site.pages | map: "path" -%}
{%- assign page_paths = site.header_pages | default: default_paths -%}
<a class="site-title" rel="author" href="{{ "/" | relative_url }}">{{ site.title | escape }}</a>

{%- if page_paths -%}
<nav class="site-nav">
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger">
<span class="menu-icon">
<svg viewBox="0 0 18 15" width="18px" height="15px">
<path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/>
</svg>
</span>
</label>

<div class="trigger">
{%- for path in page_paths -%}
{%- assign my_page = site.pages | where: "path", path | first -%}
{%- if my_page.title -%}
<a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
{%- endif -%}
{%- endfor -%}
<span class="nav-separator"></span>
<a class="page-link" href="{{ "/about/" | relative_url }}">About</a>
</div>
</nav>
{%- endif -%}
</div>
</header>
74 changes: 74 additions & 0 deletions _includes/projects-graph.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions _layouts/default.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<!DOCTYPE html>
<html lang="{{ page.lang | default: site.lang | default: "en" }}">

{%- include head.html -%}

<body>

{%- include header.html -%}

<main class="page-content" aria-label="Content">
<div class="wrapper">
{{ content }}
</div>
</main>

{%- include footer.html -%}

{%- include goatcounter.html -%}

</body>

</html>
32 changes: 32 additions & 0 deletions _layouts/post.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
layout: default
---
<article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting">

<header class="post-header">
<h1 class="post-title p-name" itemprop="name headline">{{ page.title | escape }}</h1>
<p class="post-meta">
<time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
{%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%}
{{ page.date | date: date_format }}
</time>
{%- if page.author -%}
• <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span class="p-author h-card" itemprop="name">{{ page.author }}</span></span>
{%- endif -%}
{%- assign words = content | number_of_words -%}
{%- assign minutes = words | divided_by: 200 | plus: 1 -%}
• {{ minutes }} min read</p>
</header>

<div class="post-content e-content" itemprop="articleBody">
{{ content }}
</div>

{%- include author-bio.html -%}

{%- if site.disqus.shortname -%}
{%- include disqus_comments.html -%}
{%- endif -%}

<a class="u-url" href="{{ page.url | relative_url }}" hidden></a>
</article>
29 changes: 29 additions & 0 deletions _sass/author-bio.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
.author-bio {
display: flex;
align-items: flex-start;
gap: 15px;
margin-top: $spacing-unit;
padding: $spacing-unit / 2;
border-top: 1px solid $grey-color-light;
}

.author-bio-avatar {
width: 80px;
height: 80px;
border-radius: 50%;
flex-shrink: 0;
}

.author-bio-text {
font-size: $small-font-size;
color: $grey-color-dark;

strong {
font-size: $base-font-size;
color: $text-color;
}

p {
margin: 4px 0 8px;
}
}
15 changes: 15 additions & 0 deletions _sass/nav-separator.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
.nav-separator {
display: inline-block;
width: 1px;
height: 1.2em;
background-color: $grey-color-light;
vertical-align: middle;
margin: 0 10px 0 0;

@include media-query($on-palm) {
display: block;
width: auto;
height: 1px;
margin: 5px 10px 5px 20px;
}
}
21 changes: 21 additions & 0 deletions about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
layout: page
title: "About"
permalink: /about/
---

Storaged Project is a collection of open-source storage management tools, libraries and APIs used for creating, managing and monitoring storage devices across the GNU/Linux ecosystem.

### Projects

- **[blivet](/blivet/)** — A Python library for storage management, originally written as the storage backend for the Anaconda installer.
- **[blivet-gui](/blivet-gui/)** — A graphical frontend for blivet, providing a user-friendly interface for managing storage devices.
- **[libblockdev](/libblockdev/)** — A C library for working with block devices, offering a plugin-based approach to storage technologies.
- **[libbytesize](/libbytesize/)** — A library for working with sizes in bytes.
- **[UDisks](/udisks/)** — A D-Bus service for accessing and manipulating storage devices.

The diagram below shows how our projects relate to each other and to some notable external projects that use our APIs. Arrows indicate a "uses" relationship.

{% include projects-graph.svg %}

All our projects are hosted on [GitHub](https://github.com/storaged-project).
7 changes: 7 additions & 0 deletions assets/main.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
# Only the main Sass file needs front matter (the dashes are enough)
---

@import "minima";
@import "author-bio";
@import "nav-separator";
2 changes: 2 additions & 0 deletions blivet-gui/blivet-gui.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ permalink: /blivet-gui/
[Source code](https://github.com/storaged-project/blivet-gui) | [Developer Guide](https://github.com/storaged-project/blivet-gui/blob/main/CONTRIBUTING.md)

Blivet-gui is a graphical tool for storage management that uses Blivet library. It provides an easy way to create, modify or delete various storage devices. Currently available features includes LVM storage management (including support for LVM cache, LVM RAID or Thin LVM), Btrfs (including support for Btrfs RAID, subvolumes and snapshots), MD RAID, encrypted devices using LUKS and of course support for managing standard disk partitions and filesystems.

![blivet-gui main window](/blivet-gui/blivet-gui.png)
Binary file added blivet-gui/blivet-gui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@

layout: home
---

Storaged Project is a collection of open-source storage management tools, libraries and APIs used for creating, managing and monitoring storage devices across the GNU/Linux ecosystem. Our projects include [blivet](/blivet/), [blivet-gui](/blivet-gui/), [libblockdev](/libblockdev/), [libbytesize](/libbytesize/) and [UDisks](/udisks/). All our projects are hosted on [GitHub](https://github.com/storaged-project).
Loading
Loading