Add global layout and homepage
|  | @ -14,21 +14,8 @@ | ||||||
|     | |     | | ||||||
|     */ |     */ | ||||||
| 
 | 
 | ||||||
|     'mailgun' => [ |     'lastfm' => [ | ||||||
|         'domain' => env('MAILGUN_DOMAIN'), |         'key' => env('LASTFM_KEY'), | ||||||
|         'secret' => env('MAILGUN_SECRET'), |         'user' => env('LASTFM_USER') | ||||||
|         'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), |     ] | ||||||
|         'scheme' => 'https', |  | ||||||
|     ], |  | ||||||
| 
 |  | ||||||
|     'postmark' => [ |  | ||||||
|         'token' => env('POSTMARK_TOKEN'), |  | ||||||
|     ], |  | ||||||
| 
 |  | ||||||
|     'ses' => [ |  | ||||||
|         'key' => env('AWS_ACCESS_KEY_ID'), |  | ||||||
|         'secret' => env('AWS_SECRET_ACCESS_KEY'), |  | ||||||
|         'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), |  | ||||||
|     ], |  | ||||||
| 
 |  | ||||||
| ]; | ]; | ||||||
|  |  | ||||||
							
								
								
									
										77
									
								
								public/css/dark.css
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,77 @@ | ||||||
|  | /* | ||||||
|  | This stylesheet contains only colors which are | ||||||
|  | different depending on theme. All other styles have | ||||||
|  | been moved to global.css and imported below. | ||||||
|  | */ | ||||||
|  | @import url('global.css'); | ||||||
|  | 
 | ||||||
