commit e19f5e293b93835387dd7173a511e687187e972a from: Bradley Taunt date: Wed Jan 17 18:09:26 2024 UTC Initial commit on self hosted cgit platform commit - /dev/null commit + e19f5e293b93835387dd7173a511e687187e972a blob - /dev/null blob + 8faca5790903386a3fe40a82ea91d0fc6d49930d (mode 644) --- /dev/null +++ LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Bradley Taunt + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. blob - /dev/null blob + b16a580d4287ec6d562703ab8d5de8619a7ca506 (mode 644) --- /dev/null +++ Makefile @@ -0,0 +1,13 @@ +build: + sh ./barf + rsync -r public/ build/public + +clean: + rm -rf build/* + +watch: + while true; do \ + ls -d .git/* * posts/* pages/* header.html | entr -cd make ;\ + done + +.PHONY: build clean watch blob - /dev/null blob + 59e19705bb718b6b722423842d23fa22c6278890 (mode 644) --- /dev/null +++ README.md @@ -0,0 +1,8 @@ +# jsfree.org + +The main website and project for jsfree.org + +[jsfree.org](https://jsfree.org) + +* Submit changes, patches or suggestions [here](https://sr.ht/~bt/jsfree.org/lists) +* or [email me directly](mailto:brad@bt.ht) if you prefer blob - /dev/null blob + 81bbcd2bc21da39eab9f8673b3b79405892919f9 (mode 755) --- /dev/null +++ barf @@ -0,0 +1,105 @@ +#!/bin/sh +set -eu +MARKDOWN=smu +IFS=' ' + +# Create tab separated file with filename, title, creation date, last update +index_tsv() { + for f in "$1"/*.md + do + title=$(sed -n '/^# /{s/# //p; q}' "$f") + printf '%s\t%s\t%s\t%s\n' "$f" "${title:="No Title"}" + done +} + +index_html() { + # Print header + title=$(sed -n '/^# /{s/# //p; q}' index.md) + sed "s/{{TITLE}}/$title/" header.html + + # Intro text + $MARKDOWN index.md + + echo "" + + # Print footer after post list + cat footer.html +} + +atom_xml() { + uri=$(sed -rn '/atom.xml/ s/.*href="([^"]*)".*/\1/ p' header.html) + domain=$(echo "$uri" | sed 's/atom.xml//g' | sed 's|/[^/]*$||') + first_commit_date=$(git log --pretty='format:%ai' . | cut -d ' ' -f1 | tail -1) + + cat < + + $(sed -n '/^# /{s/# //p; q}' index.md) + + $(date +%FT%TZ) + + $(git config user.name) + + $domain,$first_commit_date:default-atom-feed/ +EOF + + while read -r f title created; do + + content=$($MARKDOWN "$f" | sed 's/&/\&/g; s//\>/g; s/"/\"/g; s/'"'"'/\'/g') + post_link=$(echo "$f" | sed -E 's|posts/(.*).md|\1|') + basic_date=$(echo $(head -3 "$f" | tail -1)) + published_date=$(date -d $basic_date -u +%Y-%m-%dT10:%M:%SZ) + + cat < + $title + $content + + $domain/$post_link + $published_date + $published_date + +EOF + done < "$1" + + echo '' +} + +write_page() { + filename=$1 + directory=$(echo $(basename "$filename" .md)) + $(mkdir -p build/$directory) + target=$(echo "$filename" | sed -r 's|\w+/(.*).md|build/\1/index.html|') + created=$(echo $(head -3 "$filename" | tail -1)) + title=$2 + + $MARKDOWN "$filename" | \ + cat header.html - |\ + sed "s|{{TITLE}}|$title|" \ + > "$target" && cat footer.html >> "$target" +} + +rm -rf build && mkdir build + +# Blog posts +index_tsv posts | sort -rt " " -k 3 > build/posts.tsv +index_html build/posts.tsv > build/index.html +atom_xml build/posts.tsv > build/atom.xml +while read -r f title created; do + write_page "$f" "$title" "$created" +done < build/posts.tsv + +# Pages +index_tsv pages > build/pages.tsv +while read -r f title created; do + write_page "$f" "$title" "$created" +done < build/pages.tsv blob - /dev/null blob + c2ca34caba1d26c61aa5f56ab7f229b2dd8b1e29 (mode 644) --- /dev/null +++ build/2024-01-10-introducing-jsfree/index.html @@ -0,0 +1,58 @@ + + + + + + + Introducing jsfree.org + + + + + + +
+

