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:
parent
93edd3426a
commit
a04efb4111
6 changed files with 37 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
_cache/
|
||||
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[submodule "manual"]
|
||||
path = manual
|
||||
url = https://rikspucko.koketteriet.se/bjoli/BjoManual.git
|
||||
3
_resources/glasnost.css
Normal file
3
_resources/glasnost.css
Normal 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; }
|
||||
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
29
index.sz
Normal file
29
index.sz
Normal 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
1
manual
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 27c7d646415f30cc43113fc2440b61886e9b7e7d8950aea03e72c8e4d1b5280a
|
||||
Loading…
Add table
Add a link
Reference in a new issue