aboutsummaryrefslogtreecommitdiff
path: root/resources/views
diff options
context:
space:
mode:
Diffstat (limited to 'resources/views')
-rw-r--r--resources/views/bookmarks.blade.php24
-rw-r--r--resources/views/calculators.blade.php114
-rw-r--r--resources/views/components/current-track.blade.php4
-rw-r--r--resources/views/components/discord-status.blade.php7
-rw-r--r--resources/views/components/layout.blade.php88
-rw-r--r--resources/views/components/minimal-error.blade.php28
-rw-r--r--resources/views/components/minimal.blade.php0
-rw-r--r--resources/views/components/navigation.blade.php30
-rw-r--r--resources/views/components/never-said.blade.php3
-rw-r--r--resources/views/components/settings.blade.php37
-rw-r--r--resources/views/components/toh-quote.blade.php12
-rw-r--r--resources/views/components/top-tracks.blade.php18
-rw-r--r--resources/views/components/track.blade.php6
-rw-r--r--resources/views/components/weather.blade.php15
-rw-r--r--resources/views/computers.blade.php253
-rw-r--r--resources/views/errors/401.blade.php9
-rw-r--r--resources/views/errors/402.blade.php9
-rw-r--r--resources/views/errors/403.blade.php9
-rw-r--r--resources/views/errors/404.blade.php31
-rw-r--r--resources/views/errors/418.blade.php9
-rw-r--r--resources/views/errors/419.blade.php9
-rw-r--r--resources/views/errors/429.blade.php9
-rw-r--r--resources/views/errors/500.blade.php9
-rw-r--r--resources/views/errors/503.blade.php9
-rw-r--r--resources/views/errors/generic-error.blade.php7
-rw-r--r--resources/views/errors/guestbook-ipban.blade.php7
-rw-r--r--resources/views/errors/guestbook-ratelimit.blade.php7
-rw-r--r--resources/views/errors/layout.blade.php53
-rw-r--r--resources/views/errors/minimal.blade.php24
-rw-r--r--resources/views/guestbook.blade.php (renamed from resources/views/pages/guestbook.blade.php)63
-rw-r--r--resources/views/home.blade.php42
-rw-r--r--resources/views/includes/admin/header.blade.php12
-rw-r--r--resources/views/includes/footer.blade.php66
-rw-r--r--resources/views/includes/head.blade.php21
-rw-r--r--resources/views/includes/header.blade.php17
-rw-r--r--resources/views/layouts/default-admin.blade.php23
-rw-r--r--resources/views/layouts/default.blade.php20
-rw-r--r--resources/views/layouts/minimal.blade.php11
-rw-r--r--resources/views/music.blade.php5
-rw-r--r--resources/views/pages/admin/guestbook-del-confirm.blade.php33
-rw-r--r--resources/views/pages/admin/guestbook.blade.php32
-rw-r--r--resources/views/pages/admin/index.blade.php9
-rw-r--r--resources/views/pages/bookmarks.blade.php52
-rw-r--r--resources/views/pages/bot.blade.php7
-rw-r--r--resources/views/pages/calculators.blade.php110
-rw-r--r--resources/views/pages/computers.blade.php442
-rw-r--r--resources/views/pages/home.blade.php88
-rw-r--r--resources/views/pages/music.blade.php66
-rw-r--r--resources/views/pages/projects.blade.php16
-rw-r--r--resources/views/pages/template.blade.php6
-rw-r--r--resources/views/pages/weather.blade.php61
51 files changed, 752 insertions, 1290 deletions
diff --git a/resources/views/bookmarks.blade.php b/resources/views/bookmarks.blade.php
new file mode 100644
index 0000000..f75e9b4
--- /dev/null
+++ b/resources/views/bookmarks.blade.php
@@ -0,0 +1,24 @@
+<x-layout>
+ <x-slot:title>Bookmarks</x-slot:title>
+ @foreach($categories as $category)
+ <div class="section">
+ <h2>{{ $category->name }}</h2>
+ @if($category->id == 1)
+ <p><em>(These are shuffled every load)</em></p>
+ @php
+ $sites = $category->sites->shuffle();
+ @endphp
+ @else
+ @php
+ $sites = $category->sites;
+ @endphp
+ @endif
+ <hr>
+ <ul>
+ @foreach($sites as $site)
+ <li><a href="{{ $site->url }}">{{ $site->name }}</a> - {{ $site->description }}</li>
+ @endforeach
+ </ul>
+ </div>
+ @endforeach
+</x-layout>
diff --git a/resources/views/calculators.blade.php b/resources/views/calculators.blade.php
new file mode 100644
index 0000000..e36ac43
--- /dev/null
+++ b/resources/views/calculators.blade.php
@@ -0,0 +1,114 @@
+<x-layout>
+ <x-slot:title>Calculators</x-slot:title>
+ <div class="section">
+ <h2>CASIO fx-CG50</h2>
+ <p>TBD</p>
+ <br>
+ <p><strong>Pictures</strong></p>
+ <img src="{{ asset('images/calculators/casio-fx-cg50/1s.jpeg') }}" width="15%" alt="Casio fx-CG50 Front view">
+ <img src="{{ asset('images/calculators/casio-fx-cg50/2s.jpeg') }}" width="15%" alt="Casio fx-CG50 Rear view (battery cover removed)">
+ <img src="{{ asset('images/calculators/casio-fx-cg50/3s.jpeg') }}" width="15%" alt="Casio fx-CG50 Front view (top half)">
+ <img src="{{ asset('images/calculators/casio-fx-cg50/4s.jpeg') }}" width="15%" alt="Casio fx-CG50 Front view (bottom half)">
+ </div>
+ <div class="section">
+ <h2>CASIO fx-120 (1977-78)</h2>
+ <p>TBD</p>
+ <br>
+ <p><strong>Specifications</strong></p>
+ <table class="calculator-spec-table">
+ <tr>
+ <td><b>Size</b></td>
+ <td>8.4cm x 16.2cm x 2.4cm</td>
+ </tr>
+ <tr>
+ <td><b>Weight (w/ battery)</b></td>
+ <td>209g</td>
+ </tr>
+ <tr>
+ <td><b>Type</b></td>
+ <td>Scientific</td>
+ </tr>
+ <tr>
+ <td><b>CPU</b></td>
+ <td>Hitachi HD38111A</td>
+ </tr>
+ <tr>
+ <td><b>Registers</b></td>
+ <td>2 standard<br>1 constant<br>4 bracket<br>1 memory</td>
+ </tr>
+ <tr>
+ <td><b>Features</b></td>
+ <td>%, +/-, RV, F, Sci, a<sup>b</sup>&frasl;<sub>c</sub>, Sqr, x<sup>2</sup>, pi, <sup>1</sup>&frasl;<sub>x</sub>, trig,<br>hyp, DMS-DD, log, y<sup>x</sup>, SD, nCr, P-R, n!</td>
+ </tr>
+ <tr>
+ <td><b>Display</b></td>
+ <td>12-digit VFD (NEC LD8197A)</td>
+ </tr>
+ </table>
+ <br>
+ <p><strong>Pictures</strong></p>
+ <img src="{{ asset('images/calculators/casio-fx-120/1s.jpeg') }}" width="15%" alt="Casio fx-120 Front view">
+ <img src="{{ asset('images/calculators/casio-fx-120/2s.jpeg') }}" width="15%" alt="Casio fx-120 Front view (top half)">
+ <img src="{{ asset('images/calculators/casio-fx-120/3s.jpeg') }}" width="15%" alt="Casio fx-120 Front view (bottom half)">
+ <img src="{{ asset('images/calculators/casio-fx-120/4s.jpeg') }}" width="15%" alt="Casio fx-120 Rear view (battery and expansion covers removed">
+ </div>
+ <div class="section">
+ <h2>CASIO fx-82 (1982-85)</h2>
+ <p>TBD</p>
+ <br>
+ <p><strong>Pictures</strong></p>
+ <img src="{{ asset('images/calculators/casio-fx-82/1s.jpeg') }}" width="15%" alt="Casio fx-82 Front view">
+ <img src="{{ asset('images/calculators/casio-fx-82/2s.jpeg') }}" width="15%" alt="Casio fx-82 Rear view (battery cover removed)">
+ <img src="{{ asset('images/calculators/casio-fx-82/3s.jpeg') }}" width="15%" alt="Casio fx-82 Front view (top half)">
+ <img src="{{ asset('images/calculators/casio-fx-82/4s.jpeg') }}" width="15%" alt="Casio fx-82 Front view (bottom half)">
+ </div>
+ <div class="section">
+ <h2>Texas Instruments TI-30 (1976-90)</h2>
+ <p>TBD</p>
+ <br>
+ <p><strong>Pictures</strong></p>
+ <img src="{{ asset('images/calculators/ti-30/1s.jpeg') }}" width="15%" alt="Texas Instruments TI-30 Front view (with manual)">
+ <img src="{{ asset('images/calculators/ti-30/2s.jpeg') }}" width="15%" alt="Texas Instruments TI-30 Rear view (battery cover removed)">
+ <img src="{{ asset('images/calculators/ti-30/3s.jpeg') }}" width="15%" alt="Texas Instruments TI-30 Front view (top half)">
+ <img src="{{ asset('images/calculators/ti-30/4s.jpeg') }}" width="15%" alt="Texas Instruments TI-30 Front view (bottom half)">
+ </div>
+ <div class="section">
+ <h2>Texet 880 Executive (1977-78)</h2>
+ <p>The calculator measures 74.2mm x 135mm x 22.2mm. It weighs 86g without the battery installed, which is a 9v PP3-type battery. Rather than the usual press-stud type holder, the housing has two metal slide clips. There is also what I assume to be a sponge at one end which is supposed to aid in holding the battery in, however it appears to have gone completely hard and I will most likely replace it in the future. There's small adaptor hole at the top, of which the input isn't specified (though it's generally agreed that it's 4.5v centre-positive).</p>
+ <p>The case is black &amp; silvery colored with a thin brushed metallic front panel. The eight-digit bubble display has an absolutely <i>terrible</i> viewing angle, which means you either have to be holding it under your coat or against your face to read it!</p>
+ The keypad is particularly strange in the way that it has 3 cancel buttons, [CE], [C] and [CA], while the [CS] button is a Clear Sign button, <i>not</i> another cancel! The keys themselves are particularly stiff, and you really have to push them to get them to register. Many 880s suffered something referred to as the "pseudo fixed decimal bug" where, if you typed in 1 + 1.00 = , it would display 2.00 instead of the expected 2
+ <br>
+ <p><strong>Specifications</strong></p>
+ <table class="calculator-spec-table">
+ <tr>
+ <td><b>Size</b></td>
+ <td>7.4cm x 13.5cm x 2.2cm</td>
+ </tr>
+ <tr>
+ <td><b>Weight (w/o battery)</b></td>
+ <td>86</td>
+ </tr>
+ <tr>
+ <td><b>Type</b></td>
+ <td>Arithmetic</td>
+ </tr>
+ <tr>
+ <td><b>Logic</b></td>
+ <td>Algebraic</td>
+ </tr>
+ <tr>
+ <td><b>Power Source</b></td>
+ <td>PP3 9v</td>
+ </tr>
+ <tr>
+ <td><b>Display</b></td>
+ <td>8-digit LED</td>
+ </tr>
+ </table>
+ <p><strong>Pictures</strong></p>
+ <img src="{{ asset('images/calculators/texet-880/1s.jpeg') }}" width="15%" alt="Texet 880 Executive Front view">
+ <img src="{{ asset('images/calculators/texet-880/2s.jpeg') }}" width="15%" alt="Texet 880 Executive Rear view (battery cover removed)">
+ <img src="{{ asset('images/calculators/texet-880/3s.jpeg') }}" width="15%" alt="Texet 880 Executive Front view (top half)">
+ <img src="{{ asset('images/calculators/texet-880/4s.jpeg') }}" width="15%" alt="Texet 880 Executive Front view (bottom half)">
+ </div>
+</x-layout>
diff --git a/resources/views/components/current-track.blade.php b/resources/views/components/current-track.blade.php
new file mode 100644
index 0000000..0770240
--- /dev/null
+++ b/resources/views/components/current-track.blade.php
@@ -0,0 +1,4 @@
+<div class="section current-track">
+ <h2>Last/Current Track:</h2>
+ <a href="{{ $track["url"] }}">{{ $track["title"] }} • {{ $track["artist"] }}</a><br>
+</div>
diff --git a/resources/views/components/discord-status.blade.php b/resources/views/components/discord-status.blade.php
new file mode 100644
index 0000000..868fc03
--- /dev/null
+++ b/resources/views/components/discord-status.blade.php
@@ -0,0 +1,7 @@
+@if($status == null)
+ <p>Status Unavailable</p>
+@else
+ <span>I'm</span>
+ <h2 class="online-status" style="color: {{ $status["color"] }};text-shadow: var(--firefox-shadow) {{ $status["color"] }}4f !important">{{ $status["text"] }}!</h2>
+@endif
+<p><strong>Time in Britain:</strong> <span id="clock"></span></p>
diff --git a/resources/views/components/layout.blade.php b/resources/views/components/layout.blade.php
new file mode 100644
index 0000000..7e36de5
--- /dev/null
+++ b/resources/views/components/layout.blade.php
@@ -0,0 +1,88 @@
+@php // Get colorscheme from cookie and apply immediately
+ $colorscheme = request()->cookie('colorscheme', 'catppuccin-macchiato');
+@endphp
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <!-- Global -->
+ <meta charset="utf-8">
+ <meta property="og:type" content="website">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="theme-color" content="#333333">
+ <link rel="stylesheet" href="{{ asset("/css/colorschemes/$colorscheme.css") }}" id="css-colorscheme"/>
+ <link rel="stylesheet" href="{{ asset('/css/master.css') }}"/>
+ <link rel="icon" type="image/png" href="{{ asset('/favicon-32x32.png') }}" sizes="32x32"/>
+ <link rel="icon" type="image/png" href="{{ asset('/favicon-16x16.png') }}" sizes="16x16"/>
+ <script src="{{ asset('/js/schemeSwap.js') }}"></script>
+ <script src="{{ asset('/js/liveClock.js') }}"></script>
+ {!! (intval(date('n')) == 12) ? '<script src="/js/christmas/snow.js"></script>' : '' !!}
+
+ <!-- Page-specific -->
+ <title>{{ $title ?? 'Unknown' }} - {{ str_replace("www.", "", Request::getHost()) }}</title>
+ <meta property="og:title" content="{{ str_replace("www.", "", Request::getHost()) }} | {{ $title }}">
+ <meta property="og:image" content="/favicon-128x128.png">
+</head>
+<body onload="setSchemeSelector()">
+<div class="container">
+ <div class="page">
+ <header>
+ <h1>{{ str_replace("www.", "", Request::getHost()) }}</h1>
+ </header>
+ <div class="navbar">
+ <p>
+ <strong>Current Path:</strong>
+ @if(Request::getRequestUri() == "/")
+ /
+ @else
+ {{ str_replace("/", " / ", rtrim(Request::getRequestUri(), "/")) }}
+ @endif
+ </p>
+ </div>
+ <div class="content">
+ <main>
+ {{ $slot }}
+ </main>
+ <div class="sidebar">
+ <div class="section"><nav><x-navigation/></nav></div>
+ <div class="section"><x-settings/></div>
+ <div class="section centerbox"><x-discord-status/></div>
+ <div class="section"><x-weather/></div>
+ </div>
+ </div>
+ <footer>
+ <div>
+ (c) floppydisk 2021-{{ date('Y') }}<br>
+ v{{ config('app.version') }}, <a href="https://git.frzn.dev/fwoppydwisk/diskfloppy.me/releases/latest">Source</a><br>
+ Served by {{ gethostname() }}
+ </div>
+ <div>
+ <a href="https://dimden.dev/" class="button">
+ <img src="https://dimden.dev/services/images/88x31.gif" width="88" height="31"
+ class="pixel" alt="dimden.dev">
+ </a>
+ <a href="https://www.linux.org/" class="button">
+ <img src="{{ URL::asset('images/buttons/linuxnow.gif') }}" width="88"
+ class="pixel" height="31" alt="Linux NOW!">
+ </a>
+ <a href="https://www.vim.org/" class="button">
+ <img src="{{ URL::asset('images/buttons/vim.gif') }}" width="88" height="31"
+ class="pixel" alt="vim">
+ </a><br>
+ <a href="https://wave.webaim.org/" class="button">
+ <img src="{{ URL::asset('images/buttons/evaluatedWAVE.png') }}" width="88" height="31"
+ class="pixel" alt="Evaluated to be accessible!">
+ </a>
+ <a href="https://jigsaw.w3.org/css-validator/check/referer" class="button">
+ <img src="{{ URL::asset('images/buttons/vcss-blue.gif') }}" width="88" height="31"
+ class="pixel" alt="Valid CSS!">
+ </a>
+ <a href="https://wiby.me/" class="button">
+ <img src="{{ URL::asset('images/buttons/wiby.gif') }}" width="88" height="31"
+ class="pixel" alt="Wiby - Search Engine for the Classic Web">
+ </a>
+ </div>
+ </footer>
+ </div>
+</div>
+</body>
+</html>
diff --git a/resources/views/components/minimal-error.blade.php b/resources/views/components/minimal-error.blade.php
new file mode 100644
index 0000000..3be5511
--- /dev/null
+++ b/resources/views/components/minimal-error.blade.php
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+ <title>{{ $title ?? '' }}</title>
+ <link rel="stylesheet" href="{{ URL::asset ('css/minimal.css') }}"/>
+</head>
+
+<body>
+ <h1>Error {{ $code }} | <strong>{{ $message }}</strong></h1>
+ <hr align="left">
+ <p>Here, have a cat...</p>
+ <img src="https://http.cat/{{ $code }}" width="500"><br><br>
+ <p>If you believe this is a server error, contact the <a href="mailto:webmaster@diskfloppy.me">webmaster</a></p>
+ <br>
+ <h4>Diagnostic Info</h4>
+ <table><tr><td>
+ <code>
+ Server: &nbsp;{{ gethostname() }}<br>
+ Your IP: {{ Request::ip() }}<br>
+ Root: &nbsp;&nbsp;&nbsp;{!! url('') !!}<br>
+ Path: &nbsp;&nbsp;&nbsp;@if(Request::path() == "/")/@else/{{ Request::path() }}/@endif<br>
+ Epoch: &nbsp;&nbsp;{{ now()->timestamp }}<br>
+ Agent: &nbsp;&nbsp;Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0 </code>
+ </td></tr></table>
+ <hr align="left">
+ <p>&copy; floppydisk 2021-2024</p>
+</body>
+</html>
diff --git a/resources/views/components/minimal.blade.php b/resources/views/components/minimal.blade.php
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/resources/views/components/minimal.blade.php
diff --git a/resources/views/components/navigation.blade.php b/resources/views/components/navigation.blade.php
new file mode 100644
index 0000000..6c99e8c
--- /dev/null
+++ b/resources/views/components/navigation.blade.php
@@ -0,0 +1,30 @@
+<p><strong>Navigation:</strong></p>
+<div class="navlinks">
+<a href="/">
+ <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/home2.png') }}" width="16" height="16" alt="">Home
+</a><br>
+<a href="//git.diskfloppy.me/">
+ <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/repo.png') }}" width="16" height="16" alt="">Git
+</a><br>
+<a href="/pub/">
+ <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/pubfiles.png') }}" width="16" height="16" alt="">Public Files
+</a><br>
+<a href="/computers/">
+ <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/computers.png') }}" width="16" height="16" alt="">Computers
+</a><br>
+<a href="/calculators/">
+ <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/calculators.png') }}" width="16" height="16" alt="">Calculators
+</a><br>
+<a href="/bookmarks/">
+ <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/bookmarks.png') }}" width="16" height="16" alt="">Bookmarks
+</a><br>
+<a href="/guestbook/">
+ <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/guestbook.png') }}" width="16" height="16" alt="">Guestbook
+</a><br>
+<a href="//weather.diskfloppy.me/">
+ <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/weather.png') }}" width="16" height="16" alt="">Weather
+</a><br>
+<a href="/music/">
+ <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/music.png') }}" width="16" height="16" alt="">Music
+</a><br>
+</div>
diff --git a/resources/views/components/never-said.blade.php b/resources/views/components/never-said.blade.php
new file mode 100644
index 0000000..9cb47b7
--- /dev/null
+++ b/resources/views/components/never-said.blade.php
@@ -0,0 +1,3 @@
+<p class="quote">
+ <strong>{{ $quote["name"] }}:</strong> "{{ $quote["quote"] }}"<br>
+</p>
diff --git a/resources/views/components/settings.blade.php b/resources/views/components/settings.blade.php
new file mode 100644
index 0000000..8851f6c
--- /dev/null
+++ b/resources/views/components/settings.blade.php
@@ -0,0 +1,37 @@
+<p><strong>Site Settings:</strong></p>
+<label for="scheme-selector">Colors:</label>
+<select id="scheme-selector">
+{{-- <optgroup label="Misc">--}}
+{{-- <option value="c64">C64</option>--}}
+{{-- </optgroup>--}}
+ <optgroup label="Light">
+ <option value="catppuccin-latte">Catppuccin Latte</option>
+{{-- <option value="gruvbox">Gruvbox</option>--}}
+{{-- <option value="man-page">Man Page</option>--}}
+{{-- <option value="papercolor-light">Papercolor Light</option>--}}
+{{-- <option value="rose-pine-dawn">Rosé Pine Dawn</option>--}}
+{{-- <option value="solarized-light">Solarized Light</option>--}}
+{{-- <option value="terminal-basic">Terminal Basic</option>--}}
+ </optgroup>
+ <optgroup label="Dark">
+ <option value="catppuccin-frappe">Catppuccin Frappé</option>
+ <option value="catppuccin-macchiato" selected="selected">Catppuccin Macchiato</option>
+ <option value="catppuccin-mocha">Catppuccin Mocha</option>
+{{-- <option value="gruvbox-dark">Gruvbox Dark</option>--}}
+{{-- <option value="gruvbox-material">Gruvbox Material</option>--}}
+{{-- <option value="maia">Maia</option>--}}
+{{-- <option value="mono-amber">Mono Amber</option>--}}
+{{-- <option value="mono-cyan">Mono Cyan</option>--}}
+{{-- <option value="mono-green">Mono Green</option>--}}
+{{-- <option value="mono-red">Mono Red</option>--}}
+{{-- <option value="mono-white">Mono White</option>--}}
+{{-- <option value="mono-yellow">Mono Yellow</option>--}}
+{{-- <option value="papercolor-dark">Papercolor Dark</option>--}}
+{{-- <option value="rose-pine">Rosé Pine</option>--}}
+{{-- <option value="rose-pine-moon">Rose Pine Moon</option>--}}
+{{-- <option value="shel">Shel</option>--}}
+{{-- <option value="slate">Slate</option>--}}
+{{-- <option value="solarized-dark">Solarized Dark</option>--}}
+ </optgroup>
+</select><br>
+<button onclick="swapScheme()">Apply</button>
diff --git a/resources/views/components/toh-quote.blade.php b/resources/views/components/toh-quote.blade.php
new file mode 100644
index 0000000..d9dfab1
--- /dev/null
+++ b/resources/views/components/toh-quote.blade.php
@@ -0,0 +1,12 @@
+<p class="quote">
+ @foreach($quote["lines"] as $line)
+ <strong>{{ $line["character"] }}:</strong>
+ {{-- Literally only one thing will trigger this lmao --}}
+ @if($line["line"] == "*Rage squeals*")
+ {{ $line["line"] }}
+ @else
+ "{{ $line["line"] }}"
+ @endif<br>
+ @endforeach
+ <small>({{ $quote["attribution"] }})</small>
+</p>
diff --git a/resources/views/components/top-tracks.blade.php b/resources/views/components/top-tracks.blade.php
new file mode 100644
index 0000000..0b563b4
--- /dev/null
+++ b/resources/views/components/top-tracks.blade.php
@@ -0,0 +1,18 @@
+<div class="section">
+<table class="music-top10">
+ <caption>
+ <h2 style="margin-bottom: 5px">Top 10 Tracks (Last 30 days):</h2>
+ </caption>
+ <tr>
+ <th><b>#</b></th>
+ <th><b>Track</b></th>
+ <th><b>Artist</b></th>
+ <th><b>Plays</b></th>
+ </tr>
+ @php($count = 0)
+ @foreach ($tracks as $track)
+ @php($count++)
+ <x-track :track="$track" :count="$count"/>
+ @endforeach
+</table>
+</div>
diff --git a/resources/views/components/track.blade.php b/resources/views/components/track.blade.php
new file mode 100644
index 0000000..b176e95
--- /dev/null
+++ b/resources/views/components/track.blade.php
@@ -0,0 +1,6 @@
+<tr>
+ <td>{{ $count }}</td>
+ <td><a href="{{ $track["url"] }}">{{ $track["title"] }}</a></td>
+ <td>{{ $track["artist"] }}</td>
+ <td>{{ $track["plays"] }}</td>
+</tr>
diff --git a/resources/views/components/weather.blade.php b/resources/views/components/weather.blade.php
new file mode 100644
index 0000000..879f1cb
--- /dev/null
+++ b/resources/views/components/weather.blade.php
@@ -0,0 +1,15 @@
+<p><strong>Weather Conditions:</strong></p>
+<hr style="margin: 4px 0">
+@if($conditions == null)
+ <p>Data Unavailable</p>
+@else
+ <p><strong>Temperature:</strong> {{ round(($conditions[0]["temp"] - 32) * (5/9), 1) }} degC</p>
+ <p><strong>Rain:</strong> {{ ($conditions[0]["rain_rate_last"] * 0.2) }}mm/hr ({{ $conditions[0]["rainfall_daily"] }}mm today)</p>
+ @if ($conditions[0]["wind_speed_last"] != 0)
+ <p><strong>Wind:</strong> {{ round($conditions[0]["wind_speed_last"], 1) }}mph ({{ $conditions[0]["wind_dir_last"] }} deg)</p>
+ @else
+ <p><strong>Wind:</strong> 0mph</p>
+ @endif
+ <p><strong>Humidity:</strong> {{ round($conditions[0]["hum"], 1) }}%</p>
+ <p><strong>Pressure:</strong> {{ round($conditions[2]["bar_sea_level"], 1) }} inHg</p>
+@endif
diff --git a/resources/views/computers.blade.php b/resources/views/computers.blade.php
new file mode 100644
index 0000000..4d3457e
--- /dev/null
+++ b/resources/views/computers.blade.php
@@ -0,0 +1,253 @@
+<x-layout>
+ <x-slot:title>Computers</x-slot:title>
+ <p>TBD</p>
+{{-- <table class="computers">--}}
+{{-- <tr>--}}
+{{-- <th>MODEL</th>--}}
+{{-- <th>CPU</th>--}}
+{{-- <th>GPU</th>--}}
+{{-- <th>STORAGE</th>--}}
+{{-- <th>RAM</th>--}}
+{{-- <th>OS</th>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Random Whitebox<br>(???)</td>--}}
+{{-- <td>486DX2</td>--}}
+{{-- <td></td>--}}
+{{-- <td>280MB HDD</td>--}}
+{{-- <td>16MB</td>--}}
+{{-- <td>MS-DOS 6.22 &amp; Windows for Workgroups 3.11</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>MacBook Pro 14"<br>(2023)</td>--}}
+{{-- <td colspan="2">M3 Pro</td>--}}
+{{-- <td>500GB SSD</td>--}}
+{{-- <td>18GB</td>--}}
+{{-- <td>macOS Sonoma</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>MacBook Pro 13"<br>(2018)</td>--}}
+{{-- <td>Intel i5-8592U (2.3GHz)</td>--}}
+{{-- <td>Intel Iris Plus 655</td>--}}
+{{-- <td>250GB SSD</td>--}}
+{{-- <td>8GB</td>--}}
+{{-- <td>macOS Mojave</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Lenovo ThinkPad T430<br>(2012)</td>--}}
+{{-- <td>Intel Core i7 (idk what it is)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>16GB</td>--}}
+{{-- <td>Windows 7 Pro / NixOS</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>IBM ThinkPad X41T<br>(2005)</td>--}}
+{{-- <td>Intel Pentium M (1.6GHz)</td>--}}
+{{-- <td>Mobile Intel Express Chipset (128MB)</td>--}}
+{{-- <td>40GB HDD</td>--}}
+{{-- <td>1.5GB</td>--}}
+{{-- <td>Windows XP Tablet PC Edition</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Dell OptiPlex GX1<br>(1999)</td>--}}
+{{-- <td>Intel Pentium II (Deschutes, 400MHz)</td>--}}
+{{-- <td>ATI 3D Rage Pro (4MB)</td>--}}
+{{-- <td>40GB HDD</td>--}}
+{{-- <td>639MB</td>--}}
+{{-- <td>Windows 2000</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>IBM ThinkPad T40<br>(2003)</td>--}}
+{{-- <td>Intel Pentium M (1.3GHz)</td>--}}
+{{-- <td>ATI Mobility Radeon 7500 (32MB)</td>--}}
+{{-- <td>N/A</td>--}}
+{{-- <td>N/A</td>--}}
+{{-- <td>N/A</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>HP Compaq Elite 8100<br>(2010)</td>--}}
+{{-- <td>Intel Core i7 (something or other)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>16GB</td>--}}
+{{-- <td>Windows Vista Ultimate (64-bit)</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Mac mini<br>(2014)</td>--}}
+{{-- <td>Intel Core i5-4278U (2.6GHz)</td>--}}
+{{-- <td>Intel Iris Graphics</td>--}}
+{{-- <td>1TB HDD</td>--}}
+{{-- <td>8GB</td>--}}
+{{-- <td>Proxmox VE 8.2</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Fujitsu Milan<br>(1996)</td>--}}
+{{-- <td>Intel Pentium</td>--}}
+{{-- <td></td>--}}
+{{-- <td>1215MB HDD</td>--}}
+{{-- <td>32MB</td>--}}
+{{-- <td>Windows 98 SE</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Compaq Armada M300<br>(1999)</td>--}}
+{{-- <td>Intel Pentium III</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>SuperMicro X9SCM</td>--}}
+{{-- <td>Intel Pentium G850 (2.9GHz)</td>--}}
+{{-- <td>Matrox MGA G6200eW</td>--}}
+{{-- <td>2TB HDD / 80GB HDD</td>--}}
+{{-- <td>16GB</td>--}}
+{{-- <td>Proxmox VE 8.2</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Main PC</td>--}}
+{{-- <td>Intel Core i7-6700K (4GHz)</td>--}}
+{{-- <td>NVidia GTX 1060 (3GB)</td>--}}
+{{-- <td>(multiple)</td>--}}
+{{-- <td>64GB</td>--}}
+{{-- <td>Windows 10 Pro / NixOS</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Toshiba Qosmio F20<br>(2005)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>N/A</td>--}}
+{{-- <td>N/A</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>MacBook Pro 13"<br>(2009)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>N/A</td>--}}
+{{-- <td>N/A</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Packard-Bell EasyNote MIT-LYN01<br>(???)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>Windows XP Home</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Sony VAIO PCG-3B1M<br>(???)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>Windows Vista</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Dell OptiPlex 745 USFF<br>(2006)</td>--}}
+{{-- <td>Intel Pentium Dual Core</td>--}}
+{{-- <td>Intel Integrated</td>--}}
+{{-- <td>(multiple)</td>--}}
+{{-- <td>4GB</td>--}}
+{{-- <td>(multiple)</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Dell Inspiron 1525<br>(2008)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>N/A</td>--}}
+{{-- <td>N/A</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Random Whitebox 2</td>--}}
+{{-- <td>AMD Phenom II X6-1055T</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>8GB</td>--}}
+{{-- <td>N/A</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Dell Latitude D531<br>(2007)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>Windows XP Professional</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>IBM ThinkPad R40<br>(2003)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>Windows 2000</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Dell Latitude CPi<br>(2001)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>Windows 2000</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Dell Latitude CPx<br>(1999)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>Windows 98 SE</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Dell Latitude 4898T<br>(???)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>N/A</td>--}}
+{{-- <td>N/A</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Time 8375<br>(???)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>N/A</td>--}}
+{{-- <td>N/A</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Toshiba Satellite 200CDS<br>(1996)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>HP Compaq NC6000<br>(2004)</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>N/A</td>--}}
+{{-- <td>N/A</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>IBM Personal Computer 330<br>(1997)</td>--}}
+{{-- <td>Intel Pentium</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>N/A</td>--}}
+{{-- <td>N/A</td>--}}
+{{-- </tr>--}}
+{{-- <tr>--}}
+{{-- <td>Shuttle XPC SN21G5<br>(2006)</td>--}}
+{{-- <td>AMD Athlon 64 X2</td>--}}
+{{-- <td></td>--}}
+{{-- <td></td>--}}
+{{-- <td>N/A</td>--}}
+{{-- <td>N/A</td>--}}
+{{-- </tr>--}}
+{{-- </table>--}}
+</x-layout>
diff --git a/resources/views/errors/401.blade.php b/resources/views/errors/401.blade.php
index 5c586db..7c0d081 100644
--- a/resources/views/errors/401.blade.php
+++ b/resources/views/errors/401.blade.php
@@ -1,5 +1,4 @@
-@extends('errors::minimal')
-
-@section('title', __('Unauthorized'))
-@section('code', '401')
-@section('message', __('Unauthorized'))
+<x-minimal-error>
+ <x-slot:code>401</x-slot:code>
+ <x-slot:message>Unauthorized</x-slot:message>
+</x-minimal-error>
diff --git a/resources/views/errors/402.blade.php b/resources/views/errors/402.blade.php
index 3bc23ef..4048cba 100644
--- a/resources/views/errors/402.blade.php
+++ b/resources/views/errors/402.blade.php
@@ -1,5 +1,4 @@
-@extends('errors::minimal')
-
-@section('title', __('Payment Required'))
-@section('code', '402')
-@section('message', __('Payment Required'))
+<x-minimal-error>
+ <x-slot:code>402</x-slot:code>
+ <x-slot:message>Payment Required</x-slot:message>
+</x-minimal-error>
diff --git a/resources/views/errors/403.blade.php b/resources/views/errors/403.blade.php
index a5506f0..d661d00 100644
--- a/resources/views/errors/403.blade.php
+++ b/resources/views/errors/403.blade.php
@@ -1,5 +1,4 @@
-@extends('errors::minimal')
-
-@section('title', __('Forbidden'))
-@section('code', '403')
-@section('message', __($exception->getMessage() ?: 'Forbidden'))
+<x-minimal-error>
+ <x-slot:code>403</x-slot:code>
+ <x-slot:message>{{__($exception->getMessage() ?: 'Forbidden')}}</x-slot:message>
+</x-minimal-error>
diff --git a/resources/views/errors/404.blade.php b/resources/views/errors/404.blade.php
index ebd22b7..812ec99 100644
--- a/resources/views/errors/404.blade.php
+++ b/resources/views/errors/404.blade.php
@@ -1,27 +1,4 @@
-@extends('errors::minimal')
-@section('content')
-
-<h1>Error 404 | <strong>Page not found!</strong></h1>
-<hr align="left">
-<h2>The page <code class="addr">/{{ Request::path() }}/</code> doesn't exist! Did you mean...</h2>
-<ul>
- <li><a href="//www.diskfloppy.me/">diskfloppy.me</a></li>
- <li><a href="//git.diskfloppy.me/">git.diskfloppy.me</a></li>
- <li><a href="//weather.diskfloppy.me">weather.diskfloppy.me</a></li>
- <li><a href="//dl.diskfloppy.me/">dl.diskfloppy.me</a></li>
- <li><a href="https://status.diskfloppy.me">status.diskfloppy.me</a> (HTTPS Only)</li>
- <li><a href="gopher://diskfloppy.me">gopher://diskfloppy.me</a></li>
-</ul>
-<p>Still haven't found what you were looking for or believe this is a server error? Contact the <a href="mailto:webmaster@diskfloppy.me">webmaster</a>!</p>
-<br>
-<h4>Diagnostic Info</h4>
-<table><tr><td>
- <code>
- Server: &nbsp;{{ gethostname() }}<br>
- Your IP: {{ Request::ip() }}<br>
- Epoch: &nbsp;&nbsp;{{ now()->timestamp }}<br>
- Agent: &nbsp;&nbsp;Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0 </code>
- </td></tr></table>
-<hr align="left">
-<p>&copy; floppydisk 2021-2024</p>
-@endsection
+<x-minimal-error>
+ <x-slot:code>404</x-slot:code>
+ <x-slot:message>Page not found!</x-slot:message>
+</x-minimal-error>
diff --git a/resources/views/errors/418.blade.php b/resources/views/errors/418.blade.php
index 412ea92..7ced586 100644
--- a/resources/views/errors/418.blade.php
+++ b/resources/views/errors/418.blade.php
@@ -1,5 +1,4 @@
-@extends('errors::minimal')
-
-@section('title', __('I\'m a teapot'))
-@section('code', '418')
-@section('message', __('I\'m a teapot'))
+<x-minimal-error>
+ <x-slot:code>418</x-slot:code>
+ <x-slot:message>I'm a teapot</x-slot:message>
+</x-minimal-error>
diff --git a/resources/views/errors/419.blade.php b/resources/views/errors/419.blade.php
index c09216e..7008bd8 100644
--- a/resources/views/errors/419.blade.php
+++ b/resources/views/errors/419.blade.php
@@ -1,5 +1,4 @@
-@extends('errors::minimal')
-
-@section('title', __('Page Expired'))
-@section('code', '419')
-@section('message', __('Page Expired'))
+<x-minimal-error>
+ <x-slot:code>419</x-slot:code>
+ <x-slot:message>Page Expired</x-slot:message>
+</x-minimal-error>
diff --git a/resources/views/errors/429.blade.php b/resources/views/errors/429.blade.php
index f01b07b..9ff195b 100644
--- a/resources/views/errors/429.blade.php
+++ b/resources/views/errors/429.blade.php
@@ -1,5 +1,4 @@
-@extends('errors::minimal')
-
-@section('title', __('Too Many Requests'))
-@section('code', '429')
-@section('message', __('Too Many Requests'))
+<x-minimal-error>
+ <x-slot:code>429</x-slot:code>
+ <x-slot:message>Too Many Requests</x-slot:message>
+</x-minimal-error>
diff --git a/resources/views/errors/500.blade.php b/resources/views/errors/500.blade.php
index d9e95d9..d2c28c5 100644
--- a/resources/views/errors/500.blade.php
+++ b/resources/views/errors/500.blade.php
@@ -1,5 +1,4 @@
-@extends('errors::minimal')
-
-@section('title', __('Server Error'))
-@section('code', '500')
-@section('message', __('Server Error'))
+<x-minimal-error>
+ <x-slot:code>500</x-slot:code>
+ <x-slot:message>Server Error</x-slot:message>
+</x-minimal-error>
diff --git a/resources/views/errors/503.blade.php b/resources/views/errors/503.blade.php
index c5a9dde..708c4d9 100644
--- a/resources/views/errors/503.blade.php
+++ b/resources/views/errors/503.blade.php
@@ -1,5 +1,4 @@
-@extends('errors::minimal')
-
-@section('title', __('Service Unavailable'))
-@section('code', '503')
-@section('message', __('Service Unavailable'))
+<x-minimal-error>
+ <x-slot:code>503</x-slot:code>
+ <x-slot:message>Service Unavailable</x-slot:message>
+</x-minimal-error>
diff --git a/resources/views/errors/generic-error.blade.php b/resources/views/errors/generic-error.blade.php
index 6f08ea5..0082093 100644
--- a/resources/views/errors/generic-error.blade.php
+++ b/resources/views/errors/generic-error.blade.php
@@ -1,9 +1,8 @@
-@extends('layouts.minimal')
-@section('title', 'Error 401: Unauthorized User!')
-@section('content')
+<x-minimal>
+ <x-slot:title>Error 401: Unauthorized User!</x-slot:title>
<h1>{{ $error }}</h1>
<hr>
@if(isset($description))
<p>{{ $description }}</p>
@endif
-@stop
+</x-minimal>
diff --git a/resources/views/errors/guestbook-ipban.blade.php b/resources/views/errors/guestbook-ipban.blade.php
index 386d22a..5072e35 100644
--- a/resources/views/errors/guestbook-ipban.blade.php
+++ b/resources/views/errors/guestbook-ipban.blade.php
@@ -1,6 +1,5 @@
-@extends('layouts.minimal')
-@section('title', 'Error 403: IP Blocked!')
-@section('content')
+<x-minimal>
+ <x-slot:title>Error 403: IP Blocked!</x-slot:title>
<h1>Error 403: IP Blocked!</h1>
<hr>
<p>Your IP has been banned from submitting to the guestbook.</p>
@@ -9,4 +8,4 @@
@endif
<br>
Click <a href="/guestbook">here</a> to go back to the guestbook.
-@stop
+</x-minimal>
diff --git a/resources/views/errors/guestbook-ratelimit.blade.php b/resources/views/errors/guestbook-ratelimit.blade.php
index 7fecd97..cb24d9e 100644
--- a/resources/views/errors/guestbook-ratelimit.blade.php
+++ b/resources/views/errors/guestbook-ratelimit.blade.php
@@ -1,10 +1,9 @@
-@extends('layouts.minimal')
-@section('title', 'Error 429: Overclocking Detected!')
-@section('content')
+<x-minimal>
+ <x-slot:title>Error 429: Overclocking Detected!</x-slot:title>
<h1>Error 429: Overclocking Detected!</h1>
<hr>
<p>Whoa there! Your submissions are going at warp speed.</p>
<p>Remember you can only submit an entry <u>once every hour</u>!</p>
<br>
Click <a href="/guestbook">here</a> to go back to the guestbook.
-@stop
+</x-minimal>
diff --git a/resources/views/errors/layout.blade.php b/resources/views/errors/layout.blade.php
deleted file mode 100644
index 019c2cd..0000000
--- a/resources/views/errors/layout.blade.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
-
- <title>@yield('title')</title>
-
- <!-- Styles -->
- <style>
- html, body {
- background-color: #fff;
- color: #636b6f;
- font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
- font-weight: 100;
- height: 100vh;
- margin: 0;
- }
-
- .full-height {
- height: 100vh;
- }
-
- .flex-center {
- align-items: center;
- display: flex;
- justify-content: center;
- }
-
- .position-ref {
- position: relative;
- }
-
- .content {
- text-align: center;
- }
-
- .title {
- font-size: 36px;
- padding: 20px;
- }
- </style>
- </head>
- <body>
- <div class="flex-center position-ref full-height">
- <div class="content">
- <div class="title">
- @yield('message')
- </div>
- </div>
- </div>
- </body>
-</html>
diff --git a/resources/views/errors/minimal.blade.php b/resources/views/errors/minimal.blade.php
index e15c833..4ae6830 100644
--- a/resources/views/errors/minimal.blade.php
+++ b/resources/views/errors/minimal.blade.php
@@ -1,21 +1,3 @@
-@extends('layouts.minimal')
-@section('content')
- <h1>Error @yield('code') | <strong>@yield('message')</strong></h1>
- <hr align="left">
- <p>Here, have a cat...</p>
- <img src="https://http.cat/@yield('code')" width="500"><br><br>
- <p>If you believe this is a server error, contact the <a href="mailto:webmaster@diskfloppy.me">webmaster</a></p>
- <br>
- <h4>Diagnostic Info</h4>
- <table><tr><td>
- <code>
- Server: &nbsp;{{ gethostname() }}<br>
- Your IP: {{ Request::ip() }}<br>
- Root: &nbsp;&nbsp;&nbsp;{!! url('') !!}<br>
- Path: &nbsp;&nbsp;&nbsp;/{{ Request::path() }}/<br>
- Epoch: &nbsp;&nbsp;{{ now()->timestamp }}<br>
- Agent: &nbsp;&nbsp;Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0 </code>
- </td></tr></table>
- <hr align="left">
- <p>&copy; floppydisk 2021-2024</p>
-@endsection
+<x-minimal>
+
+</x-minimal>
diff --git a/resources/views/pages/guestbook.blade.php b/resources/views/guestbook.blade.php
index a2c39fb..f9f04ca 100644
--- a/resources/views/pages/guestbook.blade.php
+++ b/resources/views/guestbook.blade.php
@@ -1,27 +1,12 @@
-@extends('layouts.default')
-@section('title', 'Guestbook')
-@section('content')
- @php
- use UAParser\Parser;
- $parser = Parser::create();
- $db_alive = true;
- try {
- DB::connection()->getPdo();
- } catch (Exception $e) {
- $db_alive = false;
- }
- @endphp
- @if (!$db_alive)
- @include('components.errors.db-error')
- @else
- <br>
+<x-layout>
+ <x-slot:title>Guestbook</x-slot:title>
<table class="gb-entry-form-container" role="presentation">
<tr>
<td>
<form method="POST" action="/guestbook">
@csrf
<x-honeypot/>
- <table class="gb-entry-form" role="presentation">
+ <table class="form" role="presentation">
<tr>
<td>
<label for="name"><strong>Name:</strong></label>
@@ -66,37 +51,25 @@
<hr>
- @php
- $entries = DB::select('
- SELECT name, timestamp, message, agent
- FROM guestbook__entries
- ORDER BY id DESC
- ');
- @endphp
<h2>Entries <small>({{ count($entries) }} total)</small></h2>
@foreach ($entries as $entry)
@php
$user_agent = $parser->parse($entry->agent);
@endphp
- <table class="gb-entry" role="presentation">
- <tr>
- <td>
- Submitted by <strong>{{ $entry->name }}</strong>
- on <strong>{{ gmdate('Y-m-d', $entry->timestamp) }}</strong>
- at <strong>{{ gmdate('h:i:s A (e)', $entry->timestamp) }}</strong>
- <hr>
- {{ $entry->message }}
- <hr>
- @if($entry->agent === "Agent Unavailable")
- <address>Agent unavailable</address>
- @else
- <address>Posted using <strong>{{ $user_agent->ua->toString() }}</strong>
- on <strong>{{ $user_agent->os->toString() }}</strong></address>
- @endif
- </td>
- </tr>
- </table>
+ <div class="section">
+ Submitted by <strong>{{ $entry->name }}</strong>
+ on <strong>{{ $entry->created_at->format('Y-m-d') }}</strong>
+ at <strong>{{ $entry->created_at->format('h:i:s A (e)') }}</strong>
+ <hr>
+ <span class="guestbook-message">{{ $entry->message }}</span>
+ <hr>
+ @if($entry->agent === "Agent Unavailable")
+ <address>Agent unavailable</address>
+ @else
+ <address>Posted using <strong>{{ $user_agent->ua->toString() }}</strong>
+ on <strong>{{ $user_agent->os->toString() }}</strong></address>
+ @endif
+ </div>
<br>
@endforeach
- @endif
-@stop
+</x-layout>
diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php
new file mode 100644
index 0000000..1b17b0f
--- /dev/null
+++ b/resources/views/home.blade.php
@@ -0,0 +1,42 @@
+<x-layout>
+ <x-slot:title>Home</x-slot:title>
+
+ <div class="section">
+ <h2>About Me</h2>
+ <hr>
+ <p>Hi! This is my personal homepage on the <strong>W</strong>orld <strong>W</strong>ide <strong>W</strong>eb.</p>
+ <br>
+ <p>QuickFacts&trade;:</p>
+ <ul>
+ <li>{{ $age }} y/o, he/him, British</li>
+ <li>Theatre Technician, &quot;Web Developer&quot; and NixOS User</li>
+ <li>Loves ETC desks, prefers Generics to LEDs for some reason</li>
+ <li>Has a crippling Soundcraft addiction</li>
+ <li>Spends way too much time on his computer</li>
+ <li>Favorite games: <a href="https://steamcommunity.com/id/fwoppydwisk/recommended/420530/">OneShot</a>, Minecraft, Stardew Valley, N++ and Starbound</li>
+ <li><a href="http://wxqa.com/">CWOP</a> member</li>
+ </ul>
+ <br>
+ <p>Interests:</p>
+ <ul>
+ <li><strong>Tech Theatre</strong> - Lighting, Stage Management, etc. (<a href="https://www.controlbooth.com/members/floppydisk.28673/">ControlBooth</a>)</li>
+ <li><strong>Programming</strong> - HTML, CSS, JavaScript, C#, Java, PHP, Ruby, Python (<a href="https://github.com/floppydisk05">GitHub</a>)</li>
+ <li><strong>Photography</strong> - <a href="https://www.flickr.com/photos/floppydisk/">Flickr</a></li>
+ <li><strong>Gaming</strong> - <a href="https://steamcommunity.com/id/fwoppydwisk/">Steam Profile</a></li>
+ </ul>
+ </div>
+ <div class="section">
+ <h2>Random Quote</h2>
+ <hr>
+ <x-toh-quote/>
+ </div>
+ <div class="section">
+ <h2>Contact</h2>
+ <hr>
+ <p>
+ <strong>E-mail:</strong> <a href="mailto:contact@diskfloppy.me">contact@diskfloppy.me</a><br>
+ <strong>Mastodon:</strong> <a rel="me" href="https://c.im/@floppydisk">@floppydisk@c.im</a><br>
+ <strong>Matrix:</strong> <a href="https://matrix.to/#/@floppydisk:arcticfoxes.net">@floppydisk:arcticfoxes.net</a>
+ </p>
+ </div>
+</x-layout>
diff --git a/resources/views/includes/admin/header.blade.php b/resources/views/includes/admin/header.blade.php
deleted file mode 100644
index edb2fd7..0000000
--- a/resources/views/includes/admin/header.blade.php
+++ /dev/null
@@ -1,12 +0,0 @@
- <nav>
- <div>
- <a href="/">public home</a> |
- <a href="/admin">admin home</a> |
- <a href="/admin/guestbook">guestbook</a>
- @if (auth()->check())
- | ({{ auth()->user()->name }}) <a href="/logout">logout</a>
- @else
- | <a href="/login">login</a>
- @endif
- </div>
- </nav>
diff --git a/resources/views/includes/footer.blade.php b/resources/views/includes/footer.blade.php
deleted file mode 100644
index b606564..0000000
--- a/resources/views/includes/footer.blade.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<hr>
-<div class="footer" role="contentinfo">
- <a href="https://dimden.dev/" class="button">
- <img src="https://dimden.dev/services/images/88x31.gif" width="88" height="31"
- class="pixel" alt="dimden.dev">
- </a>&nbsp;
- <a href="https://www.linux.org/" class="button">
- <img src="{{ URL::asset('images/buttons/linuxnow.gif') }}" width="88"
- class="pixel" height="31" alt="Linux NOW!">
- </a>&nbsp;
- <a href="https://www.vim.org/" class="button">
- <img src="{{ URL::asset('images/buttons/vim.gif') }}" width="88" height="31"
- class="pixel" alt="vim">
- </a>&nbsp;
- <a href="https://wave.webaim.org/" class="button">
- <img src="{{ URL::asset('images/buttons/evaluatedWAVE.png') }}" width="88" height="31"
- class="pixel" alt="Evaluated to be accessible!">
- </a>&nbsp;
- <a href="http://jigsaw.w3.org/css-validator/check/referer" class="button">
- <img src="{{ URL::asset('images/buttons/vcss-blue.gif') }}" width="88" height="31"
- class="pixel" alt="Valid CSS!">
- </a>&nbsp;
- <a href="https://wiby.me/" class="button">
- <img src="{{ URL::asset('images/buttons/wiby.gif') }}" width="88" height="31"
- class="pixel" alt="Wiby - Search Engine for the Classic Web">
- </a><br>
- This site is best viewed at 1024x768 with 16-bit color or better<br>
- &copy; floppydisk 2021-{{ date('Y') }}, v{{ config('app.version') }}, <a
- href="https://github.com/floppydisk05/diskfloppy.me">Source</a>,
- Served by {{ gethostname() }}<br>
- <label for="scheme-selector">Color Scheme:</label>
- <select onchange="swapScheme(this.value)" id="scheme-selector">
- <optgroup label="Misc">
- <option value="c64">C64</option>
- </optgroup>
- <optgroup label="Light">
- <option value="catppuccin-latte">Catppuccin Latte</option>
- <option value="gruvbox">Gruvbox</option>
- <option value="man-page">Man Page</option>
- <option value="papercolor-light">Papercolor Light</option>
- <option value="rose-pine-dawn">Rosé Pine Dawn</option>
- <option value="solarized-light">Solarized Light</option>
- <option value="terminal-basic">Terminal Basic</option>
- </optgroup>
- <optgroup label="Dark">
- <option value="catppuccin-frappe">Catppuccin Frappé</option>
- <option value="catppuccin-macchiato" selected="selected">Catppuccin Macchiato</option>
- <option value="catppuccin-mocha">Catppuccin Mocha</option>
- <option value="gruvbox-dark">Gruvbox Dark</option>
- <option value="gruvbox-material">Gruvbox Material</option>
- <option value="maia">Maia</option>
- <option value="mono-amber">Mono Amber</option>
- <option value="mono-cyan">Mono Cyan</option>
- <option value="mono-green">Mono Green</option>
- <option value="mono-red">Mono Red</option>
- <option value="mono-white">Mono White</option>
- <option value="mono-yellow">Mono Yellow</option>
- <option value="papercolor-dark">Papercolor Dark</option>
- <option value="rose-pine">Rosé Pine</option>
- <option value="rose-pine-moon">Rose Pine Moon</option>
- <option value="shel">Shel</option>
- <option value="slate">Slate</option>
- <option value="solarized-dark">Solarized Dark</option>
- </optgroup>
- </select><br>
-</div>
diff --git a/resources/views/includes/head.blade.php b/resources/views/includes/head.blade.php
deleted file mode 100644
index d6d1280..0000000
--- a/resources/views/includes/head.blade.php
+++ /dev/null
@@ -1,21 +0,0 @@
-@php // Get colorscheme from cookie and apply immediately
- $colorscheme = request()->cookie('colorscheme', 'catppuccin-macchiato');
-@endphp
- <!-- Global -->
- <meta charset="utf-8">
- <meta property="og:type" content="website">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="theme-color" content="#333333">
- <link rel="stylesheet" href="{{ asset("/css/colorschemes/{$colorscheme}.css") }}" id="css-colorscheme"/>
- <link rel="stylesheet" href="/css/master.css"/>
- <link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"/>
- <link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"/>
- <script src="/js/schemeSwap.js"></script>
- {!! (intval(date('n')) == 12) ? '<script src="/js/christmas/snow.js"></script>' : '' !!}
-
- <!-- Page-specific -->
- <title>@yield('title') - diskfloppy.me</title>
- <meta property="og:title" content="diskfloppy.me | @yield('title')">
- <meta property="og:description" content="@yield('description')">
- <meta property="og:image" content="/favicon-128x128.png">
- <meta name="description" content="@yield('description')">
diff --git a/resources/views/includes/header.blade.php b/resources/views/includes/header.blade.php
deleted file mode 100644
index fd80877..0000000
--- a/resources/views/includes/header.blade.php
+++ /dev/null
@@ -1,17 +0,0 @@
- <nav>
- <h1>diskfloppy.me | <strong>@yield('title')</strong></h1>
- <div class="nav-wrapper">
- <div>
- <a href="/" title="Home"><img class="pixel" src="/images/icons/nav/home.png" alt="Home" width="32" height="32"></a>
- <a href="//git.diskfloppy.me/" title="cgit"><img class="pixel" src="/images/icons/nav/repo.png" alt="cgit" width="32" height="32"></a>
- <a href="/pub/" title="Public Files"><img class="pixel" src="/images/icons/nav/pubfiles.png" alt="Public Files" width="32" height="32"></a>
- <a href="/computers/" title="Computers"><img class="pixel" src="/images/icons/nav/computers.png" alt="Computers" width="32" height="32"></a>
- <a href="/bookmarks/" title="Bookmarks"><img class="pixel" src="/images/icons/nav/bookmarks.png" alt="Bookmarks" width="32" height="32"></a>
- <a href="/guestbook/" title="Guestbook"><img class="pixel" src="/images/icons/nav/guestbook.png" alt="Guestbook" width="32" height="32"></a>
- <!--<a href="/contact/" title="Contact"><img class="pixel" src="/images/icons/nav/mail.png" alt="Contact" width="32" height="32"></a>-->
- <a href="//weather.diskfloppy.me/" title="Weather"><img class="pixel" src="/images/icons/nav/weather.png" alt="Weather" width="32" height="32"></a>
- <a href="/music/" title="Music"><img class="pixel" src="/images/icons/nav/music.png" alt="Music" width="32" height="32"></a>&nbsp;&nbsp;
- </div>
- </div>
- </nav>
- <hr>
diff --git a/resources/views/layouts/default-admin.blade.php b/resources/views/layouts/default-admin.blade.php
deleted file mode 100644
index 5a16524..0000000
--- a/resources/views/layouts/default-admin.blade.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- @include('includes.head')
-</head>
-
-<body>
-<div class="page">
-<div class="header">
- @include('includes.admin.header')
-</div> <!-- header -->
-
-<div id="pagebody">
- <div id="content">
-@yield('content')
- </div> <!-- content -->
- <div id="footer" class="pagefooter">
- @include('includes.footer')
- </div> <!-- footer -->
-</div> <!-- pagebody -->
-</div> <!-- page -->
-</body>
-</html>
diff --git a/resources/views/layouts/default.blade.php b/resources/views/layouts/default.blade.php
deleted file mode 100644
index 0945b9c..0000000
--- a/resources/views/layouts/default.blade.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- @include('includes.head')
-</head>
-
-<body onload="setSchemeSelector()">
-<div class="page">
- <div id="header" class="header">
- @include('includes.header')
- </div> <!-- header -->
- <div id="content" class="content" role="main">
-@yield('content')
- </div> <!-- content -->
- <div id="footer" class="footer">
- @include('includes.footer')
- </div> <!-- footer -->
-</div> <!-- page -->
-</body>
-</html>
diff --git a/resources/views/layouts/minimal.blade.php b/resources/views/layouts/minimal.blade.php
deleted file mode 100644
index 5cef094..0000000
--- a/resources/views/layouts/minimal.blade.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <title>@yield('title')</title>
- <link rel="stylesheet" href="{{ URL::asset ('css/minimal.css') }}"/>
-</head>
-
-<body>
-@yield('content')
-</body>
-</html>
diff --git a/resources/views/music.blade.php b/resources/views/music.blade.php
new file mode 100644
index 0000000..92e5a90
--- /dev/null
+++ b/resources/views/music.blade.php
@@ -0,0 +1,5 @@
+<x-layout>
+ <x-slot:title>Music</x-slot:title>
+ <x-current-track :track="$current_track"/>
+ <x-top-tracks :tracks="$top_tracks"/>
+</x-layout>
diff --git a/resources/views/pages/admin/guestbook-del-confirm.blade.php b/resources/views/pages/admin/guestbook-del-confirm.blade.php
deleted file mode 100644
index de920e0..0000000
--- a/resources/views/pages/admin/guestbook-del-confirm.blade.php
+++ /dev/null
@@ -1,33 +0,0 @@
-@extends('layouts.minimal')
-@section('title', 'Delete confirm')
-@section('content')
- <h1>Delete Confirmation</h1>
- <hr>
- <p>Are you sure you want to delete this entry?</p>
-
- <h3>Entry Details:</h3>
- <table class="gb-entry-details">
- <tr>
- <td><b>ID:</b></td>
- <td>{{ $entry->id }}</td>
- </tr>
- <tr>
- <td><b>Name:</b></td>
- <td>{{ $entry->name }}</td>
- </tr>
- <tr>
- <td><b>Date:</b></td>
- <td>{{ gmdate("H:i:s - Y-m-d", $entry->timestamp) }}</td>
- </tr>
- <tr>
- <td><b>Message:</b></td>
- <td>{{ $entry->message }}</td>
- </tr>
- </table>
-
- <form action="/admin/guestbook/delete" method="POST">
- @csrf
- <input type="hidden" name="id" value="{{ $entry->id }}">
- <button type="submit">Confirm Delete</button>
- </form>
-@stop
diff --git a/resources/views/pages/admin/guestbook.blade.php b/resources/views/pages/admin/guestbook.blade.php
deleted file mode 100644
index 85460cc..0000000
--- a/resources/views/pages/admin/guestbook.blade.php
+++ /dev/null
@@ -1,32 +0,0 @@
-@extends('layouts.default-admin')
-@section('title', 'Guestbook')
-@section('content')
- @php
- $entries = DB::select('
- SELECT id, name, timestamp, message, ip_address
- FROM guestbook__entries
- ORDER BY id DESC
- ');
- @endphp
- <h1>Entries <small>({{ count($entries) }} total)</small></h1>
- @foreach ($entries as $entry)
- <table class="gb-admin">
- <tr>
- <td>
- Name:&nbsp;{{ $entry->name }}<br>
- IP:&nbsp;&nbsp;&nbsp;{{ $entry->ip_address }}<br>
- Date:&nbsp;{{ gmdate("H:i:s - Y-m-d", $entry->timestamp) }}
- </td>
- <td class="gb-del">
- <a href="/admin/guestbook/delete?id={{ $entry->id }}">del</a>
- </td>
- </tr>
- <tr>
- <td class="gb-message">
- <br>
- {{ htmlspecialchars($entry->message) }}
- </td>
- </tr></table>
- @endforeach
-@stop
-
diff --git a/resources/views/pages/admin/index.blade.php b/resources/views/pages/admin/index.blade.php
deleted file mode 100644
index fd34313..0000000
--- a/resources/views/pages/admin/index.blade.php
+++ /dev/null
@@ -1,9 +0,0 @@
-@extends('layouts.default-admin')
-@section('title', 'Page Title')
-@section('description', 'Page description goes here')
-@php
- $user = auth()->user();
-@endphp
-@section('content')
- <p>You are logged in as {{ $user->name }} ({{ $user->email }})</p>
-@stop
diff --git a/resources/views/pages/bookmarks.blade.php b/resources/views/pages/bookmarks.blade.php
deleted file mode 100644
index 55cc801..0000000
--- a/resources/views/pages/bookmarks.blade.php
+++ /dev/null
@@ -1,52 +0,0 @@
-@extends('layouts.default')
-@section('title', 'Bookmarks')
-@section('description', 'This is the personal homepage of floppydisk.')
-@section('content')
- @php
- $db_alive = true;
- try {
- DB::connection()->getPdo();
- } catch (Exception $e) {
- $db_alive = false;
- }
- @endphp
- @if (!$db_alive)
- @include('components.errors.db-error')
- @else
- @php
- $categories = DB::select('
- SELECT id, name
- FROM bookmark__categories
- ORDER BY priority ASC
- ');
- @endphp
-
- @foreach ($categories as $category)
- <table class="info-table" role="presentation">
-
- <caption>
- <h2>{{ $category->name }}</h2>
- <hr>
- </caption>
-
- @php
- $sites = DB::select(
- '
- SELECT name, url, description
- FROM bookmark__sites
- WHERE category_id = ? ORDER BY priority ASC
- ',
- [$category->id],
- );
- @endphp
- @foreach ($sites as $site)
- <tr>
- <td><a href="{{ $site->url }}">{{ $site->name }}</a>
- - {{ $site->description }}</td>
- </tr>
- @endforeach
- </table>
- <br>
- @endforeach
- @endif
-@stop
diff --git a/resources/views/pages/bot.blade.php b/resources/views/pages/bot.blade.php
deleted file mode 100644
index b9475fc..0000000
--- a/resources/views/pages/bot.blade.php
+++ /dev/null
@@ -1,7 +0,0 @@
-@extends('layouts.default')
-@section('title', 'Discord Bot')
-@section('description', '')
-@section('content')
- <p>The diskfloppy.me Discord bot blah blah blah blah blah</p>
- <p>Maybe I'll finish this page later idk</p>
-@stop
diff --git a/resources/views/pages/calculators.blade.php b/resources/views/pages/calculators.blade.php
deleted file mode 100644
index 5d629ed..0000000
--- a/resources/views/pages/calculators.blade.php
+++ /dev/null
@@ -1,110 +0,0 @@
-@extends('layouts.default')
-@section('title', 'Calculators')
-@section('description', 'C a l c u l a t o r s.')
-@section('content')
- <h1>CASIO fx-CG50</h1>
- <p>TBD</p>
- <h2>Pictures</h2>
- <p>Click images to view full size</p>
- <a href="/images/calculators/casio-fx-cg50/1s.jpeg"><img src="/images/calculators/casio-fx-cg50/1s.jpeg" width="15%"></a>
- <a href="/images/calculators/casio-fx-cg50/2s.jpeg"><img src="/images/calculators/casio-fx-cg50/2s.jpeg" width="15%"></a>
- <a href="/images/calculators/casio-fx-cg50/3s.jpeg"><img src="/images/calculators/casio-fx-cg50/3s.jpeg" width="15%"></a>
- <a href="/images/calculators/casio-fx-cg50/4s.jpeg"><img src="/images/calculators/casio-fx-cg50/4s.jpeg" width="15%"></a>
-
- <h1>CASIO fx-120 (1977-78)</h1>
- <p>TBD</p>
- <h2>Specifications</h2>
- <table class="skami">
- <tr>
- <td><b>Size</b></td>
- <td>8.4cm x 16.2cm x 2.4cm</td>
- </tr>
- <tr>
- <td><b>Weight (w/ battery)</b></td>
- <td>209g</td>
- </tr>
- <tr>
- <td><b>Type</b></td>
- <td>Scientific</td>
- </tr>
- <tr>
- <td><b>CPU</b></td>
- <td>Hitachi HD38111A</td>
- </tr>
- <tr>
- <td><b>Registers</b></td>
- <td>2 standard<br>1 constant<br>4 bracket<br>1 memory</td>
- </tr>
- <tr>
- <td><b>Features</b></td>
- <td>%, +/-, RV, F, Sci, a<sup>b</sup>&frasl;<sub>c</sub>, Sqr, x<sup>2</sup>, pi, <sup>1</sup>&frasl;<sub>x</sub>, trig,<br>hyp, DMS-DD, log, y<sup>x</sup>, SD, nCr, P-R, n!</sup></td>
- </tr>
- <tr>
- <td><b>Display</b></td>
- <td>12-digit VFD (NEC LD8197A)</td>
- </tr>
- </table>
- <h2>Pictures</h2>
- <p>Click images to view full size</p>
- <a href="/images/calculators/casio-fx-120/1s.jpeg"><img src="/images/calculators/casio-fx-120/1s.jpeg" width="15%"></a>
- <a href="/images/calculators/casio-fx-120/2s.jpeg"><img src="/images/calculators/casio-fx-120/2s.jpeg" width="15%"></a>
- <a href="/images/calculators/casio-fx-120/3s.jpeg"><img src="/images/calculators/casio-fx-120/3s.jpeg" width="15%"></a>
- <a href="/images/calculators/casio-fx-120/4s.jpeg"><img src="/images/calculators/casio-fx-120/4s.jpeg" width="15%"></a>
-
- <h1>CASIO fx-82 (1982-85)</h1>
- <p>TBD</p>
- <h2>Pictures</h2>
- <p>Click images to view full size</p>
- <a href="/images/calculators/casio-fx-82/1s.jpeg"><img src="/images/calculators/casio-fx-82/1s.jpeg" width="15%"></a>
- <a href="/images/calculators/casio-fx-82/2s.jpeg"><img src="/images/calculators/casio-fx-82/2s.jpeg" width="15%"></a>
- <a href="/images/calculators/casio-fx-82/3s.jpeg"><img src="/images/calculators/casio-fx-82/3s.jpeg" width="15%"></a>
- <a href="/images/calculators/casio-fx-82/4s.jpeg"><img src="/images/calculators/casio-fx-82/4s.jpeg" width="15%"></a>
-
- <h1>Texas Instruments TI-30 (1976-90)</h1>
- <p>TBD</p>
- <h2>Pictures</h2>
- <p>Click images to view full size</p>
- <a href="/images/calculators/ti-30/1s.jpeg"><img src="/images/calculators/ti-30/1s.jpeg" width="15%"></a>
- <a href="/images/calculators/ti-30/2s.jpeg"><img src="/images/calculators/ti-30/2s.jpeg" width="15%"></a>
- <a href="/images/calculators/ti-30/3s.jpeg"><img src="/images/calculators/ti-30/3s.jpeg" width="15%"></a>
- <a href="/images/calculators/ti-30/4s.jpeg"><img src="/images/calculators/ti-30/4s.jpeg" width="15%"></a>
-
- <h1>Texet 880 Executive (1977-78)</h1>
-
- <p>The calculator measures 74.2mm x 135mm x 22.2mm. It weighs 86g without the battery installed, which is a 9v PP3-type battery. Rather than the usual press-stud type holder, the housing has two metal slide clips. There is also what I assume to be a sponge at one end which is supposed to aid in holding the battery in, however it appears to have gone completely hard and I will most likely replace it in the future. There's small adaptor hole at the top, of which the input isn't specified (though it's generally agreed that it's 4.5v centre-positive).</p>
- <p>The case is black &amp; silvery colored with a thin brushed metallic front panel. The eight-digit bubble display has an absolutely <i>terrible</i> viewing angle, which means you either have to be holding it under your coat or against your face to read it!</p>
- The keypad is particularly strange in the way that it has 3 cancel buttons, <pre>[CE]</pre>, <pre>[C]</pre> and <pre>[CA]</pre>, while the <pre>[CS]</pre> button is a Clear Sign button, <i>not</i> another cancel! The keys themselves are particularly stiff and you really have to push them to get them to register. Many 880s suffered something referred to as the "pseudo fixed decimal bug" where, if you typed in <pre>1 + 1.00 = </pre>, it would display <pre>2.00</pre> instead of the expected <pre>2</pre>
- <h2>Specifications</h2>
- <table class="skami">
- <tr>
- <td><b>Size</b></td>
- <td>7.4cm x 13.5cm x 2.2cm</td>
- </tr>
- <tr>
- <td><b>Weight (w/o battery)</b></td>
- <td>86</td>
- </tr>
- <tr>
- <td><b>Type</b></td>
- <td>Arithmetic</td>
- </tr>
- <tr>
- <td><b>Logic</b></td>
- <td>Algebraic</td>
- </tr>
- <tr>
- <td><b>Power Source</b></td>
- <td>PP3 9v</td>
- </tr>
- <tr>
- <td><b>Display</b></td>
- <td>8-digit LED</td>
- </tr>
- </table>
- <h2>Pictures</h2>
- <p>Click images to view full size</p>
- <a href="/images/calculators/texet-880/1s.jpeg"><img src="/images/calculators/texet-880/1s.jpeg" width="15%"></a>
- <a href="/images/calculators/texet-880/2s.jpeg"><img src="/images/calculators/texet-880/2s.jpeg" width="15%"></a>
- <a href="/images/calculators/texet-880/3s.jpeg"><img src="/images/calculators/texet-880/3s.jpeg" width="15%"></a>
- <a href="/images/calculators/texet-880/4s.jpeg"><img src="/images/calculators/texet-880/4s.jpeg" width="15%"></a>
-@stop
diff --git a/resources/views/pages/computers.blade.php b/resources/views/pages/computers.blade.php
deleted file mode 100644
index a7cec24..0000000
--- a/resources/views/pages/computers.blade.php
+++ /dev/null
@@ -1,442 +0,0 @@
-@extends('layouts.default')
-@section('title', 'Computers')
-@section('description', 'Computers I own or have owned.')
-@section('content')
- <table class="computers">
- <tr>
- <th>PICTURES</th>
- <th>SPECS &amp; DESCRIPTION</th>
- </tr>
- <tr>
- <td>2023 MacBook Pro 14"</td>
- <td>
- <section-title>Quick Specs</section-title>
- <ul>
- <li>Apple M3 Pro</li>
- <li>18GB RAM</li>
- <li>500GB SSD</li>
- <li>macOS Sonoma</li>
- </ul>
- <p class="description">WHAT</p>
- </td>
- </tr>
- <tr>
- <td>2018 MacBook Pro 13"</td>
- <td>
- <section-title>Quick Specs</section-title>
- <ul>
- <li>Intel i5-8259U @ 2.3GHz</li>
- <li>Intel Iris Plus Graphics 655</li>
- <li>8GB RAM</li>
- <li>250GB SSD</li>
- <li>macOS Sonoma</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td>2012 Lenovo ThinkPad T430</td>
- <td>
- <section-title>Quick Specs</section-title>
- <ul>
- <li>Intel Core i7</li>
- <li>16GB RAM</li>
- <li>Windows 7 Professional</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td>2005 IBM ThinkPad X41T</td>
- <td>
- <section-title>Quick Specs</section-title>
- <ul>
- <li>Intel Pentium M @ 1.6GHz</li>
- <li>Mobile Intel Express Chipset Family (128MB)</li>
- <li>1.5GB RAM</li>
- <li>40GB HDD</li>
- <li>Windows XP Tablet PC Edition</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td>1999 Dell OptiPlex GX1</td>
- <td>
- <section-title>Quick Specs</section-title>
- <ul>
- <li>Intel Pentium II (Deschutes) @ 400MHz</li>
- <li>ATI 3D Rage Pro (4MB)</li>
- <li>639MB</li>
- <li>40GB HDD</li>
- <li>MS-DOS 6.22 &amp; WFW 3.10</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td>2003 IBM ThinkPad T40</td>
- <td>
- <section-title>Quick Specs</section-title>
- <ul>
- <li>Intel Pentium M @ 1.3GHz</li>
- <li>ATI Mobility Radeon 7500 (32MB)</li>
- <li>1GB RAM</li>
- <li>30GB HDD</li>
- <li>Windows 2000 Professional</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td>2010 HP Compaq Elite 8100</td>
- <td>
- <section-title>Quick Specs</section-title>
- <ul>
- <li>Intel Core i7</li>
- <li>16GB RAM</li>
- <li>some SSD and an HDD</li>
- <li>Windows Vista Ultimate (64-bit)</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td>2014 Mac mini</td>
- <td>
- <section-title>Quick Specs</section-title>
- <ul>
- <li>Intel Core i5-4278U @ 2.6GHz</li>
- <li>Intel Iris Graphics</li>
- <li>8GB RAM</li>
- <li>1TB HDD</li>
- <li>VMware ESXi 6.7.0u3</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td>1996 Fujitsu Milan</td>
- <td>
- <section-title>Quick Specs</section-title>
- <ul>
- <li>Intel Pentium</li>
- <li>32MB RAM</li>
- <li>1215MB HDD</li>
- <li>Windows 98 SE</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td>1999 Compaq Armada M300</td>
- <td>
- <section-title>Quick Specs</section-title>
- <ul>
- <li>Intel Pentium III</li>
- </ul>
- </td>
- </tr>
- </table>
- <!--<table class="computer" role="presentation">
- <tr>
- <td colspan="2"><h2>Custom Build</h2><hr></td>
- </tr>
- <tr>
- <td>
- <table class="computer-specs">
- <tr>
- <td class="spec-title">OS:</td>
- <td class="spec">NixOS 22.11 / Windows 10 Pro</td>
- </tr>
- <tr>
- <td class="spec-title">CPU:</td>
- <td class="spec">Intel i7-6700K (8-core) @ 4.0GHz</td>
- </tr>
- <tr>
- <td class="spec-title">GPU:</td>
- <td class="spec">NVidia GTX 1060 (3GB)</td>
- </tr>
- <tr>
- <td class="spec-title">Memory:</td>
- <td class="spec">64GB</td>
- </tr>
- <tr>
- <td class="spec-title">DISK0:</td>
- <td class="spec">SanDisk SSD Plus (120GB, Win10)</td>
- </tr>
- <tr>
- <td class="spec-title">DISK1:</td>
- <td class="spec">Crucial CT500MX500SSD1 (500GB, NixOS)</td>
- </tr>
- <tr>
- <td class="spec-title">DISK2:</td>
- <td class="spec">WDC WD20EZEAZ-00GGJB0 (2TB, Data)</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table class="computer" role="presentation">
- <tr>
- <td colspan="2"><h2>MacBook Pro (2018)</h2><hr></td>
- </tr>
- <tr>
- <td>
- <table class="computer-specs">
- <tr>
- <td class="spec-title">OS:</td>
- <td class="spec">macOS 12.5.1</td>
- </tr>
- <tr>
- <td class="spec-title">Display:</td>
- <td class="spec">2560x1600 (Retina)</td>
- </tr>
- <tr>
- <td class="spec-title">CPU:</td>
- <td class="spec">Intel i5-8259U (8-core) @ 2.3GHz</td>
- </tr>
- <tr>
- <td class="spec-title">GPU:</td>
- <td class="spec">Intel Iris Plus Graphics 655</td>
- </tr>
- <tr>
- <td class="spec-title">Memory:</td>
- <td class="spec">8GB</td>
- </tr>
- <tr>
- <td class="spec-title">DISK:</td>
- <td class="spec">Apple SSD AP0256M (250GB)</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table class="computer" role="presentation">
- <tr>
- <td colspan="2"><h2>Lenovo ThinkPad T430 (2012)</h2><hr></td>
- </tr>
- <tr>
- <td>
- <table class="computer-specs">
- <tr>
- <td class="spec-title">OS:</td>
- <td class="spec">NixOS 22.11 / Windows 7 Ultimate</td>
- </tr>
- <tr>
- <td class="spec-title">CPU:</td>
- <td class="spec">Intel i7-3520M (4-core) @ 3.6GHz</td>
- </tr>
- <tr>
- <td class="spec-title">GPU:</td>
- <td class="spec">Intel 3rd Gen Core processor Graphics Controllertd>
- </tr>
- <tr>
- <td class="spec-title">Memory:</td>
- <td class="spec">16GB</td>
- </tr>
- <tr>
- <td class="spec-title">DISK0:</td>
- <td class="spec">Crucial CT500MX500SSD1 (500GB, NixOS)</td>
- </tr>
- <tr>
- <td class="spec-title">DISK1:</td>
- <td class="spec">Crucial CT250MX500SSD1 (250GB, Win7)</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table class="computer" role="presentation">
- <tr>
- <td colspan="2"><h2>IBM ThinkPad X41 (2005)</h2><hr></td>
- </tr>
- <tr>
- <td>
- <table class="computer-specs">
- <tr>
- <td class="spec-title">OS:</td>
- <td class="spec">Windows XP Tablet PC Edition (2005, SP3)</td>
- </tr>
- <tr>
- <td class="spec-title">CPU:</td>
- <td class="spec">Intel Pentium M (single-core) @ 1.6GHz</td>
- </tr>
- <tr>
- <td class="spec-title">GPU:</td>
- <td class="spec">Mobile Intel 915GM/GMS 910GML Express Chipset Family (128MB)</td>
- </tr>
- <tr>
- <td class="spec-title">Memory:</td>
- <td class="spec">1.5GB</td>
- </tr>
- <tr>
- <td class="spec-title">DISK:</td>
- <td class="spec">Hitachi HTC426040G9AT00 (40GB)</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table class="computer" role="presentation">
- <tr>
- <td colspan="2"><h2>Dell OptiPlex GX1 (400L+, 1999)</h2><hr></td>
- </tr>
- <tr>
- <td>
- <table class="computer-specs">
- <tr>
- <td class="spec-title">OS:</td>
- <td class="spec">Windows 3.10 for Workgroups (DOS 6.22)</td>
- </tr>
- <tr>
- <td class="spec-title">CPU:</td>
- <td class="spec">Intel Pentium II (Deschutes) @ 400MHz</td>
- </tr>
- <tr>
- <td class="spec-title">GPU:</td>
- <td class="spec">ATI 3D Rage Pro (4MB)</td>
- </tr>
- <tr>
- <td class="spec-title">Memory:</td>
- <td class="spec">639MB</td>
- </tr>
- <tr>
- <td class="spec-title">DISK:</td>
- <td class="spec">Unknown</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table class="computer" role="presentation">
- <tr>
- <td colspan="2"><h2>IBM ThinkPad T40 (2003)</h2><hr></td>
- </tr>
- <tr>
- <td>
- <table class="computer-specs">
- <tr>
- <td class="spec-title">OS:</td>
- <td class="spec">Windows XP Pro</td>
- </tr>
- <tr>
- <td class="spec-title">CPU:</td>
- <td class="spec">Intel Pentium M (single-core) @ 1.3GHz</td>
- </tr>
- <tr>
- <td class="spec-title">GPU:</td>
- <td class="spec">ATI Mobility Radeon 7500 (32MB)</td>
- </tr>
- <tr>
- <td class="spec-title">Memory:</td>
- <td class="spec">1GB</td>
- </tr>
- <tr>
- <td class="spec-title">DISK:</td>
- <td class="spec">Fujitsu MHS2030AT (30GB)</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table class="computer" role="presentation">
- <tr>
- <td colspan="2"><h2>HP Compaq Elite 8100 CMT</h2><hr></td>
- </tr>
- <tr>
- <td>
- <table class="computer-specs">
- <tr>
- <td class="spec-title">OS:</td>
- <td class="spec">Windows Vista 64-bit</td>
- </tr>
- <tr>
- <td class="spec-title">CPU:</td>
- <td class="spec">Intel Core i7</td>
- </tr>
- <tr>
- <td class="spec-title">GPU:</td>
- <td class="spec"></td>
- </tr>
- <tr>
- <td class="spec-title">Memory:</td>
- <td class="spec">16GB</td>
- </tr>
- <tr>
- <td class="spec-title">DISK0:</td>
- <td class="spec">SanDisk SSD Plus (120GB, Win10)</td>
- </tr>
- <tr>
- <td class="spec-title">DISK1:</td>
- <td class="spec">Crucial CT500MX500SSD1 (500GB, NixOS)</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table class="computer" role="presentation">
- <tr>
- <td colspan="2"><h2>Mac mini (2014)</h2><hr></td>
- </tr>
- <tr>
- <td>
- <table class="computer-specs">
- <tr>
- <td class="spec-title">OS:</td>
- <td class="spec">VMware ESXi 6.7.0u3</td>
- </tr>
- <tr>
- <td class="spec-title">CPU:</td>
- <td class="spec">Intel i5-4278U (4-core) @ 2.6GHz</td>
- </tr>
- <tr>
- <td class="spec-title">GPU:</td>
- <td class="spec">Intel Iris Graphics</td>
- </tr>
- <tr>
- <td class="spec-title">Memory:</td>
- <td class="spec">8GB</td>
- </tr>
- <tr>
- <td class="spec-title">DISK:</td>
- <td class="spec">Apple HDD HTS541 (1TB)</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table class="computer" role="presentation">
- <tr>
- <td colspan="2"><h2>Fujitsu Milan (1996)</h2><hr></td>
- </tr>
- <tr>
- <td>
- <table class="computer-specs">
- <tr>
- <td class="spec-title">OS:</td>
- <td class="spec">Windows 98 SE</td>
- </tr>
- <tr>
- <td class="spec-title">CPU:</td>
- <td class="spec">Intel Pentium</td>
- </tr>
- <tr>
- <td class="spec-title">Memory:</td>
- <td class="spec">32MB</td>
- </tr>
- <tr>
- <td class="spec-title">DISK:</td>
- <td class="spec">IBM DPRA-21215 (1215MB)</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>-->
- <!--<table class="computer" role="presentation">
- <tr>
- <td colspan="2"><h2>Compaq Armada M300</h2><hr></td>
- </tr>
- <tr>
- <td>
- <table class="computer-specs">
- <tr>
- <td class="spec">TBD</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>-->
-@stop
diff --git a/resources/views/pages/home.blade.php b/resources/views/pages/home.blade.php
deleted file mode 100644
index 01831d6..0000000
--- a/resources/views/pages/home.blade.php
+++ /dev/null
@@ -1,88 +0,0 @@
-@extends('layouts.default')
-@section('title', 'Home')
-@section('description', 'This is the personal homepage of floppydisk.')
-@section('content')
-
- <p>Hi! This is my personal homepage on the <strong>W</strong>orld <strong>W</strong>ide <strong>W</strong>eb.</p>
-
- <table class="info-table" role="presentation">
- <caption>
- <h2>QuickFacts&trade;</h2>
- <hr>
- </caption>
- <tr>
- <td>&#9670; 18 y/o, he/him, British</td>
- </tr>
- <tr>
- <td>&#9670; Theatre Technician, &quot;Web Developer&quot; and NixOS User</td>
- </tr>
- <tr>
- <td>&#9670; Loves ETC desks, prefers Generics to LEDs for some reason</td>
- </tr>
- <tr>
- <td>&#9670; Spends way too much time on his computer</td>
- </tr>
- <tr>
- <td>&#9670; Favorite games: <a href="https://steamcommunity.com/id/floppydisk05/recommended/420530/">OneShot</a>, Minecraft, Stardew Valley, N++ and Starbound</td>
- </tr>
- <tr>
- <td>&#9670; <a href="http://wxqa.com/">CWOP</a> member</td>
- </tr>
- </table>
- <br>
-
- <table class="info-table" role="presentation">
- <caption>
- <h2>Interests</h2>
- <hr>
- </caption>
- <tr>
- <td>&#9670; <b>Tech Theatre</b></td>
- <td>- Lighting, Stage Management, etc. (<a href="https://www.controlbooth.com/members/floppydisk.28673/">ControlBooth</a>)</td>
- </tr>
- <tr>
- <td>&#9670; <b>Programming</b></td>
- <td>- HTML, CSS, JavaScript, C#, Java, PHP, Ruby, Python (<a href="https://github.com/floppydisk05">GitHub</a>)</td>
- </tr>
- <tr>
- <td>&#9670; <b>Photography</b></td>
- <td>- <a href="https://www.flickr.com/photos/floppydisk/">Flickr</a></td>
- </tr>
- <tr>
- <td>&#9670; <b>Gaming</b></td>
- <td>- <a href="https://steamcommunity.com/id/floppydisk05/">Steam Profile</a></td>
- </tr>
- </table>
- <br>
-
- <table class="info-table never-said" role="presentation">
- <caption>
- <h2>Things they never said</h2>
- <hr>
- </caption>
- <tr>
- <script type="text/javascript" src="/js/neverSaid.js"></script>
- <noscript><td>Oops! You need JavaScript enabled to view this content.</td></noscript>
- </tr>
- </table>
- <br>
-
- <table class="info-table" role="presentation">
- <caption>
- <h2>Contact &amp; social</h2>
- <hr>
- </caption>
- <tr>
- <td><strong>E-mail:</strong></td>
- <td><a href="mailto:contact@diskfloppy.me">contact@diskfloppy.me</a></td>
- </tr>
- <tr>
- <td><strong>Mastodon:</strong></td>
- <td><a rel="me" href="https://c.im/@floppydisk">@floppydisk@c.im</a></td>
- </tr>
- <tr>
- <td><strong>Matrix:</strong></td>
- <td><a href="https://matrix.to/#/@floppydisk:arcticfoxes.net">@floppydisk:arcticfoxes.net</a></td>
- </tr>
- </table>
-@stop
diff --git a/resources/views/pages/music.blade.php b/resources/views/pages/music.blade.php
deleted file mode 100644
index dba0750..0000000
--- a/resources/views/pages/music.blade.php
+++ /dev/null
@@ -1,66 +0,0 @@
-@extends('layouts.default')
-@section('title', 'Music')
-@section('description', '')
-@section('content')
- @php
-
- $cfg = app('config')->get('services')['lastfm'];
- $api_root = app('config')->get('app')['api_root'];
-
- $api_alive = true;
-
- try {
- $data = file_get_contents($api_root.'/lastfm/current');
- } catch (Exception $e) {
- $api_alive = false;
- }
- @endphp
- @if (!$api_alive)
- @include('components.errors.api-error')
- @else
-
- @php
- $current_track = json_decode(file_get_contents($api_root . '/lastfm/current'));
- $top_tracks = json_decode(file_get_contents($api_root . '/lastfm/top'));
- $count = 0;
- @endphp
- <table class="info-table" role="presentation" width="100%">
- <tr>
- <td colspan="4">
- <h2>Last/Current Track:</h2>
- </td>
- </tr>
- <tr>
- <td colspan="4">
- <a href="{{ $current_track->url }}">{{ $current_track->title }} • {{ $current_track->artist }}</a><br>
- </td>
- </tr>
- </table>
- <hr>
- <table class="music-top10">
- <tr>
- <td colspan="4">
- <h2 style="margin-bottom: 5px">Top {{ $cfg['toptracks'] }} Tracks (Last 7 days)</h2>
- </td>
- </tr>
- <tr>
- <td style="text-align: right"><b>#</b></td>
- <td><b>Track</b></td>
- <td><b>Artist</b></td>
- <td><b>Plays</b></td>
- </tr>
- @foreach ($top_tracks as $track)
- @php $count++ @endphp
- @if ($count >= $cfg['toptracks']+1)
- @break
- @endif
- <tr>
- <td style="text-align: right">{{ $count }}</td>
- <td style="white-space: nowrap; text-overflow:ellipsis; overflow: hidden; max-width:1px;" width="50%"><a href="{{ $track->url }}">{{ $track->title }}</a></td>
- <td style="white-space: nowrap; text-overflow:ellipsis; overflow: hidden; max-width:1px;" width="50%">{{ $track->artist }}</td>
- <td>{{ $track->playcount }}</td>
- </tr>
- @endforeach
- </table>
- @endif
-@stop
diff --git a/resources/views/pages/projects.blade.php b/resources/views/pages/projects.blade.php
deleted file mode 100644
index aad454b..0000000
--- a/resources/views/pages/projects.blade.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php $categories = app('config')->get('projects'); ?>
-@extends('layouts.default')
-@section('title', 'Projects')
-@section('description', 'My projects')
-@section('content')
- @foreach ($categories as $category)
- <h2>{{ $category['name']}}</h2>
- @foreach ($category['projects'] as $project)
- <div>
- <a href="{{ $project['url'] }}">{{ $project['name'] }}</a> - {{ $project['description'] }}<br>
- <b>Languages:</b> {{ implode(", ", $project['languages']) }}
- </div>
- <br>
- @endforeach
-@endforeach
-@stop
diff --git a/resources/views/pages/template.blade.php b/resources/views/pages/template.blade.php
deleted file mode 100644
index 18fe585..0000000
--- a/resources/views/pages/template.blade.php
+++ /dev/null
@@ -1,6 +0,0 @@
-@extends('layouts.default')
-@section('title', 'Page Title')
-@section('description', 'Page description goes here')
-@section('content')
-<p>page content</p>
-@stop
diff --git a/resources/views/pages/weather.blade.php b/resources/views/pages/weather.blade.php
deleted file mode 100644
index a759534..0000000
--- a/resources/views/pages/weather.blade.php
+++ /dev/null
@@ -1,61 +0,0 @@
-@extends('layouts.default')
-@section('title', 'Weather')
-@section('description', 'Data from my weather station')
-@section('content')
-@php
-$api_root = app('config')->get('app')['api_root'];
-
-function degreesToCompassDirection($degrees) {
- $cardinalDirections = [
- 'N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE',
- 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N'
- ];
- return $cardinalDirections[round($degrees*16/360)];
-}
-
-$api_alive = true;
-
-try {
- $data = file_get_contents($api_root.'/weather');
-} catch (Exception $e) {
- $api_alive = false;
-}
-@endphp
-@if (!$api_alive)
- @include('components.errors.api-error')
-@else
- @php
- $data = json_decode(file_get_contents($api_root.'/weather'));
- $updated = gmdate('H:i Y-m-d', $data->updated);
- $data = $data->current;
- @endphp
-<table class="info-table" role="presentation">
- <caption>
- <h2>Local Weather</h2>
- <hr>
- </caption>
- <tr>
- <td><b>Wind Speed:</b></td>
- <td>{{ $data->wind->speed }} mph</td>
- </tr>
- <tr>
- <td><b>Wind Direction:</b></td>
- <td>{{ $data->wind->direction->degrees }}°, {{ $data->wind->direction->cardinal }}</td>
- </tr>
- <tr>
- <td><b>Temperature:</b></td>
- <td>{{ $data->temperature }}°C</td>
- </tr>
- <tr>
- <td><b>Rain Rate:</b></td>
- <td>{{ $data->rain_rate }} mm/hr</td>
- </tr>
- <tr>
- <td><b>Humidity:</b></td>
- <td>{{ $data->humidity }}%</td>
- </tr>
-</table>
-<br>
-<small><i>(Last Update: {{ $updated }})</i></small>
-@endif
-@stop