Introducing jsfree.org

+

2024-01-10

+

Hello and welcome to jsfree.org!

+

The What

+

This site is a growing, community-driven collection of web services that work 100% without JavaScript. So if you're running older, unspported hardware or prefer to run a browser with JavaScript disabled, the services listed on this site will all work seamlessly! Pretty neat, eh?

+

(My name is Brad BTW - but the community is more important than the catalyst!)

+

The Why

+

The core concept behind this project is not to hate on JavaScript. JavaScript isn't evil or going to cause the internet to explode. This was merely created to help showcase web applications that work without such overheads. Some users just prefer to go JavaScript-free, similar to those who have no issue running it. I think it's fair to respect personal choice.

+

So, if you feel offended by the concept of others not liking JavaScript, maybe go for a nice walk and think deeply about why something so unimportant would bother you so much. There are much better things to spend your time and energy on. Relax!

+

Get Involved

+

I'm far from an expert in the field of "all-things JavaScript-free". Consider helping me out and making this site even better!

+
    +
  • Submit service/category suggestions or improvements to the main website.
  • +
  • Create your own JavaScript-free web service / application. (Then submit it!)
  • +
  • Spread the word, so the world knows they can go JavaScript-free.
  • +
+

That's all I really have to say. If you're interested in any JavaScript-free related news in the future, consider following the main RSS feed. Cheers!

+ \ No newline at end of file blob - /dev/null blob + 089d25c99a0a4ef3ea102f864eb88aaaa0e8d5e6 (mode 644) --- /dev/null +++ build/atom.xml @@ -0,0 +1,34 @@ + + + jsfree.org + + 2024-01-15T19:24:09Z + + Bradley Taunt + + https://jsfree.org,2024-01-10:default-atom-feed/ + + Introducing jsfree.org + <h1>Introducing jsfree.org</h1> +<p>2024-01-10</p> +<p>Hello and welcome to jsfree.org!</p> +<h2>The What</h2> +<p>This site is a growing, community-driven collection of web services that work 100% without JavaScript. So if you're running older, unspported hardware or prefer to run a browser with JavaScript disabled, the services listed on this site will all work seamlessly! Pretty neat, eh?</p> +<p>(My name is <a href="https://bt.ht">Brad</a> BTW - but the community is more important than the catalyst!)</p> +<h2>The Why</h2> +<p>The core concept behind this project is not to hate on JavaScript. JavaScript isn't evil or going to cause the internet to explode. This was merely created to help showcase web applications that work without such overheads. Some users just prefer to go JavaScript-free, similar to those who have no issue running it. I think it's fair to respect personal choice.</p> +<p>So, if you feel offended by the concept of others not liking JavaScript, maybe go for a nice walk and think deeply about why something so unimportant would bother you so much. There are much better things to spend your time and energy on. Relax!</p> +<h2>Get Involved</h2> +<p>I'm far from an expert in the field of "all-things JavaScript-free". Consider helping me out and making this site even better!</p> +<ul> +<li><a href="https://lists.sr.ht/~bt/jsfree.org">Submit</a> service/category suggestions or improvements to the main website.</li> +<li>Create your own JavaScript-free web service / application. (Then submit it!)</li> +<li>Spread the word, so the world knows they can go JavaScript-free.</li> +</ul> +<p>That's all I really have to say. If you're interested in any JavaScript-free related news in the future, consider following the main <a href="/atom.xml">RSS feed</a>. Cheers!</p> + + https://jsfree.org/2024-01-10-introducing-jsfree + 2024-01-10T10:00:00Z + 2024-01-10T10:00:00Z + + blob - /dev/null blob + 0a563fb609dafa5630d9cad4f8c158c30298ce9a (mode 644) --- /dev/null +++ build/browsers/index.html @@ -0,0 +1,70 @@ + + + + + + + Browsers + + + + + + +
+

