diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6777fd8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +*.ttf +*.png +*.jpg +*.jxl +*.webp +*.avif +*.gif +*.mp4 +*.mkv +*.webm +*.mp3 +*.wav +*.flac +*.ogg +/downloads/ +/downloads/* +/downloads/** diff --git a/acetwisty.ico b/acetwisty.ico new file mode 100644 index 0000000..bae3e3a Binary files /dev/null and b/acetwisty.ico differ diff --git a/art/index.php b/art/index.php new file mode 100644 index 0000000..ae7da21 --- /dev/null +++ b/art/index.php @@ -0,0 +1,131 @@ + + + + + + deep twisty official NFTs'; + } elseif($siteurl == "isopod.cool") { + echo 'niceopod official NFTs'; + } + ?> + + + +
+ 0 or strpos($name, ".gif") > 0); + } + + $images = array_filter(scandir("."), "test_image"); // Generate array of every image in the directory by filename + + usort($images, function($a, $b) { // Sort images by modification date of the files + return filemtime("$b") - filemtime("$a"); + }); + + $datecounts = array(); + foreach($images as $im) { // Generate list of dates and how many images have them + $mt = date("Y-m-d", filemtime("$im")); // File modification date in ISO format + if($datecounts[$mt]) { + $datecounts[$mt]++; + } else { + $datecounts[$mt] = 1; + } + } + + $pmt = $mt; + foreach($images as $im) { // Loops through each image and echoes it to the page + + $no = substr($im, 0, strpos($im, ".")); // Filename with extension stripped + $mt = date("Y-m-d", filemtime("$im")); // File modification date in ISO format + $is = getimagesize("$im"); + $ist = $is[0] . "×" . $is[1] . "px"; // Image size formatted as X×Ypx + + $cl = ""; + if($datecounts[$mt] > 1) { // If there's more than one image published on the same date, merge them into a single thumbnail that can be clicked to reveal the full set. Would have done this based on names, but that would have been much harder. Might do that later. + if($pmt != $mt) { + echo ""; + $tn = $no; + if(file_exists("thumbs/$mt.png")) { // Use the same image for the group thumbnail as the first image in the group. If there's a thumbnail named with the date in question, use that instead. + $tn = $mt; + } + echo ""; + $pmt = $mt; + } + $cl = " class='d$mt'"; + } + + echo "$im
$mt • $ist
"; + } + ?> +
+ + diff --git a/credits/index.html b/credits/index.html new file mode 100644 index 0000000..dd6669d --- /dev/null +++ b/credits/index.html @@ -0,0 +1,86 @@ + + + + + + + deep twisty - credits + + + + + + +
+

credits

+

home


+
+

Pimo

+ + +

Tetrahead

+ + +

Other

+ + +

Software

+ + +

Licensing

+

Everything I make is licensed under a Creative Commons CC BY-NC-SA license unless otherwise specified.

To request permission to use something I've made commercially, contact me at willem@deeptwisty.com.

+
+
+ + + + diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..8753c65 Binary files /dev/null and b/favicon.ico differ diff --git a/index.php b/index.php new file mode 100644 index 0000000..0eb954a --- /dev/null +++ b/index.php @@ -0,0 +1,58 @@ + + + + + + + <?php + if($cap != '.com') { echo "deep twisty - $cap"; } + else { echo "deeptwisty.com"; } + ?> + + + + + + + +
+

deep twisty

+

i'm a computer musician, 3d artist and programmer who's committed to this alias now.
this is a hub for the stuff i make. i hope you like it.

+ + + +
+ +
+
+ +
+
+ + credits & licensing + + diff --git a/noises/index.php b/noises/index.php new file mode 100644 index 0000000..f9fc8e3 --- /dev/null +++ b/noises/index.php @@ -0,0 +1,58 @@ + + + + + + + deep twisty - noises + + + + + + +
+

noises

+

home


+
+ 0); + } + + $files = array_filter(scandir("."), "test_audio"); + + usort($files, function($a, $b) { // Sort files by modification date of the files + return filemtime("$b") - filemtime("$a"); + }); + + foreach($files as $fi) { + echo "

$fi

"; + } + ?> +
+
+ + + + diff --git a/not_found.html b/not_found.html new file mode 100644 index 0000000..433cd6f --- /dev/null +++ b/not_found.html @@ -0,0 +1,27 @@ + + + + + + deep twisty + + + + + + +
+
+

404

+

item not found

+
+
+ + + \ No newline at end of file diff --git a/pimo-art-credits.txt b/pimo-art-credits.txt new file mode 100644 index 0000000..71b14ad --- /dev/null +++ b/pimo-art-credits.txt @@ -0,0 +1,3 @@ +Piano: https://blendswap.com/blend/29080 +Person: https://www.turbosquid.com/3d-models/photorealistic-human-rig-3d-1422553 +Other models: https://polyhaven.com/models \ No newline at end of file diff --git a/posts/index.php b/posts/index.php new file mode 100644 index 0000000..1fe640e --- /dev/null +++ b/posts/index.php @@ -0,0 +1,51 @@ + + + + + + + deep twisty - posts + + + + + + +
+

posts

+

homefeed


+
+ 3) { + $date = substr($p, 0, strpos($p, " ")); + $pcont = substr($p, strpos($p, " ") + 1); + $posts_out = "

$date

$pcont

$posts_out"; + } + } + echo $posts_out; + ?> +
+
+ + + + diff --git a/some-assembly-required/index.html b/some-assembly-required/index.html new file mode 100644 index 0000000..026070c --- /dev/null +++ b/some-assembly-required/index.html @@ -0,0 +1,120 @@ + + + + + + + + deep twisty - Some Assembly Required + + + + + + + + + +
+

Some Assembly Required

+

by deep twisty

+

Iteration ___

+ + +
+ + +
+ + + + \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..0d3a55e --- /dev/null +++ b/style.css @@ -0,0 +1,117 @@ +@font-face { + font-family: Ubuntu; + src: url(ubuntu.ttf); +} +@font-face { + font-family: Ubuntu-Bold; + src: url(ubuntu-bold.ttf); +} +:root { + --hfont: 'Ubuntu-Bold', 'Ubuntu', Century Gothic, CenturyGothic, AppleGothic, sans-serif; + --stdfont: 'Ubuntu', Century Gothic, CenturyGothic, AppleGothic, sans-serif; +} +html, body { + min-height: 100%; + margin:0; + padding:0; +} +body { + overflow-x: clip; + color: gainsboro; + font-family: var(--stdfont); + background-color: black; + background-image: url('bg_default.png'); + background-repeat: no-repeat; + background-attachment: fixed; + background-size: cover; + overflow-wrap: break-word; + display: flex; + flex-direction: row-reverse; +} +a { + color: gainsboro; +} +p { + text-shadow: 0 0 5px black; +} +#main { + flex: 50%; + padding: 1rem; + box-shadow: 0 0 45px 90px rgba(0, 0, 0, 0.7); + display: flex; + flex-direction: column; + justify-content: center; + background: rgba(0, 0, 0, 0.7); + background: -webkit-linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, #000000 100%); + background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, #000 100%); +} +#secondary { + flex: 50%; + display: flex; + justify-content: center; + align-items: center; +} +#displaycontent { + box-shadow: 4px 4px 8px 2px black; + font-size: 0; +} +#header { + font-family: var(--hfont); + font-size: 3.5em; + color: transparent; + -webkit-text-stroke-width: 2px; + margin: 0; +} +#subheader { + margin-left: -5px; + font-size: 0.6em; + color: white; + -webkit-text-stroke-width: 0; + text-shadow: 0 0 9px white; + z-index: 1; + animation-name: subheaderappear; + animation-duration: 0.5s; +} +@keyframes subheaderappear { + from {color: #19191900; text-shadow: 0 0 0 black;} + to {color: white; text-shadow: 0 0 9px white;} +} +nav a { + text-decoration: none; + display: inline; + font-family: var(--hfont); + font-size: 1.4em; + padding: 5px; +} +@media(max-width: 80vh) { + body { + flex-direction: column; + } + #main { + padding: 1rem; + background: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, #000000 100%); + background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, #000 100%); + } +} +.bandcamp-color { color: #629aa9; transition-duration: 0.2s; } +.bandcamp-color:hover { color: #86c3d4 ; text-shadow: 0 0 7px #629aa9 ; } +.youtube-color { color: #ff0000; transition-duration: 0.2s; } +.youtube-color:hover { color: #ff5252 ; text-shadow: 0 0 7px #ff0000 ; } +.itchio-color { color: #fa5c5c; transition-duration: 0.2s; } +.itchio-color:hover { color: #ff8181 ; text-shadow: 0 0 7px #fa5c5c ; } +.patreon-color { color: #FF424D; transition-duration: 0.2s; } +.patreon-color:hover { color: #ff656c ; text-shadow: 0 0 7px #FF424D ; } +.white-color { color: gainsboro; transition-duration: 0.2s; } +.white-color:hover { color: white; text-shadow: 0 0 7px white;} + +#headerblue { -webkit-text-stroke-color: blue; text-shadow: 0 0 15px blue; animation: hblue; animation-duration: 10s; animation-iteration-count: infinite;} +@keyframes hblue { + 0%, 100% {-webkit-text-stroke-color: rgb(0, 0, 200); text-shadow: 0 0 15px rgb(0, 0, 200);} + 15% {-webkit-text-stroke-color: blue; text-shadow: 0 0 15px blue;} +} +#headergreen { -webkit-text-stroke-color: #5ff508; text-shadow: 0 0 15px #5ff508; } +#headeryellow { -webkit-text-stroke-color: gold; text-shadow: 0 0 15px gold; animation: hyellow; animation-duration: 16.7ms; animation-iteration-count: infinite;} +@keyframes hyellow { + from {text-shadow: 0 0 15px rgba(219, 186, 0, 0.87);} + to {text-shadow: 0 0 15px gold;} +} diff --git a/subpage.css b/subpage.css new file mode 100644 index 0000000..94900d6 --- /dev/null +++ b/subpage.css @@ -0,0 +1,32 @@ +body { + display: flex; + justify-content: center; + text-align: center; + text-shadow: 0 0 6px black; +} + +main { + background: #202020 url("../images/bg_default.png"); + height: fit-content; + min-height: 100%; + min-width: 20rem; + max-width: 50rem; + box-shadow: 0 10px 8px 4px black inset; + margin-top: -1.2rem; + padding-top: 1.2rem; + padding-left: 2rem; + padding-right: 2rem; +} + +main img { + max-width: 100%; +} + +#header { + margin-bottom: -1rem; +} + +hr { + width: 30%; + margin: auto; +} \ No newline at end of file