Skip to content

Commit 4dd06f3

Browse files
committed
Template structure
0 parents  commit 4dd06f3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+9759
-0
lines changed

.babelrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"presets": ["poi/babel"],
3+
"plugins": ["react-hot-loader/babel"]
4+
}

.eslintrc.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"extends": "eslint-config-synacor",
3+
"parser": "typescript-eslint-parser",
4+
"plugins": ["typescript"],
5+
"rules": {
6+
"indent": ["error", 4],
7+
"comma-dangle": 0,
8+
"react/prefer-stateless-function": 0,
9+
"no-undef": 0,
10+
"no-unused-vars": 0,
11+
"react/jsx-indent-props": 0,
12+
"compat/compat": 0
13+
}
14+
}

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.DS_Store
2+
node_modules/
3+
build/
4+
.vscode/last.sql
5+
yarn-error.log
6+
.vscode/

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v12.14.1

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.PHONY: build
2+
3+
build:
4+
yarn build

README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
This is the Hamburg version of the pizza python site.
2+
3+
It has been edited by a frontend amateur surfer not a pro so .. I am adding some info not to forget.
4+
5+
# Things to change
6+
The template is pretty self explanatory, so main things for the future:
7+
8+
- speakers, sponsors and schedule data have to be added to [dataset](src/dataset.ts)
9+
- COC template definition to be edited in: [Coc](src/Components/Home/Sections/Coc.tsx )
10+
- CFP information can be added in: [home](src/Components/Home/Sections/Speakers.tsx)
11+
- link to ticket information to be added to: [header](src/Components/Header/index.tsx)
12+
13+
When having only *x* sponsors in the array please edit the CSS template for the [SponsorsShowcase](src/Components/SponsorsShowcase/index.css), by changing the elements last-child and first-child to have
14+
15+
```grid-template-columns: repeat(x, 1fr);```
16+
17+
The rest is all the media which goes in [assets](assets)
18+
19+
# How to run/compile the wesite
20+
21+
Besides installing ```npm``` and ```node``` also install ```yarn``` (using ```npm install -g yarn```).
22+
23+
For the first time you set up the project, run ```yarn``` to build all the files.
24+
25+
For running the site locally execute:
26+
27+
```$ yarn dev```

assets/bg.jpg

787 KB
Loading

assets/bg2.jpg

482 KB
Loading

assets/socials/facebook.png

1.35 KB
Loading

assets/socials/instagram.png

1.97 KB
Loading

assets/socials/twitter.png

2.03 KB
Loading

assets/speakers/.gitkeep

Whitespace-only changes.

assets/speakers/christianB.jpeg

58.9 KB
Loading

assets/speakers/ellenK.jpg

150 KB
Loading

assets/sponsors/.gitkeep

Whitespace-only changes.

assets/sponsors/PySVlogo.png

9.69 KB
Loading

assets/sponsors/SinnerS_black.jpg

17.7 KB
Loading
20.6 KB
Loading
11.2 KB
Loading
10.2 KB
Loading

assets/sponsors/yelp_fullcolor.png

4.9 KB
Loading

index.ejs

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<head>
5+
<!-- TODO: Change domain and name here -->
6+
7+
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
8+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
9+
<meta name="viewport" content="width=device-width, initial-scale=1" />
10+
<title>Python Pizza</title>
11+
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=2" />
12+
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=2" />
13+
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?v=2" />
14+
<link rel="manifest" href="/site.webmanifest" />
15+
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#ed4337" />
16+
<meta name="msapplication-TileColor" content="#ed4337" />
17+
<meta name="theme-color" content="#ed4337" />
18+
19+
<meta name="description" content="Python Pizza is a micro conference" />
20+
21+
<meta name="twitter:card" value="summary_large_image" />
22+
<meta property="og:title" content="Python Pizza" />
23+
<meta property="og:type" content="website" />
24+
<meta property="og:url" content="https://hamburg.python.pizza/" />
25+
<meta property="og:image" content="https://hamburg.python.pizza/social-image.jpg?v=2" />
26+
<meta property="og:image:width" content="1640" />
27+
<meta property="og:image:height" content="624" />
28+
<meta property="og:description" content="Python Pizza is a micro conference" />
29+
</head>
30+
31+
<body>
32+
<noscript>
33+
You need to enable JavaScript to run this app.
34+
</noscript>
35+
36+
<div id="app"></div>
37+
38+
<!-- Global site tag (gtag.js) - Google Analytics -->
39+
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-123182070-3"></script>
40+
<script type="text/javascript">
41+
window.dataLayer = window.dataLayer || [];
42+
43+
function gtag() {
44+
dataLayer.push(arguments);
45+
}
46+
gtag('js', new Date());
47+
48+
gtag('config', 'UA-123182070-3');
49+
</script>
50+
</body>
51+
52+
</html>