Browsers

+

This page is a collection of web browsers that have JavaScript disabled by default or are missing support entirely.

+

+
Dillo
+
+ Dillo is a fast and small graphical web browser with the following features: +
    +
  • Multi-platform, running on Linux, BSD, MacOS and even Atari.
  • +
  • Written in C and C++ with few dependencies.
  • +
  • Implements its own real-time rendering engine.
  • +
  • Low memory usage and fast rendering, even with large pages.
  • +
  • Uses the fast and bloat-free FLTK GUI library.
  • +
  • Support for HTTP, HTTPS, FTP and local files.
  • +
  • And more...
  • +
+
+

+

+
NetSurf
+
Small as a mouse, fast as a cheetah and available for free. NetSurf is a multi-platform web browser for RISC OS, UNIX-like platforms (including Linux), Mac OS X, and more.
+

+

+
Mothra
+
A lightweight web browser for Plan 9.
+

+

+
Abaco
+
Abaco is a multi-page graphical web browser for Plan 9 intended to retrieve and display web pages while trying to be as congruent as possible with system. It is a multi-threaded and modest-sized program.
+

+ \ No newline at end of file blob - /dev/null blob + 43fb06a2ab5d7a3bf65d31fafdddc61959e3e491 (mode 644) --- /dev/null +++ build/code-forges/index.html @@ -0,0 +1,67 @@ + + + + + + + Code Forges + + + + + + +
+

Code Forges

+

This page is a collection of code forges/hosting providers that work without JavaScript.

+

+
Sourcehut
+
+ Sourcehut is a suite of open source tools is the software development. Core features include: + +
+

+ \ No newline at end of file blob - /dev/null blob + 5ec90b1a1d8582dc720f36d80b1fc58c2971a17a (mode 644) --- /dev/null +++ build/email/index.html @@ -0,0 +1,59 @@ + + + + + + + Email + + + + + + +
+

Email

+

This page is a collection of email services that work without JavaScript.

+

+
Migadu
+
Consolidate all your email addresses and domains at a flat price. Take back your email liberty and give unlimited email addresses to all your projects, clients and family members.
+

+

+
Alps
+
A simple and extensible webmail.
+

+

+
SqurrielMail
+
SquirrelMail is a standards-based webmail package written in PHP.
+

+

+
FeedMail
+
FeedMail sends you updates from your favourite websites directly to your inbox.
+

+ \ No newline at end of file blob - /dev/null blob + 0079739b45c5607344cd38489b072a57dbd193fe (mode 644) --- /dev/null +++ build/forums/index.html @@ -0,0 +1,47 @@ + + + + + + + Forums + + + + + + +
+

Forums

+

This page is a collection of forum software that works without JavaScript.

+

+
Agreper
+
Minimal, no-JS forum software.
+

+ \ No newline at end of file blob - /dev/null blob + 3694c8acb70d987f10eb54c3f2f63fda7f1d9e49 (mode 644) --- /dev/null +++ build/games/index.html @@ -0,0 +1,47 @@ + + + + + + + Games + + + + + + +
+

Games

+

This page is a collection of web-based games that run without JavaScript.

+

+
CSS Sweeper
+
MineSweeper implemented in CSS + HTML using the Space Toggle trick (no JavaScript!)
+

+ \ No newline at end of file blob - /dev/null blob + 9af0d5f5c7f1de384f157a28bbbed68ac4ce166a (mode 644) --- /dev/null +++ build/index.html @@ -0,0 +1,66 @@ + + + + + + + jsfree.org + + + + + + +
+

jsfree.org

