mirror of https://github.com/mkrhere/pw2
Muthu Kumar
3 years ago
29 changed files with 13734 additions and 16857 deletions
@ -0,0 +1,30 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
|
|||
<head> |
|||
<meta charset="utf-8" /> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1" /> |
|||
<meta name="description" content="Personal website of MKRhere" /> |
|||
|
|||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"> |
|||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"> |
|||
<link rel="icon" type="image/png" sizes="192x192" href="/favicon/android-chrome-192x192.png"> |
|||
<link rel="manifest" href="/favicon/site.webmanifest"> |
|||
<meta name="theme-color" content="#ff5555"> |
|||
<link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#5bbad5"> |
|||
<link rel="shortcut icon" href="/favicon/favicon.ico"> |
|||
<link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"> |
|||
<meta name="msapplication-config" content="/favicon/browserconfig.xml"> |
|||
<meta name="msapplication-TileColor" content="#ff5555"> |
|||
|
|||
<link rel="stylesheet" href="/fonts.css" /> |
|||
<title>MKRhere</title> |
|||
</head> |
|||
|
|||
<body> |
|||
<noscript>You need to enable JavaScript to run this app.</noscript> |
|||
<div id="root"></div> |
|||
<script type="module" src="/src/index.tsx"></script> |
|||
</body> |
|||
|
|||
</html> |
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -1,39 +0,0 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
|
|||
<head> |
|||
<meta charset="utf-8" /> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1" /> |
|||
<meta name="description" content="Personal website of MKRhere" /> |
|||
|
|||
<link rel="icon" type="image/png" sizes="16x16" href="%PUBLIC_URL%/favicon/favicon-16x16.png"> |
|||
<link rel="icon" type="image/png" sizes="32x32" href="%PUBLIC_URL%/favicon/favicon-32x32.png"> |
|||
<link rel="icon" type="image/png" sizes="192x192" href="%PUBLIC_URL%/favicon/android-chrome-192x192.png"> |
|||
<link rel="manifest" href="%PUBLIC_URL%/favicon/site.webmanifest"> |
|||
<meta name="theme-color" content="#ff5555"> |
|||
<link rel="mask-icon" href="%PUBLIC_URL%/favicon/safari-pinned-tab.svg" color="#5bbad5"> |
|||
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon/favicon.ico"> |
|||
<link rel="apple-touch-icon" sizes="180x180" href="%PUBLIC_URL%/favicon/apple-touch-icon.png"> |
|||
<meta name="msapplication-config" content="%PUBLIC_URL%/favicon/browserconfig.xml"> |
|||
<meta name="msapplication-TileColor" content="#ff5555"> |
|||
|
|||
<link rel="stylesheet" href="/fonts.css" /> |
|||
<title>MKRhere</title> |
|||
</head> |
|||
|
|||
<body> |
|||
<noscript>You need to enable JavaScript to run this app.</noscript> |
|||
<div id="root"></div> |
|||
<!-- |
|||
This HTML file is a template. |
|||
If you open it directly in the browser, you will see an empty page. |
|||
|
|||
You can add webfonts, meta tags, or analytics to this file. |
|||
The build step will place the bundled scripts into the <body> tag. |
|||
|
|||
To begin the development, run `npm start` or `yarn start`. |
|||
To create a production bundle, use `npm run build` or `yarn build`. |
|||
--> |
|||
</body> |
|||
|
|||
</html> |
@ -1,23 +0,0 @@ |
|||
import { Router } from "@reach/router"; |
|||
|
|||
import Home from "./pages/Home"; |
|||
import Exp from "./pages/Exp"; |
|||
import Projects from "./pages/Projects"; |
|||
import Contact from "./pages/Contact"; |
|||
|
|||
import NotFound from "./pages/404"; |
|||
|
|||
function App() { |
|||
return ( |
|||
<Router> |
|||
<Home path="/" /> |
|||
<Exp path="/experience" /> |
|||
<Projects path="/projects" /> |
|||
<Contact path="/contact" /> |
|||
|
|||
<NotFound path="*" /> |
|||
</Router> |
|||
); |
|||
} |
|||
|
|||
export default App; |
@ -0,0 +1,26 @@ |
|||
import React from "react"; |
|||
import { BrowserRouter as Router, Switch, Route } from "react-router-dom"; |
|||
|
|||
import Home from "./pages/Home"; |
|||
import Exp from "./pages/Exp"; |
|||
import Projects from "./pages/Projects"; |
|||
import Contact from "./pages/Contact"; |
|||
|
|||
import NotFound from "./pages/404"; |
|||
|
|||
function App() { |
|||
return ( |
|||
<Router> |
|||
<Switch> |
|||
<Route exact path="/" component={Home} /> |
|||
<Route exact path="/experience" component={Exp} /> |
|||
<Route exact path="/projects" component={Projects} /> |
|||
<Route exact path="/contact" component={Contact} /> |
|||
|
|||
<Route component={NotFound} /> |
|||
</Switch> |
|||
</Router> |
|||
); |
|||
} |
|||
|
|||
export default App; |
@ -1,11 +1,12 @@ |
|||
import React from "react"; |
|||
import { css } from "emotion"; |
|||
|
|||
const Dashed = props => ( |
|||
const Dashed: React.FunctionComponent = ({ children }) => ( |
|||
<span |
|||
className={css` |
|||
border-bottom: 1px dashed var(--text-color); |
|||
`}>
|
|||
{props.children} |
|||
{children} |
|||
</span> |
|||
); |
|||
|
@ -1,4 +1,5 @@ |
|||
import { Link } from "@reach/router"; |
|||
import React from "react"; |
|||
import { Link } from "react-router-dom"; |
|||
import Container from "../components/Container"; |
|||
|
|||
function Home() { |
@ -1,14 +0,0 @@ |
|||
export const getTimeout = () => { |
|||
const clearables = new Set(); |
|||
|
|||
const timeout = (f, t) => { |
|||
const self = clearables.add(setTimeout(() => (f(), clearables.delete(self)), t)); |
|||
}; |
|||
|
|||
const clearTimers = () => { |
|||
clearables.forEach(timer => clearTimeout(timer)); |
|||
clearables.clear(); |
|||
}; |
|||
|
|||
return [timeout, clearTimers]; |
|||
}; |
@ -0,0 +1,15 @@ |
|||
export const getTimeout = () => { |
|||
const clearables = new Set<number>(); |
|||
|
|||
const timeout = (f: (...attr: any[]) => any, t: number) => { |
|||
const self = setTimeout(() => (f(), clearables.delete(self)), t); |
|||
clearables.add(self); |
|||
}; |
|||
|
|||
const clearTimers = () => { |
|||
clearables.forEach(timer => clearTimeout(timer)); |
|||
clearables.clear(); |
|||
}; |
|||
|
|||
return [timeout, clearTimers] as const; |
|||
}; |
@ -0,0 +1,7 @@ |
|||
declare module "*.svg" { |
|||
import * as React from "react"; |
|||
|
|||
export const ReactComponent: React.FunctionComponent< |
|||
React.SVGProps<SVGSVGElement> & { title?: string; ref?: React.Ref<SVGSVGElement> | undefined } |
|||
>; |
|||
} |
@ -0,0 +1,19 @@ |
|||
{ |
|||
"compilerOptions": { |
|||
"target": "ESNext", |
|||
"lib": ["DOM", "DOM.Iterable", "ESNext"], |
|||
"types": ["vite/client"], |
|||
"skipLibCheck": false, |
|||
"esModuleInterop": false, |
|||
"allowSyntheticDefaultImports": true, |
|||
"strict": true, |
|||
"forceConsistentCasingInFileNames": true, |
|||
"module": "ESNext", |
|||
"moduleResolution": "Node", |
|||
"resolveJsonModule": true, |
|||
"isolatedModules": true, |
|||
"noEmit": true, |
|||
"jsx": "react" |
|||
}, |
|||
"include": ["./svg.d.ts", "./src"] |
|||
} |
@ -0,0 +1,27 @@ |
|||
import { defineConfig } from "vite"; |
|||
import reactRefresh from "@vitejs/plugin-react-refresh"; |
|||
import svgr from "@svgr/rollup"; |
|||
import reactJsx from "vite-react-jsx"; |
|||
|
|||
// https://vitejs.dev/config/
|
|||
export default defineConfig({ |
|||
server: { |
|||
port: 10000, |
|||
hmr: { |
|||
port: 10000, |
|||
}, |
|||
}, |
|||
plugins: [ |
|||
reactJsx(), |
|||
reactRefresh(), |
|||
Object.assign( |
|||
svgr({ |
|||
// memo: true,
|
|||
// icon: true,
|
|||
ref: true, |
|||
svgo: false, |
|||
}), |
|||
{ enforce: "pre" } as const, |
|||
), |
|||
], |
|||
}); |
Loading…
Reference in new issue