Skip to content
Open
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 .github/workflows/release-notes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ jobs:
title: "Release of BlueZ ${NEW_TAG}"
date: ${TODAY}
summary: "BlueZ ${NEW_TAG} has been released with improvements and bug fixes."
image: "images/news/release.png"
draft: false
---
FRONTMATTER
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Hugo's output directory
public/
# Hugo's generated resource cache
resources/_gen/
# Hugo's build lock
.hugo_build.lock
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,11 @@ Write the article body in Markdown below the front matter. Fenced code blocks ar

Place news images in `assets/images/news/` and reference them by filename in the front matter fields above.

`hugo.toml` is the single configuration point for automatic card images:

- `defaultNewsImage` is used by articles without an `image` value.
- `weeklyReportImages` is the ordered, circular list used for weekly reports. Add, remove, or rename entries to change the rotation and its count.

---

## Deployment
Expand Down
Binary file added assets/images/news/audio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/news/bluetooth-hardware.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/news/documentation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/news/mailing-list-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/news/mailing-list-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/news/mailing-list-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/news/release.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions content/news/2022/bluez-5-66-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: "Release of BlueZ 5.66"
date: 2022-11-14
summary: "This release mainly includes the initial support of BAP (Basic Audio Profile) which is an essential part of LE Audio responsible for stream control and VCP (Volume Control Profile). For MGMT, new MGMT opcodes are..."
image: "images/news/release.png"
---

This release mainly includes the initial support of BAP (Basic Audio Profile) which is an essential part of LE Audio responsible for stream control and VCP (Volume Control Profile). For MESH, new MGMT opcodes are added to share one controller between the legacy bluetooth daemon and the mesh daemon. This release also includes various bug fixes in A2DP, GATT, HOG
1 change: 1 addition & 0 deletions content/news/2022/le-audio-pipewire.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: "LE Audio support in PipeWire"
date: 2022-11-14
summary: "Since version 0.3.59, PipeWire supports LE Audio's Basic Audio Profile (BAP) for Connected Isochronous Streams (CIS) with the Low Complexity Communication Codec (LC3), see ..."
image: "images/news/audio.png"
---


Expand Down
1 change: 1 addition & 0 deletions content/news/2022/le-audio-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: "LE Audio Support"
date: 2022-11-14
summary: "From release 5.66, the initial support for BAP (Basic Audio Profile) which is an essential part of LE Audio responsible for stream control is added."
image: "images/news/audio.png"
---


Expand Down
1 change: 1 addition & 0 deletions content/news/2026/bluez-5-87-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: "Release of BlueZ 5.87"
date: 2026-07-07
summary: "BlueZ 5.87 has been released with improvements and bug fixes."
image: "images/news/release.png"
draft: false
---

Expand Down
7 changes: 7 additions & 0 deletions hugo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,13 @@ title = 'BlueZ - Official Linux Bluetooth Protocol Stack'
[params]
description = 'BlueZ is the official Linux Bluetooth protocol stack. It is flexible, efficient and uses a modular implementation.'
copyrightYearStart = 2000
defaultNewsImage = 'images/news/bluetooth-hardware.png'
# Ordered card images for weekly reports; image index = (week number - 1) modulo list length.
weeklyReportImages = [
'images/news/mailing-list-1.png',
'images/news/mailing-list-2.png',
'images/news/mailing-list-3.png',
]

[pagination]
pagerSize = 12
Expand Down
13 changes: 1 addition & 12 deletions layouts/news/list.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,7 @@ <h1>{{ .Title }}</h1>
{{ range $paginator.Pages }}
<article class="news-card">
<a href="{{ .Permalink }}" title="{{ .Title }}">
{{ with .Params.image }}
{{ $img := resources.Get . }}
{{ if $img }}
<div class="news-card-image">
<img src="{{ $img.RelPermalink }}" alt="{{ $.Title }}" loading="lazy">
</div>
{{ else }}
<div class="news-card-image"></div>
{{ end }}
{{ else }}
<div class="news-card-image"></div>
{{ end }}
{{ partial "news-card-image.html" . }}
<h3>{{ .Title }}</h3>
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "2 January 2006" }}</time>
<p>{{ .Params.summary }}</p>
Expand Down
13 changes: 1 addition & 12 deletions layouts/news/single.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,18 +40,7 @@ <h1>{{ .Title }}</h1>
{{ range $related }}
<article class="news-card">
<a href="{{ .Permalink }}" title="{{ .Title }}">
{{ with .Params.image }}
{{ $img := resources.Get . }}
{{ if $img }}
<div class="news-card-image">
<img src="{{ $img.RelPermalink }}" alt="{{ $.Title }}" loading="lazy">
</div>
{{ else }}
<div class="news-card-image"></div>
{{ end }}
{{ else }}
<div class="news-card-image"></div>
{{ end }}
{{ partial "news-card-image.html" . }}
<h3>{{ .Title }}</h3>
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "2 January 2006" }}</time>
<p>{{ .Params.summary }}</p>
Expand Down
31 changes: 31 additions & 0 deletions layouts/partials/news-card-image.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{{- $page := . -}}
{{- $imagePath := $page.Params.image -}}
{{- if not $imagePath -}}
{{- if hasPrefix $page.File.BaseFileName "weekly-report-w" -}}
{{- $weeklyReportImages := $page.Site.Params.weeklyReportImages -}}
{{- if gt (len $weeklyReportImages) 0 -}}
{{- $week := int (replaceRE "^0+" "" (replace $page.File.BaseFileName "weekly-report-w" "")) -}}
{{- $imagePath = index $weeklyReportImages (mod (sub $week 1) (len $weeklyReportImages)) -}}
{{- else -}}
{{- $imagePath = $page.Site.Params.defaultNewsImage -}}
{{- end -}}
{{- else -}}
{{- $imagePath = $page.Site.Params.defaultNewsImage -}}
{{- end -}}
{{- end -}}
{{- $img := resources.Get $imagePath -}}
<div class="news-card-image">
{{- with $img }}
{{- $small := .Resize "500x webp q82" -}}
{{- $large := .Resize "1000x webp q82" -}}
<img
src="{{ $small.RelPermalink }}"
srcset="{{ $small.RelPermalink }} {{ $small.Width }}w, {{ $large.RelPermalink }} {{ $large.Width }}w"
sizes="(max-width: 640px) calc(100vw - 80px), 33vw"
width="{{ $large.Width }}"
height="{{ $large.Height }}"
alt=""
loading="lazy"
decoding="async">
{{- end }}
</div>
13 changes: 1 addition & 12 deletions layouts/partials/news.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,7 @@ <h2><a href="{{ "news/" | relURL }}" title="Latest news">Latest news</a></h2>
{{ range first 3 $news }}
<article class="news-card">
<a href="{{ .Permalink }}" title="{{ .Title }}">
{{ with .Params.image }}
{{ $img := resources.Get . }}
{{ if $img }}
<div class="news-card-image">
<img src="{{ $img.RelPermalink }}" alt="{{ $.Title }}" loading="lazy">
</div>
{{ else }}
<div class="news-card-image"></div>
{{ end }}
{{ else }}
<div class="news-card-image"></div>
{{ end }}
{{ partial "news-card-image.html" . }}
<h3>{{ .Title }}</h3>
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "2 January 2006" }}</time>
<p>{{ .Params.summary }}</p>
Expand Down