Update
|  | @ -17,7 +17,7 @@ | |||
|     */ | ||||
| 
 | ||||
|     'name' => env('APP_NAME', 'diskfloppy.me'), | ||||
|     'version' => '5.4.6', | ||||
|     'version' => '5.5.0-DEV', | ||||
| 
 | ||||
|     /* | ||||
|     |-------------------------------------------------------------------------- | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| * { | ||||
| body { | ||||
|     font-family: monospace; | ||||
| } | ||||
| 
 | ||||
|  | @ -13,11 +13,11 @@ ul { | |||
| table.banner { | ||||
|     margin-left: auto; | ||||
|     margin-right: auto; | ||||
|     border: 2px solid #E04A38; | ||||
|     background-color: #E6897E; | ||||
|     border: 2px solid #e04a38; | ||||
|     background-color: #e6897e; | ||||
|     width: 95%; | ||||
|     /* Passes both WCAG AD and WCAG AAA contrast tests */ | ||||
|     color: #0F0F0F; | ||||
|     color: #0f0f0f; | ||||
| } | ||||
| 
 | ||||
| table.banner td { | ||||
|  | @ -25,7 +25,7 @@ table.banner td { | |||
| } | ||||
| 
 | ||||
| table.banner td a { | ||||
|     color: #0F0F0F; | ||||
|     color: #0f0f0f; | ||||
| } | ||||
| 
 | ||||
| table.banner td a:hover { | ||||
|  | @ -34,32 +34,24 @@ table.banner td a:hover { | |||
| 
 | ||||
| div.page { | ||||
|     min-width: 780px; | ||||
|     max-width: 1024px; | ||||
|     max-width: 800px; | ||||
|     padding-left: 0.5em; | ||||
|     padding-right: 0.5em; | ||||
|     margin: auto; | ||||
| } | ||||
| 
 | ||||
| h1.inline { | ||||
|     font-family: sans-serif; | ||||
|     font-weight: normal; | ||||
|     margin-top: 0em; | ||||
|     clear: none; | ||||
|     font-size: 100%; | ||||
|     display: inline; | ||||
| } | ||||
| 
 | ||||
| h1.inline:before { content: "" } | ||||
| h1:before { content: "> " } | ||||
| h2:before { content: ">> " } | ||||
| h3:before { content: ">>> " } | ||||
| 
 | ||||
| h1, h2, h3 { | ||||
|     font-family: monospace; | ||||
|     font-weight: normal; | ||||
| h1, | ||||
| h2, | ||||
| h3 { | ||||
|     margin-top: 1em; | ||||
|     clear: left; | ||||
|     color: #FFFFFF; | ||||
|     color: #ffffff; | ||||
| } | ||||
| 
 | ||||
| img { | ||||
|  | @ -78,14 +70,13 @@ table.form td { | |||
| 
 | ||||
| /* -------------------------------------------------------------------------- */ | ||||
| 
 | ||||
| 
 | ||||
| div.preview { | ||||
|     display: inline-block; | ||||
|     width: 30em; | ||||
|     max-width: 100%; | ||||
|     text-align: center; | ||||
|     vertical-align: top; | ||||
|     margin-bottom: 2em | ||||
|     margin-bottom: 2em; | ||||
| } | ||||
| 
 | ||||
| div.project { | ||||
|  | @ -94,127 +85,146 @@ div.project { | |||
|     max-width: 100%; | ||||
|     text-align: center; | ||||
|     vertical-align: top; | ||||
|     margin-bottom: 2em | ||||
|     margin-bottom: 2em; | ||||
| } | ||||
| 
 | ||||
| div.preview .heading .name, div.project .heading .name { | ||||
|     font-size: 120% | ||||
| div.preview .heading .name, | ||||
| div.project .heading .name { | ||||
|     font-size: 120%; | ||||
| } | ||||
| 
 | ||||
| div.preview img, div.project img { | ||||
| div.preview img, | ||||
| div.project img { | ||||
|     width: auto; | ||||
|     max-width: 90%; | ||||
|     max-height: 15em | ||||
|     max-height: 15em; | ||||
| } | ||||
| 
 | ||||
| div.preview pre.small, div.project pre.small { | ||||
| div.preview pre.small, | ||||
| div.project pre.small { | ||||
|     font-size: 75%; | ||||
|     overflow: hidden | ||||
|     overflow: hidden; | ||||
| } | ||||
| 
 | ||||
| div.preview pre, div.project pre { | ||||
| div.preview pre, | ||||
| div.project pre { | ||||
|     background-color: #222; | ||||
|     color: #ccc; | ||||
|     display: inline-block; | ||||
|     text-align: left; | ||||
|     padding: 0.2em; | ||||
|     max-width: 90% | ||||
|     max-width: 90%; | ||||
| } | ||||
| 
 | ||||
| div.project pre { | ||||
|     border: 1px solid #666666 | ||||
|     border: 1px solid #666666; | ||||
| } | ||||
| 
 | ||||
| pre { | ||||
|     display: inline; | ||||
|     max-width: 95%; | ||||
|     overflow: auto | ||||
|     overflow: auto; | ||||
| } | ||||
| 
 | ||||
| .header a { | ||||
|     text-decoration: none | ||||
|     text-decoration: none; | ||||
| } | ||||
| 
 | ||||
| nav { | ||||
|     margin-bottom: 0.3em | ||||
|     margin-bottom: 0.3em; | ||||
|     text-align: left; | ||||
| } | ||||
| 
 | ||||
| div.ddate { | ||||
|     text-align: center | ||||
| nav div a img { | ||||
|     width: 32px; | ||||
| } | ||||
| 
 | ||||
| nav div h1 { | ||||
|     font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, | ||||
|         Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, | ||||
|         sans-serif; | ||||
|     font-weight: normal; | ||||
|     font-size: 30px; | ||||
|     margin: 10px; | ||||
|     margin-left: 0px; | ||||
| } | ||||
| 
 | ||||
| div.date { | ||||
|     text-align: center; | ||||
| } | ||||
| 
 | ||||
| div.note { | ||||
|     font-style: italic | ||||
|     font-style: italic; | ||||
| } | ||||
| 
 | ||||
| table { | ||||
|     border-collapse: collapse; | ||||
|     border-color: #FFFFFF; | ||||
|     border-color: #ffffff; | ||||
| } | ||||
| 
 | ||||
| table.noborder td { | ||||
|     border: none | ||||
|     border: none; | ||||
| } | ||||
| 
 | ||||
| table.skami a { | ||||
|     text-decoration: none | ||||
|     text-decoration: none; | ||||
| } | ||||
| 
 | ||||
| table.weather th { | ||||
|     font-weight: normal | ||||
|     font-weight: normal; | ||||
| } | ||||
| 
 | ||||
| table.weather td { | ||||
|     font-weight: bold; | ||||
|     text-align: right | ||||
|     text-align: right; | ||||
| } | ||||
| 
 | ||||
| .project .name { | ||||
|     font-weight: bold | ||||
|     font-weight: bold; | ||||
| } | ||||
| 
 | ||||
| .toplinks a { | ||||
|     margin-right: 0.5em; | ||||
|     text-decoration: none | ||||
|     text-decoration: none; | ||||
| } | ||||
| 
 | ||||
| div.inlinepage { | ||||
|     margin-top: 2em; | ||||
|     border: 0; | ||||
|     padding: 0 | ||||
|     padding: 0; | ||||
| } | ||||
| 
 | ||||
| div.pheader { | ||||
|     font-size: 120% | ||||
|     font-size: 120%; | ||||
| } | ||||
| 
 | ||||
| div.pheader span.date { | ||||
|     margin-right: 1em; | ||||
|     font-weight: normal | ||||
|     font-weight: normal; | ||||
| } | ||||
| 
 | ||||
| div.pheader a { | ||||
|     font-weight: bold; | ||||
|     text-decoration: none | ||||
|     text-decoration: none; | ||||
| } | ||||
| 
 | ||||
| div.rss { | ||||
|     position: absolute; | ||||
|     top: 1em; | ||||
|     right: 1em | ||||
|     right: 1em; | ||||
| } | ||||
| 
 | ||||
| div.archived { | ||||
|     margin-top: 0.5em | ||||
|     margin-top: 0.5em; | ||||
| } | ||||
| 
 | ||||
| div.archived span.date { | ||||
|     font-style: italic; | ||||
|     margin-right: 0.2em | ||||
|     margin-right: 0.2em; | ||||
| } | ||||
| 
 | ||||
| video { | ||||
|     max-width: 100% | ||||
|     max-width: 100%; | ||||
| } | ||||
| 
 | ||||
| .toplinks span { | ||||
|  | @ -222,7 +232,7 @@ .toplinks span { | |||
|     text-align: right; | ||||
|     float: left; | ||||
|     width: 8em; | ||||
|     margin-right: 0.5em | ||||
|     margin-right: 0.5em; | ||||
| } | ||||
| 
 | ||||
| .deprecated { | ||||
|  | @ -231,15 +241,15 @@ .deprecated { | |||
|     color: #aa0000; | ||||
|     text-align: center; | ||||
|     padding-bottom: 0.5em; | ||||
|     border-bottom: 2px dashed #aa0000 | ||||
|     border-bottom: 2px dashed #aa0000; | ||||
| } | ||||
| 
 | ||||
| .project .attributes { | ||||
|     font-style: italic | ||||
|     font-style: italic; | ||||
| } | ||||
| 
 | ||||
| .project .attribbracket { | ||||
|     margin-left: 0.5em | ||||
|     margin-left: 0.5em; | ||||
| } | ||||
| 
 | ||||
| .toplinks { | ||||
|  | @ -247,11 +257,11 @@ .toplinks { | |||
|     width: 100%; | ||||
|     padding-top: 0.5em; | ||||
|     padding-bottom: 0.5em; | ||||
|     border-bottom: 1px solid #cccccc | ||||
|     border-bottom: 1px solid #cccccc; | ||||
| } | ||||
| 
 | ||||
| table td { | ||||
|     border: 1px solid white | ||||
|     border: 1px solid white; | ||||
| } | ||||
| 
 | ||||
| td { | ||||
|  | @ -260,7 +270,7 @@ td { | |||
| } | ||||
| 
 | ||||
| table.skami { | ||||
|     border-color: #eeeeee !important | ||||
|     border-color: #eeeeee !important; | ||||
| } | ||||
| 
 | ||||
| .header .pagetree { | ||||
|  | @ -271,25 +281,30 @@ .header .pagetree { | |||
|     padding-top: 0.1em; | ||||
|     padding-bottom: 0.1em; | ||||
|     border-top: 1px solid #cccccc; | ||||
|     color: #FFFFFF; | ||||
|     color: #ffffff; | ||||
| } | ||||
| 
 | ||||
| .header .pagetree .title { | ||||
|     color: #fff | ||||
|     color: #fff; | ||||
| } | ||||
| 
 | ||||
| .header { | ||||
|     font-size: 100%; | ||||
|     font-weight: normal; | ||||
|     padding-bottom: 0em; | ||||
|     border-bottom: 1px solid #cccccc; | ||||
|     text-align: center; | ||||
|     color: #FFFFFF; | ||||
|     color: #ffffff; | ||||
| } | ||||
| 
 | ||||
| h1 { font-size: 150% } | ||||
| h2 { font-size: 130% } | ||||
| h3 { font-size: 115% } | ||||
| h1 { | ||||
|     font-size: 150%; | ||||
| } | ||||
| h2 { | ||||
|     font-size: 130%; | ||||
| } | ||||
| h3 { | ||||
|     font-size: 115%; | ||||
| } | ||||
| 
 | ||||
| body { | ||||
|     font-family: sans-serif; | ||||
|  | @ -319,7 +334,7 @@ table.commits tr td { | |||
| 
 | ||||
| a { | ||||
|     color: #99f; | ||||
|     text-decoration: none | ||||
|     text-decoration: none; | ||||
| } | ||||
| 
 | ||||
| table.gb_entryform tr td { | ||||
|  | @ -340,8 +355,26 @@ table.gb_entryform tr td input { | |||
|     margin-bottom: 5px; | ||||
| } | ||||
| 
 | ||||
| table.gb_entryform_container { | ||||
|     width: 100%; | ||||
| } | ||||
| 
 | ||||
| table.gb_entryform_container tr td { | ||||
|     border: none; | ||||
|     vertical-align: top; | ||||
| } | ||||
| 
 | ||||
| table.gb_entryform_container tr td p, | ||||
| table.gb_entryform_container tr td ul { | ||||
|     margin: 0px; | ||||
| } | ||||
| 
 | ||||
| table.gb_entryform tbody tr td textarea { | ||||
|     width: 210px; | ||||
| } | ||||
| 
 | ||||
| table.gb_entry tr td { | ||||
|     border: solid #FFFFFF; | ||||
|     border: solid #ffffff 1px; | ||||
|     width: 500px; | ||||
|     vertical-align: top; | ||||
|     padding: 5px; | ||||
|  | @ -354,7 +387,7 @@ table.gb_entry { | |||
| table.gb_admin { | ||||
|     margin-bottom: 5px; | ||||
|     width: 500px; | ||||
|     border: #FFFFFF solid; | ||||
|     border: #ffffff solid; | ||||
| } | ||||
| 
 | ||||
| table.gb_admin tr td { | ||||
|  | @ -376,3 +409,12 @@ table.gb_admin tr td.gb_message { | |||
|     vertical-align: top; | ||||
|     padding: 5px; | ||||
| } | ||||
| 
 | ||||
| table.infotable tr td { | ||||
|     border: none; | ||||
|     padding-right: 5px; | ||||
| } | ||||
| 
 | ||||
| table.infotable tr td h1 { | ||||
|     margin: 0px; | ||||
| } | ||||
|  |  | |||
| Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.1 KiB | 
| Before Width: | Height: | Size: 1 KiB | 
| Before Width: | Height: | Size: 1.4 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/nav/guestbook.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.1 KiB | 
| Before Width: | Height: | Size: 1.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/nav/home.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 561 B | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/nav/login.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/nav/mail.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.1 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/nav/music.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/nav/repo.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 459 B | 
| Before Width: | Height: | Size: 1.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/nav/weather.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 853 B | 
| Before Width: | Height: | Size: 1.4 KiB | 
|  | @ -16,6 +16,6 @@ | |||
|         @break | ||||
|     @endif | ||||
|     {{ str_pad($count+1, 2, '0', STR_PAD_LEFT) }}] <a href="{{ $track->url }}">{{ $track->name }} • {{ $track->artist }}</a> | ||||
|             <small>({{ $track->plays }} plays)</small><br/> | ||||
|             <small>({{ $track->plays }} plays)</small><br> | ||||
| @php $count++ @endphp | ||||
| @endforeach | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| @section('title', 'Error 401: Unauthorized User!') | ||||
| @section('content') | ||||
|     <h1>{{ $error }}</h1> | ||||
|     <hr/> | ||||
|     <hr> | ||||
|     @if(isset($description)) | ||||
|         <p>{{ $description }}</p> | ||||
|     @endif | ||||
|  |  | |||
|  | @ -2,11 +2,11 @@ | |||
| @section('title', 'Error 403: IP Blocked!') | ||||
| @section('content') | ||||
|     <h1>Error 403: IP Blocked!</h1> | ||||
|     <hr/> | ||||
|     <hr> | ||||
|     <p>Your IP has been banned from submitting to the guestbook.</p> | ||||
|     @if (isset($reason)) | ||||
|         <p><b>Reason:</b> {{ $reason }}</p> | ||||
|     @endif | ||||
|     <br/> | ||||
|     <br> | ||||
|     Click <a href="/guestbook">here</a> to go back to the guestbook. | ||||
| @stop | ||||
|  |  | |||
|  | @ -2,9 +2,9 @@ | |||
| @section('title', 'Error 429: Overclocking Detected!') | ||||
| @section('content') | ||||
|     <h1>Error 429: Overclocking Detected!</h1> | ||||
|     <hr/> | ||||
|     <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/> | ||||
|     <br> | ||||
|     Click <a href="/guestbook">here</a> to go back to the guestbook. | ||||
| @stop | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| @section('title', 'Error 401: Unauthorized User!') | ||||
| @section('content') | ||||
|     <h1>Error 401: Unauthorized User!</h1> | ||||
|     <hr/> | ||||
|     <hr> | ||||
|     <p>Woah there! Only authorized users can access this page. Please <a href="/login">log in</a> to proceed.</p> | ||||
|     <p>Ended up here on accident? Click <a href="/">here</a> to return to the homepage</u>!</p> | ||||
| @stop | ||||
|  |  | |||
|  | @ -4,7 +4,7 @@ | |||
|             <a href="https://www.linux.org/"><img src="{{ URL::asset ('images/buttons/linuxnow.gif') }}" width="88" height="31" alt="Linux NOW!"></a>  | ||||
|             <a href="https://www.vim.org/"><img src="{{ URL::asset ('images/buttons/vim.gif') }}" width="88" height="31" alt="vim"></a>  | ||||
|             <a href="http://jigsaw.w3.org/css-validator/check/referer"><img src="{{ URL::asset ('images/buttons/vcss-blue.gif') }}" width="88" height="31" alt="Valid CSS!"></a>  | ||||
|             <img src="{{ URL::asset ('images/buttons/valid-html401-blue.png') }}" width="88" height="31" alt="Valid HTML 4.01!"><br/> | ||||
|             This site is best viewed at 1024x768 with 16-bit color or better<br/> | ||||
|             © floppydisk 2021-{{ date('Y') }}, Site Version {{ config('app.version') }}, <a href="https://github.com/floppydisk05/diskfloppy.me">GitHub</a><br/> | ||||
|             <img src="{{ URL::asset ('images/buttons/valid-html401-blue.png') }}" width="88" height="31" alt="Valid HTML 4.01!"><br> | ||||
|             This site is best viewed at 1024x768 with 16-bit color or better<br> | ||||
|             © floppydisk 2021-{{ date('Y') }}, Site Version {{ config('app.version') }}, <a href="https://github.com/floppydisk05/diskfloppy.me">GitHub</a><br> | ||||
|         </div> | ||||
|  |  | |||
|  | @ -1,18 +1,27 @@ | |||
|     <nav> | ||||
|         <div> | ||||
|             <a href="/">home</a> | | ||||
| 	        <a href="//git.diskfloppy.me/">cgit</a> | | ||||
|             <a href="//wiki.diskfloppy.me/">wiki</a> | | ||||
|             <!--<a href="/">home</a> | | ||||
|  <a href="//git.diskfloppy.me/">cgit</a> | | ||||
|             <a href="/projects/">projects</a> | | ||||
|             <a href="/calculators/">calculators</a> | | ||||
|             <a href="/computers/">computers</a> | | ||||
|             <a href="/bookmarks/">bookmarks</a> | | ||||
|             <a href="/guestbook/">guestbook</a> | ||||
|             @if (auth()->check()) | ||||
|                 | <a href="/admin/">admin</a> | ||||
| | <a href="/admin/">admin</a> | ||||
|                 | ({{ auth()->user()->name }}) <a href="/logout">logout</a> | ||||
|             @else | ||||
|                 | <a href="/login">login</a> | ||||
|             @endif | ||||
| @else | ||||
| | <a href="/login">login</a> | ||||
| @endif | ||||
|             --> | ||||
|             <h1>diskfloppy.me | <strong>@yield('title')</strong></h1> | ||||
|             <a href="/" title="Home"><img src="/images/icons/nav/home.png"></a> | ||||
|             <a href="//git.diskfloppy.me/" title="cgit"><img src="/images/icons/nav/repo.png"></a> | ||||
|             <a href="/bookmarks/" title="Bookmarks"><img src="/images/icons/nav/bookmarks.png"></a> | ||||
|             <a href="/guestbook/" title="Guestbook"><img src="/images/icons/nav/guestbook.png"></a> | ||||
|             <a href="/contact/" title="Contact"><img src="/images/icons/nav/mail.png"></a> | ||||
|             <a href="/weather/" title="Weather"><img src="/images/icons/nav/weather.png"></a> | ||||
|             <a href="/music/" title="Music"><img src="/images/icons/nav/music.png"></a>   | ||||
|             <a href="/login/" title="Log in"><img src="/images/icons/nav/login.png"></a> | ||||
|         </div> | ||||
|     </nav> | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| @section('title', 'Delete confirm') | ||||
| @section('content') | ||||
|     <h1>Delete Confirmation</h1> | ||||
|     <hr/> | ||||
|     <hr> | ||||
|     <p>Are you sure you want to delete this entry?</p> | ||||
| 
 | ||||
|     <h3>Entry Details:</h3> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| @extends('layouts.default-admin') | ||||
| @section('title', 'guestbook') | ||||
| @section('title', 'Guestbook') | ||||
| @section('content') | ||||
|     @php | ||||
|         $entries = DB::select(' | ||||
|  | @ -13,8 +13,8 @@ | |||
|         <table class="gb_admin"> | ||||
|             <tr> | ||||
|                 <td> | ||||
|                     Name: {{ $entry->name }}<br/> | ||||
|                     IP:   {{ $entry->ip_address }}<br/> | ||||
|                     Name: {{ $entry->name }}<br> | ||||
|                     IP:   {{ $entry->ip_address }}<br> | ||||
|                     Date: {{ gmdate("H:i:s - Y-m-d", $entry->timestamp) }} | ||||
|                 </td> | ||||
|                 <td class="gb_del"> | ||||
|  | @ -23,7 +23,7 @@ | |||
|             </tr> | ||||
|             <tr> | ||||
|                 <td colspan="2" class="gb_message"> | ||||
|                     <br/> | ||||
|                     <br> | ||||
|                     {{ htmlspecialchars($entry->message) }} | ||||
|                 </td> | ||||
|             </tr></table> | ||||
|  |  | |||
|  | @ -1,28 +1,46 @@ | |||
| @extends('layouts.default') | ||||
| @section('title', 'bookmarks') | ||||
| @section('title', 'Bookmarks') | ||||
| @section('description', 'This is the personal homepage of floppydisk.') | ||||
| @section('content') | ||||
| @php | ||||
|     $categories = DB::select(' | ||||
|     @php | ||||
|         $categories = DB::select(' | ||||
|         SELECT id, name | ||||
|         FROM bookmark__categories | ||||
|         ORDER BY priority ASC | ||||
|     '); | ||||
| @endphp | ||||
|     @endphp | ||||
| 
 | ||||
| @foreach ($categories as $category) | ||||
|     <h1>{{ $category->name }}</h1> | ||||
|     @php | ||||
|         $sites = DB::select(' | ||||
|     @foreach ($categories as $category) | ||||
|         <table class="infotable"> | ||||
| 
 | ||||
|             <tr> | ||||
|                 <td colspan="2"> | ||||
|                     <h1>{{ $category->name }}</h1> | ||||
|                 </td> | ||||
|             </tr> | ||||
|             <tr> | ||||
|                 <td colspan="2"> | ||||
|                     <hr> | ||||
|                 </td> | ||||
|             </tr> | ||||
| 
 | ||||
|             @php | ||||
|                 $sites = DB::select( | ||||
|                     ' | ||||
|             SELECT name, url, description | ||||
|             FROM bookmark__sites | ||||
|             WHERE category_id = ? ORDER BY priority ASC | ||||
|         ', array($category->id)); | ||||
|     @endphp | ||||
|     <ul> | ||||
|     @foreach ($sites as $site) | ||||
|         <li><a href="{{ $site->url }}">{{ $site->name }}</a> - {{ $site->description }}</li> | ||||
|         ', | ||||
|                     [$category->id], | ||||
|                 ); | ||||
|             @endphp | ||||
|             @foreach ($sites as $site) | ||||
|                 <tr> | ||||
|                     <td><a href="{{ $site->url }}">{{ $site->name }}</a> | ||||
|                         - {{ $site->description }}</td> | ||||
|                 </tr> | ||||
|             @endforeach | ||||
|         </table> | ||||
|         <br> | ||||
|     @endforeach | ||||
|     </ul> | ||||
| @endforeach | ||||
| @stop | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| @extends('layouts.default') | ||||
| @section('title', 'calculators') | ||||
| @section('title', 'Calculators') | ||||
| @section('description', 'C a l c u l a t o r s.') | ||||
| @section('content') | ||||
|         <h1>CASIO fx-CG50</h1> | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| @extends('layouts.default') | ||||
| @section('title', 'computers') | ||||
| @section('title', 'Computers') | ||||
| @section('description', 'Computers I own or have owned.') | ||||
| @section('content') | ||||
|         <table class="computers" border="0"> | ||||
|  |  | |||
|  | @ -1,47 +1,58 @@ | |||
| @extends('layouts.default') | ||||
| @section('title', 'guestbook') | ||||
| @section('title', 'Guestbook') | ||||
| @section('content') | ||||
|     <br/> | ||||
|     <form method="POST" action="/guestbook"> | ||||
|         @csrf | ||||
|         <x-honeypot /> | ||||
|         <table class="gb_entryform"> | ||||
|             <tr> | ||||
|                 <td> | ||||
|                     <label for="name">Name:</label> | ||||
|                 </td> | ||||
|                 <td> | ||||
|                     <input name="name" type="text" id="name" placeholder="John Doe"> | ||||
|                 </td> | ||||
|                 <td> | ||||
|                     <span class="text-danger">{{ $errors->first('name') }}</span> | ||||
|                 </td> | ||||
|             </tr> | ||||
|             <tr> | ||||
|                 <td> | ||||
|                     <label for="message">Message:</label> | ||||
|                 </td> | ||||
|                 <td> | ||||
|                     <textarea name="message" id="message" rows="3"></textarea> | ||||
|                 </td> | ||||
|                 <td> | ||||
|                     <span class="text-danger">{{ $errors->first('message') }}</span> | ||||
|                 </td> | ||||
|             </tr> | ||||
|             <tr> | ||||
|                 <td colspan="2"> | ||||
|                     <button type="submit">Submit</button> | ||||
|                 </td> | ||||
|             </tr> | ||||
|         </table> | ||||
|     </form> | ||||
|     <p>A few things to note:</p> | ||||
|     <ul> | ||||
|         <li>You can submit an entry <u>once every hour</u>.</li> | ||||
|         <li>Your IP address <u>will</u> be logged but <u>will not</u> be publically displayed.</li> | ||||
|         <li>Any entries that appear to be spam <u>will</u> be removed.</li> | ||||
|     </ul> | ||||
|     <hr/> | ||||
|     <br> | ||||
|     <table class="gb_entryform_container"> | ||||
|         <tr> | ||||
|             <td> | ||||
|                 <form method="POST" action="/guestbook"> | ||||
|                     @csrf | ||||
|                     <x-honeypot /> | ||||
|                     <table class="gb_entryform"> | ||||
|                         <tr> | ||||
|                             <td> | ||||
|                                 <label for="name"><strong>Name:</strong></label> | ||||
|                             </td> | ||||
|                             <td> | ||||
|                                 <input name="name" type="text" id="name" placeholder="John Doe"> | ||||
|                             </td> | ||||
|                             <td> | ||||
|                                 <span class="text-danger">{{ $errors->first('name') }}</span> | ||||
|                             </td> | ||||
|                         </tr> | ||||
|                         <tr> | ||||
|                             <td> | ||||
|                                 <label for="message"><strong>Message:</strong></label> | ||||
|                             </td> | ||||
|                             <td> | ||||
|                                 <textarea name="message" id="message" rows="3"></textarea> | ||||
|                             </td> | ||||
|                             <td> | ||||
|                                 <span class="text-danger">{{ $errors->first('message') }}</span> | ||||
|                             </td> | ||||
|                         </tr> | ||||
|                         <tr> | ||||
|                             <td></td> | ||||
|                             <td> | ||||
|                                 <button type="submit">Submit</button> | ||||
|                             </td> | ||||
|                         </tr> | ||||
|                     </table> | ||||
|                 </form> | ||||
|             </td> | ||||
|             <td> | ||||
|                 <p>A few things to note:</p> | ||||
|                 <ul> | ||||
|                     <li>You can submit an entry <u>once every hour</u>.</li> | ||||
|                     <li>Your IP address is logged but <u>not</u> publically displayed.</li> | ||||
|                     <li>Any entries that appear to be spam <u>will</u> be removed.</li> | ||||
|                 </ul> | ||||
|             </td> | ||||
|         </tr> | ||||
|     </table> | ||||
| 
 | ||||
| 
 | ||||
|     <hr> | ||||
|     @php | ||||
|         $entries = DB::select(' | ||||
|             SELECT name, timestamp, message | ||||
|  | @ -51,11 +62,16 @@ | |||
|     @endphp | ||||
|     <h1>Entries <small>({{ count($entries) }} total)</small></h1> | ||||
|     @foreach ($entries as $entry) | ||||
|         <table class="gb_entry"><tr><td> | ||||
|             Name: {{ $entry->name }}<br/> | ||||
|             Date: {{ gmdate("H:i:s - Y-m-d", $entry->timestamp) }}<br/><br/> | ||||
|             {{ $entry->message }} | ||||
|         </td></tr></table> | ||||
|         <table class="gb_entry"> | ||||
|             <tr> | ||||
|                 <td> | ||||
|                     Submitted by <strong>{{ $entry->name }}</strong> | ||||
|                     on <strong>{{ gmdate('H:i:s - Y-m-d', $entry->timestamp) }}</strong> | ||||
|                     <hr> | ||||
|                     {{ $entry->message }} | ||||
|                 </td> | ||||
|             </tr> | ||||
|         </table> | ||||
|         <br> | ||||
|     @endforeach | ||||
| @stop | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,18 +1,37 @@ | |||
| @extends('layouts.default') | ||||
| @section('title', 'home') | ||||
| @section('title', 'Home') | ||||
| @section('description', 'This is the personal homepage of floppydisk.') | ||||
| @section('content') | ||||
|         <h1>About me</h1> | ||||
|         <p>Hi!<br/> | ||||
|             This is the personal homepage of floppydisk. | ||||
|         </p> | ||||
|         <h2>Interests</h2> | ||||
|         <p> | ||||
|             ◆ <b>Tech Theatre</b> - Lighting, Stage Management, etc.<br/>
 | ||||
|             ◆ <b>Programming</b>  - HTML, JavaScript, C#, Java, PHP, Ruby<br/>
 | ||||
|             ◆ <b>Photography</b>  - <a href="https://www.flickr.com/photos/floppydisk/">Flickr</a>
 | ||||
|         </p> | ||||
|     <p>Hi! This my personal homepage on the <strong>W</strong>orld <strong>W</strong>ide <strong>W</strong>eb. | ||||
|     </p> | ||||
| 
 | ||||
|     <table class="infotable"> | ||||
|         <tr> | ||||
|             <td colspan="2"> | ||||
|                 <h1>Interests</h1> | ||||
|             </td> | ||||
|         </tr> | ||||
|         <tr> | ||||
|             <td colspan="2"> | ||||
|                 <hr> | ||||
|             </td> | ||||
|         </tr> | ||||
|         <tr> | ||||
|             <td>◆ <b>Tech Theatre</b></td>
 | ||||
|             <td>- Lighting, Stage Management, etc.</td> | ||||
|         </tr> | ||||
|         <tr> | ||||
|             <td>◆ <b>Programming</b></td>
 | ||||
|             <td>- HTML, JavaScript, C#, Java, PHP, Ruby</td>
 | ||||
|         </tr> | ||||
|         <tr> | ||||
|             <td>◆ <b>Photography</b></td>
 | ||||
|             <td>- <a href="https://www.flickr.com/photos/floppydisk/">Flickr</a></td> | ||||
|         </tr> | ||||
|     </table> | ||||
|     <br> | ||||
| 
 | ||||
|     {{-- | ||||
|         <!-- Last.fm --> | ||||
|         @include('components.lastfm') | ||||
| 
 | ||||
|  | @ -21,18 +40,42 @@ | |||
| 
 | ||||
|         <!-- Site Updates --> | ||||
|         @include('components.git') | ||||
|         --}} | ||||
| 
 | ||||
|         <h1>Contact</h1> | ||||
|         <p><strong>Mail</strong>: <a href="mailto:contact@diskfloppy.me">contact@diskfloppy.me</a><br/> | ||||
|             <strong>IRC</strong>:  <a href="https://r-type.ca/page.php?id=1034">floppydisk @ r-type</a><br/> | ||||
|         </p> | ||||
| 
 | ||||
|         <h1>Elsewhere</h1> | ||||
|         <p><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><br/> | ||||
|             <strong>Twitter:</strong>  <a href="https://twitter.com/floppydisk__">@floppydisk__</a><br/> | ||||
|             <strong>GitHub:</strong>   <a href="https://github.com/floppydisk05">floppydisk05</a><br/> | ||||
|             <strong>SDF:</strong>      <a href="http://floppydisk.sdf.org/">~floppydisk</a><br/> | ||||
|             <a href="https://stackoverflow.com/users/15933092/floppydisk"><img src="https://stackoverflow.com/users/flair/15933092.png?theme=dark" width="208" height="58" alt="profile for floppydisk at Stack Overflow, Q&A for professional and enthusiast programmers" title="profile for floppydisk at Stack Overflow, Q&A for professional and enthusiast programmers"></a> | ||||
|         </p> | ||||
|     <table class="infotable"> | ||||
|         <tr> | ||||
|             <td colspan="2"> | ||||
|                 <h1>Contact & social</h1> | ||||
|             </td> | ||||
|         </tr> | ||||
|         <tr> | ||||
|             <td colspan="2"> | ||||
|                 <hr> | ||||
|             </td> | ||||
|         </tr> | ||||
|         <tr> | ||||
|             <td><strong>E-mail</strong></td> | ||||
|             <td><a href="mailto:contact@diskfloppy.me">contact (at) diskfloppy (dot) 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> | ||||
|         <tr> | ||||
|             <td><strong>GitHub:</strong></td> | ||||
|             <td><a href="https://github.com/floppydisk05">floppydisk05</a></td> | ||||
|         </tr> | ||||
|         <!--<tr> | ||||
|                     <td colspan="2"> | ||||
|                         <a href="https://stackoverflow.com/users/15933092/floppydisk"><img | ||||
|                                 src="https://stackoverflow.com/users/flair/15933092.png?theme=dark" width="208" height="58" | ||||
|                                 alt="profile for floppydisk at Stack Overflow, Q&A for professional and enthusiast programmers" | ||||
|                                 title="profile for floppydisk at Stack Overflow, Q&A for professional and enthusiast programmers"></a> | ||||
|                     </td> | ||||
|                 </tr>--> | ||||
|     </table> | ||||
| @stop | ||||
|  |  | |||
|  | @ -1,16 +1,16 @@ | |||
| <?php $categories = app('config')->get('projects'); ?>
 | ||||
| @extends('layouts.default') | ||||
| @section('title', 'projects') | ||||
| @section('title', 'Projects') | ||||
| @section('description', 'My projects') | ||||
| @section('content') | ||||
|     @foreach ($categories as $category) | ||||
|     <h1>{{ $category['name']}}</h1> | ||||
|     @foreach ($category['projects'] as $project) | ||||
|     <div> | ||||
|             <a href="{{ $project['url'] }}">{{ $project['name'] }}</a> - {{ $project['description'] }}<br/> | ||||
|             <a href="{{ $project['url'] }}">{{ $project['name'] }}</a> - {{ $project['description'] }}<br> | ||||
|             <b>Languages:</b> {{ implode(", ", $project['languages']) }} | ||||
|         </div> | ||||
|         <br/> | ||||
|         <br> | ||||
|     @endforeach | ||||
| @endforeach | ||||
| @stop | ||||
|  |  | |||
 Frankie B
				Frankie B