+

A community-curated collection of web services that work without JavaScript.

+
+

If you're looking for the reasoning behind this project, read Introducing jsfree.org

+

Core objectives

+
    +
  • Avoid e-waste by supporting old, outdated hardware.
  • +
  • Support browsers that lack the ability to run JavaScript.
  • +
  • Increase web accessibility.
  • +
  • Focus on performance and software efficiency.
  • +
  • Promote a safer, faster experience on the web.
  • +
  • Be excellent to each other and have fun!
  • +
+

How you can help

+

Things you can do to contribute to the project (in order of importance):

+
    +
  • Submit service/category suggestions or improvements to the main website.
  • +
  • Create your own JavaScript-free web service / application. (Then submit it!)
  • +
  • Spread the word, so the world knows they can go JavaScript-free.
  • +
+

News

+

You can keep up-to-date by following the Atom feed.

+ + \ No newline at end of file blob - /dev/null blob + 688f724dbb17a039cefd8a971efd7aa872901e1f (mode 644) --- /dev/null +++ build/pages.tsv @@ -0,0 +1,9 @@ +pages/browsers.md Browsers +pages/code-forges.md Code Forges +pages/email.md Email +pages/forums.md Forums +pages/games.md Games +pages/search-engines.md Search Engines +pages/social-media.md Social Media +pages/video.md Video +pages/web-hosting.md Web Hosting blob - /dev/null blob + 9dd108084e28af435f9577e0f628607bbc27357b (mode 644) --- /dev/null +++ build/posts.tsv @@ -0,0 +1 @@ +posts/2024-01-10-introducing-jsfree.md Introducing jsfree.org blob - /dev/null blob + c9e7e787ed0aedbe140c935af98383d809516998 (mode 644) Binary files /dev/null and build/public/images/jsfree-logo.jpg differ blob - /dev/null blob + a285768de835ee333680e93ce218b14481209d77 (mode 644) --- /dev/null +++ build/search-engines/index.html @@ -0,0 +1,55 @@ + + + + + + + Search Engines + + + + + + +
+

Search Engines

+

This page is a collection of search engines that work without JavaScript.

+

+
DuckDuckGo (HTML version)
+
Javascript-free, HTML version of DuckDuckGo.
+

+

+
FrogFind
+
The search engine for vintage computers!
+

+

+
SearXNG
+
Privacy-respecting, hackable metasearch engine.
+

+ \ No newline at end of file blob - /dev/null blob + 2a693addf3b380a57c073633e45c7c4ba583ee21 (mode 644) --- /dev/null +++ build/social-media/index.html @@ -0,0 +1,47 @@ + + + + + + + Social Media + + + + + + +
+

Social Media

+

This page is a collection of social media services that work without JavaScript.

+

+
Brutaldon
+
A Javascript-free client for Mastodon.
+

+ \ No newline at end of file blob - /dev/null blob + b8d7439b2d82f1e5190a88c3ca20eb69f514f546 (mode 644) --- /dev/null +++ build/video/index.html @@ -0,0 +1,47 @@ + + + + + + + Video + + + + + + +
+

Video

+

This page is a collection of video platforms that work without JavaScript.

+

+
Invidious
+
Invidious is an open source alternative front-end to YouTube.
+

+ \ No newline at end of file blob - /dev/null blob + e726b017938b150416364249b6daaf4589e0c6c7 (mode 644) --- /dev/null +++ build/web-hosting/index.html @@ -0,0 +1,47 @@ + + + + + + + Web Hosting + + + + + + +
+

Web Hosting

+

This page is a collection of web hosting providers that work without JavaScript.

+

+
NearlyFreeSpeech.net
+
The masters of only pay for what you use hosting since 2002.
+

