This repository backs up my personal school website, https://20alse.ssis.nu, which will be shut down after I have graduated. It not only preserves all the pages on the original routes that were used to access them, it also handles CI/CD to automatically build, install and push applications.
The repository you're currently viewing acts as a "parent repository" containing submodule links to other repositories
that starts with 20alse.
and are used for structuring the different projects that are backed up. Some deviations from this naming convention
exist and that is because some repositories already existed on GitHub before I started bacing up things that didn't.
Web projects: visible on https://20alse.albins.website/
Name | Description |
---|---|
School website | The homepage that was the first thing you saw when going into https://20alse.ssis.nu. |
School website (Old) | Old version of "School website" from circa 2021. |
Awesome SSIS | Webpage showing awesome resources and helpful links for students attending Stockholm Science & Innovation School (SSIS) |
Click the happy man | Iconic "cookie clicker"-style game. |
Portfolio | Portfolio website made in CSS for an assignment in a web development course. |
SSIS Fit | Website for my project SSIS Fit, a Fitbit app related to the school |
Lunch | Webpage to show the lunch menu in the school. |
Bootstrap Svamphemsida | Bootstrap assignment for a web development course. An informative website about picking mushrooms. |
Yatzy | Final project for web development and interface design courses. A yatzy project made using React with both in-browser and online multiplayer. |
Start page assets | Images and videos used by the school websites. |
Pentry | (Legacy) website for showing who has responsibility for the school pentries. |
Distans | (Legacy, from COVID times) website for showing which group has distance education. |
Name | Description |
---|---|
SkySpy | My graduation project: a custom and modular weather station system using own PCBs, own firmware, own backend and frontend. |
SSIS Discord RPC | Unfinished project showing what lesson you are currently attending in your Discord status. |
SSIS.nu CSS Themes | CSS themes for the Stockholm Science & Innvation School homepage. |
This repository contains submodules according to the structure above. Make sure to check them out to get all subpages!
This website is designed to run on Deta, however, it is really a very generic build process.
By simply running the script prepare-and-run-handyman.sh
(tested on Debian and Ubuntu), a build environment containing the following will be created:
- Python 3 and pip (latest available versions)
- Node.js and NPM (20.<latest available subversion>)
- Ruby and Bundler
not only that, the script will also run handyman.py
to create a dist
directory based on the mapping in the ROUTES
file
and the scripts inside the scripts/
directory (read on for more information about that).
On Windows, running .\push_to_deta.bat
will update submodules and push the whole code to Deta.
In order for routing of the Yatzy game to work properly, it is pushed as a separate micro. See the Spacefile for reference.
Since I am such a creative guy (smiley face), there is a bunch of toolsets, dependencies and other stuff
that every application depends on. To create a streamlined interface, I have created building scripts for each repository.
They can be found in the scripts
folder. These building scripts produce a folder named .build
which is then uploaded
via my custom Python script. Routing is done in the ROUTES file.
- If it does not need any build scripts, do not add anything in the
scripts/
folder. Otherwise. create a script with.sh
ending (Bash) and add the build scripts that you need to execute. - Edit
ROUTES.md
to control where the built dist (outputted to a.{repo/folder name}-build
directory relative to the working directory) ends up in thedist
. Note: examples for this can be found by looking at the scripts/ directory in this repository. - Run the
handyman.py
script to generate output.
You can add a .handymanignore
-file in any directory in src
. Here is its format:
# Comment, will be ignored
(dir) path_to_directory/
(file) file.extension