commit 876b04ba84efb0440666fd36b2444ff123bb0708 Author: Maxwell Jeffress Date: Tue Dec 23 10:56:22 2025 +1100 Initial commit diff --git a/index.css b/index.css new file mode 100644 index 0000000..c92433c --- /dev/null +++ b/index.css @@ -0,0 +1,105 @@ +@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&family=Zalando+Sans+Expanded:ital,wght@0,200..900;1,200..900&display=swap'); + +.box { + margin-left: 10%; + margin-right: 10%; + margin-top: 5%; + padding: 5%; + padding-top: 3%; + border-radius: 10px; + background-color: #161031; + color: white; + font-family: "Inter"; + font-size: 25px; +} + +#main { + padding-top: 5%; + display: flex; + flex-direction: row; + gap: 40px; + align-items: center; +} + +.hero_content { + flex: 1; +} + +.code { + background-color: #080511; + padding: 20px; + border-radius: 8px; + border: 1px solid #26146b; + font-family: 'JetBrains Mono', monospace; + font-size: 16px; + color: #a594f9; + flex: 1; +} + +.feature { + border-radius: 10px; + border: 2px solid #26146b; + background-color: #15094a; + font-size: 25px; + padding: 2%; + padding-top: 0.5%; + width: auto; + min-width: 350px; + flex: 1; +} + +.feature-row { + display: flex; + flex-direction: row; + gap: 20px; + margin-top: 20px; + max-height: 600px; + overflow-y: auto; +} + +.big { + font-size: 40px; + font-family: "Inter"; +} + +button { + font-family: "Inter"; + font-size: 30px; + color: white; + background-color: #15094a; + padding: 20px; + border-width: 0; + border-radius: 10px; +} + +body { + background-color: #080511; +} + +h1 { + font-family: "Zalando Sans Expanded", sans-serif; + font-optical-sizing: auto; + font-weight: 700; + font-size: 60px; + font-style: normal; +} + +h2 { + font-family: "Zalando Sans Expanded", sans-serif; + font-optical-sizing: auto; + font-weight: 700; + font-size: 50px; + font-style: normal; +} + +h3 { + font-family: "Zalando Sans Expanded", sans-serif; + font-optical-sizing: auto; + font-weight: 700; + font-size: 35px; + font-style: normal; +} + +a { + color: white; +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..67782d2 --- /dev/null +++ b/index.html @@ -0,0 +1,99 @@ + + + + + + + Solstice + + +
+
+
+ +

Solstice

+

A programming language focused on ease of use.

+ + +
+
+
+

Features

+
+
+

Small and fast

+

Solstice's compiler is 1216 lines of C++, and compiles code at lightning speed.

+
+
+

Built on Ground

+

Solstice compiles for the Ground VM, a speedy, light platform.

+
+
+

Simple syntax

+

Solstice feels familiar, but light. There's no quirks in the syntax, just pure bliss.

+
+
+
+
+

Examples

+
+
+

92nd Fibonacci Number

+
+a = 0
+b = 1
+n = 92
+
+i = 0
+
+while i != n {
+    temp = a + b
+    a = b
+    b = temp
+
+    i = i + 1
+}
+
+puts a
+
+
+

Guess The Password

+
+accessNotGranted = true
+
+while accessNotGranted {
+    password = input("Password: ")
+    if password == "dingus" {
+        accessNotGranted = false
+    }
+    if password != "dingus" {
+        puts "Incorrect password!"
+    }
+}
+
+puts "Welcome!"
+
+
+

Count to 100,000

+
+number = 0
+
+while number < 100000 {
+    number = number + 1 
+    puts number
+}
+
+
+
+
+

Getting Solstice

+

Solstice is an in-development language, and you can find the latest code on the Git repository. At present, the stability of Solstice is questionable, so don't trust it to handle your nuclear codes or anything like that yet.

+

This script will automatically build and install Solstice and Ground from source for you, or update them if they are already installed.

+
+bash -c "$(curl -fsSL https://sols.dev/install.sh)"
+

If you find any issues while trying Solstice, please report them here! Solstice needs all the help it can get.

+

Stable-ish builds are avaliable in the releases tab of the Git repository. These builds are likely to be more stable, but don't treat them as a stable branch yet.

+
+
+ + diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..24af25b --- /dev/null +++ b/install.sh @@ -0,0 +1,90 @@ +#!/usr/bin/env bash +if [ -p "/usr/local/bin" ]; then + echo "Your path is missing /usr/local/bin, you might want to add it. Type the following" + echo "\$PATH=/usr/local/bin:$PATH" +fi + +echo "Note: This script requires sudo access." +# Check for required commands +if ! command -v git 2>&1 >/dev/null +then + echo "Git is not installed on your system. Install it with your package manager (or on macOS use xcode-select)" + exit 0; +fi + +if ! command -v c++ 2>&1 >/dev/null +then + echo "A compiler linked to `c++` is not installed on your system. Install it with your package manager (or on macOS use xcode-select)" + exit 0; +fi + +if ! command -v gmake 2>&1 >/dev/null +then + echo "gmake is not installed on your system. Install it with your package manager (or on macOS use xcode-select)" + exit 0; +fi + +# Check if Ground is installed +if ! command -v ground 2>&1 >/dev/null +then + read -p "Ground has not been installed on your system. Ground is the runtime VM for Solstice. Would you like to install it? (y/n) " consent + if [ "$consent" != "y" ] + then + echo "Exiting..." + exit 1 + fi + + echo "Installing Ground..." + mkdir -p ~/.local/share/solstice-installer + cd ~/.local/share/solstice-installer + git clone https://chookspace.com/ground/cground + cd cground + make both + sudo make install + echo "Success!" +fi + +# Check if Solstice is installed +if ! command -v solstice 2>&1 >/dev/null +then + read -p "Solstice has not been installed on your system, would you like to install it? (y/n) " consent + if [ "$consent" != "y" ] + then + echo "Exiting..." + exit 1 + fi + + echo "Installing Solstice..." + mkdir -p ~/.local/share/solstice-installer + cd ~/.local/share/solstice-installer + git clone https://chookspace.com/max/solstice + cd solstice + make + sudo mkdir -p /usr/local/bin + sudo cp solstice /usr/local/bin/solstice + echo "Success!" + exit 0 +fi + +echo "Solstice is already installed, updating..."; +cd ~/.local/share/solstice-installer/solstice +git pull --dry-run +cd .. +cd cground +git pull --dry-run +read -p "Do these changes look okay? If it says 'already up to date', type 'n' (y/n) " consent +if [ "$consent" != "y" ] +then + echo "Exiting..." + exit 1 +fi +echo "Updating Ground..." +git pull +make +sudo make install +cd .. +echo "Updating Solstice..." +cd solstice +git pull +make +sudo cp solstice /usr/local/bin/solstice diff --git a/solstice.svg b/solstice.svg new file mode 100644 index 0000000..d9bb21e --- /dev/null +++ b/solstice.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + +