It's the last time I do such commit, I promise
@@ -1,6 +1,5 @@
|
|||||||
@using Newtonsoft.Json
|
@using Newtonsoft.Json
|
||||||
@using System.Net
|
@using System.Net
|
||||||
@using System.Web
|
|
||||||
@{
|
@{
|
||||||
Dictionary<string, Link> links = JsonConvert.DeserializeObject<Dictionary<string, Link>>(new WebClient().DownloadString($"{Context.Request.Scheme}://{Context.Request.Host}/Links.json"));
|
Dictionary<string, Link> links = JsonConvert.DeserializeObject<Dictionary<string, Link>>(new WebClient().DownloadString($"{Context.Request.Scheme}://{Context.Request.Host}/Links.json"));
|
||||||
}
|
}
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.8 MiB |
|
Before Width: | Height: | Size: 193 KiB After Width: | Height: | Size: 193 KiB |
|
Before Width: | Height: | Size: 205 KiB After Width: | Height: | Size: 205 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 560 KiB After Width: | Height: | Size: 560 KiB |
|
Before Width: | Height: | Size: 286 KiB After Width: | Height: | Size: 286 KiB |
|
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 147 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 905 KiB After Width: | Height: | Size: 905 KiB |
@@ -0,0 +1,54 @@
|
|||||||
|
body {
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
.navbar {
|
||||||
|
background-color: rgb(34, 34, 33);
|
||||||
|
padding: 10px;
|
||||||
|
font-family: 'Courier New', Courier, monospace;
|
||||||
|
position: fixed;
|
||||||
|
right: 0%;
|
||||||
|
left: 0%;
|
||||||
|
}
|
||||||
|
.navbar a {
|
||||||
|
color: white;
|
||||||
|
font-size: 26px;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.navbar a:hover {
|
||||||
|
color: gray;
|
||||||
|
}
|
||||||
|
.navbar ul {
|
||||||
|
display: inline;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.navbar li {
|
||||||
|
display: inline;
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
.navbar li a {
|
||||||
|
font-size: 20px !important;
|
||||||
|
}
|
||||||
|
.content {
|
||||||
|
padding-top: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery {
|
||||||
|
margin: 10px 50px;
|
||||||
|
font-family: 'Courier New', Courier, monospace;
|
||||||
|
}
|
||||||
|
.gallery img {
|
||||||
|
transition: .25s;
|
||||||
|
object-fit: cover;
|
||||||
|
max-width: 300px;
|
||||||
|
height: 200px;
|
||||||
|
margin: 2px;
|
||||||
|
}
|
||||||
|
.gallery img:hover {
|
||||||
|
filter: brightness(125%);
|
||||||
|
transform: scale(1.25);
|
||||||
|
}
|
||||||
|
.header {
|
||||||
|
color: black;
|
||||||
|
font-size: 36px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
Michael (Mikhail) A. Gordeev
|
||||||
|
|
||||||
|
Saint Petersburg,
|
||||||
|
Russia
|
||||||
|
Phone No (Russia): +7 (996) 929-19-69
|
||||||
|
Email: michael.xfox@outlook.com
|
||||||
|
Overall Summary:
|
||||||
|
Self- directed, detail-oriented, and professional C# programmer with more than 5 years of experience in designing, developing, analyzing, and implementing client-server, web and desktop-based applications using C# language. Expertise in system designing as well as in testing, debugging and modifying related application code. Capable of learning new programming languages and technologies and complete projects within specified deadlines. Possess excellent communication, problem-solving, documentation, analytical, and decision solving skills.
|
||||||
|
Summary of Skills:
|
||||||
|
Thorough knowledge of C# programming concepts, SDLC, testing and debugging methods, system design, and implementation, database system, including DB2 and relational databases, program documentation, web and desktop application development
|
||||||
|
Proficient in Object oriented programming such as C, C++, C# as well as experience with MS SQL Server, ASP. NET, MVC, and ORM frameworks
|
||||||
|
Strong understanding of HTML, CSS, JavaScript, web services, Visual Studio, design and architectural patterns, and window services
|
||||||
|
Ability to analyze and understand complex problems, and generate appropriate technical solutions independently
|
||||||
|
Effective communication and interpersonal skills with the ability to maintain good relations and share technical ideas with users or clients, technical and management staff
|
||||||
|
Excellent leadership and mentoring skills as well as the ability to work independently and within teams
|
||||||
|
Strong organizational skills along with the ability to accomplish multiple tasks under extreme pressure, and meet specific deadlines
|
||||||
|
Ability to grasp and apply new concepts quickly and stay updated with latest trends and technical advancements
|
||||||
|
TECHNICAL SKILLS:
|
||||||
|
OS: Windows and DOS
|
||||||
|
Languages: C, C++, C#, Visual Basic 6, Visual Basic, .NET, SOAP, HTML, DHTML, XML
|
||||||
|
Software: Visual Studio, .NET 2005, Dreamweaver
|
||||||
|
Database: MySQL 4.0/5, MS SQL 2000/2005, MS Access
|
||||||
|
Networking: TCP/IP, LAN, FTP, DNS, DHCP, IIS, Active Directory
|
||||||
|
Very energetic and ready to take new challenges
|
||||||
|
Excellent communication and presentation skills
|
||||||
|
In-depth knowledge of web technologies, customer services and sales management
|
||||||
|
Work Experience:
|
||||||
|
C# Programmer
|
||||||
|
Broad-ridge Technologies, Louisville, KY
|
||||||
|
October 2017 – Present
|
||||||
|
Providing support to IT personnel in designing, developing, analyzing, testing, debugging, and executing C# programs for windows desktop and web-based applications
|
||||||
|
Assisting project manager in defining detailed specifications for specific functionality requirements as well as analyzing, designing, and encoding new systems using C# language
|
||||||
|
Preparing accurate reports to document design flaws and bugs as well as modifying existing software or system to correct errors and improve performance
|
||||||
|
Collaborating with other programmers and developers in the whole development process, and using structured analysis and design to determine steps to develop programs
|
||||||
|
Determining user requirements, including project budgets and timelines as well as providing consultative services to clients and project team members on technical issues
|
||||||
|
Mentoring and assisting with training of new and junior programmers as well as doing code reviews for other team members to ensure highest possible quality in software products
|
||||||
|
Researching and evaluating new development tools and software products to increase programming capabilities as well as creating written developers guides, and training users in system operations
|
||||||
|
C# Programmer
|
||||||
|
Sunlight Solutions, Louisville, KY
|
||||||
|
March 2015 - October 2017
|
||||||
|
Developed software code using C# programming language to meet design specifications, and user requirements as well as delivered high-quality applications within specified deadlines
|
||||||
|
Contributed to overall project plans in compliance with established procedures and standards as well as provided support and error resolution for developed desktop and web applications
|
||||||
|
Wrote and provided appropriate application user guides for end-users and system admin as well as developed and maintained all documentation that pertained to programming projects
|
||||||
|
Evaluated impact of a programming change or modification on whole system as well as communicated status of all projects to team leaders or development lead to ensure projects were implemented properly
|
||||||
|
Trained programmers in new techniques as well as assisted in reviewing codes
|
||||||
|
Junior C# Programmer
|
||||||
|
Edwards Tech Group, Louisville, KY
|
||||||
|
December 2013 - February 2015
|
||||||
|
Independently analyzed and validated program specifications as well as designed and created reliable and reusable C# code that conformed to department standards and procedures
|
||||||
|
Assisted in interpreting design specifications, clients' requirements and use cases into functional applications as well as in ensuring their best possible performance, quality, and responsiveness
|
||||||
|
Assisted Senior Programmer in researching user questions on program processing logics, and calculations as well as performing thorough program and application testing as required
|
||||||
|
Assisted in designing and developing new features and functionality for software applications as per requirements as well as in identifying and debugging defects in application code
|
||||||
|
Worked with other junior programmers in developing ERP software for systems and windows service for data files as well as assisted in designing and creating web-pages and new database
|
||||||
|
Education:
|
||||||
|
Bachelor's Degree in Information Technology
|
||||||
|
Bellarmine University, Louisville, KY
|
||||||
|
2013
|
||||||
|
|
||||||
|
Reference:
|
||||||
|
On request.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"FileName": "VectorAvatar.svg",
|
||||||
|
"Title": "First avatar I made in vector",
|
||||||
|
"CreationDate": "2019-08-15T00:00:00",
|
||||||
|
"Description": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
{
|
||||||
|
"email": {
|
||||||
|
"Title": "Email",
|
||||||
|
"Socicon": "outlook",
|
||||||
|
"Username": "michael.xfox@outlook.com",
|
||||||
|
"Url": "mailto:michael.xfox@outlook.com",
|
||||||
|
"CanContactMe": "true"
|
||||||
|
},
|
||||||
|
"linkedin": {
|
||||||
|
"Title": "LinkedIn",
|
||||||
|
"Socicon": "linkedin",
|
||||||
|
"Username": "@xfox",
|
||||||
|
"Url": "//linkedin.com/in/xfox",
|
||||||
|
"CanContactMe": "true"
|
||||||
|
},
|
||||||
|
"vk": {
|
||||||
|
"Title": "Vkontakte",
|
||||||
|
"Socicon": "vkontakte",
|
||||||
|
"Username": "@xfox.mike",
|
||||||
|
"Url": "//vk.com/xfox.mike",
|
||||||
|
"CanContactMe": "true"
|
||||||
|
},
|
||||||
|
"telegram": {
|
||||||
|
"Title": "Telegram",
|
||||||
|
"Socicon": "telegram",
|
||||||
|
"Username": "@xfox111",
|
||||||
|
"Url": "//t.me/xfox111",
|
||||||
|
"CanContactMe": "true"
|
||||||
|
},
|
||||||
|
"skype": {
|
||||||
|
"Title": "Skype",
|
||||||
|
"Socicon": "skype",
|
||||||
|
"Username": "@mag48gordeev",
|
||||||
|
"Url": "//join.skype.com/invite/eVp6BISfcmNz",
|
||||||
|
"CanContactMe": "true"
|
||||||
|
},
|
||||||
|
"twitter": {
|
||||||
|
"Title": "Twitter",
|
||||||
|
"Socicon": "twitter",
|
||||||
|
"Username": "@xfox111",
|
||||||
|
"Url": "//twitter.com/xfox111",
|
||||||
|
"CanContactMe": "false"
|
||||||
|
},
|
||||||
|
"twitch": {
|
||||||
|
"Title": "Twitch",
|
||||||
|
"Socicon": "twitch",
|
||||||
|
"Username": "@xfox111",
|
||||||
|
"Url": "//twitch.com/xfox111",
|
||||||
|
"CanContactMe": "false"
|
||||||
|
},
|
||||||
|
"youtube": {
|
||||||
|
"Title": "YouTube",
|
||||||
|
"Socicon": "youtube",
|
||||||
|
"Username": "@UC3H2q5Ss_CR3wP_S1zV8joA",
|
||||||
|
"Url": "//www.youtube.com/channel/UC3H2q5Ss_CR3wP_S1zV8joA",
|
||||||
|
"CanContactMe": "false"
|
||||||
|
},
|
||||||
|
"github": {
|
||||||
|
"Title": "GitHub",
|
||||||
|
"Socicon": "github",
|
||||||
|
"Username": "@xfox111",
|
||||||
|
"Url": "//github.com/xfox111",
|
||||||
|
"CanContactMe": "false"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"Title": "FoxTube",
|
||||||
|
"Description": "This is my first big project. And the first one published in Microsoft Store.<br />This is a Windows client application for YouTube",
|
||||||
|
"ImageName": "FoxTube.png",
|
||||||
|
"Link": "//foxtube.xfox111.net",
|
||||||
|
"LinkCaption": "Learn more...",
|
||||||
|
"Badges": [
|
||||||
|
"csharp", "dotnet", "uwp"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Title": "My Bonch",
|
||||||
|
"Description": "",
|
||||||
|
"ImageName": "",
|
||||||
|
"Link": "",
|
||||||
|
"LinkCaption": "Availavle soon...",
|
||||||
|
"Badges": [
|
||||||
|
"csharp", "xamarin", "uwp", "android"/*, "ios"*/
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Title": "MotionDecoder",
|
||||||
|
"Description": "This project is used to analyze videos from security cameras and shows short clips which contain detected motions.<br />I made this projects during scientific projects competition in big data division.",
|
||||||
|
"ImageName": "MotionDecoder.png",
|
||||||
|
"Link": "//github.com/XFox111/motiondecoder",
|
||||||
|
"LinkCaption": "View on GitHub",
|
||||||
|
"Badges": [
|
||||||
|
"csharp",
|
||||||
|
"dotnet",
|
||||||
|
"win32"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Title": "2048",
|
||||||
|
"Description": "Simple classic game. I made it in Unity just for fun",
|
||||||
|
"ImageName": "2048.png",
|
||||||
|
"Link": "",
|
||||||
|
"LinkCaption": "",
|
||||||
|
"Badges": [
|
||||||
|
"csharp", "unity", "windows", "android"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Title": "MiSmartAlarm",
|
||||||
|
"Description": "Smart alarm app for Xiaomi MiBand",
|
||||||
|
"ImageName": "MiSmartAlarm.png",
|
||||||
|
"Link": "https://github.com/XFox111/mismartalarm",
|
||||||
|
"LinkCaption": "View on GitHub",
|
||||||
|
"Badges": [
|
||||||
|
"csharp", "xamarin", "uwp", "android"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Title": "YouTubeScrapper",
|
||||||
|
"Description": "A C# library which is used to extend the abilities of YouTube API v3",
|
||||||
|
"ImageName": "",
|
||||||
|
"Link": "https://github.com/XFox111/youtubescraper",
|
||||||
|
"LinkCaption": "View on GitHub",
|
||||||
|
"Badges": [
|
||||||
|
"csharp", "dotnet", "uwp"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Title": "GZipCompression",
|
||||||
|
"Description": "Console program which splits files on 1MB blocks and compresses them in multi-thread.<br />I made this program as intro challange in Veeam Software",
|
||||||
|
"ImageName": "",
|
||||||
|
"Link": "https://github.com/XFox111/gzipcompression",
|
||||||
|
"LinkCaption": "View on GitHub",
|
||||||
|
"Badges": [
|
||||||
|
"csharp",
|
||||||
|
"dotnet",
|
||||||
|
"windows"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
article {
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.block {
|
||||||
|
position: relative;
|
||||||
|
margin-bottom: -10px;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
.block .content {
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
.block .background {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.intro {
|
||||||
|
color: white;
|
||||||
|
background-color: #00a7dc;
|
||||||
|
font-size: 36px;
|
||||||
|
text-shadow: 2px 2px 1px black;
|
||||||
|
}
|
||||||
|
.intro .content {
|
||||||
|
bottom: 50px;
|
||||||
|
left: 50px;
|
||||||
|
max-width: 65%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sut {
|
||||||
|
color: white;
|
||||||
|
background-color: #ff8000;
|
||||||
|
font-size: 24px;
|
||||||
|
text-shadow: 2px 2px 1px black;
|
||||||
|
}
|
||||||
|
.sut .content {
|
||||||
|
margin: 50px 50px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
footer {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact-me {
|
||||||
|
padding: 30px 50px;
|
||||||
|
background-color: #1e1e1e;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
var {
|
||||||
|
color: #569cd6;
|
||||||
|
font: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.class {
|
||||||
|
color: #4ec9b0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.string, .string:visited {
|
||||||
|
color: #d69d85;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.string:link:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.method {
|
||||||
|
color: #dcdcaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.t1 { margin-right: 25px; }
|
||||||
|
.t2 { margin-right: 50px; }
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
.gallery img {
|
||||||
|
object-fit: cover;
|
||||||
|
max-height: 200px;
|
||||||
|
max-width: 100%;
|
||||||
|
margin: 2px;
|
||||||
|
transition: .25s;
|
||||||
|
}
|
||||||
|
.gallery img:hover {
|
||||||
|
filter: brightness(125%);
|
||||||
|
transform: scale(1.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-overview-block img {
|
||||||
|
max-height: 50vh;
|
||||||
|
max-width: 100%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.image-overview-block div {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.image-overview-block h1 {
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
header {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr auto;
|
||||||
|
grid-template-rows: auto auto;
|
||||||
|
grid-column-gap: 20px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
article {
|
||||||
|
margin: 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.github-stats {
|
||||||
|
margin-top: 20px;
|
||||||
|
width: 200px;
|
||||||
|
height: 110px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project-item {
|
||||||
|
display: grid;
|
||||||
|
padding: 20px;
|
||||||
|
padding-top: 0px;
|
||||||
|
grid-template-rows: auto auto;
|
||||||
|
grid-row-gap: 20px;
|
||||||
|
background-color: whitesmoke;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge {
|
||||||
|
height: 25px;
|
||||||
|
width: 25px;
|
||||||
|
margin-right: 10px;
|
||||||
|
display: inline-block;
|
||||||
|
background-size: contain;
|
||||||
|
}
|
||||||
|
|
||||||
|
.csharp { background-image: url(../images/Badges/csharp.png); }
|
||||||
|
.dotnet { background-image: url("../images/Badges/dotnet.png"); }
|
||||||
|
.xamarin { background-image: url("../images/Badges/xamarin.png"); }
|
||||||
|
.unity { background-image: url("../images/Badges/unity.png"); }
|
||||||
|
.android { background-image: url("../images/Badges/android.png"); }
|
||||||
|
.uwp { background-image: url("../images/Badges/windows.png"); }
|
||||||
|
.win32 { background-image: url("../images/Badges/windows.png"); }
|
||||||
|
.windows { background-image: url("../images/Badges/windows.png"); }
|
||||||
|
|
||||||
|
@media only screen and (max-width: 600px) {
|
||||||
|
.github-stats {
|
||||||
|
grid-row: 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,54 +1,114 @@
|
|||||||
body {
|
@font-face {
|
||||||
margin: 0px;
|
font-family: 'Consolas';
|
||||||
|
src: url("/fonts/consolas.eot");
|
||||||
|
src: url("/fonts/consolas.eot?#iefix") format("embedded-opentype"), url("/fonts/consolas.otf") format("opentype"), url("/fonts/consolas.svg") format("svg"), url("/fonts/consolas.ttf") format("truetype"), url("/fonts/consolas.woff") format("woff"), url("/fonts/consolas.woff2") format("woff2");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Segoe MDL2 Assets';
|
||||||
|
src: url("/fonts/segoeMLD2assets.eot");
|
||||||
|
src: url("/fonts/segoeMLD2assets.eot?#iefix") format("embedded-opentype"), url("/fonts/segoeMLD2assets.otf") format("opentype"), url("/fonts/segoeMLD2assets.svg") format("svg"), url("/fonts/segoeMLD2assets.ttf") format("truetype"), url("/fonts/segoeMLD2assets.woff") format("woff"), url("/fonts/segoeMLD2assets.woff2") format("woff2");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*Header styles*/
|
||||||
.navbar {
|
.navbar {
|
||||||
background-color: rgb(34, 34, 33);
|
display: grid;
|
||||||
|
grid-template-columns: auto 1fr auto auto;
|
||||||
|
grid-column-gap: 10px;
|
||||||
|
grid-template-rows: auto auto;
|
||||||
|
background-color: #343434;
|
||||||
|
position: sticky;
|
||||||
|
z-index: 10;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
font-family: 'Courier New', Courier, monospace;
|
|
||||||
position: fixed;
|
|
||||||
right: 0%;
|
|
||||||
left: 0%;
|
|
||||||
}
|
|
||||||
.navbar a {
|
|
||||||
color: white;
|
|
||||||
font-size: 26px;
|
font-size: 26px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
color: white;
|
||||||
}
|
}
|
||||||
.navbar a:hover {
|
.navbar a:hover {
|
||||||
color: gray;
|
color: gray;
|
||||||
}
|
}
|
||||||
.navbar ul {
|
|
||||||
display: inline;
|
.main-menu { margin: 0px; }
|
||||||
list-style: none;
|
.main-menu li {
|
||||||
}
|
display: inline-block;
|
||||||
.navbar li {
|
font-size: 20px;
|
||||||
display: inline;
|
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
.navbar li a {
|
|
||||||
font-size: 20px !important;
|
.language-switch {
|
||||||
|
grid-column: 3;
|
||||||
|
display: none;
|
||||||
|
user-select: none
|
||||||
}
|
}
|
||||||
.content {
|
.menu-toggle {
|
||||||
padding-top: 50px;
|
grid-column: 4;
|
||||||
|
display: none;
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
#compact-menu {
|
||||||
|
grid-row: 2;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
#compact-menu li {
|
||||||
|
font-size: 20px;
|
||||||
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gallery {
|
/*Footer styles*/
|
||||||
margin: 10px 50px;
|
footer {
|
||||||
font-family: 'Courier New', Courier, monospace;
|
padding: 10px;
|
||||||
|
display: grid;
|
||||||
|
align-items: center;
|
||||||
|
grid-template-columns: 1fr auto auto auto;
|
||||||
|
grid-column-gap: 10px;
|
||||||
}
|
}
|
||||||
.gallery img {
|
footer a {
|
||||||
transition: .25s;
|
text-decoration: none;
|
||||||
object-fit: cover;
|
|
||||||
max-width: 300px;
|
|
||||||
height: 200px;
|
|
||||||
margin: 2px;
|
|
||||||
}
|
|
||||||
.gallery img:hover {
|
|
||||||
filter: brightness(125%);
|
|
||||||
transform: scale(1.25);
|
|
||||||
}
|
|
||||||
.header {
|
|
||||||
color: black;
|
color: black;
|
||||||
font-size: 36px;
|
}
|
||||||
font-weight: bold;
|
footer a:hover {
|
||||||
|
color: orangered;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*Body styles*/
|
||||||
|
body {
|
||||||
|
margin: 0px;
|
||||||
|
font-family: Consolas, 'Segoe MDL2 Assets';
|
||||||
|
}
|
||||||
|
main {
|
||||||
|
min-height: calc(100vh - 115px); /*Page height minus footer requred space*/
|
||||||
|
}
|
||||||
|
|
||||||
|
header a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
header a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
article, header {
|
||||||
|
margin: 0px 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
article a:visited, article a:link {
|
||||||
|
color: blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment, .comment:visited {
|
||||||
|
color: #57a64a;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*Adaptive code*/
|
||||||
|
@media only screen and (max-width: 1000px) {
|
||||||
|
.main-menu {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.menu-toggle {
|
||||||
|
display: initial;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 1021 KiB |
|
After Width: | Height: | Size: 783 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 6.1 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 2.3 MiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 8.2 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 897 KiB |
|
After Width: | Height: | Size: 267 KiB |
|
After Width: | Height: | Size: 4.1 MiB |
|
After Width: | Height: | Size: 14 MiB |
@@ -0,0 +1,80 @@
|
|||||||
|
function ToggleMenu()
|
||||||
|
{
|
||||||
|
var menu = document.getElementById("compact-menu");
|
||||||
|
|
||||||
|
if (menu.style.display == "none")
|
||||||
|
menu.style.display = "initial";
|
||||||
|
else
|
||||||
|
menu.style.display = "none";
|
||||||
|
}
|
||||||
|
|
||||||
|
var links = JSON.parse("~/Links.json");
|
||||||
|
var projects = JSON.parse("~/Projects.json");
|
||||||
|
var gallery = JSON.parse("~/Gallery.json");
|
||||||
|
|
||||||
|
function Init()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function ToggleImageSize()
|
||||||
|
{
|
||||||
|
var image = document.getElementById("image");
|
||||||
|
|
||||||
|
if (image.style.maxHeight == "none")
|
||||||
|
{
|
||||||
|
image.style.maxHeight = "50vh";
|
||||||
|
image.style.maxWidth = "100%";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
image.style.maxHeight = "none";
|
||||||
|
image.style.maxWidth = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function UpdateProjects()
|
||||||
|
{
|
||||||
|
// Settings badges tooltips
|
||||||
|
var badges = document.getElementsByClassName("badge");
|
||||||
|
for (var i = 0; i < badges.length; i++)
|
||||||
|
{
|
||||||
|
switch (badges[i].classList[1])
|
||||||
|
{
|
||||||
|
case "csharp":
|
||||||
|
badges[i].setAttribute("title", "C# Programming language");
|
||||||
|
break;
|
||||||
|
case "dotnet":
|
||||||
|
badges[i].setAttribute("title", ".NET Framework");
|
||||||
|
break;
|
||||||
|
case "xamarin":
|
||||||
|
badges[i].setAttribute("title", "Xamarin Framework");
|
||||||
|
break;
|
||||||
|
case "unity":
|
||||||
|
badges[i].setAttribute("title", "Unity Engine");
|
||||||
|
break;
|
||||||
|
case "uwp":
|
||||||
|
badges[i].setAttribute("title", "Universal Windows Platform");
|
||||||
|
break;
|
||||||
|
case "windows":
|
||||||
|
badges[i].setAttribute("title", "Windows Platform");
|
||||||
|
break;
|
||||||
|
case "win32":
|
||||||
|
badges[i].setAttribute("title", "Windows Platform (Win32)");
|
||||||
|
break;
|
||||||
|
case "android":
|
||||||
|
badges[i].setAttribute("title", "Android Platform");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Making projects descriptions multiline
|
||||||
|
var descriptions = document.getElementsByClassName("description");
|
||||||
|
for (var i = 0; i < descriptions.length; i++)
|
||||||
|
{
|
||||||
|
var desc = descriptions[i];
|
||||||
|
var text = desc.innerText;
|
||||||
|
desc.innerText = "";
|
||||||
|
desc.innerHTML = text;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Hello, World! - XFox111.NET</title>
|
||||||
|
<link rel="shortcut icon" href="/images/favicon.png" type="image/png" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="/css/style.css" />
|
||||||
|
<link rel="stylesheet" href="//d1azc1qln24ryf.cloudfront.net/114779/Socicon/style-cf.css?9ukd8d">
|
||||||
|
|
||||||
|
<script src="/js/site.js" type="text/javascript"></script>
|
||||||
|
|
||||||
|
<meta name="author" content="Michael 'XFox' Gordeev" />
|
||||||
|
<meta name="description" content="Hi, my name is Michael. I'm C# Developer and this is my personal website. Here you can find info about me, my projects and more. Check it out!" />
|
||||||
|
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:site_name" content="XFox111.NET" />
|
||||||
|
<meta property="og:url" content="//XFox111.NET/" />
|
||||||
|
<meta property="og:locale" content="en_US" />
|
||||||
|
<meta property="og:image" content="/images/me.png" />
|
||||||
|
<meta property="og:description" content="Hi, my name is Michael. I'm C# Developer and this is my personal website. Here you can find info about me, my projects and more. Check it out!" />
|
||||||
|
<meta property="og:title" content="Michael 'XFox' Gordeev - Personal website" />
|
||||||
|
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
</head>
|
||||||
|
<body onload="Init()">
|
||||||
|
<nav class="navbar">
|
||||||
|
<a href="/">XFox111.NET</a>
|
||||||
|
|
||||||
|
<menu type="toolbar" class="main-menu">
|
||||||
|
<li><a href="/about">AboutMe();</a></li>
|
||||||
|
<li><a href="/cv">CV();</a></li>
|
||||||
|
<li><a href="/projects">Projects();</a></li>
|
||||||
|
<li><a href="/arts">Arts();</a></li>
|
||||||
|
<li><a href="/contacts">Contacts();</a></li>
|
||||||
|
</menu>
|
||||||
|
|
||||||
|
<a class="language-switch" href="//ru.xfox111.net/" lang="ru">РУС </a>
|
||||||
|
<a class="menu-toggle" onclick="ToggleMenu();"></a>
|
||||||
|
|
||||||
|
<menu type="toolbar" id="compact-menu" style="display:none">
|
||||||
|
<li><a href="/about">AboutMe();</a></li>
|
||||||
|
<li><a href="/cv">CV();</a></li>
|
||||||
|
<li><a href="/projects">Projects();</a></li>
|
||||||
|
<li><a href="/arts">Arts();</a></li>
|
||||||
|
<li><a href="/contacts">Contacts();</a></li>
|
||||||
|
</menu>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<main id="renderBody"></main>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<span class="comment">// Copyright ©2019 <b>Michael "XFox" Gordeev</b></span>
|
||||||
|
|
||||||
|
<!--@{
|
||||||
|
foreach (Link link in new List<Link> { links["email"], links["linkedin"], links["github"] })
|
||||||
|
{
|
||||||
|
<a class="socicon-@(link.Socicon)" href="@(link.Url)" target="_blank" title="@(link.Title)"></a>
|
||||||
|
}
|
||||||
|
}-->
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||