diff --git a/src/pug/_common.pug b/src/pug/_common.pug
index f284152..9b20cb4 100644
--- a/src/pug/_common.pug
+++ b/src/pug/_common.pug
@@ -97,9 +97,9 @@ mixin dl(href)
a(href=href download)&attributes(attributes)
block
-mixin figure(id, caption, src, cls, style)
+mixin figure(id, caption, img, cls, style)
div.figure(class=cls)
- img(src=src style=style)
+ img(src=img style=style)
if id
div.caption(style=style) Figure #{id}: !{caption}
else
@@ -107,6 +107,14 @@ mixin figure(id, caption, src, cls, style)
div.caption
block
+mixin figureLink(link, img, caption, cls, width='auto', height='auto')
+ div(style='display:inline-block; padding-right:20px; padding-top:20px')
+ div(style='display:flex; justify-content: center')
+ a.nobg(href=link target='_blank')
+ img(src=img style='height:290px !important')
+ a.nobg(href=link target='_blank' style='padding:0')
+ div.caption(style='width:initial') !{caption}
+
mixin boximglink(img, url, text, blank, blend)
- target = blank ? '_blank' : ''
div.box.image(class=blend?'colored blend':'')
diff --git a/src/pug/blog/_blog.pug b/src/pug/blog/_blog.pug
index fc0028a..db812eb 100644
--- a/src/pug/blog/_blog.pug
+++ b/src/pug/blog/_blog.pug
@@ -6,9 +6,13 @@ block title
|
mixin news_header(date, prev, next)
+ -
+ const dateUTC = new Date(`${date}T00:00:00Z`)
+ const format = {day: 'numeric', month: 'long', year: 'numeric', timeZone: 'UTC'}
+ const dateEN = dateUTC.toLocaleDateString('en-GB', format)
hr
p
- i #{date}
+ i #{dateEN}
if prev
span #[+a(prev) <- Previous]
if next
@@ -25,8 +29,8 @@ block page
h3 Latest news
div
+ +wikilink('gamesir_collab') GameSir collaboration
+wikilink('report_31') Progress report 31
- //- +wikilink('gamesir_collab') GameSir collaboration
+wikilink('alpakka_2_crowdfunding_fail') Alpakka 2 crowdfunding fail
+wikilink('future_developments') Future developments
+wikilink('report_30') Progress report 30
diff --git a/src/pug/blog/all_posts.pug b/src/pug/blog/all_posts.pug
index df28868..d1b2d1e 100644
--- a/src/pug/blog/all_posts.pug
+++ b/src/pug/blog/all_posts.pug
@@ -7,57 +7,43 @@ block content
h2 All blog news
hr
- h3 2026
- ul
- li: +a('report_31') Progress report 31
- li: +a('alpakka_2_crowdfunding_fail') Alpakka 2 crowdfunding fail
-
- h3 2025
- ul
- li: +a('future_developments') Future developments
- li: +a('report_30') Progress report 30
- li: +a('report_29') Progress report 29
- li: +a('kapybara_development') Kapybara development
- li: +a('report_28') Progress report 28
-
- h3 2024
- ul
- li: +a('report_27') Progress report 27
- li: +a('recap_year_2') Year 2 recap
- li: +a('alpakka_v1') Alpakka 1.0 announcement
- li: +a('report_26') Progress report 26
- li: +a('report_25') Progress report 25
- li: +a('report_24') Progress report 24
- li: +a('report_23') Progress report 23
- li: +a('report_22') Progress report 22
- li: +a('report_21') Progress report 21
- li: +a('report_20') Progress report 20
- li: +a('patents') Patents, a necessary evil
-
- h3 2023
- ul
- li: +a('report_19') Progress report 19
- li: +a('recap_year_1') Year 1 recap
- li: +a('report_18') Progress report 18
- li: +a('report_17') Progress report 17
- li: +a('report_16') Progress report 16
- li: +a('report_15') Progress report 15
- li: +a('report_14') Progress report 14
- li: +a('half_anniversary') Half anniversary
- li: +a('report_13') Progress report 13
- li: +a('report_12') Progress report 12
- li: +a('report_11') Progress report 11
- li: +a('report_10') Progress report 10
- li: +a('report_9') Progress report 9
- li: +a('shop_opening') Shop opening
- li: +a('report_8') Progress report 8
- li: +a('report_7') Progress report 7
- li: +a('report_6') Progress report 6
-
- h3 2022
- ul
- li: +a('report_5') Progress report 5
- li: +a('report_4') Progress report 4
- li: +a('report_3') Progress report 3
- li: +a('report_2') Progress report 2
- li: +a('report_1') Progress report 1
+ -
+ const fs = require('fs')
+ const path = require('path')
+ const blogDir = path.join(process.cwd(), 'src/pug/blog')
+ const files = fs.readdirSync(blogDir)
+
+ const posts = []
+ for (const f of files) {
+ if (!f.endsWith('.pug') || f.startsWith('_') || f === 'all_posts.pug') continue
+ const filePath = path.join(blogDir, f)
+ const content = fs.readFileSync(filePath, 'utf8')
+
+ const matchDate = content.match(/\+news_header\s*\(\s*['"](\d{4}-\d{2}-\d{2})['"]/)
+ if (!matchDate) continue
+
+ const date = matchDate[1]
+ const name = path.basename(f, '.pug')
+
+ let title = content.match(/block append subtitle\s*\n\s*\|\s*(.+)/)
+ title = title[1].trim().replace('#', '')
+ title = title.replace('Year one', 'Year 1')
+ title = title.replace('Year two', 'Year 2')
+ posts.push({ name, date, title, year: date.substring(0, 4) })
+ }
+
+ posts.sort((a, b) => b.date.localeCompare(a.date))
+
+ // Group by year.
+ const byYear = {}
+ for (const p of posts) {
+ if (!byYear[p.year]) byYear[p.year] = []
+ byYear[p.year].push(p)
+ }
+ const years = Object.keys(byYear).sort((a, b) => b.localeCompare(a))
+
+ each year in years
+ h3= year
+ ul
+ each p in byYear[year]
+ li: +a(p.name)= p.title
diff --git a/src/pug/blog/alpakka_2_crowdfunding_fail.pug b/src/pug/blog/alpakka_2_crowdfunding_fail.pug
index ebadffc..e85cdf7 100644
--- a/src/pug/blog/alpakka_2_crowdfunding_fail.pug
+++ b/src/pug/blog/alpakka_2_crowdfunding_fail.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Alpakka 2 crowdfunding fail
- +news_header('2 March 2026', 'future_developments', 'report_31')
+ +news_header('2026-03-02', 'future_developments', 'report_31')
h3 Results of the campaign
p From the 2nd of February to the 2nd of March #[em we ran a Indiegogo campaign to fund the Alpakka 2], unfortunately the campaign was #[em not funded], as it did not reach the target we set.
diff --git a/src/pug/blog/alpakka_v1.pug b/src/pug/blog/alpakka_v1.pug
index 0251bcc..f9a7b04 100644
--- a/src/pug/blog/alpakka_v1.pug
+++ b/src/pug/blog/alpakka_v1.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Alpakka 1.0 announcement
- +news_header('4 December 2024', 'report_26', 'recap_year_2')
+ +news_header('2024-12-04', 'report_26', 'recap_year_2')
h3 Alpakka 1.0 pre-order
p It is still work in progress, but we are now confident to announce a significant update to the Alpakka reference design. While the new main feature is wireless communication, we are using the opportunity to introduce some other significant changes.
diff --git a/src/pug/blog/future_developments.pug b/src/pug/blog/future_developments.pug
index 75a8ff3..38ec26d 100644
--- a/src/pug/blog/future_developments.pug
+++ b/src/pug/blog/future_developments.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Future developments update
- +news_header('1 December 2025', 'report_30', 'alpakka_2_crowdfunding_fail')
+ +news_header('2025-12-01', 'report_30', 'alpakka_2_crowdfunding_fail')
h3 State of funding
p Small recap: When we launched Input Labs in #[em 2022] the plan was to fund the project via Patreon, later in #[em 2023] we started 3D-printing some parts and selling them in our shop, then since late 2023 we have been selling complete DIY kits in the shop, and that became our main funding source.
diff --git a/src/pug/blog/gamesir_collab.pug b/src/pug/blog/gamesir_collab.pug
new file mode 100644
index 0000000..348963f
--- /dev/null
+++ b/src/pug/blog/gamesir_collab.pug
@@ -0,0 +1,48 @@
+extends _blog.pug
+
+block append subtitle
+ | GameSir collaboration
+
+block content
+ h2 GameSir collaboration
+ +news_header('2026-07-30', 'report_31', '')
+
+ h3 GameSir x Input Labs
+ p We are very happy to announce we entered a collaboration with #[em GameSir] 🐔. Since the early days of Input Labs, #[em Betta-Core (GameSir's CEO)] was one of the first supporters in our Patreon, and he mentioned how he loves the Alpakka for its DIY simplicity and raw performance.
+
+ p When we shared how Input Labs struggled after the failed crowdfunding campaign, GameSir reached out to us offering their help, so we started to explore how we could join forces.
+
+ p The first #[em GameSir x Input Labs] collab hasn't been formally announced yet, but the community connected the dots pretty quickly. Yes, we can confirm now the collab is the #[em Tarantula Ultra].
+
+ +figureLink(
+ 'https://www.instagram.com/p/DYhI4S-Ex8x/',
+ '/static/blog/gamesir-input-labs.jpg',
+ 'GameSir teaser
on Instagram',
+ 'auto',
+ '290px'
+ )
+ +figure(
+ '',
+ 'GameSir Tarantula Ultra - Input Labs edition
(design not final)',
+ '/static/blog/gamesir-input-labs-proto.jpg',
+ 'medium inline nobottommargin',
+ )
+
+ p The #[em Tarantula Ultra] is being designed (and will be manufactured) by #[em GameSir], featuring technologies licensed from #[em Input Labs]. Additionally, Input Labs will assist in tuning the gyro solution to extract as much performance as possible. The final features and specs will be announced by GameSir towards the #[em end of the year].
+
+ p Answering a frequent question: The controller will still work within the GameSir ecosystem, and use #[em GameSir Connect] app.
+
+ p But this is just the beginning, combining GameSir #[em world-class design and manufacturing], and Input Labs #[em open research and innovations], we feel this partnership has a huge potential to create revolutionary controllers, and we are genuinely excited for what will come next. 🚀
+
+ hr
+ h3 Future collabs
+ p We are also curious to get community feedback for new collab ideas:
+ | #[i (All of them just being #[em hypothetical] at the moment)]
+ ul
+ li #[em "Retro-fit" PCB kits]: Input Labs PCB in other controllers. Which controller would you prefer to get such a fancy treatment?
+ li #[em A new controller]: Did I hear Alpakka 2?
+ li #[em Kapybara PRO]: Injection molded Kapybara?
+ p Would you like any of these to happen? Share your thoughts with us on #[+ax(org.discord) Discord], your opinion matters (for real!).
+
+ hr
+ p Thanks for the support! 🤍
- Michael and Marcos
diff --git a/src/pug/blog/half_anniversary.pug b/src/pug/blog/half_anniversary.pug
index 776e1ae..56ce2a8 100644
--- a/src/pug/blog/half_anniversary.pug
+++ b/src/pug/blog/half_anniversary.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Half Anniversary
- +news_header('29 May 2023', 'report_13', 'report_14')
+ +news_header('2023-05-29', 'report_13', 'report_14')
h3 6 months since we went live
p It's Input Labs halfnniversary! on 22th of November of 2022 we made this project public, and since then we received a massive amount of positive feedback, hundreds of friends joined the Discord server, and we even got help and contributions from professional electrical engineers, industrial designers, and embedded software engineers. We learnt a lot, and we made a lot of progress, but there is still much more to do, together.
diff --git a/src/pug/blog/kapybara_development.pug b/src/pug/blog/kapybara_development.pug
index 1316512..8fdb5f4 100644
--- a/src/pug/blog/kapybara_development.pug
+++ b/src/pug/blog/kapybara_development.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Kapybara development
- +news_header('8 May 2025', 'report_28', 'report_29')
+ +news_header('2025-05-08', 'report_28', 'report_29')
h3 Kapybara development starts now
p Kapybara (finnish spell for #[+ax('https://en.wikipedia.org/wiki/Capybara') Capybara]) is the name for Input Labs' second reference design, a #[em single hand] controller more focused on accessibility usecases. We had plans to make the Kapybara as early as 2022 when Input Labs was founded, but the development of the Alpakka (our first controller) forced us to delay its development until now.
diff --git a/src/pug/blog/live.pug b/src/pug/blog/live.pug
index ef3a5a0..4a04a22 100644
--- a/src/pug/blog/live.pug
+++ b/src/pug/blog/live.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 We are live
- +news_header('22 November 2022', null, 'report_1')
+ +news_header('2022-11-22', null, 'report_1')
p: b The cat is out of the bag =^_^=
diff --git a/src/pug/blog/patents.pug b/src/pug/blog/patents.pug
index f0bed49..1b183f4 100644
--- a/src/pug/blog/patents.pug
+++ b/src/pug/blog/patents.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Patents, a necessary evil
- +news_header('8 January 2024', 'report_19', 'report_20')
+ +news_header('2024-01-08', 'report_19', 'report_20')
p In Input Labs we believe in transparency, open-source, and customer’s right to repair. We are also aware that patents are a complicated and controversial topic, so we want to address our community and explain our approach to intellectual property to avoid future misconceptions:
diff --git a/src/pug/blog/recap_year_1.pug b/src/pug/blog/recap_year_1.pug
index 615884e..e2d0dbf 100644
--- a/src/pug/blog/recap_year_1.pug
+++ b/src/pug/blog/recap_year_1.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Year one recap
- +news_header('22 November 2023', 'report_18', 'report_19')
+ +news_header('2023-11-22', 'report_18', 'report_19')
p One year ago Input Labs went live. It is time to review our achievements and lessons learnt.
diff --git a/src/pug/blog/recap_year_2.pug b/src/pug/blog/recap_year_2.pug
index dffcd74..968d4dd 100644
--- a/src/pug/blog/recap_year_2.pug
+++ b/src/pug/blog/recap_year_2.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Year two recap
- +news_header('30 December 2024', 'alpakka_v1', 'report_27')
+ +news_header('2024-12-30', 'alpakka_v1', 'report_27')
p Input Labs went live in late November 2022, since this date is just a few weeks from the end of the year, this time we are making a double report #[em Input Labs year 2 recap] and #[em Year 2024 recap].
diff --git a/src/pug/blog/report_1.pug b/src/pug/blog/report_1.pug
index ba33833..1cc74a0 100644
--- a/src/pug/blog/report_1.pug
+++ b/src/pug/blog/report_1.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #1
- +news_header('3 December 2022', 'live', 'report_2')
+ +news_header('2022-12-03', 'live', 'report_2')
p This has been a very special week, we shared our passion project with the world, and the response has been awesome!, we could not be happier.
diff --git a/src/pug/blog/report_10.pug b/src/pug/blog/report_10.pug
index 66441bd..6246a6e 100644
--- a/src/pug/blog/report_10.pug
+++ b/src/pug/blog/report_10.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #10
- +news_header('31 March 2023', 'report_9', 'report_11')
+ +news_header('2023-03-31', 'report_9', 'report_11')
h3 Alphanumeric input research and testing
p We conducted research on typing methods on devices with limited inputs, and done a first round on internal alpha testing. We wrote the blog entry #[+a('alphanumeric_input') Alphanumeric input] with our preliminary findings.
diff --git a/src/pug/blog/report_11.pug b/src/pug/blog/report_11.pug
index 7a9774d..ad4e1fe 100644
--- a/src/pug/blog/report_11.pug
+++ b/src/pug/blog/report_11.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #11
- +news_header('21 April 2023', 'report_10', 'report_12')
+ +news_header('2023-04-21', 'report_10', 'report_12')
h3 Beta version with alphanumeric input methods
p As a continuation of the research on #[+a('alphanumeric_input') alphanumeric input], we now implemented an early version of some input methods (Glyph-stick, Daisywheel, 8-slot quick chat macros, and on-screen keyboard shortcut) and released it as #[+ax(org.fw_release+'0.89.0-beta') Firmware 0.89.0-beta].
diff --git a/src/pug/blog/report_12.pug b/src/pug/blog/report_12.pug
index b6ced83..14edf7e 100644
--- a/src/pug/blog/report_12.pug
+++ b/src/pug/blog/report_12.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #12
- +news_header('08 May 2023', 'report_11', 'report_13')
+ +news_header('2023-05-08', 'report_11', 'report_13')
h3 More than 500 Discord users
p Our community of Discord users has now grown to more than 500.
diff --git a/src/pug/blog/report_13.pug b/src/pug/blog/report_13.pug
index e18f493..4d18f46 100644
--- a/src/pug/blog/report_13.pug
+++ b/src/pug/blog/report_13.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #13
- +news_header('26 May 2023', 'report_12', 'half_anniversary')
+ +news_header('2023-05-26', 'report_12', 'half_anniversary')
h3 New PCB version
p We released Alpakka PCB version #[+ax('https://github.com/inputlabs/alpakka_pcb/releases/tag/0.90.0') b0.90.0] (#[em b] for board):
diff --git a/src/pug/blog/report_14.pug b/src/pug/blog/report_14.pug
index 63d6e43..1ecaab8 100644
--- a/src/pug/blog/report_14.pug
+++ b/src/pug/blog/report_14.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #14
- +news_header('29 June 2023', 'half_anniversary', 'report_15')
+ +news_header('2023-06-29', 'half_anniversary', 'report_15')
h3 Racing profile firmware beta and video
p One of the upcoming features for the Alpakka is the support of racing games. The new racing profile now takes data from the accelerometer into account to determine the direction of "down", in order to simulate a steering wheel-like behavior.
diff --git a/src/pug/blog/report_15.pug b/src/pug/blog/report_15.pug
index daf6da4..bf8464e 100644
--- a/src/pug/blog/report_15.pug
+++ b/src/pug/blog/report_15.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #15
- +news_header('31 July 2023', 'report_14', 'report_16')
+ +news_header('2023-07-31', 'report_14', 'report_16')
h3 New version of 3D models
p In order to improve the stability of the scroll-wheel and reduce reports about "wobbling", we have re-designed the two parts, so that they fit together more reliably.
diff --git a/src/pug/blog/report_16.pug b/src/pug/blog/report_16.pug
index b22d142..43d695f 100644
--- a/src/pug/blog/report_16.pug
+++ b/src/pug/blog/report_16.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #16
- +news_header('1 September 2023', 'report_15', 'report_17')
+ +news_header('2023-09-01', 'report_15', 'report_17')
h3 New firmware version with racing profile
p The racing profile is finally here in the firmware release #[+ax(org.fw_release+'0.91.0') f0.91.0] of the Alpakka firmware, the details about mappings and its features are in the #[+a('/alpakka/manual/profile_racing') Racing profile] section of the manual.
diff --git a/src/pug/blog/report_17.pug b/src/pug/blog/report_17.pug
index f1c3b23..ecfddc0 100644
--- a/src/pug/blog/report_17.pug
+++ b/src/pug/blog/report_17.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #17
- +news_header('6 October 2023', 'report_16', 'report_18')
+ +news_header('2023-10-06', 'report_16', 'report_18')
h3 Ctrl app
p We released firmware #[+ax(org.fw_release+'0.92.0') 0.92.0] along the new #[+ax('https://github.com/inputlabs/ctrl') Ctrl app source code] for the Alpakka controller. A minimalistic app was the best approach to address the feedback from the community, and to have a simpler way to modify profiles. The app is aligned with Input Labs principles, so it is completely #[em optional], #[em open-source], and #[em multi-platform].
diff --git a/src/pug/blog/report_18.pug b/src/pug/blog/report_18.pug
index 5465545..ed63a31 100644
--- a/src/pug/blog/report_18.pug
+++ b/src/pug/blog/report_18.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #18
- +news_header('17 November 2023', 'report_17', 'recap_year_1')
+ +news_header('2023-11-17', 'report_17', 'recap_year_1')
h3 Fully soldered Printed Circuit Boards
p Based on feedback from our community we know that soldering components on the PCB can pose a bit of a challenge. While the soldering is very basic, and can represent a very nice learning experience, people may be afraid of making a mistake.
diff --git a/src/pug/blog/report_19.pug b/src/pug/blog/report_19.pug
index 28666dd..4fd723e 100644
--- a/src/pug/blog/report_19.pug
+++ b/src/pug/blog/report_19.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #19
- +news_header('22 December 2023', 'recap_year_1', 'patents')
+ +news_header('2023-12-22', 'recap_year_1', 'patents')
h3 Now in shop: Fully soldered Printed Circuit Boards
p As mentioned in the previous progress report, we now offer also #[+ax(org.shop+'/everyone/p/alpakka-pcb-soldered') fully soldered PCBs] in our distribution channel.
diff --git a/src/pug/blog/report_2.pug b/src/pug/blog/report_2.pug
index cba3cbf..5da0f1c 100644
--- a/src/pug/blog/report_2.pug
+++ b/src/pug/blog/report_2.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #2
- +news_header('10 December 2022', 'report_1', 'report_3')
+ +news_header('2022-12-10', 'report_1', 'report_3')
h3 Console legacy profile and firmware improvements
p A new profile #[+a('/alpakka/manual/profile_console_legacy') Console Legacy] is now implemented. It comes with mouse emulation completely disabled, and #[em right thumbstick emulated] in the 8-direction switch.
diff --git a/src/pug/blog/report_20.pug b/src/pug/blog/report_20.pug
index 4abc644..941cac2 100644
--- a/src/pug/blog/report_20.pug
+++ b/src/pug/blog/report_20.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #20
- +news_header('2 February 2024', 'patents', 'report_21')
+ +news_header('2024-02-02', 'patents', 'report_21')
h3 New version of 3D models
p To make them fit better, we improved the gap tolerances for the conductive hex, as well as the L4 / R4 triggers. We also slightly increased the size of the screw holes, to make assembly easier.
diff --git a/src/pug/blog/report_21.pug b/src/pug/blog/report_21.pug
index 4914a75..7ec6e0a 100644
--- a/src/pug/blog/report_21.pug
+++ b/src/pug/blog/report_21.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #21
- +news_header('8 March 2024', 'report_20', 'report_22')
+ +news_header('2024-03-08', 'report_20', 'report_22')
h3 Wireless Alpakka
p For the last months we have been researching (and developing) the wireless functionality on the Alpakka controller. Originally we decided to continue using the #[em Raspberry Pi Pico], but moving to the #[em Pico-W] variant. Our initial work was to validate a potential BT solution, focusing on 4 key requirements:
diff --git a/src/pug/blog/report_22.pug b/src/pug/blog/report_22.pug
index ed30911..7d3f7aa 100644
--- a/src/pug/blog/report_22.pug
+++ b/src/pug/blog/report_22.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #22
- +news_header('23 April 2024', 'report_21', 'report_23')
+ +news_header('2024-04-23', 'report_21', 'report_23')
h3 Migration from Blender to Build123d
p We decided to start using #[+ax('https://build123d.readthedocs.io') Build123d] as our main modelling solution. The original idea of using #[em Blender as a CAD] app did not turn out to be very popular.
diff --git a/src/pug/blog/report_23.pug b/src/pug/blog/report_23.pug
index 04acda5..7e5c4d5 100644
--- a/src/pug/blog/report_23.pug
+++ b/src/pug/blog/report_23.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #23
- +news_header('14 June 2024', 'report_22', 'report_24')
+ +news_header('2024-06-14', 'report_22', 'report_24')
h3 Firmware and Ctrl app 0.96.0
p We released #[+ax(org.fw_release+'0.96.0') f0.96.0] firmware, and Ctrl app #[+ax(org.ctrl_release+'0.96.0') a0.96.0]. The main new features are:
diff --git a/src/pug/blog/report_24.pug b/src/pug/blog/report_24.pug
index 7f89d97..6eda592 100644
--- a/src/pug/blog/report_24.pug
+++ b/src/pug/blog/report_24.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #24
- +news_header('29 July 2024', 'report_23', 'report_25')
+ +news_header('2024-07-29', 'report_23', 'report_25')
h3 More 3D models in build123d
p We published a new iteration of the Alpakka 3D-models with the #[+ax(org.cad_release+'0.97.0') c0.97.0] release, continuing the migration from Blender to #[+ax('https://build123d.readthedocs.io') build123d] that we mentioned in #[+a('report_22') report 22].
diff --git a/src/pug/blog/report_25.pug b/src/pug/blog/report_25.pug
index 87c48ae..84563b0 100644
--- a/src/pug/blog/report_25.pug
+++ b/src/pug/blog/report_25.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #25
- +news_header('13 September 2024', 'report_24', 'report_26')
+ +news_header('2024-09-13', 'report_24', 'report_26')
h3 Wireless RF prototypes 6 and 7
p We continued experimenting with antenna performance by doing #[em "trim tuning"]: adding a long copper stub on the antenna's end. Taking measurements while progressive scratching off the copper and reducing the stub length.
diff --git a/src/pug/blog/report_26.pug b/src/pug/blog/report_26.pug
index 60ff445..f712400 100644
--- a/src/pug/blog/report_26.pug
+++ b/src/pug/blog/report_26.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #26
- +news_header('13 November 2024', 'report_25', 'alpakka_v1')
+ +news_header('2024-11-13', 'report_25', 'alpakka_v1')
h3 ESP-based wireless prototypes
p We created RF prototypes iterations #[em 8] and #[em 9], moving from a chip antenna to a pre-certified #[+ax('https://www.espressif.com/en/products/socs?id=ESP32-C2') Espressif ESP-8684-MINI-1] for communication, but still using the RP2040 as main MCU.
diff --git a/src/pug/blog/report_27.pug b/src/pug/blog/report_27.pug
index 813ef32..6a0863b 100644
--- a/src/pug/blog/report_27.pug
+++ b/src/pug/blog/report_27.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #27
- +news_header('28 February 2024', 'recap_year_2', 'report_28')
+ +news_header('2024-02-28', 'recap_year_2', 'report_28')
h3 Alpakka 1.0 delay
p The Alpakka 1.0 release was estimated for February 14th, but #[em we decided to delay it a bit], since the last iteration of Marmota core modules had problems that we won't be able to solve with updates / without breaking backwards compatibility.
diff --git a/src/pug/blog/report_28.pug b/src/pug/blog/report_28.pug
index ce5230a..424da6c 100644
--- a/src/pug/blog/report_28.pug
+++ b/src/pug/blog/report_28.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #28
- +news_header('18 April 2025', 'report_27', 'kapybara_development')
+ +news_header('2025-04-18', 'report_27', 'kapybara_development')
h3 Alpakka 1.0 pre-orders being delivered
p On 12th of March 2025 we started shipping for Alpakka 1.0 DIY kits. As of today #[em 75% of the pre-orders] has been fulfilled.
diff --git a/src/pug/blog/report_29.pug b/src/pug/blog/report_29.pug
index 23572cc..fb1e738 100644
--- a/src/pug/blog/report_29.pug
+++ b/src/pug/blog/report_29.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #29
- +news_header('30 May 2025', 'kapybara_development', 'report_30')
+ +news_header('2025-05-30', 'kapybara_development', 'report_30')
h3 Alpakka 1.0 fully released now
p We are proud to announce #[em 100%] of the Alpakka 1.0 pre-orders have been fulfilled, and the shop #[em queue has been reduced to zero], meaning that we also delivered all the orders that came after the release (technically not pre-orders but still waiting on the same queue).
diff --git a/src/pug/blog/report_3.pug b/src/pug/blog/report_3.pug
index d53d280..a7f6a63 100644
--- a/src/pug/blog/report_3.pug
+++ b/src/pug/blog/report_3.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #3
- +news_header('17 December 2022', 'report_2', 'report_4')
+ +news_header('2022-12-17', 'report_2', 'report_4')
h3 Firmware easter egg
p A new version of the Alpakka firmware has been released #[+ax('https://github.com/inputlabs/alpakka_firmware/releases/tag/0.86.1') 0.86.1], with an #[em easter egg] for patrons, which is one of the #[+ax(org.patreon) Patreon] rewards. We could explain how it works and what it does, but where would be the fun then?
diff --git a/src/pug/blog/report_30.pug b/src/pug/blog/report_30.pug
index 34b1b8d..8ebdb87 100644
--- a/src/pug/blog/report_30.pug
+++ b/src/pug/blog/report_30.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #30
- +news_header('21 July 2025', 'report_29', 'future_developments')
+ +news_header('2025-07-21', 'report_29', 'future_developments')
h3 New Input Labs staff member
p #[+ax('https://www.linkedin.com/in/maria-bortnichenko-a8345044/') Maria Bortnichenko] joined Input Labs for a temporary assignment as #[em Strategy & Business developer], over the next few months she will help us analyzing the market, and how our devices align with it.
diff --git a/src/pug/blog/report_31.pug b/src/pug/blog/report_31.pug
index 23106ae..f3766c4 100644
--- a/src/pug/blog/report_31.pug
+++ b/src/pug/blog/report_31.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #31
- +news_header('29 July 2026', 'alpakka_2_crowdfunding_fail', '')
+ +news_header('2026-07-29', 'alpakka_2_crowdfunding_fail', 'gamesir_collab')
h3 Shipping to the United States of America again
diff --git a/src/pug/blog/report_4.pug b/src/pug/blog/report_4.pug
index 2280994..00cf916 100644
--- a/src/pug/blog/report_4.pug
+++ b/src/pug/blog/report_4.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #4
- +news_header('24 December 2022', 'report_3', 'report_5')
+ +news_header('2022-12-24', 'report_3', 'report_5')
h3 Blender individual files
p #[+ax('https://github.com/inputlabs/alpakka_case/tree/main/blender') Blender 3D models] are now properly split in smaller files (one file per part) as for example:
diff --git a/src/pug/blog/report_5.pug b/src/pug/blog/report_5.pug
index f4fa4bb..1b8c577 100644
--- a/src/pug/blog/report_5.pug
+++ b/src/pug/blog/report_5.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #5
- +news_header('30 December 2022', 'report_4', 'report_6')
+ +news_header('2022-12-30', 'report_4', 'report_6')
h3 First batch of testers
p We reviewed and accepted our first batch of #[+a("/blog/hardware_testing") testers] (in addition to the friends and family we used previously). Currently we are setting up and testing the process, as well as the logistics for distributing hardware for those testers who need it.
diff --git a/src/pug/blog/report_6.pug b/src/pug/blog/report_6.pug
index 643bf7f..3851551 100644
--- a/src/pug/blog/report_6.pug
+++ b/src/pug/blog/report_6.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #6
- +news_header('13 January 2023', 'report_5', 'report_7')
+ +news_header('2023-01-13', 'report_5', 'report_7')
h3 Sending Alpakka to further reviewers and testers
p There has been plenty of printing, soldering, assembling, testing, packaging and shipping.
diff --git a/src/pug/blog/report_7.pug b/src/pug/blog/report_7.pug
index 3af8a85..fd91460 100644
--- a/src/pug/blog/report_7.pug
+++ b/src/pug/blog/report_7.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #7
- +news_header('27 January 2023', 'report_6', 'report_8')
+ +news_header('2023-01-27', 'report_6', 'report_8')
h3 Risk of Rain 2
p Our patrons voted for the next gameplay video, and the winner was #[+ax("https://www.youtube.com/watch?v=fGY4EGVrsoY") Risk of Rain 2].
diff --git a/src/pug/blog/report_8.pug b/src/pug/blog/report_8.pug
index fd0646c..19f2a0a 100644
--- a/src/pug/blog/report_8.pug
+++ b/src/pug/blog/report_8.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #8
- +news_header('10 February 2023', 'report_7', 'shop_opening')
+ +news_header('2023-02-10', 'report_7', 'shop_opening')
h3 Generic gamepad mode added to the firmware
p We released #[+ax('https://github.com/inputlabs/alpakka_firmware/releases/tag/0.87.0') Firmware 0.87.0], which includes:
diff --git a/src/pug/blog/report_9.pug b/src/pug/blog/report_9.pug
index bca3311..e7069f5 100644
--- a/src/pug/blog/report_9.pug
+++ b/src/pug/blog/report_9.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Progress report #9
- +news_header('10 March 2023', 'shop_opening', 'report_10')
+ +news_header('2023-03-10', 'shop_opening', 'report_10')
h3 Firmware 0.88.0
p We released #[+ax('https://github.com/inputlabs/alpakka_firmware/releases/tag/0.88.0') Firmware 0.88.0] for the Alpakka controller, with plenty of improvements and fixes:
diff --git a/src/pug/blog/shop_opening.pug b/src/pug/blog/shop_opening.pug
index 2e7d203..9613fb5 100644
--- a/src/pug/blog/shop_opening.pug
+++ b/src/pug/blog/shop_opening.pug
@@ -5,7 +5,7 @@ block append subtitle
block content
h2 Shop opening
- +news_header('22 February 2023', 'report_8', 'report_9')
+ +news_header('2023-02-22', 'report_8', 'report_9')
h3 Input Labs Distribution
p It may not be a grand opening, and it is not really a traditional shop either. We are launching #[+ax('https://inputlabs.squarespace.com') Input Labs Distribution], a portal that we will use to better organize the distribution of:
diff --git a/src/static/blog/gamesir-input-labs-proto.jpg b/src/static/blog/gamesir-input-labs-proto.jpg
new file mode 100644
index 0000000..ce74790
Binary files /dev/null and b/src/static/blog/gamesir-input-labs-proto.jpg differ
diff --git a/src/static/blog/gamesir-input-labs.jpg b/src/static/blog/gamesir-input-labs.jpg
new file mode 100644
index 0000000..013b42e
Binary files /dev/null and b/src/static/blog/gamesir-input-labs.jpg differ