package.json

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
"name": "hamburg.python.pizza",
3+
"version": "2019",
4+
"main": "src/index.js",
5+
"license": "MIT",
6+
"scripts": {
7+
"dev": "poi --serve",
8+
"build": "poi --prod"
9+
},
10+
"devDependencies": {
11+
"@poi/plugin-typescript": "12.2.1",
12+
"@types/react": "16.9.18",
13+
"@types/react-dom": "16.9.5",
14+
"eslint": "^6.8.0",
15+
"eslint-config-synacor": "^3.0.5",
16+
"if-env": "^1.0.0",
17+
"poi": "12.7.5",
18+
"react-hot-loader": "4.12.18"
19+
},
20+
"dependencies": {
21+
"@types/classnames": "^2.2.9",
22+
"@types/smoothscroll-polyfill": "0.3.1",
23+
"classnames": "^2.2.5",
24+
"eslint-plugin-typescript": "0.14.0",
25+
"postcss-custom-media": "7.0.8",
26+
"postcss-nested": "4.2.1",
27+
"prettier": "^1.19.1",
28+
"raw-loader": "4.0.0",
29+
"react": "16.12.0",
30+
"react-dom": "16.12.0",
31+
"smoothscroll-polyfill": "0.4.4",
32+
"tslint": "6.0.0",
33+
"typescript": "3.7.5",
34+
"typescript-eslint-parser": "22.0.0",
35+
"yarn": "^1.21.1"
36+
}
37+
}

poi.config.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
module.exports = {
2+
entry: "src/index",
3+
output: {
4+
dir: "build/"
5+
},
6+
plugins: [
7+
{
8+
resolve: "@poi/plugin-typescript",
9+
options: {
10+
vue: false
11+
}
12+
}
13+
],
14+
configureWebpack(config, context) {
15+
config.resolve.extensions = [...config.resolve.extensions, ".tsx"];
16+
config.resolve.alias = {
17+
...config.resolve.alias,
18+
Assets: `${__dirname}/assets`
19+
};
20+
return config;
21+
}
22+
};

postcss.config.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module.exports = {
2+
plugins: {
3+
"postcss-nested": {},
4+
"postcss-custom-media": {
5+
importFrom: "./src/Components/App/breakpoints.css"
6+
}
7+
}
8+
};

src/Components/App/breakpoints.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@custom-media --mobile (min-width: 480px);
2+
@custom-media --tablet (min-width: 769px);
3+
@custom-media --laptop (min-width: 1025px);

src/Components/App/index.tsx

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import * as React from "react";
2+
3+
import * as smoothscroll from "smoothscroll-polyfill";
4+
5+
import Home from "@/Components/Home";
6+
import Header from "@/Components/Header";
7+
import Footer from "@/Components/Footer";
8+
9+
import "./reset.css";
10+
import "./theme.css";
11+
import "./typography.css";
12+
13+
smoothscroll.polyfill();
14+
15+
export default class App extends React.Component {
16+
componentWillMount() {
17+
if ("serviceWorker" in navigator) {
18+
navigator.serviceWorker.ready.then(registration => {
19+
registration.unregister();
20+
});
21+
}
22+
}
23+
24+
render() {
25+
return (
26+
<div>
27+
<Header />
28+
<Home />
29+
<Footer />
30+
</div>
31+
);
32+
}
33+
}

0 commit comments

Comments
 (0)