Small Technology Foundation web site.
Find a file
2025-11-14 16:10:13 +00:00
about Add a little note about Oskar 😢 2025-11-14 15:42:58 +00:00
admin🔒 Closes #3: /videos → Edit buttons now go to correct post in admin 2025-05-22 16:49:37 +01:00
app_modules Invalidate year-based view of events when the collection changes 2025-05-11 14:40:47 +01:00
contact-us Update site for latest (breaking) Kitten Markdown parser updates 2025-11-14 15:38:51 +00:00
demo/svelte-nano-donate Move files out of .hugo folder, flatten hierarchy 2025-02-09 17:01:30 +00:00
design Delete old, unused files from Site.js version of the site 2025-05-12 16:37:33 +01:00
downloads Move files out of .hugo folder, flatten hierarchy 2025-02-09 17:01:30 +00:00
events Also show the event time on upcoming posts 2025-04-18 09:29:18 +01:00
fonts Move files out of .hugo folder, flatten hierarchy 2025-02-09 17:01:30 +00:00
fund-us Revert "Pause our fundraising and link to Gaza Verified Emergency Appeal" 2025-09-30 09:54:45 +01:00
images Update photo 2025-04-15 10:06:28 +01:00
news Improve news item image framing 2025-05-13 16:34:49 +01:00
patron Patron name might be null (e.g., via Apple Pay); handle gracefully 2025-06-26 10:10:14 +01:00
privacy Update privacy policy to reflect current version of site 2025-05-12 16:03:57 +01:00
research-and-development Update site for latest (breaking) Kitten Markdown parser updates 2025-11-14 15:38:51 +00:00
small-is-beautiful Update all remaining Small is Beautiful video archive pages 2025-05-12 21:16:51 +01:00
styles Properly fix visible focus rectangle appearance on headings 2025-05-22 17:51:31 +01:00
videos Improve video bottom margin 2025-05-22 16:59:58 +01:00
.gitignore Initial add 2022-09-14 11:39:38 +01:00
FundUs.component.js Move files out of .hugo folder, flatten hierarchy 2025-02-09 17:01:30 +00:00
index.page.md Update site for latest (breaking) Kitten Markdown parser updates 2025-11-14 15:38:51 +00:00
index.xml.get.js Improve file description 2025-05-12 15:32:01 +01:00
jsconfig.json Add DOM to supported libraries 2025-03-20 16:26:17 +00:00
LICENSE Initial add 2022-09-14 11:39:38 +01:00
Main.layout.js Break style sheet into separate files for easier maintainability 2025-05-22 09:59:45 +01:00
package-lock.json Update Kitten globals to latest version; update icon references 2025-05-06 18:39:16 +01:00
package.json Update Kitten globals to latest version; update icon references 2025-05-06 18:39:16 +01:00
README.md Add missing link; remove redundant white space 2025-05-12 15:42:57 +01:00
site-feature.png Move files out of .hugo folder, flatten hierarchy 2025-02-09 17:01:30 +00:00
styles.css.page.js Break style sheet into separate files for easier maintainability 2025-05-22 09:59:45 +01:00
template.md Move files out of .hugo folder, flatten hierarchy 2025-02-09 17:01:30 +00:00
Video.component.js Improve fallback download video copy 2025-05-12 18:18:58 +01:00

Small Technology Foundation web site

This is the web site for the Small Technology Foundation.

It’s built using Kitten, the Small Web toolkit.

Like this? Fund us!

Small Technology Foundation is a tiny, independent not-for-profit.

We exist in part thanks to patronage by people like you. If you share our vision and want to support our work, please become a patron or donate to us today and help us continue to exist.

Run it locally

  1. Install Kitten

  2. Clone the repository

    git clone https://codeberg.org/small-tech/site.git
    
  3. Run kitten

    kitten site
    

Hit https://localhost to access your local copy of the site.

Deployment

The site is set up to deploy automatically on pushes to master via Kitten’s deployment webhook feature.

Adding content

Content pages

Content pages are Kitten Markdown pages and are authored and maintained manually in the source code.

Components and fragments

Repeated partials, such as the “fund us” blurb are Kitten components that are imported via the front matter on Kitten Markdown pages an embedded on the page via component syntax, e.g., <${FundUs} />``.

Layout

Layout is via Kitten layout components. e.g., see the main layout in Main.layout.js.

Dynamic pages

The news, events, and videos pages are dynamically generated from the site’s database (using Kitten’s built-in database support).

To update the data here, sign in to the /admin page with your secret.

Fund Us and Patronage Pages

The Fund Us page contains the funding form and uses the fully client-side Stripe Checkout flow. The payment form is hosted by Stripe and we simply redirect the donor to it once they’ve selected their donation type (donation or patronage) and amount. When they successfully complete a transation, they are either returned to /fund-us/thank-you/ (for donations) or to their own patronage page, as specified by the inclusion of the Stripe session ID within the URL.

A note on graphics and compression

Image resolutions

For full-width images, the largest resolution we support is 4K (3,840 width) @ 1.5x. So a full-width header is 5,760 pixels wide.

For smaller graphics, render them at 2x.

Header compression settings

We compress the header PNGs using compress-or-die.com/png in 4 colour. The full set of settings are below. All are defaults apart from the Colors settings, set in bold:

Preprocessing

  • Size: 100%
  • Trim: no
  • Blurring radius (px): 0
  • Blurring threshold (px): 0

Compression

  • Bit depth: 8 Bit
  • Colors: 4
  • Dithering: yes
  • Extreme compression: no

Copyright ⓒ 2019-present Small Technology Foundation Licensed under AGPLv3 or later.