Commit 0d51b6c9 authored by John Fox Woland's avatar John Fox Woland

+ Configurable images

parent 4d761cf3
......@@ -3,54 +3,88 @@
'title' => 'Mikhail Kotelnikov, Programmer',
'name' => 'Mikhail Kotelnikov',
'description' => '<a href="https://woland.me">GNU/Linux Programmer</a>',
'img' => [
'face' => 'face.jpg',
'bg' => 'bg1.png',
],
'content' => [
[
'Key contacts',
['glyphicon-earphone', 'Mobile', ['tel:+79223445533', '+7 (922) 344-55-33']],
['glyphicon-earphone', 'Mobile', ['tel:+79223445533', '+7 (996) 32-55-33-4']],
['glyphicon-envelope', 'E-mail', ['mailto:fox@woland.me', 'fox@woland.me']],
['fa-telegram', 'Telegram', ['tg:resolve?domain=wolandtel','@wolandtel']],
['fa-mobile-alt', 'Mobile', ['tel:+79223445533', '+7 (922) 344-55-33']],
['far fa-envelope', 'E-mail', ['mailto:fox@woland.me', 'fox@woland.me']],
['fab fa-telegram', 'Telegram', ['tg:resolve?domain=wolandtel','@wolandtel']],
['glyphicon-globe', 'Site', ['https://woland.me', 'woland.me']],
['glyphicon-globe', 'Blog', ['https://blog.woland.me', 'blog.woland.me']],
['glyphicon-briefcase', 'HeadHunter', ['https://hh.woland.me', 'Kotelnikov Mikhail Alekseevich']],
['fa-skype', 'Skype', ['skype:woland.perm.ru?call', 'woland.perm.ru']],
['fab fa-skype', 'Skype', ['skype:woland.perm.ru?call', 'woland.perm.ru']],
['fa-lock', 'GPG Key', '3010 236E 77B6 F818'],
],
[
'IT Social',
['glyphicon-globe', 'Хабрахабр', ['https://habrahabr.ru/users/wolandtel', 'wolandtel']],
['glyphicon-globe', 'МойКруг', ['https://moikrug.ru/wolandtel', 'wolandtel']],
['fa-linkedin', 'LinkedIn', ['https://www.linkedin.com/in/wolandtel/en', 'wolandtel']],
['fa-stack-overflow', 'Stack Overflow', ['https://stackoverflow.com/users/6333217/woland', 'Woland']],
['fab fa-linkedin', 'LinkedIn', ['https://www.linkedin.com/in/wolandtel/en', 'wolandtel']],
['fab fa-stack-overflow', 'Stack Overflow', ['https://stackoverflow.com/users/6333217/woland', 'Woland']],
],
[
'Development',
['fa-gitlab', 'GitLab', ['https://git.woland.me/explore/projects', 'git.woland.me']],
['fa-github', 'GitHub', ['https://github.com/wolandtel', 'wolandtel']],
['fa-bitbucket', 'Bitbucket', ['https://bitbucket.org/wolandtel', 'wolandtel']],
['fab fa-gitlab', 'GitLab', ['https://git.woland.me/explore/projects', 'git.woland.me']],
['fab fa-github', 'GitHub', ['https://github.com/wolandtel', 'wolandtel']],
['fab fa-gitlab', 'GitLab', ['https://gitlab.com/wolandtel', 'wolandtel']],
['fab fa-bitbucket', 'Bitbucket', ['https://bitbucket.org/wolandtel', 'wolandtel']],
['fas fa-code-branch', 'SourceForge', ['https://sourceforge.net/u/drunkmaster/profile', 'drunkmaster']],
['fas fa-code-branch', 'Launchpad', ['https://launchpad.net/~wolandtel', 'wolandtel']],
],
[
'Social',
['fa-vk', 'ВКонтакте', ['https://vk.com/wolandtel', 'wolandtel']],
['fa-facebook-official', 'Facebook', ['https://www.facebook.com/wolandtel', 'wolandtel']],
['fa-twitter', 'Twitter', ['https://twitter.com/wolandtel', 'wolandtel']],
['fa-instagram', 'Instagram', ['https://www.instagram.com/wolandtel', 'wolandtel']],
['fa-youtube-play', 'YouTube', ['https://www.youtube.com/user/wolandpermru', 'wolandpermru']],
['fa-foursquare', 'FourSquare', ['https://ru.foursquare.com/wolandtel', 'wolandtel']],
['fab fa-vk', 'ВКонтакте', ['https://vk.com/wolandtel', 'wolandtel']],
['fab fa-twitter', 'Twitter', ['https://twitter.com/wolandtel', 'wolandtel']],
['fab fa-instagram', 'Instagram', ['https://www.instagram.com/wolandtel', 'wolandtel']],
['fab fa-youtube', 'YouTube', ['https://www.youtube.com/user/wolandpermru', 'wolandpermru']],
['fab fa-facebook-f', 'Facebook', ['https://www.facebook.com/wolandtel', 'wolandtel']],
['fab fa-strava', 'Strava', ['https://www.strava.com/athletes/woland', 'woland']],
['fab fa-google-plus-g', 'Google+', ['https://plus.google.com/u/0/+JohnFoxWoland', 'John Fox']],
['fa-film', 'КиноПоиск', ['https://www.kinopoisk.ru/user/11301013', 'wolandtel']],
['fa-gift', 'MyWishBoard', ['https://mywishboard.com/wolandtel', 'wolandtel']],
['fab fa-periscope', 'Periscope', ['https://www.pscp.tv/wolandtel', 'wolandtel']],
['fab fa-lastfm', 'Last.fm', ['https://www.last.fm/ru/user/wolandtel', 'wolandtel']],
],
[
'Games',
['fa-gamepad', 'World of Tanks', ['https://worldoftanks.ru/ru/community/accounts/19694509-wolandtel/', 'wolandtel']],
['fab fa-playstation', 'PlayStation', ['https://my.playstation.com/profile/wolandtel', 'wolandtel']]
],
[
'Money',
['fa-credit-card', 'Номер карты', '5486 7320 5407 865'],
['fa-paypal', 'PayPal', ['http://paypal.woland.me', 'wolandtel']],
['fa-rub', 'Яндекс.Деньги', ['http://money.woland.me', '41001364124799']],
['fa-credit-card', 'Альфа-банк', '5559 4936 9683 9886'],
['fab fa-paypal', 'PayPal', ['http://paypal.woland.me', 'wolandtel']],
['fas fa-ruble-sign', 'Яндекс.Деньги', ['http://money.woland.me', '41001364124799']],
],
[
'Bank',
['fa-bank', 'Получатель', 'Котельников Михаил Алексеевич'],
['fa-bank', 'Номер счёта', '40817810308030023571'],
['fa-bank', 'Банк', 'АО «Альфа-Банк», г. Москва'],
['fa-bank', 'БИК', '044525593'],
['far fa-list-alt', 'Получатель', 'Котельников Михаил Алексеевич'],
['far fa-list-alt', 'Номер счёта', '40817810308030023571'],
['far fa-list-alt', 'Банк', 'АО «Альфа-Банк», г. Москва'],
['far fa-list-alt', 'БИК', '044525593'],
],
[
['fa-user', 'Also Known as', 'John Fox Woland'],
['fa-user', 'Also Known as', 'wolandtel'],
['fa-user', 'Also Known as', 'drunkmaster'],
],
[
'Archive',
['glyphicon-globe', 'Site', ['http://fox.perm.ru', 'fox.perm.ru']],
['glyphicon-globe', 'Site', ['http://woland.perm.ru', 'woland.perm.ru']],
['far fa-comment', 'JabberID', 'fox@woland.me'],
['fab fa-foursquare', 'FourSquare', ['https://ru.foursquare.com/wolandtel', 'wolandtel']],
['fa-user', 'LiveJournal', ['http://drunkmaster.livejournal.com', 'drunkmaster']],
],
[
'History',
['far fa-comment', 'ICQ', '110288292'],
['fa-user', 'Also Known as', 'Grimvold'],
['far fa-save', 'FIDO', '2:5054/18.50'],
],
]
];
......@@ -5,14 +5,14 @@
header("Content-type: text/html; charset=utf-8");
$config = require('config.php');
$bgSize = Tools::imageGeometry(__DIR__ . '/img/bg1.png');
$faceSize = Tools::imageGeometry(__DIR__ . '/img/face.jpg');
$bgSize = Tools::imageGeometry(__DIR__ . '/img/' . $config['img']['bg']);
$faceSize = Tools::imageGeometry(__DIR__ . '/img/' . $config['img']['face']);
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?=$config['title']?></title>
<title><?= $config['title'] ?></title>
<meta name="viewport" content="width=600, user-scalable=yes" />
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
......@@ -45,13 +45,13 @@
</div>
<div class="col-lg-9 col-md-8 col-sm-7">
<div>
<h1><?=$config['name']?></h1>
<h1><?= $config['name'] ?></h1>
</div>
<?php
if ($config['description']):
?>
<div>
<h3><?=$config['description']?></h3>
<h3><?= $config['description'] ?></h3>
</div>
<?php
endif;
......
<?php
class Tools
{
static public function res ($path)
{
class Tools {
static public function res ($path) {
return $path . '?' . stat($path)['mtime'];
}
static public function css ($path)
{
static public function css ($path) {
echo '<link rel="stylesheet" type="text/css" href="' . self::res($path) . '" />' . "\n";
}
static public function js ($path)
{
static public function js ($path) {
echo '<script src="' . self::res($path) . '"></script>' . "\n";
}
static public function imageGeometry ($path)
{
static public function imageGeometry ($path) {
if (file_exists($path))
return (new \Imagick($path))->getImageGeometry();
else
......
<?php
require('lib/Tools.php');
$config = require('config.php');
header('Content-Type: text/css');
?>
@import url('https://fonts.googleapis.com/css?family=Anonymous+Pro|PT+Mono');
@import url('https://fonts.googleapis.com/css?family=Anonymous+Pro');
body
{
body {
background-color: #555;
margin: 0;
padding: 0;
color: #fff;
/*
font-family: 'PT Mono', monospace;
*/
font-family: 'Anonymous Pro', monospace;
}
h1
{
h1 {
font-size: 48px;
}
h3
{
h3 {
font-size: 30px;
}
h1, h3
{
h1, h3 {
margin-bottom: 20px
}
h4
{
h4 {
font-size: 24px;
margin-left: 10px;
}
a, a:link, a:hover, a:active, a:visited
{
a, a:link, a:hover, a:active, a:visited {
color: #fff;
text-decoration: none;
}
a:link[href^="http"], a:active[href^="http"], a:visited[href^="http"]
{
a:link[href^="http"], a:active[href^="http"], a:visited[href^="http"] {
color: #f5ac2b;
}
a:hover[href^="http"]
{
a:hover[href^="http"] {
color: #fff;
}
#block1
{
background: url(<?=Tools::res('img/bg1.png')?>) no-repeat fixed;
#block1 {
background: url(<?=Tools::res('img/' . $config['img']['bg'])?>) no-repeat fixed;
}
#face
{
#face {
width: 200px;
height: 200px;
border-radius: 100px;
background: url(<?=Tools::res('img/face.jpg')?>);
background: url(<?= Tools::res('img/' . $config['img']['face']) ?>);
background-size: 100%;
margin: 20px;
}
#powered
{
#powered {
position: absolute;
bottom: 2px;
font-size: 12px;
......@@ -80,14 +68,12 @@ a:hover[href^="http"]
text-align: center;
}
#powered img
{
#powered img {
width: 25px;
margin-right: 8px;
}
.block
{
.block {
width: 100%;
background-position: center !important;
background-size: cover;
......@@ -95,19 +81,16 @@ a:hover[href^="http"]
position: relative;
}
.block *
{
.block * {
z-index: 2;
position: relative;
}
.block > :first-child
{
.block > :first-child {
margin-top: 0;
}
.block .nav
{
.block .nav {
position: fixed;
left: 55px;
top: 240px;
......@@ -116,18 +99,15 @@ a:hover[href^="http"]
visibility: hidden;
}
.nav > li > a
{
.nav > li > a {
padding: 0 15px;
}
.nav > li > a:focus, .nav > li > a:hover
{
.nav > li > a:focus, .nav > li > a:hover {
background-color: rgba(0, 0, 0, 0.5);
}
.mask
{
.mask {
position: absolute;
left: 0;
top: 0;
......@@ -139,8 +119,7 @@ a:hover[href^="http"]
opacity: 0.3;
}
.group
{
.group {
width: auto;
max-width: 500px;
min-width: 340px;
......@@ -152,93 +131,75 @@ a:hover[href^="http"]
word-wrap: break-word;
}
.group > .entry
{
.group > .entry {
border-bottom: 1px dotted;
padding: 5px 0;
}
.group > .entry > div
{
.group > .entry > div {
float: left;
}
.group > .entry > div:first-child
{
.group > .entry > div:first-child {
width: 40%;
text-indent: -10px;
padding-left: 30px;
}
.group > .entry > div:last-child
{
.group > .entry > div:last-child {
width: 60%;
padding-left: 10px;
padding-right: 10px;
}
.entry-title > span > span
{
.entry-title > span > span {
width: 5px;
}
.fa, .fab, .far, .fas
{
.fa, .fab, .far, .fas {
text-align: center;
}
@media (max-width: 339px)
{
h1
{
@media (max-width: 339px) {
h1 {
font-size: 40px;
}
h3
{
h3 {
font-size: 25px;
}
h4
{
h4 {
font-size: 20px;
}
.group
{
.group {
min-width: 240px;
font-size: 11px;
}
}
@media (max-width: 370px)
{
[class^="col-"]
{
@media (max-width: 370px) {
[class^="col-"] {
padding: 0;
}
}
@media (min-width: 768px)
{
#powered
{
@media (min-width: 768px) {
#powered {
left: auto;
right: 10px;
width: auto;
text-align: left;
}
.block .nav
{
.block .nav {
visibility: visible;
}
}
@media (min-width: 992px)
{
@media (min-width: 992px) {
}
@media (min-width: 1200px)
{
@media (min-width: 1200px) {
}
/*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment