initial commit on branch develop
This commit is contained in:
parent
5807270825
commit
f170fa609e
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"name": "portfolio",
|
||||
"version": "1.0.0",
|
||||
"description": "portfolio",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"production": "webpack -p",
|
||||
"start": "webpack-dev-server"
|
||||
},
|
||||
"keywords": [
|
||||
"porfolio",
|
||||
"react"
|
||||
],
|
||||
"author": "Matúš Námešný",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"react": "^15.4.2",
|
||||
"react-dom": "^15.4.2",
|
||||
"react-router-dom": "^4.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-core": "^6.24.0",
|
||||
"babel-loader": "^6.4.1",
|
||||
"babel-preset-es2015": "^6.24.0",
|
||||
"babel-preset-react": "^6.23.0",
|
||||
"css-loader": "^0.28.0",
|
||||
"file-loader": "^0.11.1",
|
||||
"html-webpack-plugin": "^2.28.0",
|
||||
"json-loader": "^0.5.4",
|
||||
"node-sass": "^4.5.2",
|
||||
"sass-loader": "^6.0.3",
|
||||
"style-loader": "^0.16.1",
|
||||
"url-loader": "^0.5.8",
|
||||
"webpack": "^2.3.2",
|
||||
"webpack-dev-server": "^2.4.2"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
import React, {Component} from 'react';
|
||||
|
||||
export default class About extends Component{
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div className="content">
|
||||
<h1>About</h1>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
import React, {Component} from 'react';
|
||||
|
||||
export default class Blog extends Component {
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
render () {
|
||||
return (
|
||||
<div className="content">
|
||||
<h1>Hello</h1>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
import React, {Component, PropTypes} from 'react';
|
||||
import config from '../config/config.json';
|
||||
import {Link} from 'react-router-dom';
|
||||
|
||||
export default class Home extends Component {
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
render() {
|
||||
var socialLinks = [];
|
||||
var key = 0;
|
||||
for (var i in config.social) {
|
||||
socialLinks.push(
|
||||
<a key={key} href={config.social[i]}>
|
||||
<i className={"fa fa-" + i + " fa-3x"}></i>
|
||||
</a>
|
||||
);
|
||||
key++;
|
||||
};
|
||||
socialLinks.push(
|
||||
<a key={key} href={"mailto:" + config.email}><i className="fa fa-envelope-o fa-3x" aria-hidden="true"></i></a>
|
||||
)
|
||||
|
||||
return (
|
||||
<div id="cover-page" className={this.props.location.pathname == '/' ? "cover-page-full" : "cover-page-collapsed"}>
|
||||
<div id="cover-page-content">
|
||||
<div>
|
||||
<h1 id="cover-page-name"><Link to='/'>{ config.name }</Link></h1>
|
||||
</div>
|
||||
<div className="social">
|
||||
{socialLinks}
|
||||
</div>
|
||||
<div className="menu-links">
|
||||
<ul>
|
||||
<li><Link to='/about'>About</Link></li>
|
||||
<li><Link to='/blog'>Blog</Link></li>
|
||||
<li><Link to='/portfolio'>Portfolio</Link></li>
|
||||
<li><Link to='/resume'>Resume</Link></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
import React, {Component} from 'react';
|
||||
|
||||
export default class Portfolio extends Component{
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div className="content">
|
||||
<h1>Portfolio</h1>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
import React, {Component} from 'react';
|
||||
|
||||
export default class Resume extends Component{
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div className="content">
|
||||
<h1>Resume</h1>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
export { default as Home } from './Home';
|
||||
export { default as About} from './About';
|
||||
export { default as Blog} from './Blog';
|
||||
export { default as Portfolio} from './Portfolio';
|
||||
export { default as Resume} from './Resume';
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"baseURL": "",
|
||||
"title": "Matúš Námešný",
|
||||
"coverimage": "",
|
||||
"avatar": "https://pbs.twimg.com/profile_images/512708501840228352/MbawoT5E.jpeg",
|
||||
"description": "Hello",
|
||||
"name": "Matúš Námešný",
|
||||
"email": "matus@namesny.com",
|
||||
"social": {
|
||||
"github": "https://github.com/LordMathis",
|
||||
"twitter": "https://twitter.com/matus_n"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Portfolio</title>
|
||||
<!-- Google Fonts -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Inconsolata|Open+Sans|Roboto|Montserrat|Concert+One" rel="stylesheet">
|
||||
<!-- Font Awesome -->
|
||||
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
import React from 'react';
|
||||
import ReactDom from 'react-dom';
|
||||
import {HashRouter, Route, Switch} from 'react-router-dom';
|
||||
import {Home, About, Blog, Portfolio, Resume} from './components';
|
||||
import './static/stylesheets/main.scss';
|
||||
|
||||
ReactDom.render(
|
||||
<HashRouter>
|
||||
<div className="container">
|
||||
<Route component={Home}/>
|
||||
<Route exact path='/about' component={About} />
|
||||
<Route exact path='/blog' component={Blog} />
|
||||
<Route exact path='/portfolio' component={Portfolio} />
|
||||
<Route exact path='/resume' component={Resume} />
|
||||
</div>
|
||||
</HashRouter>,
|
||||
document.getElementById('app')
|
||||
);
|
Binary file not shown.
After Width: | Height: | Size: 2.1 MiB |
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Portfolio</title>
|
||||
<!-- Bootstrap -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
|
||||
<!-- Google Fonts -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Inconsolata|Open+Sans|Roboto|Montserrat|Concert+One" rel="stylesheet">
|
||||
<!-- Font Awesome -->
|
||||
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,109 @@
|
|||
$font-header: 'Concert One', cursive;
|
||||
$font-paragraph: 'Open Sans', sans-serif;
|
||||
$white: #fdfdfd;
|
||||
$black: #2f2f2f;
|
||||
$break-medium: 768px;
|
||||
$break-large: 1200px;
|
||||
|
||||
#cover-page {
|
||||
background: linear-gradient(140deg,rgba(68, 68, 68, 0.6) 20%, rgba(0, 0, 0, 0.9)), url(../images/background-cover.jpg) no-repeat center center fixed;
|
||||
-webkit-background-size: cover;
|
||||
-moz-background-size: cover;
|
||||
background-size: cover;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: $white;
|
||||
transition-property: width;
|
||||
transition-duration: 1s;
|
||||
-webkit-transition-property: width;
|
||||
-webkit-transition-duration: 1s;
|
||||
}
|
||||
|
||||
#cover-page.cover-page-full{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#cover-page.cover-page-collapsed {
|
||||
float: left;
|
||||
width: 320px;
|
||||
height: 100%;
|
||||
@media screen and (max-width: $break-medium) {
|
||||
width: 100%;
|
||||
float: none;
|
||||
}
|
||||
@media screen and (min-width: $break-large) {
|
||||
width: 500px;
|
||||
float: none;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: $font-paragraph;
|
||||
color: $black;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@for $i from 1 through 6 {
|
||||
h#{$i} {
|
||||
font-family: $font-header;
|
||||
}
|
||||
}
|
||||
|
||||
#cover-page-name {
|
||||
font-size: 5em;
|
||||
}
|
||||
|
||||
#cover-page-name a, #cover-page-name a:hover {
|
||||
color: $white;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.content {
|
||||
margin-left: 320px;
|
||||
@media screen and (max-width: $break-medium) {
|
||||
width: 100%;
|
||||
float: none;
|
||||
}
|
||||
@media screen and (min-width: $break-large) {
|
||||
margin-left: 500px;
|
||||
}
|
||||
}
|
||||
|
||||
.social {
|
||||
text-align: center;
|
||||
a {
|
||||
color: $white;
|
||||
display: inline-block;
|
||||
margin: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.menu-links ul{
|
||||
list-style: none;
|
||||
margin-left: 0;
|
||||
padding: 10px;
|
||||
li {
|
||||
display: inline-block;
|
||||
}
|
||||
li a {
|
||||
color: $white;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
font-size: 1.4em;
|
||||
border: 1px solid white;
|
||||
border-radius: 20px;
|
||||
padding: 2px;
|
||||
margin: 2px;
|
||||
width: initial;
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
var HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
var HtmlWebpackPluginConfig = new HtmlWebpackPlugin({
|
||||
template: __dirname + '/src/index.html',
|
||||
filename: 'index.html',
|
||||
inject: 'body'
|
||||
})
|
||||
|
||||
module.exports = {
|
||||
entry: [
|
||||
'./src/index.js'
|
||||
],
|
||||
output: {
|
||||
path: __dirname + '/dist',
|
||||
filename: "index_bundle.js"
|
||||
},
|
||||
module: {
|
||||
loaders: [
|
||||
{test: /\.js$/, exclude: /node_modules/, loader: "babel-loader"},
|
||||
{test: /\.json$/, exclude: /node_modules/, loader: 'json-loader' },
|
||||
{test: /\.(png|jpg)$/, exclude: /node_modules/, loader: 'url-loader'},
|
||||
{test: /\.scss$/,
|
||||
use: [{
|
||||
loader: "style-loader" // creates style nodes from JS strings
|
||||
}, {
|
||||
loader: "css-loader" // translates CSS into CommonJS
|
||||
}, {
|
||||
loader: "sass-loader" // compiles Sass to CSS
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
plugins: [HtmlWebpackPluginConfig]
|
||||
}
|
Loading…
Reference in New Issue