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');
|
||||||
});
|
});
|
||||||
|
|