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
12 changes: 10 additions & 2 deletions src/pug/_common.pug
Original file line number Diff line number Diff line change
Expand Up @@ -97,16 +97,24 @@ 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
div.caption(style=style) !{caption}
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':'')
Expand Down
8 changes: 6 additions & 2 deletions src/pug/blog/_blog.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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 &nbsp; #[+a(prev) <- Previous]
if next
Expand All @@ -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
Expand Down
94 changes: 40 additions & 54 deletions src/pug/blog/all_posts.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion src/pug/blog/alpakka_2_crowdfunding_fail.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/alpakka_v1.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/future_developments.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
48 changes: 48 additions & 0 deletions src/pug/blog/gamesir_collab.pug
Original file line number Diff line number Diff line change
@@ -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<br/>on Instagram',
'auto',
'290px'
)
+figure(
'',
'GameSir Tarantula Ultra - Input Labs edition <br/>(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! 🤍 <br>- Michael and Marcos
2 changes: 1 addition & 1 deletion src/pug/blog/half_anniversary.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/kapybara_development.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/live.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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 =^_^=

Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/patents.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/recap_year_1.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/recap_year_2.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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].

Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/report_1.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/report_10.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/report_11.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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].
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/report_12.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/report_13.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/report_14.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/report_15.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/report_16.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/report_17.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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].
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/report_18.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/report_19.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/report_2.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/pug/blog/report_20.pug
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Loading
Loading