The homepage: the logotype, one example, and the manual as a submodule

index.sz shows the logotype, says in a sentence what Bjolang is, shows a
short program (a union, an exhaustive match, a loop), and links to the
manual and its library reference. It has no menu: (listing? #f).

manual/ is BjoManual as a git submodule, served as a folder of the site.
_resources/glasnost.css centres the logotype and keeps it to the column.
glasnost's page cache is ignored.

🤖 Generated with [ECA](https://eca.dev) (anthropic/claude-opus-5-5)

Co-Authored-By: eca-agent <git@eca.dev>
This commit is contained in:
Linus Björnstam 2026-10-01 18:38:11 +02:00
parent 93edd3426a
commit a04efb4111
6 changed files with 37 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
_cache/

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "manual"]
path = manual
url = https://rikspucko.koketteriet.se/bjoli/BjoManual.git

3
_resources/glasnost.css Normal file
View file

@ -0,0 +1,3 @@
/* The logotype on the front page: centred, and no wider than the column. */
.logo { text-align: center; margin: 1em 0 2em; }
.logo img { max-width: 12em; height: auto; }

View file

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Before After
Before After

29
index.sz Normal file
View file

@ -0,0 +1,29 @@
(meta (title "Bjolang")
(listing? #f))
@div["logo"]{@image["/_resources/logo.svg" #:alt "Bjolang"]}
Bjolang is a Lisp for .NET. It has types that are inferred, unions that are
matched exhaustively, traits, hygienic macros, and bjoroutines, and it
compiles to C#.
@codeblock[#:lang "bjolang"]|{
(import (std prelude))
(type (: Shape (Union (: Circle double)
(: Rect double double))))
(: area (-> Shape double))
(defun (area shape)
(match shape
((Circle r) (* 3.14159 (* r r)))
((Rect w h) (* w h))))
(defun (main args)
(loop (:for s [(Circle 1.0) (Rect 2.0 3.0)])
(:do (println #"area: ${(area s)}")))
0)
}|
@link["manual/"]{Read the manual}, or go straight to the
@link["manual/modules/"]{library reference}.

1
manual Submodule

@ -0,0 +1 @@
Subproject commit 27c7d646415f30cc43113fc2440b61886e9b7e7d8950aea03e72c8e4d1b5280a