+ \ No newline at end of file blob - /dev/null blob + 8fd596ef042eccb11702bab0f6a7b8cf3a6103d0 (mode 644) --- /dev/null +++ footer.html @@ -0,0 +1,24 @@ + \ No newline at end of file blob - /dev/null blob + 197f71ed205e1a6318d717941a9023508f5e2a4e (mode 644) --- /dev/null +++ header.html @@ -0,0 +1,17 @@ + + + + + + + {{TITLE}} + + + + + + +
blob - /dev/null blob + 07243608d8f8d053cc42b1a3fce12275f22c70ff (mode 644) --- /dev/null +++ index.md @@ -0,0 +1,28 @@ +# jsfree.org + +**A community-curated collection of web services that work without JavaScript.** + +--- + +If you're looking for the reasoning behind this project, read [Introducing jsfree.org](/2024-01-10-introducing-jsfree/) + +## Core objectives + +* Avoid e-waste by supporting old, outdated hardware. +* Support browsers that lack the ability to run JavaScript. +* Increase web accessibility. +* Focus on performance and software efficiency. +* Promote a safer, faster experience on the web. +* Be excellent to each other and have fun! + +## How you can help + +Things you can do to contribute to the project (in order of importance): + +* [Submit](https://sr.ht/~bt/jsfree.org/lists) service/category suggestions or improvements to the main website. +* Create your own JavaScript-free web service / application. (Then submit it!) +* Spread the word, so the world knows they can go JavaScript-free. + +## News + +You can keep up-to-date by following the Atom feed. blob - /dev/null blob + beed2788d8663c32777bd86b93566c87773e4190 (mode 644) --- /dev/null +++ pages/browsers.md @@ -0,0 +1,34 @@ +# Browsers + +This page is a collection of web browsers that have JavaScript disabled by default or are missing support entirely. + +
+
Dillo
+
+ Dillo is a fast and small graphical web browser with the following features: +
    +
  • Multi-platform, running on Linux, BSD, MacOS and even Atari.
  • +
  • Written in C and C++ with few dependencies.
  • +
  • Implements its own real-time rendering engine.
  • +
  • Low memory usage and fast rendering, even with large pages.
  • +
  • Uses the fast and bloat-free FLTK GUI library.
  • +
  • Support for HTTP, HTTPS, FTP and local files.
  • +
  • And more...
  • +
