templates for self-hosting game jams (or any other kind of jam tbh)
1# homemade jam!
2
3a set of scaffolds for making your own self-hosted game (or otherwise creative) jam a la the ones on [itch.io](https://itch.io). like, for whatever reason.
4
5right now, there are templates for plain HTML, plain PHP, [jekyll](https://jekyllrb.com), [hugo](https://gohugo.io), [astro](https://astro.build), [zola](https://getzola.org), and [wordpress](https://wordpress.org). i may just manifest others but also feel free to open an issue for some site-building method you use! it may just take some time to get around to learning that engine lmao
6
7there is also a folder called "colorthemes" that has, well, a bunch of color themes to replace the site variables with if you want something different and don't feel inspired.
8
9some notes for each version follow below; please make sure and read the section for whichever framework you're working with!
10
11## plain html
12
13please note that some of the javascript **WILL NOT WORK** unless you are running it on some kind of local web server (as opposed to just opening the html file in your browser). the reason for this is that it needs to send header data for some requests and just opening an html page locally doesn't do that, i guess. alternately just dropping them on neocities or something will make it work
14
15if you don't have a local server solution already set up, you could probably use something like [simple web server](https://simplewebserver.org). it doesn't have a linux build, but i supsect if you're a linux person you can figure out how to set up a temporary simple web server with python (http.server) or node (http-server).
16
17replace things in the template files that are surrounded by double exclamation points (!!). there are some variables to set at the top of the `js/script.mjs` file, and some style variables to set at the top of `css/style.css`. if you want to add more css, there's a `css/custom.css` file you can tack new stuff onto.
18
19also, you will have to fiddle with JSON for game data. unless you want to just code all them manually for some reason, in which case i salute you. i recommend using [jsonswiss](https://jsonswiss.com/json-table-editor) if you're not down with the brackets since it lets you edit in table view
20
21## plain php
22
23if you're running php i'm presuming you know how to set up your own local web server for dev or have a box you can drop it onto.
24
25## jekyll
26
27watch this space
28
29## astro
30
31please note that there's a bun.lock file because i use [bun](https://bun.sh) but you do not have to. you can use npm/pnpm/yarn/deno etc it's daijoubu
32
33## hugo
34
35watch this space
36
37## zola
38
39you'll probably want to copy the contents of the "content" folder to your main content folder since they contain some useful examples for how data in the front matter "extra" section should be formatted. also, look at the `theme.toml` file for variables you'll want to override in your `config.toml`.
40
41there's also a section for news posts if you want to use something like that to update people on jam status, post hype, etc. you can show it on the front page if you want.
42
43## wordpress
44
45watch this space
46
47## additional notes
48
49### stuff this uses
50
51* default favicon by [supanut piyakanont](https://thenounproject.com/creator/supanutpiyakanont/)
52* filtering uses [advanced filtering system](https://misits.github.io/advanced-filter-system/) by misits
53* fonts provided by [google fonts](https://fonts.google.com/) but if you want to move those assets local i recommend fontsquirrel's [webfont generator](https://www.fontsquirrel.com/tools/webfont-generator) to generate and optimize the font formats
54* icons from [font awesome](https://fontawesome.com)