|  | html { | ||||||
|  |     color-scheme: dark; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.project pre { | ||||||
|  |     border: 1px solid #666666 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | body { | ||||||
|  |     color: #ddd; | ||||||
|  |     background-color: #333; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | h1 { | ||||||
|  |     color: #fff; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | h2 { | ||||||
|  |     color: #fff; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | h3 { | ||||||
|  |     color: #fff; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.preview pre, div.project pre { | ||||||
|  |     background-color: #222; | ||||||
|  |     color: #ccc; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | a { | ||||||
|  |     color: #99f; | ||||||
|  |     text-decoration: none | ||||||
|  | } | ||||||
|  | .header { | ||||||
|  |     color: #fff; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .header .pagetree { | ||||||
|  |     color: #fff; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .header .pagetree .title { | ||||||
|  |     color: #fff | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /*table td { | ||||||
|  |     border: 1px solid black | ||||||
|  | }*/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /*table.skami { | ||||||
|  |     border-color: #eeeeee | ||||||
|  | }*/ | ||||||
|  | table.skami .semiused { | ||||||
|  |     color: #ccc; | ||||||
|  |     background-color: #444; | ||||||
|  |     border-color: #FFF; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | table.skami .unused { | ||||||
|  |     color: #bbb; | ||||||
|  |     background-color: #555 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | table { | ||||||
|  |     border-color: #fff | ||||||
|  | } | ||||||
							
								
								
									
										311
									
								
								public/css/global.css
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,311 @@ | ||||||
|  | /* | ||||||
|  | This stylesheet contains all styles which are | ||||||
|  | the same across both themes. | ||||||
|  | */ | ||||||
|  | ul { | ||||||
|  |     list-style-type: square; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | table.banner { | ||||||
|  |     margin-left: auto; | ||||||
|  |     margin-right: auto; | ||||||
|  |     border: 2px solid #E04A38; | ||||||
|  |     background-color: #E6897E; | ||||||
|  |     width: 95%; | ||||||
|  |     /* Passes both WCAG AA and WCAG AAA contrast tests */ | ||||||
|  |     color: #0F0F0F; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | td.banner { | ||||||
|  |     padding: 5px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | a.bannerlink { | ||||||
|  |     color:  #0F0F0F; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | a.bannerlink:hover { | ||||||
|  |     text-decoration: underline; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.page { | ||||||
|  |     min-width: 700px; | ||||||
|  |     max-width: 1024px; | ||||||
|  |     /*margin-left: 0.5em; | ||||||
|  |     margin-right: 0.5em;*/ | ||||||
|  |     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: ">>> " | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .toplinks span:after { | ||||||
|  |     content: " >" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | h1, h2, h3 { | ||||||
|  |     font-family: Monospace; | ||||||
|  |     font-weight: normal; | ||||||
|  |     margin-top: 1em; | ||||||
|  |     clear: left | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | img { | ||||||
|  |     border: none; | ||||||
|  |     max-width: 100%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | img.right { | ||||||
|  |     float: right; | ||||||
|  |     margin-left: 0.5em | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | table.form, td.form { | ||||||
|  |     border: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.preview { | ||||||
|  |     display: inline-block; | ||||||
|  |     width: 30em; | ||||||
|  |     max-width: 100%; | ||||||
|  |     text-align: center; | ||||||
|  |     vertical-align: top; | ||||||
|  |     margin-bottom: 2em | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.project { | ||||||
|  |     display: inline-block; | ||||||
|  |     width: 40em; | ||||||
|  |     max-width: 100%; | ||||||
|  |     text-align: center; | ||||||
|  |     vertical-align: top; | ||||||
|  |     margin-bottom: 2em | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.preview .heading .name, div.project .heading .name { | ||||||
|  |     font-size: 120% | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.preview img, div.project img { | ||||||
|  |     width: auto; | ||||||
|  |     max-width: 90%; | ||||||
|  |     max-height: 15em | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.preview pre.small, div.project pre.small { | ||||||
|  |     font-size: 75%; | ||||||
|  |     overflow: hidden | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | pre { | ||||||
|  |     display: inline; | ||||||
|  |     max-width: 95%; | ||||||
|  |     overflow: auto | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .header a { | ||||||
|  |     text-decoration: none | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | nav { | ||||||
|  |     margin-bottom: 0.3em | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.ddate { | ||||||
|  |     text-align: center | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.note { | ||||||
|  |     font-style: italic | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | table { | ||||||
|  |     border-collapse: collapse | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | table.noborder td { | ||||||
|  |     border: none | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | table.skami a { | ||||||
|  |     text-decoration: none | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | table.weather th { | ||||||
|  |     font-weight: normal | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | table.weather td { | ||||||
|  |     font-weight: bold; | ||||||
|  |     text-align: right | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .project .name { | ||||||
|  |     font-weight: bold | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .toplinks a { | ||||||
|  |     margin-right: 0.5em; | ||||||
|  |     text-decoration: none | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.inlinepage { | ||||||
|  |     margin-top: 2em; | ||||||
|  |     border: 0; | ||||||
|  |     padding: 0 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.pheader { | ||||||
|  |     font-size: 120% | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.pheader span.date { | ||||||
|  |     margin-right: 1em; | ||||||
|  |     font-weight: normal | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.pheader a { | ||||||
|  |     font-weight: bold; | ||||||
|  |     text-decoration: none | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.rss { | ||||||
|  |     position: absolute; | ||||||
|  |     top: 1em; | ||||||
|  |     right: 1em | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.archived { | ||||||
|  |     margin-top: 0.5em | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.archived span.date { | ||||||
|  |     font-style: italic; | ||||||
|  |     margin-right: 0.2em | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | video { | ||||||
|  |     max-width: 100% | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .toplinks span { | ||||||
|  |     display: block; | ||||||
|  |     text-align: right; | ||||||
|  |     float: left; | ||||||
|  |     width: 8em; | ||||||
|  |     margin-right: 0.5em | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .deprecated { | ||||||
|  |     line-height: 140%; | ||||||
|  |     width: 100%; | ||||||
|  |     color: #aa0000; | ||||||
|  |     text-align: center; | ||||||
|  |     padding-bottom: 0.5em; | ||||||
|  |     border-bottom: 2px dashed #aa0000 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .project .attributes { | ||||||
|  |     font-style: italic | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .project .attribbracket { | ||||||
|  |     margin-left: 0.5em | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .toplinks { | ||||||
|  |     line-height: 140%; | ||||||
|  |     width: 100%; | ||||||
|  |     padding-top: 0.5em; | ||||||
|  |     padding-bottom: 0.5em; | ||||||
|  |     border-bottom: 1px solid #cccccc | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | table td { | ||||||
|  |     border: 1px solid white | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | td { | ||||||
|  |     padding: 3px; | ||||||
|  |     vertical-align: top; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | table.skami { | ||||||
|  |     border-color: #eeeeee !important | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .header .pagetree { | ||||||
|  |     font-size: 80%; | ||||||
|  |     display: block; | ||||||
|  |     text-align: center; | ||||||
|  |     width: 100%; | ||||||
|  |     padding-top: 0.1em; | ||||||
|  |     padding-bottom: 0.1em; | ||||||
|  |     border-top: 1px solid #cccccc | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .header { | ||||||
|  |     font-size: 100%; | ||||||
|  |     font-weight: normal; | ||||||
|  |     padding-bottom: 0em; | ||||||
|  |     border-bottom: 1px solid #cccccc; | ||||||
|  |     text-align: center | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.preview pre, div.project pre { | ||||||
|  |     display: inline-block; | ||||||
|  |     text-align: left; | ||||||
|  |     padding: 0.2em; | ||||||
|  |     max-width: 90% | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | h1 { | ||||||
|  |     font-size: 150% | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | h2 { | ||||||
|  |     font-size: 130% | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | h3 { | ||||||
|  |     font-size: 115% | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | body { | ||||||
|  |     font-family: sans-serif; | ||||||
|  |     margin: 0px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | table.computers { | ||||||
|  |     width: 100%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | td.computer { | ||||||
|  |     width: 50%; | ||||||
|  |     border: 0px; | ||||||
|  | } | ||||||
							
								
								
									
										
											BIN
										
									
								
								public/images/buttons/browser.gif
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.5 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/buttons/linuxnow.gif
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.9 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/buttons/valid-html401-blue.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/buttons/vcss-blue.gif
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/buttons/vim.gif
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/fav/ico/calc.ico
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 62 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/fav/ico/computer.ico
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/fav/ico/favicon.ico
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 4.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/fav/ico/globe.ico
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/fav/ico/help-book.ico
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/fav/png/calc.png
									
										
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/fav/png/computer.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 534 B | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/fav/png/globe.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/fav/png/help-book.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 563 B | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/nav/bookmarks.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.3 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/nav/deskbar.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/nav/gl.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.4 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/nav/haiku.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/nav/screenshot.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/images/icons/nav/writing.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.4 KiB | 
							
								
								
									
										67
									
								
								resources/views/components/lastfm.blade.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,67 @@ | ||||||
|  | <?php | ||||||
|  | $cfg = app('config')->get('services')['lastfm']; | ||||||
|  | 
 | ||||||
|  | $curl_current = curl_init(); | ||||||
|  | 
 | ||||||
|  | curl_setopt_array($curl_current, [ | ||||||
|  |   CURLOPT_URL => "https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=".$cfg['user']."&nowplaying=true&format=json&api_key=".$cfg['key'], | ||||||
|  |   CURLOPT_RETURNTRANSFER => true, | ||||||
|  |   CURLOPT_ENCODING => "", | ||||||
|  |   CURLOPT_MAXREDIRS => 10, | ||||||
|  |   CURLOPT_TIMEOUT => 30, | ||||||
|  |   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, | ||||||
|  |   CURLOPT_CUSTOMREQUEST => "GET", | ||||||
|  | ]); | ||||||
|  | 
 | ||||||
|  | $current_response = curl_exec($curl_current); | ||||||
|  | $err = curl_error($curl_current); | ||||||
|  | 
 | ||||||
|  | curl_close($curl_current); | ||||||
|  | 
 | ||||||
|  | if ($err) { | ||||||
|  |   die("cURL Error #:" . $err); | ||||||
|  | } | ||||||
|  | $current_response = json_decode($current_response, true); | ||||||
|  | $nowplaying = $current_response['recenttracks']['track'][0]; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | $tracks_to_show = 10; | ||||||
|  | 
 | ||||||
|  | $curl = curl_init(); | ||||||
|  | curl_setopt_array($curl, [ | ||||||
|  |   CURLOPT_URL => "https://ws.audioscrobbler.com/2.0/?method=user.gettoptracks&user=".$cfg['user']."&format=json&period=7day&api_key=".$cfg['key'], | ||||||
|  |   CURLOPT_RETURNTRANSFER => true, | ||||||
|  |   CURLOPT_ENCODING => "", | ||||||
|  |   CURLOPT_MAXREDIRS => 10, | ||||||
|  |   CURLOPT_TIMEOUT => 30, | ||||||
|  |   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, | ||||||
|  |   CURLOPT_CUSTOMREQUEST => "GET", | ||||||
|  | ]); | ||||||
|  | 
 | ||||||
|  | $toptracks = curl_exec($curl); | ||||||
|  | $err = curl_error($curl); | ||||||
|  | curl_close($curl); | ||||||
|  | if ($err) { | ||||||
|  |   die("cURL Error #:" . $err); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | $toptracks = json_decode($toptracks, true); | ||||||
|  | $tracks = $toptracks['toptracks']['track']; | ||||||
|  | $count = 0; | ||||||
|  | ?>
 | ||||||
|  | 
 | ||||||
|  | <h1>Last.fm <small>(<a href="https://www.last.fm/user/{{ $cfg['user']}}">Profile</a>)</small></h1> | ||||||
|  |         <b>Last/Current Track:</b> <a href="{{ $nowplaying['url'] }}">{{ $nowplaying['name'] }} • {{ $nowplaying['artist']['#text'] }}</a> | ||||||
|  |         <h2>Top {{ $tracks_to_show }} Tracks (Last 7 days)</h2> | ||||||
|  |         <ol> | ||||||
|  | @foreach ($tracks as $track) | ||||||
|  |     @if ($count >= $tracks_to_show) | ||||||
|  |     </ol> | ||||||
|  |         @break | ||||||
|  |     @endif | ||||||
|  |         <li> | ||||||
|  |                 <a href="{{ $track['url'] }}">{{ $track['name'] }} • {{ $track['artist']['name'] }}</a> | ||||||
|  |                 <small>({{$track['playcount']}} plays)</small> | ||||||
|  |             </li> | ||||||
|  | <?php $count++ ?>
 | ||||||
|  | @endforeach | ||||||
							
								
								
									
										68
									
								
								resources/views/components/weatherdata.blade.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,68 @@ | ||||||
|  | <?php | ||||||
|  | 
 | ||||||
|  | $curl_current = curl_init(); | ||||||
|  | 
 | ||||||
|  | curl_setopt_array($curl_current, [ | ||||||
|  |   CURLOPT_URL => "http://weather.diskfloppy.me/data/weatherData.json", | ||||||
|  |   CURLOPT_RETURNTRANSFER => true, | ||||||
|  |   CURLOPT_ENCODING => "", | ||||||
|  |   CURLOPT_MAXREDIRS => 10, | ||||||
|  |   CURLOPT_TIMEOUT => 300, | ||||||
|  |   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, | ||||||
|  |   CURLOPT_CUSTOMREQUEST => "GET", | ||||||
|  | ]); | ||||||
|  | 
 | ||||||
|  | $current_response = curl_exec($curl_current); | ||||||
|  | $err = curl_error($curl_current); | ||||||
|  | 
 | ||||||
|  | curl_close($curl_current); | ||||||
|  | 
 | ||||||
|  | $curl_current = curl_init(); | ||||||
|  | 
 | ||||||
|  | curl_setopt_array($curl_current, [ | ||||||
|  |   CURLOPT_URL => "http://weather.diskfloppy.me/data/got.txt", | ||||||
|  |   CURLOPT_RETURNTRANSFER => true, | ||||||
|  |   CURLOPT_ENCODING => "", | ||||||
|  |   CURLOPT_MAXREDIRS => 10, | ||||||
|  |   CURLOPT_TIMEOUT => 300, | ||||||
|  |   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, | ||||||
|  |   CURLOPT_CUSTOMREQUEST => "GET", | ||||||
|  | ]); | ||||||
|  | 
 | ||||||
|  | $last_update = curl_exec($curl_current); | ||||||
|  | $err = curl_error($curl_current); | ||||||
|  | 
 | ||||||
|  | curl_close($curl_current); | ||||||
|  | 
 | ||||||
|  | if ($err) { | ||||||
|  |   die("cURL Error: " . $err); | ||||||
|  | } | ||||||
|  | $current_response = json_decode($current_response, true); | ||||||
|  | $weather_data = $current_response['data']['conditions'][0]; | ||||||
|  | $windDirDeg = $weather_data['wind_dir_last']; | ||||||
|  | $windDir = ""; | ||||||
|  | // W I N D
 | ||||||
|  | if (349 <= $windDirDeg || $windDirDeg <= 11) { $windDir = "N"; } | ||||||
|  | else if (12 <= $windDirDeg && $windDirDeg <= 33) { $windDir = "NNE"; } | ||||||
|  | else if (34 <= $windDirDeg && $windDirDeg <= 56) { $windDir = "NE"; } | ||||||
|  | else if (57 <= $windDirDeg && $windDirDeg <= 78) { $windDir = "ENE"; } | ||||||
|  | else if (79 <= $windDirDeg && $windDirDeg <= 101) { $windDir = "E"; } | ||||||
|  | else if (102 <= $windDirDeg && $windDirDeg <= 123) { $windDir = "ESE"; } | ||||||
|  | else if (124 <= $windDirDeg && $windDirDeg <= 146) { $windDir = "SE"; } | ||||||
|  | else if (147 <= $windDirDeg && $windDirDeg <= 168) { $windDir = "SSE"; } | ||||||
|  | else if (169 <= $windDirDeg && $windDirDeg <= 191) { $windDir = "S"; } | ||||||
|  | else if (192 <= $windDirDeg && $windDirDeg <= 213) { $windDir = "SSW"; } | ||||||
|  | else if (214 <= $windDirDeg && $windDirDeg <= 236) { $windDir = "SW"; } | ||||||
|  | else if (237 <= $windDirDeg && $windDirDeg <= 258) { $windDir = "WSW"; } | ||||||
|  | else if (259 <= $windDirDeg && $windDirDeg <= 281) { $windDir = "W"; } | ||||||
|  | else if (282 <= $windDirDeg && $windDirDeg <= 303) { $windDir = "WNE"; } | ||||||
|  | else if (304 <= $windDirDeg && $windDirDeg <= 326) { $windDir = "NW"; } | ||||||
|  | else if (327 <= $windDirDeg && $windDirDeg <= 348) { $windDir = "WNW"; } | ||||||
|  | 
 | ||||||
|  | ?>
 | ||||||
|  | <h1>Local Weather <small>(Last Update: {{ gmdate('H:i Y-m-d', intval(rtrim($last_update))) }})</small></h1> | ||||||
|  |         <b>Wind Speed:</b> {{ $weather_data['wind_speed_last'] }} mph<br> | ||||||
|  |         <b>Wind Direction:</b> {{ $weather_data['wind_dir_last']}}°, {{ $windDir }}<br> | ||||||
|  |         <b>Temperature:</b> {{ round(($weather_data['temp']-32)*(5/9), 1) }}°C<br> | ||||||
|  |         <b>Rain Rate:</b> {{ round($weather_data['rain_rate_last']*0.2, 2) }} mm/hr<br> | ||||||
|  |         <b>Humidity:</b> {{ round($weather_data['hum']) }}%<br> | ||||||
							
								
								
									
										8
									
								
								resources/views/includes/footer.blade.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,8 @@ | ||||||
|  | <hr> | ||||||
|  |         <div style="text-align: center;"> | ||||||
|  |             <img src="{{ URL::asset ('images/buttons/browser.gif') }}" alt="Any Damn Browser">  | ||||||
|  |             <a href="https://www.linux.org/"><img src="{{ URL::asset ('images/buttons/linuxnow.gif') }}" alt="Linux NOW!"></a>  | ||||||
|  |             <a href="https://www.vim.org/"><img src="{{ URL::asset ('images/buttons/vim.gif') }}" alt="vim"></a>  | ||||||
|  |             <a href="http://jigsaw.w3.org/css-validator/check/referer"><img style="border:0;width:88px;height:31px" src="{{ URL::asset ('images/buttons/vcss-blue.gif') }}" alt="Valid CSS!"></a>  | ||||||
|  |             <a href=""><img style="border:0;width:88px;height:31px" src="{{ URL::asset ('images/buttons/valid-html401-blue.png') }}" alt="Valid HTML 4.01!"></a><br/> | ||||||
|  |         </div> | ||||||
							
								
								
									
										13
									
								
								resources/views/includes/head.blade.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,13 @@ | ||||||
|  |     <!-- 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="{{ URL::asset ('css/dark.css') }}"/> | ||||||
|  | 
 | ||||||
|  |     <!-- Page-specific --> | ||||||
|  |     <title>~floppydisk / @yield('title')</title> | ||||||
|  |     <meta property="og:title" content="~floppydisk / @yield('title')"> | ||||||
|  |     <meta property="og:description" content="@yield('description')"> | ||||||
|  |     <meta property="og:image" content="/favicon.png"> | ||||||
|  |     <style>td{padding:0px;}</style> | ||||||
							
								
								
									
										11
									
								
								resources/views/includes/header.blade.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,11 @@ | ||||||
|  | 	<nav> | ||||||
|  | 		<div> | ||||||
|  |             <a href="//git.diskfloppy.me/">git</a> | | ||||||
|  | 			<a href="/projects/">projects</a> | | ||||||
|  | 			<a href="https://github.com/floppydisk05?tab=repositories">repos</a> | | ||||||
|  | 			<a href="/calculators/">calculators</a> | | ||||||
|  | 			<a href="/computers/">computers</a> | | ||||||
|  | 			<a href="/bookmarks/">bookmarks</a> | | ||||||
|  | 			<a href="/guestbook/">guestbook</a> | ||||||
|  | 		</div> | ||||||
|  | 	</nav> | ||||||
							
								
								
									
										27
									
								
								resources/views/layouts/default.blade.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,27 @@ | ||||||
|  | 
 | ||||||
|  | <!DOCTYPE html> | ||||||
|  | <html lang="en"> | ||||||
|  | 
 | ||||||
|  | <!-- HTTPS --> | ||||||
|  | 
 | ||||||
|  | <head> | ||||||
|  |     @include('includes.head') | ||||||
|  | </head> | ||||||
|  | 
 | ||||||
|  | <body> | ||||||
|  | <div class="page"> | ||||||
|  | <div class="header"> | ||||||
|  |     @include('includes.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> | ||||||
							
								
								
									
										25
									
								
								resources/views/pages/home.blade.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,25 @@ | ||||||
|  | @extends('layouts.default') | ||||||
|  | @section('title', 'test') | ||||||
|  | @section('description', 'This is the personal homepage of floppydisk.') | ||||||
|  | @section('content') | ||||||
|  | <p>Hi!</p> | ||||||
|  |         <p>This is the personal homepage of floppydisk.</p> | ||||||
|  | 
 | ||||||
|  |         <!-- Last.fm --> | ||||||
|  |         @include('components.lastfm') | ||||||
|  | 
 | ||||||
|  |         <!-- WeatherData --> | ||||||
|  |         @include('components.weatherdata') | ||||||
|  | 
 | ||||||
|  |         <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://mastodon.sdf.org/@floppydisk_">@floppydisk_@mastodon.sdf.org</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> | ||||||
|  |         </p> | ||||||
|  | @stop | ||||||
|  | @ -14,5 +14,5 @@ | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| Route::get('/', function () { | Route::get('/', function () { | ||||||
|     return view('welcome'); |     return View::make('pages.home'); | ||||||
| }); | }); | ||||||
|  |  | ||||||
 Frankie B
				Frankie B