+
+
+ +
+
NetSurf
+
Small as a mouse, fast as a cheetah and available for free. NetSurf is a multi-platform web browser for RISC OS, UNIX-like platforms (including Linux), Mac OS X, and more.
+
+ +
+
Mothra
+
A lightweight web browser for Plan 9.
+
+ +
+
Abaco
+
Abaco is a multi-page graphical web browser for Plan 9 intended to retrieve and display web pages while trying to be as congruent as possible with system. It is a multi-threaded and modest-sized program.
+
blob - /dev/null blob + 5720f42e4b5f20f69c911bc0321714a90510d496 (mode 644) --- /dev/null +++ pages/code-forges.md @@ -0,0 +1,28 @@ +# Code Forges + +This page is a collection of code forges/hosting providers that work without JavaScript. + +
+
Sourcehut
+
+ Sourcehut is a suite of open source tools is the software development. Core features include: + +
+
blob - /dev/null blob + 8662c1dcb565395a1b7f4a4ee1363fac87a487b0 (mode 644) --- /dev/null +++ pages/email.md @@ -0,0 +1,23 @@ +# Email + +This page is a collection of email services that work without JavaScript. + +
+
Migadu
+
Consolidate all your email addresses and domains at a flat price. Take back your email liberty and give unlimited email addresses to all your projects, clients and family members.
+
+ +
+
Alps
+
A simple and extensible webmail.
+
+ +
+
SqurrielMail
+
SquirrelMail is a standards-based webmail package written in PHP.
+
+ +
+
FeedMail
+
FeedMail sends you updates from your favourite websites directly to your inbox.
+
blob - /dev/null blob + c5a118ec3909af06842f12c726fb1aa63050a22b (mode 644) --- /dev/null +++ pages/forums.md @@ -0,0 +1,8 @@ +# Forums + +This page is a collection of forum software that works without JavaScript. + +
+
Agreper
+
Minimal, no-JS forum software.
+
\ No newline at end of file blob - /dev/null blob + 238fdff3d936f7818530657dd9a323a758d5eafb (mode 644) --- /dev/null +++ pages/games.md @@ -0,0 +1,8 @@ +# Games + +This page is a collection of web-based games that run without JavaScript. + +
+
CSS Sweeper
+
MineSweeper implemented in CSS + HTML using the Space Toggle trick (no JavaScript!)
+
blob - /dev/null blob + 24723343bfaad45c5b1d2c2ecf57e73950f18562 (mode 644) --- /dev/null +++ pages/search-engines.md @@ -0,0 +1,18 @@ +# Search Engines + +This page is a collection of search engines that work without JavaScript. + +
+
DuckDuckGo (HTML version)
+
Javascript-free, HTML version of DuckDuckGo.
+
+ +
+
FrogFind
+
The search engine for vintage computers!
+
+ +
+
SearXNG
+
Privacy-respecting, hackable metasearch engine.
+
\ No newline at end of file blob - /dev/null blob + e806e053b80278529d1bbef2f02da8e87f49b0b0 (mode 644) --- /dev/null +++ pages/social-media.md @@ -0,0 +1,8 @@ +# Social Media + +This page is a collection of social media services that work without JavaScript. + +
+
Brutaldon
+
A Javascript-free client for Mastodon.
+
\ No newline at end of file blob - /dev/null blob + df7db3dcd49c5fdf5b19a6413ac817ec7c7eba81 (mode 644) --- /dev/null +++ pages/video.md @@ -0,0 +1,8 @@ +# Video + +This page is a collection of video platforms that work without JavaScript. + +
+
Invidious
+
Invidious is an open source alternative front-end to YouTube.
+
\ No newline at end of file blob - /dev/null blob + c329772345c6d142236e8b109db6d8cfd863cc48 (mode 644) --- /dev/null +++ pages/web-hosting.md @@ -0,0 +1,8 @@ +# Web Hosting + +This page is a collection of web hosting providers that work without JavaScript. + +
+
NearlyFreeSpeech.net
+
The masters of only pay for what you use hosting since 2002.
+
blob - /dev/null blob + 788048e0bf5fcb134515ef5c1c06e8f2a6b8768e (mode 644) --- /dev/null +++ posts/2024-01-10-introducing-jsfree.md @@ -0,0 +1,27 @@ +# Introducing jsfree.org + +2024-01-10 + +Hello and welcome to jsfree.org! + +## The What + +This site is a growing, community-driven collection of web services that work 100% without JavaScript. So if you're running older, unspported hardware or prefer to run a browser with JavaScript disabled, the services listed on this site will all work seamlessly! Pretty neat, eh? + +(My name is [Brad](https://bt.ht) BTW - but the community is more important than the catalyst!) + +## The Why + +The core concept behind this project is not to hate on JavaScript. JavaScript isn't evil or going to cause the internet to explode. This was merely created to help showcase web applications that work without such overheads. Some users just prefer to go JavaScript-free, similar to those who have no issue running it. I think it's fair to respect personal choice. + +So, if you feel offended by the concept of others not liking JavaScript, maybe go for a nice walk and think deeply about why something so unimportant would bother you so much. There are much better things to spend your time and energy on. Relax! + +## Get Involved + +I'm far from an expert in the field of "all-things JavaScript-free". Consider helping me out and making this site even better! + +* [Submit](https://lists.sr.ht/~bt/jsfree.org) service/category suggestions or improvements to the main website. +* Create your own JavaScript-free web service / application. (Then submit it!) +* Spread the word, so the world knows they can go JavaScript-free. + +That's all I really have to say. If you're interested in any JavaScript-free related news in the future, consider following the main [RSS feed](/atom.xml). Cheers! blob - /dev/null blob + c9e7e787ed0aedbe140c935af98383d809516998 (mode 644) Binary files /dev/null and public/images/jsfree-logo.jpg differ