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"; |
import { css } from "emotion"; |
||||
|
|
||||
const Dashed = props => ( |
const Dashed: React.FunctionComponent = ({ children }) => ( |
||||
<span |
<span |
||||
className={css` |
className={css` |
||||
border-bottom: 1px dashed var(--text-color); |
border-bottom: 1px dashed var(--text-color); |
||||
`}>
|
`}>
|
||||
{props.children} |
{children} |
||||
</span> |
</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"; |
import Container from "../components/Container"; |
||||
|
|
||||
function Home() { |
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