[merge] dev and cfpMain

This commit is contained in:
mysper 2021-01-19 17:39:16 +08:00
commit 8abe7576db
102 changed files with 16413 additions and 0 deletions

3
.browserslistrc Normal file
View File

@ -0,0 +1,3 @@
> 1%
last 2 versions
not dead

27
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,27 @@
name: Release
on:
push:
branches: master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2.1.2
with:
node-version: '12.x'
- run: npm ci
- run: npm run build
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./dist

23
.gitignore vendored Normal file
View File

@ -0,0 +1,23 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

3
.gitkeep Normal file
View File

@ -0,0 +1,3 @@
template/
src/assets/image

24
README.md Normal file
View File

@ -0,0 +1,24 @@
# sitcon-2021
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Lints and fixes files
```
npm run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

5
babel.config.js Normal file
View File

@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}

12585
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

35
package.json Normal file
View File

@ -0,0 +1,35 @@
{
"name": "sitcon-2021",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build && cd dist && cp index.html news.html && cp index.html cfp.html",
"lint": "vue-cli-service lint"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.34",
"@fortawesome/free-brands-svg-icons": "^5.15.2",
"@fortawesome/vue-fontawesome": "^2.0.2",
"axios": "^0.21.1",
"core-js": "^3.6.5",
"markdown": "^0.5.0",
"vue": "^2.6.11",
"vue-class": "^2.0.1",
"vue-class-component": "^7.2.3",
"vue-property-decorator": "^9.1.2",
"vue-router": "^3.2.0",
"vuex": "^3.4.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-router": "~4.5.0",
"@vue/cli-plugin-typescript": "~4.5.0",
"@vue/cli-plugin-vuex": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"node-sass": "^4.12.0",
"sass-loader": "^8.0.2",
"typescript": "~3.9.3",
"vue-template-compiler": "^2.6.11"
}
}

BIN
public/OG-image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

27
public/index.html Normal file
View File

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta property="og:title" content="SITCON 2021 學生計算機年會 | Students' Information Technology Conference" />
<meta property="og:description" content="算盤的後裔" />
<meta property="og:url" content="https://sitcon.org/2021/" />
<meta property="og:image" content="<%= BASE_URL %>OG-image.png" />
<meta property="og:type" content="website" type="image/x-icon">
<meta property="og:site_name" content="SITCON 2021 學生計算機年會 | Students' Information Technology Conference" />
<link rel="icon" href="<%= BASE_URL %>sitcon-logo.png">
<title>SITCON 學生計算機年會 2021</title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

BIN
public/sitcon-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

22
src/App.vue Normal file
View File

@ -0,0 +1,22 @@
<template>
<div id="app">
<router-view/>
<Footer/>
</div>
</template>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
// components
import Footer from '@/components/Footer.vue';
@Component({
components: {
Footer
}
})
export default class App extends Vue {}
</script>
<style lang="scss">
@import "@/assets/scss/main.scss";
</style>

BIN
src/assets/image/2018.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

BIN
src/assets/image/2019.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

BIN
src/assets/image/2020.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="2010" height="2900" viewBox="0 0 2010 2900"><defs><style>.a{opacity:0.6;}.b{fill:#9ccaef;}.c{fill:#9cc3ef;}.d{fill:#fff;}</style></defs><g class="a" transform="translate(89)"><path class="b" d="M0,0H120L960,540,0,120Z"/><path class="b" d="M240,0H360L960,540h0Z"/><path class="b" d="M480,0H600L960,540h0Z"/><path class="b" d="M720,0H840L960,540h0Z"/><path class="b" d="M960,0h120L960,540h0Z"/><path class="b" d="M1200,0h120L960,540h0Z"/><path class="c" d="M1440,0h120L960,540h0Z"/><path class="c" d="M1680,0h120L960,540h0Z"/><path class="b" d="M960,540l960-420V240L960,540Z"/><path class="b" d="M0,240,960,540h0L0,360Z"/><path class="b" d="M960,540l960-180V480L960,540Z"/><path class="b" d="M0,480l960,60h0L0,600Z"/><path class="b" d="M960,540l960,60V720L960,540Z"/><path class="b" d="M0,720,960,540h0L0,840Z"/><path class="b" d="M960,540l960,300V960L960,540Z"/><path class="b" d="M0,960,960,540,0,1157V960Z"/><path class="b" d="M960,540h0L0,1404V1260Z"/><path class="b" d="M960,540h0L0,1981V1620Z"/><path class="b" d="M960,540h0L436,2900H-89Z"/><path class="b" d="M960,540h0l524,2360H960Z"/><path class="b" d="M960,540h0l960,1440v719Z"/><path class="b" d="M960,540h0l960,864v215Z"/><path class="b" d="M960,540h0l960,617,1,103Z"/><path class="d" d="M120,0H240L960,540h0Z"/><path class="d" d="M360,0H480L960,540h0Z"/><path class="d" d="M600,0H720L960,540h0Z"/><path class="d" d="M840,0H960V540h0Z"/><path class="d" d="M1080,0h120L960,540h0Z"/><path class="d" d="M1320,0h120L960,540h0Z"/><path class="d" d="M1560,0h120L960,540h0Z"/><path class="d" d="M1800,0h120V120L960,540Z"/><path class="d" d="M0,120,960,540h0L0,240Z"/><path class="d" d="M960,540l960-300V360L960,540Z"/><path class="d" d="M0,360,960,540h0L0,480Z"/><path class="d" d="M960,540l960-60V600L960,540Z"/><path class="d" d="M0,600l960-60h0L0,720Z"/><path class="d" d="M960,540l960,180V840L960,540Z"/><path class="d" d="M0,840,960,540h0L0,960Z"/><path class="d" d="M960,540h0L240,1080H120Z"/><path class="d" d="M960,540h0L480,1080H360Z"/><path class="d" d="M960,540h0L720,1080H600Z"/><path class="d" d="M960,540h0v540H840Z"/><path class="d" d="M960,540h0l240,540H1080Z"/><path class="d" d="M960,540h0l480,540H1320Z"/><path class="d" d="M960,540h0l720,540H1560Z"/><path class="d" d="M960,540l960,420v120H1800Z"/><circle class="d" cx="324.5" cy="324.5" r="324.5" transform="translate(637 216)"/></g></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="341.24" height="34.44" viewBox="0 0 341.24 34.44">
<path fill="#226bb4" d="M115.46 41.68l4.84-4.8V23.32l-4.04-3.52h-11.04v-2.16h14.2V8.28H97.78l-4.84 4.8V26l4.04 3.52h10.2v2.16H92.9v10zm12.08-33.52v33.56h13.92V8.16zm47.64.2h-26.92v11.56h6.84V41.6h13.24V19.92h6.84zm20.24 21.28V20.6h14.36V8.32h-22.4l-5.52 5.6V36.2l5.52 5.52h22.8V29.64zM221.94 8.2l-4.92 5.32v22.96l4.92 5.28h20.68l4.92-5.28V13.56l-4.92-5.36zm7.68 23.36V18.64h5.32v12.92zm43.32-23.04V19.8h-.88l-6.68-11.28h-10.6v33.04h11.84V30.24h.84l6.88 11.36h10.24V8.52zm60.92-1.04h-23.44v12.04h12.76v1.44l-13.12 13.16v7.68h27.28V31.12h-8.52v-.48l8.04-7.36V11.24zm11.28 29.96l4.64 4.48h19.28l4.68-4.48V12.36l-4.68-4.76h-19.28l-4.64 4.76zM357.1 18.8h4.68v12.16h-4.68zm48.24-11.32H381.9v12.04h12.76v1.44l-13.12 13.16v7.68h27.28V31.12h-8.52v-.48l8.04-7.36V11.24zm16.8.28l-5.84 5.44v7.96h3.28v20.48h14.56V7.76z" transform="translate(-92.9 -7.48)"/>
</svg>

After

Width:  |  Height:  |  Size: 954 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="368.34" height="56.46" viewBox="0 0 368.34 56.46">
<path fill="#226bb4" d="M91.6 10.62H80.5V8.58H65.86v2.04h-9.42V22.5H91.6zM55.18 38.1v2.88l-1.86-2.22V36.6h2.16V23.46h-2.16v-2.88l1.74-1.2V9.72H36.7v11.64H40v2.1h-3.48V36.6h3.06l-3.54 5.64v17.34h2.28L40 56.52v8.22h13.32V53.4h1.86v11.34H67.6V48.18h11.76v8.94l-1.32 1.14v-8.64h-9.12v12.6h5.82v2.52h17.4V38.1zm35.22-1.38V23.94H57.1v12.78zm-20.7-6.96h7.56v1.8H69.7zm4.86 27.3h-1.92v-2.1h1.92zm83.22-18.6h-7.92v-9.3h7.38V13.38h-7.38v-4.2h-13.5v4.2h-2.4v-3h-8.1l-2.94 5.76v13.02h8.7v9.3h-8.76v16.02h8.76v10.44h18.24V54.48h7.92zM101.8 23.1v20.58h3.3v21.06h16.02V9.6h-12.24zm97.56-3.72h-1.38V8.88h-8.1v10.5h-1.44V9.9h-4.92v17.76h20.64V9.9h-4.8zm22.5 26.52l1.8-3.36V11.4h-7.08V9.06h-7.98l-3.18 4.14v13.5h8.46v6l-2.4-4.26h-6.06V41.7l1.74 3.06-2.22 3.12v17.1h6.84l2.58-4.38 2.34 4.38h7.14V49.8zm-39.72-25.98V9.66h-8.82l-5.7 4.02v15.54h2.7zm-14.52 13.14V46.8h1.74v18.24h12.84V23.7h-2.58zm15.9 4.26h20.58V29.1h-20.58zm.18 9.06h4.14v1.56h-3.96v7.14h3.96v1.62h-4.2v8.16h19.98V56.7h-3.42v-1.62h3.36v-7.14h-3.36v-2.1l3.6-.84v-6.24h-20.1zm104.04-33.42l-.9-3.54h-13.26v3.54h-1.86V8.82h-20.16v4.14h-17.04V26.4h17.94v29.1l-1.62 1.8V43.62H238.9l-4.38 5.4v12.84h13.92v3.06h23.28V26.4h18.36V12.96zm-36.9 29.1V27.84h-15.96v8.88l4.08 5.34zm38.34-14.22h-15.9v14.22h11.82l4.08-5.34zm-15.9 15.78v18.24h16.2V49.02l-4.32-5.4zm82.14-30.42h-16.56V9.06H316.9v4.14h-16.26v42.96h16.26v8.76h21.96v-8.76h16.56zM315.7 27.72h3.6V42.3h-3.6zm24.36 14.58h-3.6V27.72h3.6zm44.22-31.32v34.74h14.52l5.58-7.44v-27.3zm.36 38.28v14.52h18.24V49.26z" transform="translate(-36.04 -8.58)"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="207.322" height="41.63" viewBox="0 0 207.322 41.63">
<path fill="#226bb4" d="M2.3 43.056l5.336 5.152h22.172l5.382-5.152V14.214L29.808 8.74H7.636L2.3 14.214zM16.054 21.62h5.382V35.6h-5.382zM48.9 48.07h28.15l4.508-4.324v-16.7L77.05 23H61.962v-2.622H80.73V8.648H48.99v24.564h17.986v2.806H48.9zm46.826-.97v2.3h9.384l12.6-39.33v-2.3h-9.38zM159.16 8.6H132.2v13.848h14.674V24.1L131.79 39.238v8.832h31.372V35.788h-9.8v-.552l9.246-8.464V12.926zm45.678.184h-23.414l-4.784 4.786v16.7l3.542 3.266h15.778V36.2h-18.4v11.96h26.082l5.98-5.612V13.57zm-15.18 15.136v-3.68h6.3v3.68z" transform="translate(-2.3 -7.774)"/>
</svg>

After

Width:  |  Height:  |  Size: 660 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="227.174" height="97.912" viewBox="0 0 227.174 97.912">
<path fill="#226bb4" d="M44.022 10.12h-12.7V6.946H14.49v3.174H2.024v32.936H14.49v6.716h16.836v-6.716h12.7zM13.57 21.252h2.76V32.43h-2.76zM32.246 32.43h-2.76V21.252h2.76zm58.282-4.186h-2.392v-18.17H76.774V6.716H61.318v3.358H50v18.17h-2.482v11.224h5.152l-3.772 5.2v4.968h14.95l4.14-9.062h2.576l4.186 9.062h14.9v-4.97l-3.772-5.2h4.646zm-29.486-7.176h2.346v7.176h-2.346zM77 28.244h-2.3v-7.176H77zm59.34-3.312h-1.472v-6.808h1.242V7.544h-25.25v10.58h1.656v6.808h-1.656v10.9h1.656l-1.61 9.246v4.692h10.212l1.334-13.938h1.886v13.894h10.534V35.834h1.472zM94.3 17.618h3.542v.23l-4.554 7.866V40.2h1.472v9.338h15.04V23.276h-3.174v-.184l3.174-5.474V8.05H94.3zm28.152 7.314v-6.808h1.886v6.808zm-19.642 16.56h-1.334V31.97h1.334zm75.118-2.53V30.5h-15.18v-1.658h-4.876l2.346-2.346v-7.452h1.38V26.5l2.714 2.714h17.02v-6.3h-10.58v-3.87h1.38v2.622h10.442V8.6H168.5V6.578h-15.41V8.6h-13.434v13.066h10.074v-2.622h1.38v3.864h-10.3v6.3h7.866V30.5h-7.916v9.29h4.554l-5.382 6.44v3.542h15.64l5.152-9.982h3.91v9.982h18.078v-10.81zm26.358-11.638H226.6v-4.6h1.61V8.51h-7.59V6.578h-11.182V8.51h-6.9v14.306h1.748zm-18.216 22.4h11.27V45.08h4.094V28.75l-1.472-2.3 1.472-3.22V7.728H186.07zm8.556-33.4v7.682h-1.288V16.33zm24.518 1.242V19h-8.05v-1.428zM224.3 38.5l-.828 1.84h-1.012v-3.08h5.75v-8.648h-25.626v8.648h2.208l-2.622 8.05v4.462h9.292l1.38-12.512h1.058v12.512h14.444V38.5zm-29.67-.644h-1.288v-7.22h1.288zM1.17 104.31H9.3l5.19-9.57h1.02l5.34 9.57h8.04v-6.18l-8.7-11.37V76.74H9.51v10.02L1.17 98.13zm49.14-26.28v-1.74H39.63v1.74h-8.49v8.49h27.69v-8.49zm7.53 13.92v-4.68h-9.66l-3.15 3.6-3.18-3.6h-9.66v4.68l3.36 3.18-4.26 3.39v5.88h9.03l4.71-4.59 4.68 4.59h9.03v-5.88l-4.26-3.39zm27.24 3.87v-7.26h3.21v-8.07h-3.21v-4.02h-9v4.02h-3.12v8.07h3.12v7.26h-3.66v8.34h16.47v-8.34zm-14.97-19.2H63v1.53h-1.71v6.72h3.24v.21l-3.48 3.3v10.74h1.32v5.34h8.1v-5.34h1.14v-9.36l-1.14-.96 1.59-1.47v-9.18h-1.95zm49.17 3.18l-8.46-3.54H99.21l-8.43 3.54v6.87h.78v7.17h26.88v-7.17h.84zm-13.35 1.65l1.65.63h-5.13l1.65-.63zm-9.6 3.51l2.73-1.14v.51h11.85v-.54l2.79 1.17zm1.89 3.09h4.29v2.7h-.6v-2.22h-3.09v1.56l.6.66h-1.2zm13.47 2.7h-1.2l.63-.66v-1.56H108v2.22h-.57v-2.7h4.26zm-19.62 13.62h25.89V94.5H92.07zm17.76-6.87v.66h-9.54v-.66zm-9.54 3.75v-.63h9.54v.63zm31.8-18.45l1.8-1.02v-4.92h-12.36v6.33h2.76v1.17h-3v6.63h2.67l-2.88 2.91v8.34h1.8l1.41-1.74v3.87h7.8v-4.05h1.77v-5.88l-1.77-2.07v-1.38h1.83v-6.63h-1.83zm17.01 9.72h-.81V76.86h-7.44v17.46l-.63.21v-6.54l-5.01-2.04h-.6v8.43l3 1.11-3.06 1.11v6.93h1.83l3.06-1.02v1.98h8.85v-4.92l.81-.27zm-8.88-5.49v-7.62l-4.65-1.98h-.96v7.53l4.98 2.07zm24.81-6.18l1.26.72h2.19v-1.98l-.87-.48.87-.45v-1.95h-2.19l-1.26.69-1.26-.69h-2.19v1.95l.87.45-.87.48v1.98h2.19zm12.21 13.05h1.83v-6.27h-.66V76.86h-9.45v4.44h2.82v.6h-2.73v2.31h2.73v.57h-2.73v2.25h2.73v.6h-13.47v-.6h2.76v-2.25h-2.76v-.57h2.76V81.9h-2.76v-.6h.99l1.77-.48v-3.96h-9.36v10.77h-.66v6.33h1.32v2.1h12.03v.15l-1.29.48H151.2v4.71h9.45v.12l-2.28 1.29v1.59h12.18v-3h8.31v-4.71h-4.32l2.7-1.14zm-12.21-7.5l1.26.72h2.19v-1.98l-.9-.48.9-.51v-2.07h-2.19l-1.26.69-1.26-.69h-2.19v2.07l.9.51-.9.48v1.98h2.19zm-7.29 6.18v-.63h14.79v.63zm50.43.99v-6.96h.9v-9.06h-4.44v-1.26h-6.99v1.26h-4.41v7.62h-4.02v-1.32l.93.72h2.46v-5.61l-3.78-2.46h-4.14l-3.78 2.46v5.61h2.52l.96-.75v1.35h-3.09v19.29h6.12l1.11-1.44 1.23 1.41h3.54v-6.72h-5.31v1.11h-.99v-1.83h6.3V86.61h.75v17.79h14.43v-9.99h-8.52v-.84zM187.29 82.5l.96.66h-3.03l.9-.66zm15.69 1.05v.84h-4.02v-.84zm-.69 6.18h-2.34v-1.02h2.34zm-16.05-.81h2.52v.78h-2.52zm0 4.02v-.84h2.52v.84zm16.35 5.34v1.08h-2.64v-1.08z" transform="translate(-1.17 -6.578)"/>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="188.324" height="43.194" viewBox="0 0 188.324 43.194">
<path fill="#226bb4" d="M-52.992-29.808v-8.924h-24.15v9.706H-78.2v-6.3h-1.748v-3.4h-11.546v3.4h-1.886v11.04h1.886v6.854l-2.208.368v11.636h2.208v2.944L-93.38-.276V3.68h13.432V-7.406l1.656-.322v-11.684h-1.656v-4.876h1.1v3.68h10.58l2.346-2.024v-6.21h1.334v6.21l2.484 2.024h11.224v-9.2zm.966 23.414V-19.6H-77.05v7.682h13.75v1.656l-1.38 1.15-2.53-1.794H-77v5.474l1.7 1.38-3.5 2.392v5.432h10.95l3.036-2.438 3.4 2.438h9.89v-5.8l-2.944-2.208zM-2.99-37.858h-8.51v-1.564h-11.224v1.564h-7.222v9.108H-2.99zM-30.912-16.79v2.208l-1.426-1.7v-1.658h1.656v-10.074h-1.656v-2.208l1.334-.92v-7.406H-45.08v8.924h2.53v1.61h-2.668v10.074h2.346l-2.714 4.324V-.322h1.748l1.288-2.346v6.3h10.212V-5.06h1.426v8.694h9.522v-12.7h9.016v6.854l-1.012.874v-6.62h-6.992V1.7h4.462v1.934h13.34V-16.79zm27-1.058v-9.8H-29.44v9.8zm-15.87-5.336h5.8v1.38h-5.8zm3.726 20.93h-1.472v-1.61h1.472zm55.66-24.61h2.438l3.036-2.254v-8.924H30.452v-1.288h-9.66l-4.784 3.358v9.108h2.76l3.588-2.392v1.334l-6.3 4.048v3.588h11.36l2.484-2.438h.874l2.53 2.438h12.052v-4zM14.95-38.594H3.174v8.648H14.95zm9.062 8.234l1.426-.966h9.982v.966zm-9.062 1.472H7.084l-3.91 2.76v5.842H14.95zM44.482-1.242v-17.986H4v17.986h2.486l-3.312 2.53v2.438h16.238l2.53-2.9h4.508l2.53 2.9h16.238V1.288l-3.312-2.53zM31.832-13.57v1.058H16.146v-1.058zm0 5.106H16.146v-1.012h15.686zm-15.686 2.9h15.686v1.058H16.146zm48.3-33.488H54.28v1.84h-2.944v10.35H67.39v-10.35h-2.944zm28.29 28.612v-28.108H68.448V-26.5h1.472v5.106h-1.748v10.718h1.748v14.4h9.936v-14.4h2.116v9.89l3.45 4.462h9.2v-14.118zm-12.88-10.95v-5.11h2.116v5.106zm-12.7-4.416H51.52v6.67h15.64zM51.52-11.684h15.64v-6.394H51.52zm-.138 15.272h15.87v-14.122h-15.87zm6.67-7.82H60.4v1.7h-2.348z" transform="translate(93.702 39.422)"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="244.23" height="28.26" viewBox="0 0 244.23 28.26">
<path fill="#226bb4" d="M167.03 8.85l1.26.72h2.19V7.59l-.87-.48.87-.45V4.71h-2.19l-1.26.69-1.26-.69h-2.19v1.95l.87.45-.87.48v1.98h2.19zm12.21 13.05h1.83v-6.27h-.66V4.86h-9.45V9.3h2.82v.6h-2.73v2.31h2.73v.57h-2.73v2.25h2.73v.6h-13.47v-.6h2.76v-2.25h-2.76v-.57h2.76V9.9h-2.76v-.6h.99l1.77-.48V4.86h-9.36v10.77h-.66v6.33h1.32v2.1h12.03v.15l-1.29.48H153.2v4.71h9.45v.12l-2.28 1.29v1.59h12.18v-3h8.31v-4.71h-4.32l2.7-1.14zm-12.21-7.5l1.26.72h2.19v-1.98l-.9-.48.9-.51v-2.07h-2.19l-1.26.69-1.26-.69h-2.19v2.07l.9.51-.9.48v1.98h2.19zm-7.29 6.18v-.63h14.79v.63zm49.02 4.29v-2.22h7.53v-6.51h-7.53v-2.01h7.95V6.87h-7.95V4.29h-9.75v2.58h-1.65V5.22h-5.61l-2.55 3.45v5.46h8.79v2.01h-8.16v6.51h8.16v2.22h-8.7v7.32h27.6v-7.32zM235.4 4.53h-7.77v1.2h-2.4v6.75h12.75V5.73h-2.58zm17.79 7.2h-2.76V4.56h-9.15v7.17h-2.58v9.18h2.58v11.55h9.15V20.91h2.76zm-15.42 1.44h-12.36v4.35h12.36zm-12.36 9.21h12.36v-4.17h-12.36zm-.12 9.96h12.66v-9.21h-12.66zm5.16-5.1h2.25v1.11h-2.25zm36.3-16.26l1.17 1.53h6.18v-1.26l-1.38-1.41h1.68v-4.5h-5.04v-.75h-5.91l-2.37 3.57v4.35h4.71zm14.22-.03l1.2 1.56h6.39v-1.29l-1.35-1.38h1.65v-4.5h-5.34v-.75h-6.15L275 8.16v4.35h4.95zm8.07 14.28h-3.21v-.72h2.61V13.17h-26.76v11.34h3.09v.72h-3.72v4.89h2.67l-.51 1.08v1.17h9.33l.66-2.25h3.6v2.22h9.03v-2.22h3.21zm-8.91-8.94v.63h-10.14v-.63zm0 2.97h-10.14v-.69h10.14zm-10.14 2.34v-.63h10.14v.63zm3.78 3.63v-.72h3.03v.72zm49.98 2.76l.99-1.29v-2.94h-3.9l-.48.57-.78-1.23h5.16v-5.46h-.69l-.15-.66h.63v-3.36h-1.26v-.15l1.26-1.77V9.03h-1.26v-.15l1.26-1.77V4.95h-3.6l-1.8 2.55V4.47h-5.82v13.17h-6.51v8.73l-1.02 2.37v3.66h4.71l.69-1.56.75 1.05h1.23v-5.61l-.69-1.23v-1.44h.81v1.14l1.8 2.79-1.35 1.86v2.97h4.2l.96-1.23.99 1.38h5.1v-2.73zm-17.7-2.22v-8.88l-.96-1.32v-1.11h1.05V6.99h-1.05V4.65h-6.15v2.34h-1.71v7.47h1.59l-1.8 3.51v11.52h1.23l.69-1.56v4.44h6.15v-6.6zm6.66-12.15h-1.26v-.15l1.26-1.77V9.03h-1.26v-.15l1.26-1.77V4.95h-4.02l-1.92 2.79v3.84h1.08v.09l-1.08 1.53v3.78h5.94zm7.32-2.04v.09l-.9 1.26v-1.35zm-.9 5.4h1.05v.66h-1.05zm41.76 5.58h-6.96v-1.59h6.15v-6.51h-6.15v-1.35h6.54V5.94H343.7V4.68h-7.02l-2.91 3.87v4.56h10.35v1.35h-9.42v8.1h-1.59v7.11h11.01v2.79h9.81v-2.79h6.96zm-18.75 0v-1.59h1.98v1.59zM397.28 7.8l-8.46-3.54h-11.61l-8.43 3.54v6.87h.78v7.17h26.88v-7.17h.84zm-13.35 1.65l1.65.63h-5.13l1.65-.63zm-9.6 3.51l2.73-1.14v.51h11.85v-.54l2.79 1.17zm1.89 3.09h4.29v2.7h-.6v-2.22h-3.09v1.56l.6.66h-1.2zm13.47 2.7h-1.2l.63-.66v-1.56H386v2.22h-.57v-2.7h4.26zm-19.62 13.62h25.89V22.5h-25.89zm17.76-6.87v.66h-9.54v-.66zm-9.54 3.75v-.63h9.54v.63z" transform="translate(-153.05 -4.26)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="515.34" height="84.51" viewBox="0 0 515.34 84.51">
<path fill="#226bb4" d="M34.25 32.94l3.51 4.59H56.3v-3.78l-4.14-4.23h5.04v-13.5H42.08v-2.25H24.35l-7.11 10.71v13.05h14.13zm42.66-.09l3.6 4.68h19.17v-3.87l-4.05-4.14h4.95v-13.5H84.56v-2.25H66.11L59 24.48v13.05h14.85zm24.21 42.84h-9.63v-2.16h7.83V39.51H19.04v34.02h9.27v2.16H17.15v14.67h8.01l-1.53 3.24v3.51h27.99l1.98-6.75h10.8v6.66h27.09v-6.66h9.63zM74.39 48.87v1.89H43.97v-1.89zm0 8.91H43.97v-2.07h30.42zM43.97 64.8v-1.89h30.42v1.89zm11.34 10.89v-2.16h9.09v2.16zm72-12.24h15.39V58.5l2.61 2.7h4.32v2.25h17.01V16.47h-12.33v-3.06h-20.07l-6.93 7.65v16.2h-2.16v16.29h2.16zm59.85-31.05v-3.78h1.98v3.78l2.52 3.33h16.74V20.97h-3.42v-7.2h-33.75v6.57h-2.7v15.39h15.84zm-37.53-4.23v3.6l-1.8-2.07h-5.13v-1.53zm0 12.06h-6.93v-4.05l2.34 2.43h4.59zm40.5 8.37l-2.52 1.44-2.43-1.35h-16.29v4.95l2.88 1.71-3.24 1.8v6.21h16.2l3.33-2.79 3.69 2.79h17.1v-6.75l-4.23-2.43 3.06-2.07V37.26h-39.24v9.99h21.69zm-42.3 3.51h-5.13v-1.53h6.93v3.15zm59.04 27.99V65.25H127.4V80.1h-2.34v17.19h84.06V80.1zm-54.36-2.25v5.67h-3.06v-5.67zm16.02 5.67h-3.15v-5.67h3.15zm16.2 0h-3.15v-5.67h3.15zm76.77-69.93h-20.25l-7.83 10.53v72.63h39.69V21.24H261.5zm40.23 4.32v-4.32h-19.26l-6.57 9v19.44h16.92v34.11l-13.32 9v11.97h36.9v-79.2zm-45.72 24.84v9.72h-4.77v-9.72zm34.11 33.12V45h-13.86v24.75l4.68 6.12zm-38.88 2.79V68.58h4.77v10.08zm169.11-.9l3.51-3.96V56.61h-35.01v-1.89h35.55V28.26h-7.74l-11.07 10.26h-2.88l18.36-16.92v-6.21h-17.73l-14.58 13.5h-2.88l10.98-10.17V14.4h-20.43l-8.55 7.92v15.3h6.03l-6.03 5.49v11.61h4.23l-4.23 4.32v23.31h3.06l4.41-4.14 1.8 1.71-9.36 8.73v8.55H392l5.49-6.12 6.48 6.12h20.97V81.81zm-54.63-47.34V14.76h-15.93l-9.36 7.38v26.01h3.69zm-25.29 23.4V74.7h3.24v22.86h22.14V38.79h-7.02zm53.19 16.47h9.09v.36l-4.23 4.23-4.86-4.32zm112.23-53.55v-3.69h-29.7v3.69h-26.82v14.85h8.91l-8.19 4.5v15.75h11.79l5.85-5.31v5.31h30.51l3.96-2.97 3.69 2.97h25.74v-8.19l-5.67-3.6 3.96-3.06v-3.51H497.3l-4.32 3.42v-5.31h39.51V16.74zm-55.89 80.37h23.13V69.3h5.76v1.98h-3.6v6.48h14.67V69.3h2.16v8.46h15.21v-6.48h-3.6V69.3h5.76v15.3l-1.98 1.26v-6.03h-32.22v14.31h25.56v2.97h31.05V53.82h-81.9zm44.73-8.91h-6.66v-2.25h6.66z" transform="translate(-17.15 -13.05)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="295.744" height="428.391" viewBox="0 0 295.744 428.391"><defs><style>.a{fill:#9ccaef;}.b{clip-path:url(#a);}</style><clipPath id="a"><rect class="a" width="295.744" height="428.391"/></clipPath></defs><g class="b"><path class="a" d="M63.245,13.293C88.182-5.768,117.8,1.27,117.8,1.27s-4.948,35.411-29.879,54.479S27.52,70.3,27.52,70.3A306.526,306.526,0,0,0,42.954,43.412c4.524-8.882,11.1-23.081,20.29-30.119" transform="translate(141.638 0.002)"/><path class="a" d="M44.93,12.055c-11.648-8.9-25.478-5.618-25.478-5.618s2.311,16.541,13.953,25.441,28.214,6.8,28.214,6.8-3.6-5.464-7.216-12.558c-2.108-4.155-5.182-10.788-9.472-14.07" transform="translate(100.114 30.087)"/><path class="a" d="M33.481,64.818c3.411,0,6.811.148,10.21.375C40.654,47.072,41.256,28.2,50.562,12c-16.3,13.123-24.224,33.217-28.336,53.274,3.743-.27,7.5-.455,11.255-.455" transform="translate(114.391 61.756)"/><path class="a" d="M147.872,21.579A147.875,147.875,0,1,0,295.75,169.451,147.875,147.875,0,0,0,147.872,21.579m60.422,208.294-60.422-41.583L87.456,229.873l41.577-60.422L87.456,109.035l60.416,41.583,60.422-41.583-41.589,60.416Z" transform="translate(0 111.061)"/></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="2010" height="2900" viewBox="0 0 2010 2900"><defs><style>.a{opacity:0.6;}.b{fill:#9ccaef;}.c{fill:#9cc3ef;}.d{fill:#fff;}</style></defs><g class="a" transform="translate(89)"><path class="b" d="M0,0H120L960,540,0,120Z"/><path class="b" d="M240,0H360L960,540h0Z"/><path class="b" d="M480,0H600L960,540h0Z"/><path class="b" d="M720,0H840L960,540h0Z"/><path class="b" d="M960,0h120L960,540h0Z"/><path class="b" d="M1200,0h120L960,540h0Z"/><path class="c" d="M1440,0h120L960,540h0Z"/><path class="c" d="M1680,0h120L960,540h0Z"/><path class="b" d="M960,540l960-420V240L960,540Z"/><path class="b" d="M0,240,960,540h0L0,360Z"/><path class="b" d="M960,540l960-180V480L960,540Z"/><path class="b" d="M0,480l960,60h0L0,600Z"/><path class="b" d="M960,540l960,60V720L960,540Z"/><path class="b" d="M0,720,960,540h0L0,840Z"/><path class="b" d="M960,540l960,300V960L960,540Z"/><path class="b" d="M0,960,960,540,0,1157V960Z"/><path class="b" d="M960,540h0L0,1404V1260Z"/><path class="b" d="M960,540h0L0,1981V1620Z"/><path class="b" d="M960,540h0L436,2900H-89Z"/><path class="b" d="M960,540h0l524,2360H960Z"/><path class="b" d="M960,540h0l960,1440v719Z"/><path class="b" d="M960,540h0l960,864v215Z"/><path class="b" d="M960,540h0l960,617,1,103Z"/><path class="d" d="M120,0H240L960,540h0Z"/><path class="d" d="M360,0H480L960,540h0Z"/><path class="d" d="M600,0H720L960,540h0Z"/><path class="d" d="M840,0H960V540h0Z"/><path class="d" d="M1080,0h120L960,540h0Z"/><path class="d" d="M1320,0h120L960,540h0Z"/><path class="d" d="M1560,0h120L960,540h0Z"/><path class="d" d="M1800,0h120V120L960,540Z"/><path class="d" d="M0,120,960,540h0L0,240Z"/><path class="d" d="M960,540l960-300V360L960,540Z"/><path class="d" d="M0,360,960,540h0L0,480Z"/><path class="d" d="M960,540l960-60V600L960,540Z"/><path class="d" d="M0,600l960-60h0L0,720Z"/><path class="d" d="M960,540l960,180V840L960,540Z"/><path class="d" d="M0,840,960,540h0L0,960Z"/><path class="d" d="M960,540h0L240,1080H120Z"/><path class="d" d="M960,540h0L480,1080H360Z"/><path class="d" d="M960,540h0L720,1080H600Z"/><path class="d" d="M960,540h0v540H840Z"/><path class="d" d="M960,540h0l240,540H1080Z"/><path class="d" d="M960,540h0l480,540H1320Z"/><path class="d" d="M960,540h0l720,540H1560Z"/><path class="d" d="M960,540l960,420v120H1800Z"/></g></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="649" height="649" viewBox="0 0 649 649"><defs><style>.a{fill:#fff;}</style></defs><circle class="a" cx="324.5" cy="324.5" r="324.5"/></svg>

After

Width:  |  Height:  |  Size: 186 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="295.744" height="428.391" viewBox="0 0 295.744 428.391"><defs><style>.a{fill:#9ccaef;}.b{clip-path:url(#a);}</style><clipPath id="a"><rect class="a" width="295.744" height="428.391"/></clipPath></defs><g class="b"><path class="a" d="M63.245,13.293C88.182-5.768,117.8,1.27,117.8,1.27s-4.948,35.411-29.879,54.479S27.52,70.3,27.52,70.3A306.526,306.526,0,0,0,42.954,43.412c4.524-8.882,11.1-23.081,20.29-30.119" transform="translate(141.638 0.002)"/><path class="a" d="M44.93,12.055c-11.648-8.9-25.478-5.618-25.478-5.618s2.311,16.541,13.953,25.441,28.214,6.8,28.214,6.8-3.6-5.464-7.216-12.558c-2.108-4.155-5.182-10.788-9.472-14.07" transform="translate(100.114 30.087)"/><path class="a" d="M33.481,64.818c3.411,0,6.811.148,10.21.375C40.654,47.072,41.256,28.2,50.562,12c-16.3,13.123-24.224,33.217-28.336,53.274,3.743-.27,7.5-.455,11.255-.455" transform="translate(114.391 61.756)"/><path class="a" d="M147.872,21.579A147.875,147.875,0,1,0,295.75,169.451,147.875,147.875,0,0,0,147.872,21.579m60.422,208.294-60.422-41.583L87.456,229.873l41.577-60.422L87.456,109.035l60.416,41.583,60.422-41.583-41.589,60.416Z" transform="translate(0 111.061)"/></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="111.949" height="162.16" viewBox="0 0 111.949 162.16"><defs><style>.a{fill:#9ccaef;}.b{clip-path:url(#a);}</style><clipPath id="a"><rect class="a" width="111.949" height="162.16"/></clipPath></defs><g transform="translate(-8.473 -200)"><g class="b" transform="translate(8.473 200)"><path class="a" d="M41.043,5.032C50.483-2.183,61.7.481,61.7.481s-1.873,13.4-11.31,20.622-22.865,5.51-22.865,5.51a116.031,116.031,0,0,0,5.842-10.18c1.712-3.362,4.2-8.737,7.681-11.4" transform="translate(36.512 0.001)"/><path class="a" d="M29.1,8.2A12.445,12.445,0,0,0,19.452,6.07s.875,6.261,5.282,9.63,10.68,2.576,10.68,2.576-1.363-2.068-2.732-4.754c-.8-1.573-1.961-4.083-3.586-5.326" transform="translate(25.808 7.756)"/><path class="a" d="M26.486,31.993c1.291,0,2.578.056,3.865.142-1.149-6.859-.921-14,2.6-20.136-6.168,4.968-9.17,12.574-10.726,20.166,1.417-.1,2.839-.172,4.26-.172" transform="translate(29.488 15.92)"/><path class="a" d="M55.975,21.579a55.976,55.976,0,1,0,55.977,55.975A55.975,55.975,0,0,0,55.975,21.579m22.872,78.846L55.975,84.685,33.1,100.425,48.843,77.554,33.1,54.684l22.87,15.74,22.872-15.74L63.1,77.554Z" transform="translate(0 28.63)"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="422.57" height="1273.466" viewBox="0 0 422.57 1273.466"><defs><style>.a{opacity:0.6;}.b{fill:#9ccaef;}.c{fill:#fff;}</style></defs><g class="a" transform="translate(17 157.5)"><path class="b" d="M0,279.585V210.5L207.255,486.84,0,331.4Z" transform="translate(-10.475 -226.76)"/><path class="c" d="M135,390.5h51.814L290.441,597.755h0Z" transform="translate(-93.662 -337.675)"/><path class="b" d="M75-.5h89.043l89.427,357.323h0Z" transform="translate(-56.69 -96.743)"/><path class="c" d="M405,390.5h51.814V597.755h0Z" transform="translate(-260.034 -337.675)"/><path class="b" d="M540-.5h89.427L540,356.823h0Z" transform="translate(-343.22 -96.743)"/><path class="c" d="M591.814,390.5h51.814L540,597.755h0Z" transform="translate(-343.22 -337.675)"/><path class="b" d="M748.79-157.5V-18.562L540,260.08h0Z" transform="translate(-343.22)"/><path class="c" d="M695.441,390.5h51.814v51.814L540,597.755Z" transform="translate(-343.22 -337.675)"/><path class="c" d="M0,525.5,207.255,680.941h0L0,577.314Z" transform="translate(-10.475 -420.861)"/><path class="b" d="M540,680.941,747.255,525.5v51.814L540,680.941Z" transform="translate(-343.22 -420.861)"/><path class="b" d="M0,660.5,207.255,764.127h0L0,712.314Z" transform="translate(-10.475 -504.047)"/><path class="c" d="M540,764.127,747.255,660.5v51.814L540,764.127Z" transform="translate(-343.22 -504.047)"/><path class="c" d="M0,795.5l207.255,51.814H0Z" transform="translate(-10.475 -587.234)"/><path class="b" d="M540,847.314,747.255,795.5v51.814Z" transform="translate(-343.22 -587.234)"/><path class="b" d="M0,930.5H207.255L0,982.314Z" transform="translate(-10.475 -670.42)"/><path class="c" d="M540,930.5H747.255v51.814L540,930.5Z" transform="translate(-343.22 -670.42)"/><path class="c" d="M0,982.314,207.255,930.5h0L0,1034.128Z" transform="translate(-10.475 -670.42)"/><path class="b" d="M540,930.5l207.255,51.814v51.814L540,930.5Z" transform="translate(-343.22 -670.42)"/><path class="b" d="M0,1034.128,207.255,930.5h0L0,1085.941Z" transform="translate(-10.475 -670.42)"/><path class="c" d="M540,930.5l207.255,103.628v51.814L540,930.5Z" transform="translate(-343.22 -670.42)"/><path class="c" d="M0,1085.941,207.255,930.5,51.814,1137.755H0Z" transform="translate(-10.475 -670.42)"/><path class="b" d="M207.255,930.5h0L0,1345.01V1206.84Z" transform="translate(-10.475 -670.42)"/><path class="c" d="M373.627,930.5h0l-51.814,207.255H270Z" transform="translate(-176.848 -670.42)"/><path class="b" d="M196.78,930.5h0v855.886H-17Z" transform="translate(0 -670.42)"/><path class="c" d="M540,930.5h0l51.814,207.255H540Z" transform="translate(-343.22 -670.42)"/><path class="b" d="M540,930.5h0l207.255,414.51v414.51Z" transform="translate(-343.22 -670.42)"/><path class="c" d="M540,930.5h0l155.441,207.255H643.627Z" transform="translate(-343.22 -670.42)"/><path class="b" d="M540,930.5l207.255,155.441v120.9Z" transform="translate(-343.22 -670.42)"/></g></svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="274.848" height="45.072" viewBox="0 0 274.848 45.072"><defs><style>.a{fill:#226bb4;}</style></defs><path class="a" d="M38.1,17.568l1.872,2.448H49.86V18l-2.208-2.256H50.34v-7.2H42.276v-1.2H32.82l-3.792,5.712v6.96h7.536Zm22.752-.048,1.92,2.5H73V17.952l-2.16-2.208h2.64v-7.2H64.932v-1.2h-9.84L51.3,13.056v6.96h7.92ZM73.764,40.368H68.628V39.216H72.8V21.072H29.988V39.216h4.944v1.152H28.98v7.824h4.272l-.816,1.728v1.872H47.364l1.056-3.6h5.76v3.552H68.628V48.192h5.136Zm-14.256-14.3v1.008H43.284V26.064Zm0,4.752H43.284v-1.1H59.508ZM43.284,34.56V33.552H59.508V34.56Zm6.048,5.808V39.216H54.18v1.152Zm38.4-6.528H95.94V31.2l1.392,1.44h2.3v1.2h9.072V8.784h-6.576V7.152h-10.7l-3.7,4.08v8.64H86.58V28.56h1.152Zm31.92-16.56V15.264h1.056V17.28l1.344,1.776h8.928V11.184h-1.824V7.344h-18v3.5h-1.44v8.208h8.448ZM99.636,15.024v1.92l-.96-1.1H95.94v-.816Zm0,6.432h-3.7V19.3l1.248,1.3h2.448Zm21.6,4.464-1.344.768-1.3-.72h-8.688v2.64l1.536.912-1.728.96v3.312h8.64l1.776-1.488,1.968,1.488h9.12v-3.6l-2.256-1.3,1.632-1.1v-7.92H109.668V25.2h11.568Zm-22.56,1.872H95.94v-.816h3.7v1.68ZM130.164,42.72V34.8H87.78v7.92H86.532v9.168h44.832V42.72Zm-28.992-1.2v3.024H99.54V41.52Zm8.544,3.024h-1.68V41.52h1.68Zm8.64,0h-1.68V41.52h1.68ZM159.3,7.248H148.5l-4.176,5.616V51.6h21.168V11.328H159.3Zm21.456,2.3v-2.3H170.484l-3.5,4.8V22.416H176V40.608l-7.1,4.8v6.384h19.68V9.552ZM156.372,22.8v5.184h-2.544V22.8Zm18.192,17.664V24h-7.392V37.2l2.5,3.264Zm-20.736,1.488V36.576h2.544v5.376Zm90.192-.48,1.872-2.112V30.192H227.22V29.184h18.96V15.072h-4.128l-5.9,5.472h-1.536L244.4,11.52V8.208h-9.456l-7.776,7.2h-1.536l5.856-5.424V7.68H220.6l-4.56,4.224v8.16h3.216l-3.216,2.928v6.192h2.256l-2.256,2.3V43.92h1.632l2.352-2.208.96.912-4.992,4.656v4.56H228.9l2.928-3.264,3.456,3.264h11.184V43.632ZM214.884,16.224V7.872h-8.5L201.4,11.808V25.68h1.968ZM201.4,28.7V39.84h1.728V52.032h11.808V20.688h-3.744Zm28.368,8.784h4.848v.192l-2.256,2.256-2.592-2.3ZM289.62,8.928V6.96H273.78V8.928h-14.3v7.92h4.752l-4.368,2.4v8.4h6.288l3.12-2.832v2.832H285.54l2.112-1.584,1.968,1.584h13.728V23.28l-3.024-1.92,2.112-1.632V17.856H285.06l-2.3,1.824V16.848h21.072V8.928ZM259.812,51.792h12.336V36.96h3.072v1.056H273.3v3.456h7.824V36.96h1.152v4.512h8.112V38.016h-1.92V36.96h3.072v8.16l-1.056.672V42.576H273.3v7.632h13.632v1.584h16.56V28.7h-43.68Zm23.856-4.752h-3.552v-1.2h3.552Z" transform="translate(-28.98 -6.96)"/></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="195.384" height="22.608" viewBox="0 0 195.384 22.608"><defs><style>.a{fill:#226bb4;}</style></defs><path class="a" d="M17.124,7.08l1.008.576h1.752V6.072l-.7-.384.7-.36V3.768H18.132l-1.008.552-1.008-.552H14.364v1.56l.7.36-.7.384V7.656h1.752Zm9.768,10.44h1.464V12.5h-.528V3.888h-7.56V7.44h2.256v.48H20.34V9.768h2.184v.456H20.34v1.8h2.184v.48H11.748v-.48h2.208v-1.8H11.748V9.768h2.208V7.92H11.748V7.44h.792l1.416-.384V3.888H6.468V12.5H5.94v5.064H7v1.68H16.62v.12l-1.032.384H6.06V23.52h7.56v.1L11.8,24.648V25.92H21.54v-2.4h6.648V19.752H24.732l2.16-.912Zm-9.768-6,1.008.576h1.752V10.512l-.72-.384.72-.408V8.064H18.132l-1.008.552-1.008-.552H14.364V9.72l.72.408-.72.384V12.1h1.752Zm-5.832,4.944v-.5H23.124v.5ZM50.508,19.9V18.12h6.024V12.912H50.508V11.3h6.36V5.5h-6.36V3.432h-7.8V5.5h-1.32V4.176H36.9l-2.04,2.76V11.3h7.032v1.608H35.364V18.12h6.528V19.9h-6.96v5.856h22.08V19.9ZM71.82,3.624H65.6v.96h-1.92v5.4h10.2v-5.4H71.82Zm14.232,5.76H83.844V3.648h-7.32V9.384H74.46v7.344h2.064v9.24h7.32v-9.24h2.208ZM73.716,10.536H63.828v3.48h9.888ZM63.828,17.9h9.888V14.568H63.828Zm-.1,7.968H73.86V18.5H63.732Zm4.128-4.08h1.8v.888h-1.8ZM96.9,8.784l.936,1.224h4.944V9l-1.1-1.128h1.344v-3.6H98.988v-.6H94.26l-1.9,2.856v3.48h3.768Zm11.376-.024.96,1.248h5.112V8.976l-1.08-1.1h1.32v-3.6h-4.272v-.6H105.4l-1.9,2.856v3.48h3.96Zm6.456,11.424h-2.568v-.576h2.088V10.536H92.844v9.072h2.472v.576H92.34V24.1h2.136l-.408.864V25.9h7.464l.528-1.8h2.88v1.776h7.224V24.1h2.568ZM107.6,13.032v.5H99.492v-.5Zm0,2.376H99.492v-.552H107.6ZM99.492,17.28v-.5H107.6v.5Zm3.024,2.9v-.576h2.424v.576ZM142.5,22.392l.792-1.032V19.008h-3.12l-.384.456-.624-.984h4.128V14.112h-.552l-.12-.528h.5V10.9h-1.008v-.12l1.008-1.416V7.224h-1.008V7.1l1.008-1.416V3.96h-2.88L138.8,6V3.576h-4.656V14.112H128.94V21.1l-.816,1.9V25.92h3.768l.552-1.248.6.84h.984V21.024l-.552-.984V18.888h.648V19.8l1.44,2.232-1.08,1.488V25.9h3.36l.768-.984.792,1.1h4.08V23.832Zm-14.16-1.776v-7.1l-.768-1.056v-.888h.84V5.592h-.84V3.72h-4.92V5.592h-1.368v5.976h1.272l-1.44,2.808v9.216h.984l.552-1.248V25.9h4.92v-5.28Zm5.328-9.72H132.66v-.12l1.008-1.416V7.224H132.66V7.1l1.008-1.416V3.96h-3.216l-1.536,2.232V9.264h.864v.072l-.864,1.224v3.024h4.752Zm5.856-1.632v.072l-.72,1.008V9.264Zm-.72,4.32h.84v.528h-.84Zm33.408,4.464h-5.568V16.776h4.92V11.568h-4.92v-1.08h5.232V4.752H158.46V3.744h-5.616l-2.328,3.1v3.648h8.28v1.08H151.26v6.48h-1.272v5.688H158.8v2.232h7.848V23.736h5.568Zm-15,0V16.776H158.8v1.272ZM201.324,6.24l-6.768-2.832h-9.288L178.524,6.24v5.5h.624v5.736h21.5V11.736h.672Zm-10.68,1.32,1.32.5h-4.1l1.32-.5Zm-7.68,2.808,2.184-.912v.408h9.48V9.432l2.232.936Zm1.512,2.472h3.432V15h-.48V13.224h-2.472v1.248l.48.528h-.96ZM195.252,15h-.96l.5-.528V13.224h-2.5V15h-.456V12.84h3.408Zm-15.7,10.9h20.712V18H179.556Zm14.208-5.5v.528h-7.632V20.4Zm-7.632,3v-.5h7.632v.5Z" transform="translate(-5.94 -3.408)"/></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="221.806" height="22.386" viewBox="0 0 221.806 22.386"><defs><style>.a{fill:#226bb4;}</style></defs><path class="a" d="M40.949,27.092l3.146-3.12V15.158L41.469,12.87H34.293v-1.4h9.23V5.382H29.457L26.311,8.5v8.4l2.626,2.288h6.63v1.4H26.285v6.5ZM48.8,5.3V27.118h9.048V5.3Zm30.966.13h-17.5v7.514h4.446V27.04h8.606V12.948h4.446ZM92.923,19.266V13.39h9.334V5.408H87.7l-3.588,3.64V23.53L87.7,27.118h14.82V19.266ZM110.161,5.33l-3.2,3.458V23.712l3.2,3.432H123.6l3.2-3.432V8.814L123.6,5.33Zm4.992,15.184v-8.4h3.458v8.4ZM143.311,5.538V12.87h-.572L138.4,5.538h-6.89V27.014h7.7V19.656h.546l4.472,7.384h6.656V5.538Zm39.6-.676H167.673v7.826h8.294v.936l-8.528,8.554V27.17h17.732V20.228h-5.538v-.312l5.226-4.784V7.306Zm7.332,19.474,3.016,2.912h12.532l3.042-2.912V8.034L205.789,4.94H193.257l-3.016,3.094Zm7.774-12.116h3.042v7.9h-3.042Zm31.356-7.358H214.135v7.826h8.294v.936L213.9,22.178V27.17h17.732V20.228H226.1v-.312l5.226-4.784V7.306Zm10.92.182L236.5,8.58v5.174h2.132V27.066h9.464V5.044Z" transform="translate(-26.285 -4.862)"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="208.726" height="31.994" viewBox="0 0 208.726 31.994"><defs><style>.a{fill:#226bb4;}</style></defs><path class="a" d="M48.64,6.018H42.35V4.862h-8.3V6.018H28.716V12.75H48.64ZM28,21.59v1.632l-1.054-1.258V20.74h1.224V13.294H26.948V11.662l.986-.68V5.508H17.53v6.6H19.4v1.19H17.428V20.74h1.734l-2.006,3.2v9.826h1.292l.952-1.734v4.658h7.548V30.26H28v6.426H35.04V27.3H41.7v5.066l-.748.646v-4.9H35.788v7.14h3.3v1.428h9.86V21.59Zm19.958-.782V13.566H29.09v7.242ZM36.23,16.864h4.284v1.02H36.23Zm2.754,15.47H37.9v-1.19h1.088Zm47.158-10.54H81.654v-5.27h4.182V7.582H81.654V5.2H74v2.38h-1.36v-1.7h-4.59L66.388,9.146v7.378h4.93v5.27H66.354v9.078h4.964v5.916H81.654V30.872h4.488ZM54.42,13.09V24.752h1.87V36.686h9.078V5.44H58.432ZM109.7,10.982h-.782V5.032h-4.59v5.95h-.816V5.61h-2.788V15.674h11.7V5.61H109.7Zm12.75,15.028,1.02-1.9V6.46h-4.012V5.134H114.94l-1.8,2.346v7.65h4.794v3.4l-1.36-2.414h-3.434V23.63l.986,1.734-1.258,1.768v9.69h3.876L118.2,34.34l1.326,2.482h4.046v-8.6ZM99.946,11.288V5.474h-5l-3.23,2.278v8.806h1.53Zm-8.228,7.446V26.52H92.7V36.856H99.98V13.43H98.518Zm9.01,2.414H112.39V16.49H100.728Zm.1,5.134h2.346v.884h-2.244v4.046h2.244v.918H100.8v4.624h11.322V32.13H110.18v-.918h1.9V27.166h-1.9v-1.19l2.04-.476V21.964H100.83ZM159.786,7.344l-.51-2.006h-7.514V7.344h-1.054V5H139.284V7.344h-9.656V14.96h10.166V31.45l-.918,1.02V24.718H132.11l-2.482,3.06v7.276h7.888v1.734h13.192V14.96h10.4V7.344Zm-20.91,16.49V15.776h-9.044v5.032l2.312,3.026ZM160.6,15.776h-9.01v8.058h6.7l2.312-3.026Zm-9.01,8.942V35.054h9.18V27.778l-2.448-3.06ZM198.138,7.48h-9.384V5.134H176.31V7.48H167.1V31.824h9.214v4.964h12.444V31.824h9.384ZM175.63,15.708h2.04V23.97h-2.04Zm13.8,8.262h-2.04V15.708h2.04ZM214.492,6.222V25.908h8.228l3.162-4.216V6.222Zm.2,21.692v8.228h10.336V27.914Z" transform="translate(-17.156 -4.862)"/></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="135.21" height="27.15" viewBox="0 0 135.21 27.15"><defs><style>.a{fill:#226bb4;}</style></defs><path class="a" d="M1.5,28.08l3.48,3.36H19.44l3.51-3.36V9.27L19.44,5.7H4.98L1.5,9.27ZM10.47,14.1h3.51v9.12H10.47ZM31.89,31.35H50.25l2.94-2.82V17.64L50.25,15H40.41V13.29H52.65V5.64H31.95V21.66H43.68v1.83H31.89Zm30.54-.63v1.5h6.12L76.77,6.57V5.07H70.65ZM103.8,5.61H86.22v9.03h9.57v1.08l-9.84,9.87v5.76h20.46V23.34h-6.39v-.36l6.03-5.52V8.43Zm29.79.12H118.32L115.2,8.85V19.74l2.31,2.13H127.8v1.74h-12v7.8h17.01l3.9-3.66V8.85Zm-9.9,9.87V13.2h4.11v2.4Z" transform="translate(-1.5 -5.07)"/></svg>

After

Width:  |  Height:  |  Size: 631 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="167.918" height="66.964" viewBox="0 0 167.918 66.964"><defs><style>.a{fill:#226bb4;}</style></defs><path class="a" d="M32.538,7.48H23.154V5.134H10.71V7.48H1.5V31.824H10.71v4.964H23.154V31.824h9.384ZM10.03,15.708h2.04V23.97H10.03Zm13.8,8.262h-2.04V15.708h2.04Zm43.078-3.094H65.144V7.446h-8.4V4.964H45.322V7.446H36.958v13.43H35.122v8.3H38.93l-2.788,3.842v3.672h11.05l3.06-6.7h1.9l3.094,6.7H66.266V33.014l-2.788-3.842h3.434Zm-21.794-5.3h1.734v5.3H45.118Zm11.8,5.3h-1.7v-5.3h1.7Zm43.86-2.448H99.688V13.4h.918V5.576H81.94V13.4h1.224v5.032H81.94v8.058h1.224l-1.19,6.834v3.468h7.548l.986-10.3H91.9V36.754h7.786V26.486h1.088ZM69.7,13.022h2.618v.17l-3.366,5.814v10.71H70.04v6.9H81.158V17.2H78.812v-.136l2.346-4.046V5.95H69.7Zm20.808,5.406V13.4H91.9v5.032ZM75.99,30.668H75V23.63h.986Zm55.522-1.87V22.542h-11.22V21.318h-3.6l1.734-1.734V14.076h1.02v5.508l2.006,2.006h12.58V16.932h-7.82V14.076h1.02v1.938h7.718V6.358h-10.4v-1.5h-11.39v1.5h-9.928v9.656h7.446V14.076h1.02v2.856h-7.616V21.59h5.814v.952H104.04V29.41h3.366l-3.978,4.76v2.618h11.56L118.8,29.41h2.89v7.378h13.362V28.8Zm19.482-8.6h16.49V16.8h1.19V6.29h-5.61V4.862H154.8V6.29h-5.1V16.864h1.292ZM137.53,36.754h8.33V33.32h3.026V21.25l-1.088-1.7,1.088-2.38V5.712H137.53Zm6.324-24.684v5.678H142.9V12.07Zm18.122.918v1.054h-5.95V12.988Zm3.808,15.47-.612,1.36h-.748V27.54h4.25V21.148H149.736V27.54h1.632l-1.938,5.95v3.3H156.3l1.02-9.248h.782v9.248h10.676v-8.33Zm-21.93-.476H142.9V22.644h.952ZM.858,71.694H6.82l3.806-7.018h.748l3.916,7.018h5.9V67.162l-6.38-8.338V51.476H6.974v7.348L.858,67.162ZM36.894,52.422V51.146H29.062v1.276H22.836v6.226H43.142V52.422ZM42.416,62.63V59.2H35.332l-2.31,2.64L30.69,59.2H23.606V62.63l2.464,2.332-3.124,2.486V71.76h6.622l3.454-3.366,3.432,3.366h6.622V67.448l-3.124-2.486Zm19.976,2.838V60.144h2.354V54.226H62.392V51.278h-6.6v2.948H53.5v5.918h2.288v5.324H53.108v6.116H65.186V65.468ZM51.414,51.388H46.2V52.51H44.946v4.928h2.376v.154l-2.552,2.42v7.876h.968V71.8h5.94V67.888h.836V61.024l-.836-.7,1.166-1.078V52.51h-1.43ZM87.472,53.72l-6.2-2.6H72.754l-6.182,2.6v5.038h.572v5.258H86.856V58.758h.616Zm-9.79,1.21,1.21.462H75.13l1.21-.462ZM70.642,57.5l2-.836v.374h8.69v-.4l2.046.858Zm1.386,2.266h3.146v1.98h-.44V60.122H72.468v1.144l.44.484h-.88Zm9.878,1.98h-.88l.462-.484V60.122H79.2V61.75h-.418V59.77h3.124ZM67.518,71.738H86.5V64.5H67.518ZM80.542,66.7v.484h-7V66.7Zm-7,2.75v-.462h7v.462Zm23.32-13.53,1.32-.748V51.564H89.122v4.642h2.024v.858h-2.2v4.862H90.9L88.792,64.06v6.116h1.32L91.146,68.9v2.838h5.72v-2.97h1.3V64.456l-1.3-1.518V61.926h1.342V57.064H96.866Zm12.474,7.128h-.594V51.564H103.29v12.8l-.462.154v-4.8l-3.674-1.5h-.44v6.182l2.2.814-2.244.814v5.082h1.342l2.244-.748v1.452h6.49V68.218l.594-.2Zm-6.512-4.026V53.434l-3.41-1.452h-.7V57.5l3.652,1.518Zm18.194-4.532.924.528h1.606V53.566l-.638-.352.638-.33v-1.43h-1.606l-.924.506-.924-.506h-1.606v1.43l.638.33-.638.352v1.452H120.1Zm8.954,9.57h1.342v-4.6h-.484v-7.9H123.9V54.82h2.068v.44h-2v1.694h2v.418h-2v1.65h2v.44h-9.878v-.44h2.024v-1.65h-2.024v-.418h2.024V55.26h-2.024v-.44h.726l1.3-.352v-2.9h-6.864v7.9h-.484V64.1h.968v1.54h8.822v.11l-.946.352H110.88V69.56h6.93v.088l-1.672.946V71.76h8.932v-2.2h6.094V66.106H128l1.98-.836Zm-8.954-5.5.924.528h1.606V57.636l-.66-.352.66-.374V55.392h-1.606l-.924.506-.924-.506h-1.606V56.91l.66.374-.66.352v1.452H120.1Zm-5.346,4.532V62.63h10.846v.462Zm36.982.726v-5.1h.66V52.07h-3.256v-.924h-5.126v.924H141.7v5.588h-2.948V56.69l.682.528h1.8V53.1l-2.772-1.8h-3.036l-2.772,1.8v4.114h1.848l.7-.55v.99h-2.266V71.8h4.488l.814-1.056.9,1.034h2.6V66.854h-3.894v.814h-.726V66.326h4.62V58.714h.55V71.76h10.582V64.434H146.63v-.616ZM137.346,55.7l.7.484h-2.222l.66-.484Zm11.506.77v.616H145.9V56.47ZM148.346,61H146.63v-.748h1.716Zm-11.77-.594h1.848v.572h-1.848Zm0,2.948V62.74h1.848v.616Zm11.99,3.916v.792H146.63v-.792Z" transform="translate(-0.858 -4.862)"/></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="341.24" height="34.44" viewBox="0 0 341.24 34.44"><defs><style>.a{fill:#226bb4;}</style></defs><path class="a" d="M115.46,41.68l4.84-4.8V23.32l-4.04-3.52H105.22V17.64h14.2V8.28H97.78l-4.84,4.8V26l4.04,3.52h10.2v2.16H92.9v10ZM127.54,8.16V41.72h13.92V8.16Zm47.64.2H148.26V19.92h6.84V41.6h13.24V19.92h6.84Zm20.24,21.28V20.6h14.36V8.32h-22.4l-5.52,5.6V36.2l5.52,5.52h22.8V29.64ZM221.94,8.2l-4.92,5.32V36.48l4.92,5.28h20.68l4.92-5.28V13.56L242.62,8.2Zm7.68,23.36V18.64h5.32V31.56ZM272.94,8.52V19.8h-.88L265.38,8.52h-10.6V41.56h11.84V30.24h.84l6.88,11.36h10.24V8.52Zm60.92-1.04H310.42V19.52h12.76v1.44L310.06,34.12V41.8h27.28V31.12h-8.52v-.48l8.04-7.36V11.24Zm11.28,29.96,4.64,4.48h19.28l4.68-4.48V12.36L369.06,7.6H349.78l-4.64,4.76ZM357.1,18.8h4.68V30.96H357.1ZM405.34,7.48H381.9V19.52h12.76v1.44L381.54,34.12V41.8h27.28V31.12H400.3v-.48l8.04-7.36V11.24Zm16.8.28L416.3,13.2v7.96h3.28V41.64h14.56V7.76Z" transform="translate(-92.9 -7.48)"/></svg>

After

Width:  |  Height:  |  Size: 987 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="244.23" height="28.26" viewBox="0 0 244.23 28.26"><defs><style>.a{fill:#226bb4;}</style></defs><path class="a" d="M167.03,8.85l1.26.72h2.19V7.59l-.87-.48.87-.45V4.71h-2.19l-1.26.69-1.26-.69h-2.19V6.66l.87.45-.87.48V9.57h2.19ZM179.24,21.9h1.83V15.63h-.66V4.86h-9.45V9.3h2.82v.6h-2.73v2.31h2.73v.57h-2.73v2.25h2.73v.6H160.31v-.6h2.76V12.78h-2.76v-.57h2.76V9.9h-2.76V9.3h.99l1.77-.48V4.86h-9.36V15.63h-.66v6.33h1.32v2.1H166.4v.15l-1.29.48H153.2V29.4h9.45v.12l-2.28,1.29V32.4h12.18v-3h8.31V24.69h-4.32l2.7-1.14Zm-12.21-7.5,1.26.72h2.19V13.14l-.9-.48.9-.51V10.08h-2.19l-1.26.69-1.26-.69h-2.19v2.07l.9.51-.9.48v1.98h2.19Zm-7.29,6.18v-.63h14.79v.63Zm49.02,4.29V22.65h7.53V16.14h-7.53V14.13h7.95V6.87h-7.95V4.29h-9.75V6.87h-1.65V5.22h-5.61L189.2,8.67v5.46h8.79v2.01h-8.16v6.51h8.16v2.22h-8.7v7.32h27.6V24.87ZM235.4,4.53h-7.77v1.2h-2.4v6.75h12.75V5.73H235.4Zm17.79,7.2h-2.76V4.56h-9.15v7.17H238.7v9.18h2.58V32.46h9.15V20.91h2.76Zm-15.42,1.44H225.41v4.35h12.36Zm-12.36,9.21h12.36V18.21H225.41Zm-.12,9.96h12.66V23.13H225.29Zm5.16-5.1h2.25v1.11h-2.25Zm36.3-16.26,1.17,1.53h6.18V11.25l-1.38-1.41h1.68V5.34h-5.04V4.59h-5.91l-2.37,3.57v4.35h4.71Zm14.22-.03,1.2,1.56h6.39V11.22l-1.35-1.38h1.65V5.34h-5.34V4.59h-6.15L275,8.16v4.35h4.95Zm8.07,14.28h-3.21v-.72h2.61V13.17H261.68V24.51h3.09v.72h-3.72v4.89h2.67l-.51,1.08v1.17h9.33l.66-2.25h3.6v2.22h9.03V30.12h3.21Zm-8.91-8.94v.63H269.99v-.63Zm0,2.97H269.99v-.69h10.14ZM269.99,21.6v-.63h10.14v.63Zm3.78,3.63v-.72h3.03v.72Zm49.98,2.76.99-1.29V23.76h-3.9l-.48.57-.78-1.23h5.16V17.64h-.69l-.15-.66h.63V13.62h-1.26v-.15l1.26-1.77V9.03h-1.26V8.88l1.26-1.77V4.95h-3.6l-1.8,2.55V4.47h-5.82V17.64H306.8v8.73l-1.02,2.37V32.4h4.71l.69-1.56.75,1.05h1.23V26.28l-.69-1.23V23.61h.81v1.14l1.8,2.79-1.35,1.86v2.97h4.2l.96-1.23.99,1.38h5.1V29.79Zm-17.7-2.22V16.89l-.96-1.32V14.46h1.05V6.99h-1.05V4.65h-6.15V6.99h-1.71v7.47h1.59l-1.8,3.51V29.49h1.23l.69-1.56v4.44h6.15v-6.6Zm6.66-12.15h-1.26v-.15l1.26-1.77V9.03h-1.26V8.88l1.26-1.77V4.95h-4.02l-1.92,2.79v3.84h1.08v.09l-1.08,1.53v3.78h5.94Zm7.32-2.04v.09l-.9,1.26V11.58Zm-.9,5.4h1.05v.66h-1.05Zm41.76,5.58h-6.96V20.97h6.15V14.46h-6.15V13.11h6.54V5.94H343.7V4.68h-7.02l-2.91,3.87v4.56h10.35v1.35H334.7v8.1h-1.59v7.11h11.01v2.79h9.81V29.67h6.96Zm-18.75,0V20.97h1.98v1.59ZM397.28,7.8l-8.46-3.54H377.21L368.78,7.8v6.87h.78v7.17h26.88V14.67h.84ZM383.93,9.45l1.65.63h-5.13l1.65-.63Zm-9.6,3.51,2.73-1.14v.51h11.85v-.54l2.79,1.17Zm1.89,3.09h4.29v2.7h-.6V16.53h-3.09v1.56l.6.66h-1.2Zm13.47,2.7h-1.2l.63-.66V16.53H386v2.22h-.57v-2.7h4.26ZM370.07,32.37h25.89V22.5H370.07Zm17.76-6.87v.66h-9.54V25.5Zm-9.54,3.75v-.63h9.54v.63Z" transform="translate(-153.05 -4.26)"/></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="515.34" height="84.51" viewBox="0 0 515.34 84.51"><defs><style>.a{fill:#226bb4;}</style></defs><path class="a" d="M34.25,32.94l3.51,4.59H56.3V33.75l-4.14-4.23H57.2V16.02H42.08V13.77H24.35L17.24,24.48V37.53H31.37Zm42.66-.09,3.6,4.68H99.68V33.66l-4.05-4.14h4.95V16.02H84.56V13.77H66.11L59,24.48V37.53H73.85Zm24.21,42.84H91.49V73.53h7.83V39.51H19.04V73.53h9.27v2.16H17.15V90.36h8.01L23.63,93.6v3.51H51.62l1.98-6.75H64.4v6.66H91.49V90.36h9.63ZM74.39,48.87v1.89H43.97V48.87Zm0,8.91H43.97V55.71H74.39ZM43.97,64.8V62.91H74.39V64.8ZM55.31,75.69V73.53H64.4v2.16Zm72-12.24H142.7V58.5l2.61,2.7h4.32v2.25h17.01V16.47H154.31V13.41H134.24l-6.93,7.65v16.2h-2.16V53.55h2.16ZM187.16,32.4V28.62h1.98V32.4l2.52,3.33H208.4V20.97h-3.42v-7.2H171.23v6.57h-2.7V35.73h15.84Zm-37.53-4.23v3.6l-1.8-2.07H142.7V28.17Zm0,12.06H142.7V36.18l2.34,2.43h4.59Zm40.5,8.37-2.52,1.44-2.43-1.35H168.89v4.95l2.88,1.71-3.24,1.8v6.21h16.2l3.33-2.79,3.69,2.79h17.1V56.61l-4.23-2.43,3.06-2.07V37.26H168.44v9.99h21.69Zm-42.3,3.51H142.7V50.58h6.93v3.15ZM206.87,80.1V65.25H127.4V80.1h-2.34V97.29h84.06V80.1Zm-54.36-2.25v5.67h-3.06V77.85Zm16.02,5.67h-3.15V77.85h3.15Zm16.2,0h-3.15V77.85h3.15ZM261.5,13.59H241.25l-7.83,10.53V96.75h39.69V21.24H261.5Zm40.23,4.32V13.59H282.47l-6.57,9V42.03h16.92V76.14l-13.32,9V97.11h36.9V17.91ZM256.01,42.75v9.72h-4.77V42.75Zm34.11,33.12V45H276.26V69.75l4.68,6.12Zm-38.88,2.79V68.58h4.77V78.66Zm169.11-.9,3.51-3.96V56.61H388.85V54.72H424.4V28.26h-7.74L405.59,38.52h-2.88L421.07,21.6V15.39H403.34l-14.58,13.5h-2.88l10.98-10.17V14.4H376.43l-8.55,7.92v15.3h6.03l-6.03,5.49V54.72h4.23l-4.23,4.32V82.35h3.06l4.41-4.14,1.8,1.71-9.36,8.73V97.2H392l5.49-6.12,6.48,6.12h20.97V81.81ZM365.72,30.42V14.76H349.79l-9.36,7.38V48.15h3.69Zm-25.29,23.4V74.7h3.24V97.56h22.14V38.79h-7.02Zm53.19,16.47h9.09v.36l-4.23,4.23-4.86-4.32ZM505.85,16.74V13.05h-29.7v3.69H449.33V31.59h8.91l-8.19,4.5V51.84h11.79l5.85-5.31v5.31H498.2l3.96-2.97,3.69,2.97h25.74V43.65l-5.67-3.6,3.96-3.06V33.48H497.3l-4.32,3.42V31.59h39.51V16.74ZM449.96,97.11h23.13V69.3h5.76v1.98h-3.6v6.48h14.67V69.3h2.16v8.46h15.21V71.28h-3.6V69.3h5.76V84.6l-1.98,1.26V79.83H475.25V94.14h25.56v2.97h31.05V53.82h-81.9Zm44.73-8.91h-6.66V85.95h6.66Z" transform="translate(-17.15 -13.05)"/></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="207.322" height="41.63" viewBox="0 0 207.322 41.63"><defs><style>.a{fill:#226bb4;}</style></defs><path class="a" d="M2.3,43.056l5.336,5.152H29.808l5.382-5.152V14.214L29.808,8.74H7.636L2.3,14.214ZM16.054,21.62h5.382V35.6H16.054ZM48.9,48.07H77.05l4.508-4.324v-16.7L77.05,23H61.962V20.378H80.73V8.648H48.99V33.212H66.976v2.806H48.9ZM95.726,47.1v2.3h9.384l12.6-39.33v-2.3H108.33ZM159.16,8.6H132.2V22.448h14.674V24.1L131.79,39.238V48.07h31.372V35.788h-9.8v-.552l9.246-8.464V12.926Zm45.678.184H181.424L176.64,13.57v16.7l3.542,3.266H195.96V36.2h-18.4v11.96h26.082l5.98-5.612V13.57ZM189.658,23.92V20.24h6.3v3.68Z" transform="translate(-2.3 -7.774)"/></svg>

After

Width:  |  Height:  |  Size: 695 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="227.174" height="97.912" viewBox="0 0 227.174 97.912"><defs><style>.a{fill:#226bb4;}</style></defs><path class="a" d="M44.022,10.12h-12.7V6.946H14.49V10.12H2.024V43.056H14.49v6.716H31.326V43.056h12.7ZM13.57,21.252h2.76V32.43H13.57ZM32.246,32.43h-2.76V21.252h2.76Zm58.282-4.186H88.136V10.074H76.774V6.716H61.318v3.358H50v18.17H47.518V39.468H52.67l-3.772,5.2v4.968h14.95l4.14-9.062h2.576l4.186,9.062h14.9V44.666l-3.772-5.2h4.646ZM61.042,21.068h2.346v7.176H61.042ZM77,28.244H74.7V21.068H77Zm59.34-3.312h-1.472V18.124h1.242V7.544H110.86v10.58h1.656v6.808H110.86v10.9h1.656l-1.61,9.246v4.692h10.212l1.334-13.938h1.886V49.726h10.534V35.834h1.472ZM94.3,17.618h3.542v.23l-4.554,7.866V40.2H94.76v9.338H109.8V23.276h-3.174v-.184l3.174-5.474V8.05H94.3Zm28.152,7.314V18.124h1.886v6.808ZM102.81,41.492h-1.334V31.97h1.334Zm75.118-2.53V30.5h-15.18V28.842h-4.876l2.346-2.346V19.044h1.38V26.5l2.714,2.714h17.02v-6.3h-10.58V19.044h1.38v2.622h10.442V8.6H168.5V6.578h-15.41V8.6H139.656V21.666H149.73V19.044h1.38v3.864h-10.3v6.3h7.866V30.5H140.76V39.79h4.554l-5.382,6.44v3.542h15.64l5.152-9.982h3.91v9.982h18.078V38.962Zm26.358-11.638H226.6v-4.6h1.61V8.51h-7.59V6.578H209.438V8.51h-6.9V22.816h1.748Zm-18.216,22.4h11.27V45.08h4.094V28.75l-1.472-2.3,1.472-3.22V7.728H186.07Zm8.556-33.4v7.682h-1.288V16.33Zm24.518,1.242V19h-8.05V17.572ZM224.3,38.5l-.828,1.84h-1.012V37.26h5.75V28.612H202.584V37.26h2.208l-2.622,8.05v4.462h9.292l1.38-12.512H213.9V49.772h14.444V38.5Zm-29.67-.644h-1.288V30.636h1.288ZM1.17,104.31H9.3l5.19-9.57h1.02l5.34,9.57h8.04V98.13l-8.7-11.37V76.74H9.51V86.76L1.17,98.13ZM50.31,78.03V76.29H39.63v1.74H31.14v8.49H58.83V78.03Zm7.53,13.92V87.27H48.18l-3.15,3.6-3.18-3.6H32.19v4.68l3.36,3.18-4.26,3.39v5.88h9.03l4.71-4.59,4.68,4.59h9.03V98.52l-4.26-3.39Zm27.24,3.87V88.56h3.21V80.49H85.08V76.47h-9v4.02H72.96v8.07h3.12v7.26H72.42v8.34H88.89V95.82ZM70.11,76.62H63v1.53H61.29v6.72h3.24v.21l-3.48,3.3V99.12h1.32v5.34h8.1V99.12h1.14V89.76l-1.14-.96,1.59-1.47V78.15H70.11Zm49.17,3.18-8.46-3.54H99.21L90.78,79.8v6.87h.78v7.17h26.88V86.67h.84Zm-13.35,1.65,1.65.63h-5.13l1.65-.63Zm-9.6,3.51,2.73-1.14v.51h11.85v-.54l2.79,1.17Zm1.89,3.09h4.29v2.7h-.6V88.53H98.82v1.56l.6.66h-1.2Zm13.47,2.7h-1.2l.63-.66V88.53H108v2.22h-.57v-2.7h4.26ZM92.07,104.37h25.89V94.5H92.07Zm17.76-6.87v.66h-9.54V97.5Zm-9.54,3.75v-.63h9.54v.63Zm31.8-18.45,1.8-1.02V76.86H121.53v6.33h2.76v1.17h-3v6.63h2.67l-2.88,2.91v8.34h1.8l1.41-1.74v3.87h7.8v-4.05h1.77V94.44l-1.77-2.07V90.99h1.83V84.36h-1.83Zm17.01,9.72h-.81V76.86h-7.44V94.32l-.63.21V87.99l-5.01-2.04h-.6v8.43l3,1.11-3.06,1.11v6.93h1.83l3.06-1.02v1.98h8.85V99.57l.81-.27Zm-8.88-5.49V79.41l-4.65-1.98h-.96v7.53l4.98,2.07Zm24.81-6.18,1.26.72h2.19V79.59l-.87-.48.87-.45V76.71h-2.19l-1.26.69-1.26-.69h-2.19v1.95l.87.45-.87.48v1.98h2.19ZM177.24,93.9h1.83V87.63h-.66V76.86h-9.45V81.3h2.82v.6h-2.73v2.31h2.73v.57h-2.73v2.25h2.73v.6H158.31v-.6h2.76V84.78h-2.76v-.57h2.76V81.9h-2.76v-.6h.99l1.77-.48V76.86h-9.36V87.63h-.66v6.33h1.32v2.1H164.4v.15l-1.29.48H151.2v4.71h9.45v.12l-2.28,1.29v1.59h12.18v-3h8.31V96.69h-4.32l2.7-1.14Zm-12.21-7.5,1.26.72h2.19V85.14l-.9-.48.9-.51V82.08h-2.19l-1.26.69-1.26-.69h-2.19v2.07l.9.51-.9.48v1.98h2.19Zm-7.29,6.18v-.63h14.79v.63Zm50.43.99V86.61h.9V77.55h-4.44V76.29h-6.99v1.26h-4.41v7.62h-4.02V83.85l.93.72h2.46V78.96l-3.78-2.46h-4.14l-3.78,2.46v5.61h2.52l.96-.75v1.35h-3.09v19.29h6.12l1.11-1.44,1.23,1.41h3.54V97.71h-5.31v1.11h-.99V96.99h6.3V86.61h.75V104.4h14.43V94.41h-8.52v-.84ZM187.29,82.5l.96.66h-3.03l.9-.66Zm15.69,1.05v.84h-4.02v-.84Zm-.69,6.18h-2.34V88.71h2.34Zm-16.05-.81h2.52v.78h-2.52Zm0,4.02V92.1h2.52v.84Zm16.35,5.34v1.08h-2.64V98.28Z" transform="translate(-1.17 -6.578)"/></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="368.34" height="56.46" viewBox="0 0 368.34 56.46"><defs><style>.a{fill:#226bb4;}</style></defs><path class="a" d="M91.6,10.62H80.5V8.58H65.86v2.04H56.44V22.5H91.6ZM55.18,38.1v2.88l-1.86-2.22V36.6h2.16V23.46H53.32V20.58l1.74-1.2V9.72H36.7V21.36H40v2.1H36.52V36.6h3.06l-3.54,5.64V59.58h2.28L40,56.52v8.22H53.32V53.4h1.86V64.74H67.6V48.18H79.36v8.94l-1.32,1.14V49.62H68.92v12.6h5.82v2.52h17.4V38.1ZM90.4,36.72V23.94H57.1V36.72ZM69.7,29.76h7.56v1.8H69.7Zm4.86,27.3H72.64v-2.1h1.92Zm83.22-18.6h-7.92v-9.3h7.38V13.38h-7.38V9.18h-13.5v4.2h-2.4v-3h-8.1l-2.94,5.76V29.16h8.7v9.3h-8.76V54.48h8.76V64.92h18.24V54.48h7.92ZM101.8,23.1V43.68h3.3V64.74h16.02V9.6H108.88Zm97.56-3.72h-1.38V8.88h-8.1v10.5h-1.44V9.9h-4.92V27.66h20.64V9.9h-4.8Zm22.5,26.52,1.8-3.36V11.4h-7.08V9.06H208.6l-3.18,4.14V26.7h8.46v6l-2.4-4.26h-6.06V41.7l1.74,3.06-2.22,3.12v17.1h6.84l2.58-4.38,2.34,4.38h7.14V49.8ZM182.14,19.92V9.66h-8.82l-5.7,4.02V29.22h2.7ZM167.62,33.06V46.8h1.74V65.04H182.2V23.7h-2.58Zm15.9,4.26H204.1V29.1H183.52Zm.18,9.06h4.14v1.56h-3.96v7.14h3.96V56.7h-4.2v8.16h19.98V56.7H200.2V55.08h3.36V47.94H200.2v-2.1l3.6-.84V38.76H183.7ZM287.74,12.96l-.9-3.54H273.58v3.54h-1.86V8.82H251.56v4.14H234.52V26.4h17.94V55.5l-1.62,1.8V43.62H238.9l-4.38,5.4V61.86h13.92v3.06h23.28V26.4h18.36V12.96Zm-36.9,29.1V27.84H234.88v8.88l4.08,5.34Zm38.34-14.22h-15.9V42.06H285.1l4.08-5.34Zm-15.9,15.78V61.86h16.2V49.02l-4.32-5.4ZM355.42,13.2H338.86V9.06H316.9V13.2H300.64V56.16H316.9v8.76h21.96V56.16h16.56ZM315.7,27.72h3.6V42.3h-3.6ZM340.06,42.3h-3.6V27.72h3.6Zm44.22-31.32V45.72H398.8l5.58-7.44V10.98Zm.36,38.28V63.78h18.24V49.26Z" transform="translate(-36.04 -8.58)"/></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 KiB

View File

@ -0,0 +1,259 @@
@import '../hyperpoint.scss';
$width-svg-sitcon2021: 341px;
$width-svg-sitcon: 244px;
$width-svg-topic: 515px;
$width-svg-cfp: 368px;
$width-svg-date: 207px;
$width-svg-location: 227px;
$width-svg-news: 188px;
#cfp-header {
padding-left: 20px;
padding-right: 20px;
padding-top: 126px;
img.svg {
height: auto;
}
z-index: 1;
.spot-box {
padding-bottom: 260px;
.spot-box-row:not(:first-child) {
margin-top: 32px;
}
}
.info-box {
.date-location {
.date-wrapper {
margin-bottom: 48px;
}
}
}
.info-box {
display: flex;
flex-direction: row;
// justify-content: space-around;
align-items: flex-end;
& > * {
display: flex;
flex-direction: row;
justify-content: center;
}
.date-location {
order: 1;
margin-bottom: 72px;
flex: 1;
}
.cfp-title {
order: 2;
flex: 1;
}
.cfp-news {
order: 3;
margin-bottom: 72px;
flex: 1;
}
}
}
// Layout for mobile
@include md {
#cfp-header {
.info-box {
display: flex;
flex-direction: row;
align-items: flex-end;
flex-wrap: wrap;
.cfp-title {
order: 1;
flex: 0 0 100%;
display: flex;
flex-direction: row;
justify-content: center;
margin-bottom: 72px;
}
.date-location {
order: 2;
flex: 0 0 50%;
display: flex;
flex-direction: row;
justify-content: center;
margin-bottom: 0;
.date-wrapper {
margin-bottom: 36px;
}
}
.cfp-news {
order: 3;
flex: 0 0 50%;
display: flex;
flex-direction: row;
justify-content: center;
margin-bottom: 0;
}
}
}
}
@include md {
#cfp-header {
padding-top: 72px;
padding-bottom: 72px;
.spot-box {
padding-bottom: 400px;
.spot-box-row:not(:first-child) {
margin-top: 30px;
}
}
.info-box {
.cfp-title {
margin-bottom: 56px;
}
.date-location {
.date-wrapper {
margin-bottom: 36px;
}
}
.cfp-news {
}
}
}
$scale: 0.8;
#svg-sitcon2021 {
width: $width-svg-sitcon2021 * $scale;
}
#svg-sitcon {
width: $width-svg-sitcon * $scale;
}
#svg-topic {
width: $width-svg-topic * $scale;
}
#svg-date {
width: $width-svg-date * $scale;
}
#svg-location {
width: $width-svg-location * $scale;
}
#svg-news {
width: $width-svg-news * $scale;
}
#svg-cfp {
width: $width-svg-cfp * $scale;
}
}
@include sm {
#cfp-header {
padding-top: 60px;
padding-bottom: 60px;
.spot-box {
padding-bottom: 360px;
.spot-box-row:not(:first-child) {
margin-top: 20px;
}
}
.info-box {
.cfp-title {
margin-bottom: 56px;
}
.date-location {
.date-wrapper {
margin-bottom: 20px;
}
}
.cfp-news {
}
}
}
$scale: 0.7;
#svg-sitcon2021 {
width: $width-svg-sitcon2021 * $scale;
}
#svg-sitcon {
width: $width-svg-sitcon * $scale;
}
#svg-topic {
width: $width-svg-topic * $scale;
}
#svg-date {
width: $width-svg-date * $scale;
}
#svg-location {
width: $width-svg-location * $scale;
}
#svg-news {
width: $width-svg-news * $scale;
}
#svg-cfp {
width: $width-svg-cfp * $scale;
}
}
@include xs {
#cfp-header {
padding-top: 48px;
padding-bottom: 48px;
.spot-box {
padding-bottom: 240px;
.spot-box-row:not(:first-child) {
margin-top: 20px;
}
}
.info-box {
.cfp-title {
margin-bottom: 32px;
}
.date-location {
.date-wrapper {
margin-bottom: 16px;
}
}
.cfp-news {
}
}
}
$scale: 0.45;
#svg-sitcon2021 {
width: $width-svg-sitcon2021 * $scale;
}
#svg-sitcon {
width: $width-svg-sitcon * $scale;
}
#svg-topic {
width: $width-svg-topic * $scale;
}
#svg-date {
width: $width-svg-date * $scale;
}
#svg-location {
width: $width-svg-location * $scale;
}
#svg-news {
width: $width-svg-news * $scale;
}
#svg-cfp {
width: $width-svg-cfp * $scale;
}
}

View File

@ -0,0 +1,34 @@
@import '@/assets/scss/breakpoint.scss';
@import '@/assets/scss/color.scss';
.agenda.card:not(.container) {
a.image.container {
display: inline-block;
width: 100%;
line-height: 0; // prevent background overflow
background-color: #ffffff;
border-radius: 11px;
box-shadow: 0 3px 15px 0 rgba(89, 120, 206, 0.56);
// smooth transition from hover -> default state
will-change: transform;
transform: scale(1.0);
transition-duration: .25s;
img {
border-radius: 11px;
width: 100%;
}
&:hover {
transform: scale(1.04);
transition-duration: .25s;
}
}
p.description {
line-height: 1.55em;
text-align: center;
font-weight: 900;
}
}

View File

@ -0,0 +1,16 @@
.cfp-background {
// image
background-image:
url('./assets/image/CFPBackground.svg'),
url('./assets/image/sitcon-icon.svg');
background-position:
center center,
center 12%;
background-repeat: no-repeat,no-repeat;
background-size: cover,auto;
overflow-y: hidden;
height: auto;
width: 100vw;
z-index: -1;
}

View File

@ -0,0 +1,285 @@
//import google font
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@500;700;900&display=swap");
//my variable
$color-pale-grey: #f0f7fd;
$color-dark-slate-blue: #1f4163;
$color-dark-sky-blue: #3d93e9;
$color-white: #ffffff;
$color-slate-blue: #5f7a95;
$color-mid-blue: #226bb4;
$fontFamily-NotoSansTC: "Noto Sans TC";
//@mixin
@mixin clearFloat() {
clear: both;
}
$limitWidth: 80vw;
//cfp-information <Agenda> component
.info {
&-container {
width: $limitWidth;
margin: 0 auto;
}
&-section {
@include clearFloat();
width: $limitWidth;
h1 {
height: 70px;
font-family: $fontFamily-NotoSansTC;
font-size: 48px;
font-weight: 900;
font-stretch: normal;
font-style: normal;
line-height: 1.9;
letter-spacing: normal;
text-align: left;
color: $color-mid-blue;
margin: 10px 0;
}
&__content {
width: $limitWidth;
p {
font-size: 18.5px;
font-family: $fontFamily-NotoSansTC;
font-weight: 500;
font-stretch: normal;
font-style: normal;
line-height: 2.1;
letter-spacing: 0.2px;
text-align: left;
color: $color-mid-blue;
}
strong {
font-weight: 900;
}
ul {
list-style: none;
margin: 0;
padding: 0;
li {
margin: 0;
padding: 0 0 0 20px;
span {
display: inline-block;
height: 4px;
width: 4px;
transform: translate(-200%, -150%);
background-color: $color-mid-blue;
border-radius: 50%;
}
}
}
&--sub {
width: $limitWidth;
h2 {
height: 60px;
font-family: $fontFamily-NotoSansTC;
font-size: 36px;
font-weight: 900;
font-stretch: normal;
font-style: normal;
line-height: 2.2;
letter-spacing: normal;
text-align: left;
color: $color-mid-blue;
margin: 10px 0;
}
}
}
}
&-kind {
//background-color: blueviolet;
width: 90vw;
margin-top: 45px;
display: flex;
flex-direction: row;
justify-content: space-around;
@media screen and (max-width: 1200px) {
flex-direction: column;
}
&__itemBox {
width: 330px;
border-radius: 13px;
background-color: $color-mid-blue;
padding: 26px 20px 34px 20px;
@media screen and (max-width: 1200px) {
width: 90%;
margin: 20px auto;
}
&-title {
color: $color-white;
display: inline-block;
text-align: center;
width: 100%;
font-family: $fontFamily-NotoSansTC;
font-weight: 900;
font-stretch: normal;
font-style: normal;
letter-spacing: normal;
text-align: center;
font-size: 34px;
}
&-text {
width: 100%;
//height: 172px;
margin: 0 auto;
text-align: left;
font-size: 19px;
P {
color: $color-white;
font-family: $fontFamily-NotoSansTC;
margin: 15px 0;
}
strong {
font-weight: 900;
}
}
// p {
// color: $color-white;
// font-family: $fontFamily-NotoSansTC;
// font-size: 19px;
// font-weight: 500;
// font-stretch: normal;
// font-style: normal;
// line-height: 2.1;
// letter-spacing: 0.2px;
// }
//
// }
}
// &__itemBox {
// float: left;
// padding: 26px 20px 34px 20px;
// border-radius: 13px;
// background-color: $color-mid-blue;
// width: 354px;
// height: 230px;
// margin: 0 72px 62px 0;
// &-title {
// color: $color-white;
// display: inline-block;
// text-align: center;
// width: 100%;
// font-family: $fontFamily-NotoSansTC;
// font-weight: 900;
// font-stretch: normal;
// font-style: normal;
// // line-height: 1.94;
// letter-spacing: normal;
// text-align: center;
// //modify
// font-size: 34px;
// // margin: 0 0px 0px 40px;
// }
// &-text {
// width: 350px;
// height: 172px;
// margin: 0 auto;
// text-align: left;
// p {
// color: $color-white;
// font-family: $fontFamily-NotoSansTC;
// font-size: 19px;
// font-weight: 500;
// font-stretch: normal;
// font-style: normal;
// line-height: 2.1;
// letter-spacing: 0.2px;
// }
// strong {
// font-weight: 900;
// }
// }
// }
}
&-qa {
width: 1000px;
&__itemBox {
border-radius: 29px;
box-shadow: 0 3px 12px 0 rgba(89, 120, 206, 0.56);
background-color: $color-white;
margin: 20px 0;
padding: 10px 20px;
cursor: pointer;
span {
font-family: $fontFamily-NotoSansTC;
color: $fontColor;
font-weight: 900;
font-size: 20px;
line-height: 42px;
}
p {
display: block;
width: 90%;
}
}
}
// &-qa {
// margin: 30px 0;
// padding: 15px 0;
// // margin-bottom: 120px;
// &__itemBox {
// border-radius: 29px;
// box-shadow: 0 3px 12px 0 rgba(89, 120, 206, 0.56);
// background-color: $color-white;
// margin: 0 0 30px 0;
// &-title {
// display: inline-block;
// width: 1230px;
// height: 30px;
// padding: 8px 41px 11px 23px;
// font-family: $fontFamily-NotoSansTC;
// font-size: 24px;
// font-weight: 900;
// font-stretch: normal;
// font-style: normal;
// line-height: 1.5;
// letter-spacing: normal;
// text-align: left;
// color: $color-mid-blue;
// }
// &-input {
// position: absolute;
// opacity: 0;
// cursor: pointer;
// }
// &-input:checked ~ &-text {
// display: block;
// width: 94%;
// margin: 0 auto;
// padding-bottom: 20px;
// }
// &-text {
// display: none;
// }
// &-checkmark {
// }
// }
// }
}

View File

@ -0,0 +1,682 @@
// font
$fontFamily: 'Noto Sans TC', sans-serif;
$fontStyle: normal;
$light-blue: #3D93E9;
$fontColor: #226bb4;
$buttonHoverColor: #ffffff;
@mixin Font() {
font-family: $fontFamily;
}
@mixin hyperlinkFont() {
text-decoration: underline;
}
// font size
$h1FontSize: 30px;
$h2FontSize: 24px;
$h3FontSize: 16px;
$contextFontSize: 13px;
$buttonFontSize: 24px;
$mh1FontSize: 26px;
$mh2FontSize: 20px;
$mh3FontSize: 14px;
$mcontextFontSize: 14px;
$mbuttonFontSize: 18px;
$hyperlinkFontSize: 14px;
$enlargeFontSize: 55px;
$subFontSize: 30px;
// letter spacing
$titleLetterSpace: 0;
$contextLetterSpace: 0.2px;
$buttonLetterSpace: 0;
$hyperlinkLetterSpace: 0;
// background
$buttonHoverBg: #226BB4;
#cfp {
.introduction-container {
overflow-x: hidden;
overflow-y: hidden;
margin: -8px;
position:relative;
}
.introduction {
// flex
display: flex;
flex-direction: column;
align-items: left;
// font
@include Font;
color: $fontColor;
// size
margin-left: 15%;
margin-top: 50%;
@media screen and(max-width: 414px) {
width:100%;
}
}
.about-section {
// font
font-size: $contextFontSize;
letter-spacing: $contextLetterSpace;
line-height: 42px;
width:90%;
@media screen and(max-width: 414px) {
font-size: $mcontextFontSize;
width:160%;
}
}
.discuss-section {
font-size: $contextFontSize;
letter-spacing: $contextLetterSpace;
line-height: 42px;
@media screen and(max-width: 414px) {
font-size: $mcontextFontSize;
width:80%;
}
}
.topic-intro {
// size
margin-top: 130px;
// font
font-size: $contextFontSize;
letter-spacing: $contextLetterSpace;
line-height: 42px;
@media screen and(max-width: 414px) {
margin-top: 60%;
width: 110%;
}
}
.last-part {
// size
margin-top: 70px;
height: 325px;
// font
font-size: $contextFontSize;
letter-spacing: $contextLetterSpace;
line-height: 42px;
@media screen and(max-width: 414px) {
margin-top: 30%;
width: 70%;
margin-bottom: 30%;
}
}
.buttons {
// font
color: $fontColor;
font-size: $buttonFontSize;
font-weight: 900;
letter-spacing: $buttonLetterSpace;
line-height: 30px;
// size
margin-right: 37px;
padding: 12px 15px 12px 15px;
// box
background-color: #ffffff;
box-shadow: 0 3px 12px 0 rgba(89, 120, 206, 0.56);
transition-duration: 0.2s;
border: none;
border-radius: 8px;
// display
display: inline-block;
position: relative;
z-index: 5;
@media screen and (max-width: 414px) {
font-size: $mbuttonFontSize;
font-weight: 900;
letter-spacing: 0px;
color: $fontColor;
text-align: center;
opacity: 1;
border-radius: 6px;
padding: 10px 8px 10px 8px;
margin-right: 15px;
margin-top: 20px;
}
}
.button-post {
// display
display: inline;
// size
margin-left: 40px;
margin-top: -20px;
z-index: 2;
@media screen and (max-width: 414px) {
width: 414px;
margin-left: 0px;
}
}
.buttons:hover {
// box
background-color: $buttonHoverBg;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.2), 0 0 20px rgba(0, 0, 0, 0.19);
// font
h3 {
color: $buttonHoverColor;
}
}
.date {
// display
display: inline;
// size
margin-right: 35px;
// align
vertical-align: bottom;
line-height: 30px;
@media screen and(max-width:414px){
font-size: 30px;
margin-right: 10px;
line-height: 50px;
vertical-align:middle;
}
}
}
h1, h2, h3, p, span {
font-family: $fontFamily;
color: $fontColor;
}
h1 {
// font
font-size: $h1FontSize;
line-height: 70px;
font-weight: 900;
letter-spacing: $titleLetterSpace;
.enlarge {
font-size: $enlargeFontSize;
@media screen and (max-width: 414px) {
line-height: 80px;
}
}
.sub {
font-size: $subFontSize;
}
@media screen and (max-width: 414px) {
line-height: 20px;
}
}
.right {
text-align: left;
@media screen and (max-width: 414px) {
text-align: right;
margin-right: 30%;
}
}
h2 {
// font
font-size: $h2FontSize;
letter-spacing: $titleLetterSpace;
font-weight: 900;
line-height: 70px;
margin: 0px;
}
h3 {
// Font
font-size: $h3FontSize;
letter-spacing: $titleLetterSpace;
font-weight: 900;
line-height: 15px;
margin: 0px;
}
.about-section > .context {
margin-right: 50%;
}
.topic-intro > .context {
margin-right: 30%;
}
.context {
// font
font-size: $contextFontSize;
line-height: 30px;
letter-spacing: $contextLetterSpace;
font-weight: normal;
}
.detail {
// display
display: inline;
// font
font-size: $contextFontSize;
line-height: 20px;
letter-spacing: $contextLetterSpace;
font-weight: normal;
// align
vertical-align: bottom;
// size
@media screen and (max-width: 414px) {
margin-right: 25%;
line-height: 35px;
font-size: $mcontextFontSize;
}
}
.context-span {
// font
font-size: $contextFontSize;
font-weight: 900;
letter-spacing: $contextLetterSpace;
line-height: 42px;
}
.context-hyperlink {
// font
font-size: $hyperlinkFontSize;
letter-spacing: $hyperlinkLetterSpace;
color: $light-blue;
font-weight: normal;
line-height: 42px;
}
p.tag {
// font
font-size: 14px;
line-height: 15px;
letter-spacing: 0;
font-weight: 900;
// align
text-align: center;
margin-top: 0px;
margin-bottom: 5px;
@media screen and (max-width: 414px) {
font-size: 16px;
}
}
p.tag.sub {
font-size: 12px;
line-height: 10px;
@media screen and (max-width: 414px) {
font-size: 12px;
margin-top: 8px;
}
}
p.small-tag {
margin-block-start: 0em;
margin-block-end: 0.5em;
font-size: 12px;
text-align: center;
@media screen and (max-width: 414px) {
line-height:12px;
font-size: 10px;
}
}
//NOTE: the size should be smaller, this temporary size is provided to support min font size of browser
.cfp-img {
// box
border-radius: 4px;
margin-bottom: 12px;
// size
width: 175px;
height: 118px;
box-shadow: 0 3px 12px 0 rgba(89, 120, 206, 0.56);
@media screen and (max-width:414px){
border-radius: 2px;
margin-bottom: 12px;
width: 111px;
height: 75px;
box-shadow: 0px 1px 6px rgba(89, 120, 206, 0.56);
}
}
.thumbnails {
// box
margin-left: -25.5px;
@media screen and (max-width:414px){
margin-left: -9px;
}
}
.img-table {
// box
border-style: none;
border-spacing: 25.5px 0px; //25.5
@media screen and (max-width: 414px) {
width: 87%;
align-content: center;
border-spacing: 0px 0px;
}
}
.td-width {
vertical-align: top;
@media screen and (max-width: 414px){
text-align: center;
width: 123px;
}
}
.tag-table{
// box
border-style: none;
border-spacing: 0px 0px; //25.5
// size
width: 500px;
}
.first-box {
box-shadow: 0 3px 12px 0 rgba(89, 120, 206, 0.56);
border-radius: 60px;
transform: rotate(15deg);
margin-bottom: -900px;
margin-left: -200px;
margin-top: -300px;
z-index: 1;
@media screen and(max-width: 960px){
border-radius: 40px;
margin-bottom: -800px;
transform: rotate(13deg);
}
@media screen and(max-width: 414px){
border-radius: 27px;
margin-top: 200px;
margin-bottom: -870px;
margin-left: -150px;
transform:scale(1);
transform: rotate(12deg);
}
}
.second-box {
box-shadow: 0 3px 12px 0 rgba(89, 120, 206, 0.56);
border-radius: 32px;
transform: rotate(15deg);
margin-top: 270px;
margin-bottom: -1900px;
margin-left: -700px;
z-index: 1;
@media screen and(max-width: 414px){
box-shadow: -10px 30px 30px 0 rgba(135, 152, 199, 0.56);
margin-top: 5px;
margin-left: -415px;
margin-bottom: -1560px;
transform: rotate(12deg) scale(0.6);
z-index: 2;
}
}
.hiden-box {
position: absolute;
margin-top: 1200px;
margin-left:-300px;
margin-bottom: 0px;
z-index: -1;
@media screen and(max-width: 414px){
margin-top: 1400px;
transform: rotate(12deg);
z-index: -1;
}
}
.box-back {
z-index: 2;
@media screen and(max-width: 960px) {
margin-top: -10%;
margin-left: -10%;
}
@media screen and(max-width: 414px) {
margin-top: -10%;
margin-left: -10%;
}
}
.box-back2 {
z-index: 2;
@media screen and(max-width: 960px) {
margin-top: -10%;
margin-left: -10%;
}
@media screen and(max-width: 414px) {
margin-top: -10%;
margin-left: -10%;
}
}
.SITCON-text-path {
transform: scale(0.7);
padding-left: 300px;
margin-right: -550px;
margin-bottom: -600px;
padding-top: 300px;
z-index: 2;
@media screen and(max-width: 414px) {
z-index: -2;
}
}
.des-text-path {
//background: url(../../assets/images/cfp/Path_762.svg) no-repeat;
transform: scale(0.7);
margin-bottom: -565px;
padding-top: 65px;
margin-left: -350px;
z-index: 2;
@media screen and(max-width: 960px){
margin-left: -150px;
margin-bottom: -545px;
}
@media screen and(max-width: 414px){
//background-image: url(../../assets/images/cfp/Mobile/Path_763.svg);
margin-top: 40px;
margin-left: -80px;
transform: scale(0.9);
background: url(./assets/images/cfp/Mobile/Path_763.svg) no-repeat;
padding-top: -565px;
margin-bottom: -665px;
}
}
.des-blue-bar {
transform: rotate(15deg);
margin-left: -400px;
margin-top: 360px;
margin-bottom: -1360px;
@media screen and(max-width: 414px){
margin-left: -600px;
margin-top: 160px;
transform: rotate(12deg) scale(0.6);
}
}
.paper-image {
transform: scale(0.75);
margin-top: -240px;
margin-left: 270px;
margin-bottom: -710px;
z-index: 1;
@media screen and(max-width: 414px){
z-index: 3;
margin-top: -890px;
margin-left: -150px;
margin-bottom: -1030px;
transform: rotate(-7deg) scale(0.35);
}
}
.background {
//background: url(../../assets/images/cfp/Background.svg) no-repeat;
//content: url("../../assets/images/cfp/Background.svg") no-repeat;
position: absolute;
top: 0;
width:200%;
//max-height: 2000px;
margin-left: -69%;
margin-top: -30%;
text-align: center;
z-index: -2;
@media screen and(max-width: 414px){
//content: url() no-repeat;//../../assets/images/cfp/Mobile/Mobile-background.svg
//visibility: hidden;
background: url(./assets/images/cfp/Mobile/Mobile-background.svg) !important;
object-position: -99999px 99999px;
overflow: hidden;
margin-left: -20%;
margin-top: -20%;
z-index: -1;
transform: scale(1);
}
}
.ellipse {
position: absolute;
width: 100%;
margin-top: -75%;
margin-left: -14%;
align-content: center;
transform: scale(0.31);
@media screen and(max-width: 414px){
margin-top: -20%;
transform: scale(0.60);
}
}
.sitcon-icon {
position: absolute;
width: 100%;
margin-top: -98%;
margin-left: -14%;
align-content: center;
transform: scale(0.14);
@media screen and(max-width: 414px){
margin-top: -42%;
transform: scale(0.3);
}
}
.sitcon-pic-2021 {
position: absolute;
width: 100%;
margin-top: -49%;
margin-left: -14%;
align-content: center;
transform: scale(0.18);
@media screen and(max-width: 414px){
margin-top: -40%;
transform: scale(0.5);
}
}
.sitcon-title-zh {
position: absolute;
width: 100%;
margin-top: -46%;
margin-left: -14%;
align-content: center;
transform: scale(0.11);
@media screen and(max-width: 414px){
margin-top: -30%;
transform: scale(0.4);
}
}
.sitcon-topic {
position: absolute;
width: 100%;
margin-top: -45%;
margin-left: -14%;
align-content: center;
transform: scale(0.23);
@media screen and(max-width: 414px){
margin-top: -20%;
transform: scale(0.65);
}
}
.sitcon-date {
position: absolute;
width: 100%;
margin-top: -31%;
margin-left: -44%;
transform: scale(0.13);
@media screen and(max-width: 414px){
margin-top: 65%;
transform: scale(0.35);
}
}
.sitcon-place {
position: absolute;
width: 100%;
margin-top: -36.5%;
margin-left: -44%;
transform: scale(0.13);
@media screen and(max-width: 414px){
margin-top: 73%;
margin-left: -40%;
transform: scale(0.45);
}
}
.sitcon-qeury {
position: absolute;
width: 100%;
margin-top: -18.5%;
margin-left: -14%;
transform: scale(0.2);
@media screen and(max-width: 414px){
margin-top: 50%;
transform: scale(0.6);
}
}

View File

@ -0,0 +1,126 @@
@import '@/assets/scss/breakpoint.scss';
@import '@/assets/scss/color.scss';
@import '@/assets/scss/font.scss';
$fontFamily: Noto Sans CJK TC, monospace;
#info-schedule {
max-width: 80vw;
margin: 0 auto;
font-family: $fontFamily;
font-size: 20px;
line-height: 2.1em;
letter-spacing: 0.2px;
color: $mid-blue;
* {
position: relative;
}
a {
color: $mid-blue;
text-decoration: underline;
}
h1 {
font-size: 48px;
line-height: 70px;
margin: 15px 0;
}
h2 {
font-size: 36px;
line-height: 70px;
}
h3 {
font-size: 24px;
line-height: 30px;
}
h1, h2, h3 {
font-weight: 900;
}
ul {
li {
&::before {
content: "";
margin: 2px;
line-height: 42px;
}
}
}
section:not(:last-of-type), article:not(:last-of-type) {
margin-bottom: 55px;
}
#theme-example {
> p {
padding: 20px 0;
}
}
#theme-example ~ p {
padding: 20px 0;
}
#presentation-example, #espresso-example {
> p {
padding-bottom: 40px;
}
.agenda.card.container {
display: grid;
grid-template-columns: repeat(4, 1fr);
column-gap: 62px;
row-gap: 40px;
}
}
}
#code-of-conduct a {
font-weight: 900;
}
@include md {
#info-schedule {
margin: 0 auto;
font-size: 14px;
h1, h2 {
font-size: 26px;
line-height: 2.69em;
}
h3 {
font-size: 20px;
line-height: 30px;
}
h1, h2, h3 {
margin: 0;
}
#schedule {
margin-bottom: unset;
}
#theme-example ~ p {
padding: 15px 0;
}
#presentation-example, #espresso-example {
margin-bottom: unset;
.agenda.card.container {
grid-template-columns: repeat(2, 1fr);
column-gap: 42px;
row-gap: 30px;
}
}
}
}

View File

@ -0,0 +1,46 @@
@import '@/assets/scss/breakpoint.scss';
@import '@/assets/scss/color.scss';
.topic {
padding: 30px 0;
display: grid;
grid-template-columns: 256px min-content 1fr;
h3.title {
line-height: 1.67em;
}
.divider {
width: 0;
height: 100%;
border-left: 2px $mid-blue solid;
margin: 0 37px;
}
.title, .description {
display: flex;
align-items: center;
}
}
@include md {
.topic {
grid-template-columns: 1fr;
padding: 20px 0;
h3.title {
br[data-delimiter=""] {
display: none;
}
}
.divider {
width: 100%;
height: 0;
border-bottom: none;
border-top: 2px $mid-blue solid;
margin: 15px 0;
}
}
}

View File

@ -0,0 +1,35 @@
$max-width-0: 1225px;
$max-width-1: 1175px;
$max-width-2: 1030px;
$max-width-3: 646px;
$max-width-4: 415px;
@mixin xs {
@media (max-width: $max-width-4) {
@content;
}
}
@mixin sm {
@media (max-width: $max-width-3) {
@content;
}
}
@mixin md {
@media (max-width: $max-width-2) {
@content;
}
}
@mixin lg {
@media (max-width: $max-width-1) {
@content;
}
}
@mixin xl {
@media (max-width: $max-width-0) {
@content;
}
}

View File

@ -0,0 +1,2 @@
$mid-blue: #226bb4;
$white: white;

View File

@ -0,0 +1,2 @@
// import web font
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@500;700;900&display=swap');

145
src/assets/scss/footer.scss Normal file
View File

@ -0,0 +1,145 @@
@import './breakpoint.scss';
// varible declare
$fontColor: white;
$backgroundColor: #1f4163;
$fontFamily: Noto Sans CJK TC, monospace;
@mixin fontSize() {
font-size: 14pt;
line-height: 2;
@include xl {
}
@include lg {
}
@include md {
}
@include sm {
font-size: 14pt;
}
@include xs {
font-size: 12pt;
}
}
@mixin iconSize() {
font-size: 2.2em;
margin-right: 36px;
@include xl {
font-size: 2.1em;
margin-right: 20px;
}
@include lg {
}
@include md {
font-size: 1.8em;
}
@include sm {
}
@include xs {
font-size: 1.6em;
}
}
@mixin footerLayout() {
// flex
display: flex;
flex-direction: row;
justify-content: center;
& > .footer-right {
margin-left: 100px;
}
@include md {
flex-direction: column;
justify-content: flex-start;
align-items: center;
// height: 320px;
& > .footer-right {
margin-left: 0;
}
& > * {
margin-left: 0;
width: 80%;
}
.footer-left {
margin-bottom: 24px;
}
.footer-right {
padding-bottom: 0;
}
}
@include xs {
& > * {
width: 90%;
}
}
}
.footer-container {
background: $backgroundColor;
// position
// position: absolute;
// bottom: 0;
// left: 0;
margin-top: auto;
// size
width: 100vw;
padding-top: 45px;
padding-bottom: 45px;
.footer-left {
display: inline-flex;
flex-direction: column;
justify-content: center;
//margin-left: 100px;
.footer-brand {
margin-bottom: 24px;
}
}
.footer-right {
display: inline-flex;
flex-direction: column;
justify-content: center;
padding-bottom: 24px;
//margin-left: 100px;
.footer-context {
margin-bottom: 14px;
}
}
// layout
@include footerLayout;
}
.footer-community-icon {
.community-icon {
@include iconSize;
color: $fontColor;
}
.community-icon:first {
margin-left: 0;
}
}
.footer-context {
@include fontSize;
font-family: $fontFamily;
color: $fontColor;
font-weight: bold;
}
.footer-font-block {
// display flex
display: flex;
flex-direction: column;
// size
width: auto;
}

View File

@ -0,0 +1,29 @@
// There are breakpoints used by hyperbola
$w1366: 1366px;
$w1024: 1024px;
$w768: 768px;
$w414: 414px;
@mixin lg {
@media screen and (max-width: $w1366 - 1px) {
@content;
}
}
@mixin md {
@media screen and (max-width: $w1024 - 1px) {
@content;
}
}
@mixin sm {
@media screen and (max-width: $w768 - 1px) {
@content;
}
}
@mixin xs {
@media screen and (max-width: $w414 - 1px) {
@content;
}
}

43
src/assets/scss/main.scss Normal file
View File

@ -0,0 +1,43 @@
// global
@import './reset.scss';
@import './variable.scss';
@import './color.scss';
@import './util.scss';
// components
@import './footer.scss';
@import './CFP/cfp_introduction.scss';
@import './CFP/CFP.scss';
@import './CFP/cfpSubNew.scss';
@import "./news.scss";
.sitcon-burnfont {
color: $mid-blue;
font-weight: 900;
}
.link {
cursor: pointer;
}
body {
width: 100vw;
position: relative;
overflow-x: hidden;
display: flex;
flex-direction: column;
height: 100vh;
font-size: 14pt;
margin:0;
}
#app {
width: 100vw;
height: 100vh;
overflow-x: hidden;
margin: 0;
}
small {
font-size: 0.66em;
}

316
src/assets/scss/news.scss Normal file
View File

@ -0,0 +1,316 @@
@import './hyperpoint.scss';
@import './color.scss';
// desktop mode
#news-header {
padding: 72px 280px;
.top-bar {
position: relative;
// background: red; // debug
height: 60px;
.return-wrapper {
// location
position: absolute;
left: -30px;
bottom: -4px;
.shape-wrapper {
background: $white;
border-radius: 12px;
-webkit-box-shadow: -18px 18px 0px -6px $mid-blue,
0px 0px 10px 0px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -18px 18px 0px -6px $mid-blue,
0px 0px 10px 0px rgba(0, 0, 0, 0.2);
box-shadow: -18px 18px 0px -6px $mid-blue,
0px 0px 10px 0px rgba(0, 0, 0, 0.2);
@keyframes jump {
0% {position: relative;bottom: 0px;}
50% {position: relative;bottom: 20px;}
100% {position: relative;bottom: 0px;}
}
&:hover {
animation: jump .6s ease-in 0s infinite reverse;
}
.text-wrapper {
width: 68px;
height: 68px;
line-height: 68px;
text-align: center;
color: $mid-blue;
font-weight: bold;
font-size: 16pt;
}
}
}
.contribute-wrapper {
display: none; // display in mobile
}
.title-wrapper {
.svg-cfp-news {
height: 60px;
width: auto;
}
}
}
.cfp-body {
padding: 40px 48px;
margin-top: 54px;
border-radius: 24px;
color: $white;
background: $mid-blue;
font-size: 14pt;
font-weight: bold;
display: flex;
flex-direction: column;
align-items: center;
.spot-wrapper {
margin-bottom: 2.25em;
h1 {
font-size: 26pt;
margin-bottom: 1em;
}
.countdown {
line-height: 1.5;
}
}
.time-wrapper {
display: flex;
flex-direction: row;
align-items: flex-start;
h2 {
height: 24pt;
}
p {
font-size: 1.44em;
}
.tilde-wrapper {
margin-right: 0.85em;
}
}
}
}
@include lg {
#news-header {
padding-left: 120px;
padding-right: 120px;
}
}
// mobile mode
@include md {
#news-header {
font-size: 14pt;
padding: 72px 100px;
.top-bar {
position: initial;
height: 5em;
border-radius: 2.5em;
padding-left: 2.5em;
padding-right: 2.5em;
background: $white;
-webkit-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);
box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);
display: flex;
flex-direction: row;
align-items: center;
.return-wrapper {
// location
position: initial;
flex: 1;
.shape-wrapper {
background: $white;
border-radius: 12px;
-webkit-box-shadow: -13px 13px 0px -6px $mid-blue,
0px 0px 10px 0px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -13px 13px 0px -6px $mid-blue,
0px 0px 10px 0px rgba(0, 0, 0, 0.2);
box-shadow: -13px 13px 0px -6px $mid-blue,
0px 0px 10px 0px rgba(0, 0, 0, 0.2);
.text-wrapper {
width: 3em;
height: 3em;
line-height: 3em;
text-align: center;
color: $mid-blue;
font-weight: bold;
font-size: 1em;
}
}
}
.title-wrapper {
flex: 1;
.svg-cfp-news {
height: 2.25em;
width: auto;
}
}
.contribute-wrapper {
display: initial;
flex: 1;
text-align: end;
.btn-contribute {
display: inline-block;
border-radius: 6px;
background: $mid-blue;
color: $white;
font-weight: 900;
padding: 0.5em;
font-size: 1.2em;
}
}
}
.cfp-body {
padding-top: 2em;
padding-left: 2em;
padding-right: 2em;
padding-bottom: 3.5em;
margin-top: 54px;
border-radius: 24px;
color: $white;
background: $mid-blue;
font-weight: bold;
font-size: 1em;
.spot-wrapper {
h1 {
font-size: 2em;
margin-bottom: 1em;
}
margin-bottom: 2.25em;
}
.time-wrapper {
display: flex;
flex-direction: column;
h2 {
height: initial;
}
p {
font-size: 1.25em;
}
.start-time-wrapper {
h2,
p {
margin-bottom: 1.25em;
}
}
.end-time-wrapper {
h2 {
margin-bottom: 1.25em;
}
}
.tilde-wrapper {
display: none;
}
}
}
}
}
@include sm {
#news-header {
font-size: 12pt;
padding: 60px 40px;
.cfp-body {
font-size: 14pt;
}
}
}
// a 540px break point will be better = =
@media screen and (max-width: 539px) {
#news-header {
font-size: 10pt;
padding: 36px 18px;
.top-bar {
height: 4em;
border-radius: 2em;
padding-left: 1.66em;
padding-right: 1em;
-webkit-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);
box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);
.return-wrapper {
.shape-wrapper {
.text-wrapper {
width: 2.4em;
height: 2.4em;
line-height: 2.4em;
text-align: center;
color: $mid-blue;
font-weight: bold;
font-size: 1em;
}
}
}
.title-wrapper {
flex: 1;
.svg-cfp-news {
height: 1.85em;
width: auto;
}
}
.contribute-wrapper {
display: initial;
flex: 1;
text-align: end;
.btn-contribute {
display: inline-block;
border-radius: 6px;
background: $mid-blue;
color: $white;
font-weight: 900;
padding: 0.5em;
font-size: 1.2em;
}
}
}
.cfp-body {
font-size: 12pt;
}
}
}

111
src/assets/scss/reset.scss Normal file
View File

@ -0,0 +1,111 @@
*,
*:before,
*:after {
box-sizing: border-box;
}
html,
body,
div,
span,
object,
iframe,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
code,
em,
img,
small,
strike,
strong,
sub,
sup,
tt,
b,
u,
i,
ol,
ul,
li,
fieldset,
form,
label,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
main,
canvas,
embed,
footer,
header,
nav,
section,
video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
text-size-adjust: none;
}
footer,
header,
nav,
section,
main {
display: block;
}
body {
line-height: 1;
}
ol,
ul {
list-style: none;
}
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: '';
content: none;
}
a {
text-decoration: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
input {
-webkit-appearance: none;
border-radius: 0;
}

35
src/assets/scss/util.scss Normal file
View File

@ -0,0 +1,35 @@
.text-center {
text-align: center;
.ignore {
display: inline-block;
width: 0;
}
}
.shape-wrapper {
display: inline-block;
.text-wrapper {
display: inline-block;
}
&.diamond {
$angle: 45deg;
-moz-transform: rotate($angle);
-webkit-transform: rotate($angle);
-o-transform: rotate($angle);
-ms-transform: rotate($angle);
transform: rotate($angle);
.text-wrapper {
-moz-transform: rotate(-$angle);
-webkit-transform: rotate(-$angle);
-o-transform: rotate(-$angle);
-ms-transform: rotate(-$angle);
transform: rotate(-$angle);
}
}
}
.d-inline-block {
display: inline-block;
}

View File

View File

@ -0,0 +1,249 @@
<template>
<div class="info-container">
<!-- 議程種類方塊 -->
<div class="info-section">
<h1>議程種類</h1>
<div class="info-section__content">
<div class="info-kind">
<div class="info-kind__itemBox">
<div class=info-kind__itemBox-title>Presentation</div>
<div class="info-kind__itemBox-text">
<p>Presentation 包含完整 30 分鐘的議程與 10 分鐘的問答時間<strong> 40
分鐘</strong>讓您有充分的時間展示想法描述經歷和與會者交流
</p>
</div>
</div>
<div class="info-kind__itemBox">
<div class="info-kind__itemBox-title">Double Espresso</div>
<div class="info-kind__itemBox-text">
<p>
Double Espresso <strong> 20 分鐘的議程</strong>相對於僅 10 分鐘的 Espresso讓您有餘裕補充想法和與會者進行問答
</p>
</div>
</div>
<div class="info-kind__itemBox">
<div class="info-kind__itemBox-title">Espresso</div>
<div class="info-kind__itemBox-text">
<p>
Espresso <strong>僅有 10 分鐘</strong>挑戰最為濃縮與精華的議程為與會者帶來短而精緻的知識洗禮
</p>
</div>
</div>
</div>
</div>
</div>
<!-- 議程種類方塊 -->
<!-- 流程 -->
<div class="info-section">
<h1>流程</h1>
<div class="info-section__content">
<p>
本年度 SITCON
年會將分為<strong>二階段投稿與審稿</strong>第一階段決定是否接受稿件第二階段安排演講廳審稿委員於第一階段完成審稿後將對外公告接受稿件清單並通知投稿者提供第二階段所需之資料SITCON
議程組於第二階段將依照投稿者提供的資料以及公開的人氣投票結果安排年會當日的演講廳與時段第二階段的資料不影響稿件接受與否
</p>
</div>
</div>
<!-- 流程 -->
<!-- 投稿方式 -->
<div class="info-section">
<h1>投稿方式</h1>
<div class="info-section__content">
<p>
稿件均經議程組形式審查交予該領域之審稿委員審稿審稿委員由 SITCON 工作人員業界人士及學界人士組成
</p>
<div class="info-section__content--sub">
<h2>投稿格式</h2>
<p>
各議程類型的投稿格式相同除特別標示之資訊外其餘僅供審稿委員於審稿時閱讀
<br>
<br>
<ul>
<li><span /><strong>投稿類型</strong>必填公開請寫明所欲投稿為何種議程類型 Presentation Double EspressoEspresso
</li>
<li><span /><strong>題目 Title</strong>必填公開請不要超出 20 </li>
<li><span /><strong>摘要 Abstract</strong>必填公開建議含標點符號 150250 使用於宣傳與網站公告</li>
<li><span /><strong>演講大綱 Outline</strong>必填請說明議程的內容大綱與時間分配若為多位講者共同分享請說明各個講者如何分配演講內容</li>
<li><span /><strong>目標受眾 Target
Audience</strong>必填請說明您期待該議程的目標受眾為怎麼樣的人例如嚮往成為前端開發者的初學者欲精進某技能的後端工程師</li>
<li><span /><strong>先備知識 Prior Knowledge</strong>必填公開請說明該議程的與會者所需具備的先備知識例如能理解 Python
基礎語法能熟練運用 Class
OOP
</li>
<li><span /><strong>詳細說明
Description</strong>必填不限字數請說明這個議程您認爲重要的相關細節以利審稿委員更瞭解您的作品我們強烈建議您詳細填寫此項讓審稿委員全面且深入地了解您的稿件增加入選機率
</li>
<li><span /><strong>關鍵字 Keywords</strong>選填公開請勾選與議程內容相關的關鍵字或自行新增</li>
<li><span /><strong>附件 Attachment</strong>選填可以附上程式碼投影片草稿或任何您認爲有助於我們瞭解您的議程的附件</li>
</ul>
</p>
</div>
<div class="info-section__content--sub">
<h2>個人資料</h2>
<p>
除了暱稱/姓名被用於宣傳其餘資訊僅需提供一人作為代表當稿件同時有多位講者時供議程組於聯絡時使用
<br>
<br>
<ul>
<li><span /><strong>電子郵件 Email</strong>能讓大會聯絡的電子信箱注意請您在大會的聯絡過程中維持使用相同信箱</li>
<li><span /><strong>暱稱/名字 Name</strong>公開於講者海報及網站的稱呼</li>
<li><span /><strong>手機號碼 Phone</strong>用於大會聯絡確認資訊用的電話號碼</li>
<li><span /><strong>其他聯絡方式 Other contact information</strong>其他任何我們能聯絡您的方式 Telegram住處電話等
</li>
</ul>
</p>
</div>
</div>
</div>
<!-- 投稿方式 -->
<!-- 審稿方式 -->
<div class="info-section">
<h1>審稿方式</h1>
<div class="info-section__content">
<p>
審稿委員將針對以下項目進行篩選
<ul>
<li><span /><strong>稿件內容</strong>知識分享經驗案例想法觀點是否獨特等</li>
<li><span /><strong>表達能力</strong>提供的資料是否有條理文句暢通以及提供資料之完整度完整的資料能讓審稿委員更清楚了解演講細節</li>
<li><span /><strong>適合聽眾</strong>稿件是否適合 SITCON 大多數的與會者經我們評估比較小眾的議程將可能安排在較小的演講廳</li>
</ul>
</p>
</div>
<!-- 審稿方式 -->
<!-- 投稿注意事項 -->
</div>
<div class="info-section">
<h1>投稿注意事項</h1>
<div class="info-section__content">
<p>
<ul>
<li><span />SITCON 2021 採用 Google Forms 接收投稿</li>
<li><span />SITCON 2021 將會有 4 軌議程同時進行不計其他議程相關活動</li>
<li><span />上述審稿方式不考慮稿件內容的難度我們以稿件是否能夠吸引人高品質適合聽眾即前述審稿方式為考量</li>
為鼓勵投稿大會提供投稿者一組入場票邀請碼
投稿者有多個投稿亦同即為一人一組非一稿一組可優先報名參與本年會若您的稿件被接受屆時可使用講者身分入場不需要另外報名並可以將入場票邀請碼贈與他人使用邀請親朋好友共襄盛舉講者身分入場每組可獲得一張講者識別證一份午餐餐盒與一份講者專屬迎賓禮
<li><span />在截稿之前投稿者可以隨時使用投稿系統修改已投的稿件</li>
<li><span />SITCON 議程組得與投稿者討論並經同意後轉換稿件之投稿類型</li>
<li><span />無論投稿有無入選仍然歡迎於年會當天報名其他議程相關活動</li>
<li><span />凡稿件經接受者年會將頒予感謝狀以表彰投稿者之熱情付出與貢獻</li>
<li><span />稿件在第一階段入選後第二階段補充資料與公開的人氣投票結果僅作為 SITCON 議程組安排年會當日的演講廳與時段參考最終結果仍以 SITCON 議程組公告為準</li>
<li><span />議程題目摘要先備知識將放置於官方網站與年會前發行的電子報中</li>
</ul>
<br />
若有任何問題或投稿建議 E-mail SITCON 議程組信箱 session[at]sitcon.org
</p>
<div class="info-section__content--sub">
<h2>錄影與紀錄</h2>
<p>
所有議程皆會錄影若不希望被錄影與釋出可以與議程組聯絡<br />
本屆 SITCON
提供入選講者試講及彩排的機會試講除了讓大會工作人員先行對議程內容演講習慣有初步了解外也可以讓講者熟悉現場流程找出能讓簡報更生動精采的模式彩排則讓講者熟悉現場設備環境攝影機位置並且測試
Live
Demo 情境希望講者能夠共同參與試講及彩排一起使年會議程品質更臻完美
</p>
</div>
<div class="info-section__content--sub">
<h2>授權</h2>
<p>
議程錄影將在經過您的同意後一律以 CC - BY 3.0 授權在 YouTube 釋出
議程相關素材例如投影片等將由您自行決定在何處以何種方式釋出或選擇不釋出我們不會干涉年會後我們將向您蒐集素材連結若您選擇釋出我們會將連結放置在年會官方網站的議程表上
</p>
</div>
<div class="info-section__content--sub">
<h2>試講</h2>
<p>
試講提供講者在演講前有練習的機會比照年會時間安排供講者講完整場演講並有議程組人員提供建議如簡報台風等講者可以自由參加並自行選擇最合適的場次若您的稿件確認入選議程組將與您協調精確時間
</p>
<p>
所有場次將依報名情況舉辦預計舉辦北部中部南部東部場等時間約為四月份地點另行通知
補助依照客運價格標準補助講者至最近試講場地的全額或部分車馬費
</p>
</div>
<div class="info-section__content--sub">
<h2>彩排</h2>
<p>
<ul>
<li><span />日期2021/05/28</li>
<li><span />場地使用場地與正式年會相同細節將於稿件接受後通知</li>
<li><span />時間一人約 510 分鐘若有 Live Demo 或特殊需求可提前與議程組安排時間</li>
<li><span />流程講者操作設備測試 Live Demo 連結及切換方式也可以演練部分簡報內容</li>
<li><span />提供設備與年會當天場地的設備相同有麥克風倒數計時器等</li>
</ul>
</p>
</div>
<div class="info-section__content--sub">
<h2>注意</h2>
<p>
<ul>
<li><span />除非內容明顯偏離講題違反 CoC 或不符事實我們不會強制要求講者對演講內容進行修正</li>
<li><span />為了維護所有講者的權利試講時間恕不接受更改請各位講者準時參與</li>
</ul>
</p>
</div>
<div class="info-section__content--sub">
<h2>Q&A</h2>
<div class="info-qa">
<div class="info-qa__itemBox" v-for="item,index in QA" :key="index" @click="e=>fade(index)">
<span>Q: {{item.Q}}</span>
<p v-if="item.v">{{item.A}}</p>
</div>
</div>
</div>
</div>
<!-- 投稿注意事項 -->
</div>
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
@Component({})
export default class Agenda extends Vue {
private QA = [
{
Q: '先備知識與目標受眾有何不同?',
A: '「目標受眾」表示您預期何種人將會前來參與該場議程此欄位可能表示為與會者的興趣、生活環境抑或年齡層。「先備知識」表示對該議程有興趣者您建議須先備哪些基礎技術、能力或經驗有助於了解與吸收該場議程的知識精華。舉例而言若一講題為「在營隊中使用虛擬貨幣」則先備知識可能是「沒有」目標受眾可能是「有想要辦營隊的人」。而如果是有關Julia 程式語言的演講,則先備知識可能是「知道平行運算是什麼」,目標受眾可能是「想用 Julia 做資料科學的人」。',
v: false
},
{
Q: '投稿主題是否有必要切合年會主題(算盤的後裔)?',
A: '不用。審稿時僅會依照上文所述方式審查,不會因為切合主題就拿到比較高分,或因為與 主題無關就被扣分。',
v: false
},
{
Q: '先備知識與目標受眾有何不同?',
A: '若我們認為您的稿件很優秀,但可能比較適合另一種形式,或者該形式的名額已經額滿、無法再增額時,我們會向您充分說明與溝通,並經您的同意後,轉換稿件類型。',
v: false
},
{
Q: '如果我的稿件預計會有多個講者,投稿時需要注意什麼?',
A: '請在「暱稱/名字」欄位標示所有講者的稱呼,並在「演講大綱」詳細說明各個講者如何分配演講內容。稿件經接受者,無論講者人數,皆只提供一組可轉贈的入場票邀請碼、一張講者識別證、一份午餐餐盒與一份講者專屬迎賓禮。未佩戴識別證的講者,僅能在自己的演講時,於該議程時段進入議程所在的會議廳。',
v: false
},
{
Q: '如果我入選第二階段,可以提供哪些補充資料?',
A: '您可以提供簡報檔案、講稿、演講錄音搭配簡報畫面製成影片,或是實際錄影,您可以自行決定是否提供上述的任何一項,作為補充資料。',
v: false
},
{
Q: '還有疑問怎麼辦?',
A: '歡迎來投稿者小聚與我們聊聊,或寄信至 session[at]sitcon.org 詢問,我們會儘速回應。',
v: false
}
];
private fade = (index: number) => {
this.QA[index].v = !this.QA[index].v;
}
}
</script>

View File

@ -0,0 +1,24 @@
<template>
<div class="agenda card">
<a class="image container" :href="ytLink" target="_blank" rel="noopener">
<img :src="img">
</a>
<p class="description">{{ title }} <span v-if="introdLink != ''">(<a :href="introdLink" target="_blank" rel="noopener">簡介</a>)</span></p>
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
@Component
export default class AgendaCard extends Vue {
@Prop({ required: true }) private ytLink!: string;
@Prop({ required: true }) private introdLink!: string;
@Prop({ required: true }) private title!: string;
@Prop({ required: true }) private img!: string;
}
</script>
<style lang="scss">
@import '@/assets/scss/CFP/card.scss';
</style>

View File

@ -0,0 +1,79 @@
<template>
<header class="sitcon-burnfont">
<div class="spot-box">
<div class="sitcon-2021 text-center spot-box-row">
<img
alt="SITCON2021"
src="~@/assets/image/burnfont/2021.svg"
class="svg"
id="svg-sitcon2021"
/>
</div>
<div class="sitcon-name text-center spot-box-row">
<img
alt="學生計算機年會"
src="~@/assets/image/burnfont/sitcon.svg"
class="svg"
id="svg-sitcon"
/>
</div>
<h1 class="sitcon-topic text-center spot-box-row">
<img
alt="算盤的後裔"
src="~@/assets/image/burnfont/topic.svg"
class="svg"
id="svg-topic"
/>
</h1>
</div>
<div class="info-box">
<div class="cfp-title">
<div class="cfp-svg-wrapper text-center">
<img
src="~@/assets/image/burnfont/cfp.svg"
class="svg"
id="svg-cfp"
/>
</div>
</div>
<div class="date-location">
<div class="date-location-wrapper">
<div class="date-wrapper">
<img
src="~@/assets/image/burnfont/date.svg"
class="svg"
id="svg-date"
/>
</div>
<div class="location-wrapper">
<img
src="~@/assets/image/burnfont/location.svg"
class="svg"
id="svg-location"
/>
</div>
</div>
</div>
<div class="cfp-news">
<div class="cfp-news-wrapper">
<div class="hexagon">
<a href="/news" rel="noopener" class="btn">
<img
src="~@/assets/image/burnfont/news.svg"
class="svg"
id="svg-news"
/>
</a>
</div>
</div>
</div>
</div>
</header>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
@Component
export default class CfpHeader extends Vue {}
</script>

View File

@ -0,0 +1,139 @@
<template>
<main class="introduction-container">
<div class="introduction">
<img src="@/assets/images/cfp/Ellipse 5.svg" class="ellipse"/>
<img src="@/assets/images/cfp/Group 10.svg" class="sitcon-icon"/>
<img src="@/assets/images/cfp/Path 733.svg" class="sitcon-pic-2021"/>
<img src="@/assets/images/cfp/Path 734.svg" class="sitcon-title-zh"/>
<img src="@/assets/images/cfp/Path 735.svg" class="sitcon-topic"/>
<img src="@/assets/images/cfp/Path 736.svg" class="sitcon-date"/>
<img src="@/assets/images/cfp/Path 737.svg" class="sitcon-place"/>
<img src="@/assets/images/cfp/Path 738.svg" class="sitcon-qeury"/>
<!-- ../../assets/images/cfp/Mobile/Mobile-background.svg -->
<img src="@/assets/images/cfp/Background.svg" class="background"/>
<!-- src="@/assets/images/cfp/Background.svg" -->
<!-- first part -->
<img src="@/assets/images/cfp/Path 740.svg" class="SITCON-text-path"/>
<svg width="890" height="900" class="first-box">
<rect width="1000" height="1000" style="fill:#ffffff;" />
</svg>
<div class="box-back">
<h1>關於 SITCON</h1>
<div class="about-section">
<p class="context">
學生計算機年會SITCON 2013
年發起以學生為本由學生自發舉辦長期投身學生資訊教育與推廣開源精神希望引領更多學子踏入資訊的殿堂更冀望所有對資訊有興趣的學生能夠在年會裏齊聚一堂彼此激盪傳承啟發達到學以致用教學相長的實際展現
</p>
</div>
<h2>歷屆年會網站</h2>
<div class="thumbnails">
<table class="img-table">
<tr>
<td class="td-width">
<img class="cfp-img" src="@/assets/images/cfp/2020.png" />
<p class="tag">SITCON 2020<br /></p>
<p class="tag sub">#define</p>
</td>
<td class="td-width">
<img class="cfp-img" src="@/assets/images/cfp/2019.png" />
<p class="tag">SITCON 2019<br /></p>
<p class="tag sub">開箱演算法</p>
</td>
<td class="td-width">
<img class="cfp-img" src="@/assets/images/cfp/2018.png" />
<p class="tag">SITCON 2018<br /></p>
<p class="small-tag">POPULAR COMPUTER SCIENCE</p>
</td>
</tr>
</table>
</div>
<h2>參與討論</h2>
<div class="discuss-section">
<p class="context">
SITCON 是個開放的社群許多籌備的相關事項都會在公開的 Mailing list
上進行<br />
討論如果有興趣參與歡迎訂閱 SITCON Mailing list
並貢獻你的想法
</p>
<p class="context" style="margin-top: 22px; margin-bottom: 22px">
若你想進一步了解過往討論的內容也歡迎在 HackMD 上查看 SITCON 2021
的會議記錄
</p>
</div>
<div>
<button class="buttons"><h3>SITCON 論壇</h3></button>
<button class="buttons"><h3>會議記錄</h3></button>
</div>
</div>
<!-- first part -->
<!-- second part -->
<img src="@/assets/images/cfp/Path_762.svg" class="des-text-path"/> <!---->
<svg width="1500" height="1500" class="second-box">
<rect width="1500" height="1500" style="fill:#ffffff;" />
</svg>
<svg width="2000" height="350" class="des-blue-bar">
<rect width="2000" height="350" style="fill:#226BB4;" />
</svg>
<svg width="1500" height="900" class="hiden-box">
<rect width="1500" height="900" style="fill:#ffffff;" />
</svg>
<div class="box-back2" style="margin-top: 1000px;">
<div class="topic-intro">
<h1 class="right">2021 年會主題</h1>
<h1 class="right">
<span class="enlarge">算盤的後裔</span>
</h1>
<p class="context">
千年以前的人類發明了各式各樣輔助算術的工具在世界各地的文明中皆能找到廣義上的算盤隨著時代演進那些原始的工具逐步進化成為現代的計算機與電腦更進一步發展為隨處可見的智慧型裝置俗話說站在巨人的肩膀上前人的智慧成果成為墊腳石讓站在其之上的後人可以看得更高更遠科技層層疊疊承先啟後文明才能跨越時空持續成長
</p>
<p class="context">
人們不再需要重新發明輪子只要善用前人的成果就能造出更有效率的工具並擁有更好的生活生於現代的我們每天寫著電腦程式把玩著智慧型手機徜徉在網際網路上沒有邊際的資訊大海奠基於科技的現有成果對科技的未來持續做出貢獻的我們都是算盤的後裔
</p>
<img src="@/assets/images/cfp/paper/paper.png" class="paper-image" />
<h2>徵稿時間</h2>
<div>
<h2 class="date">01/15 ~ 02/22</h2>
<p class="detail">
詳細時程請見
</p>
<div class="button-post">
<button class="buttons"><h3>投稿資訊</h3></button>
<!-- NOTE: this button's hover won't work because paper.png is too big -->
<button class="buttons"><h3>不用說了快讓我投稿</h3></button>
</div>
</div>
</div>
<div class="last-part">
<h3>最後...</h3>
<h1>SITCON 贊助徵求</h1>
<!--style="margin-top:-30px;"-->
<p class="context">
SITCON 的舉辦除了有賴眾多志工的努力也需要金錢的支持<br />
如果您認同 SITCON 的理念歡迎以行動支持 SITCON
的運作讓更多交流產生
</p>
<p class="context">
企業合作歡迎聯繫
<a class="context-hyperlink" href="mailto:contact@sitcon.org">contact@sitcon.org</a>
</p>
<div>
<button class="buttons"><h3>個人贊助方案</h3></button>
</div>
</div>
<!-- second part -->
</div>
</div>
</main>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
@Component
export default class IntrodContainer extends Vue {}
</script>

View File

@ -0,0 +1,81 @@
<template>
<div id="info-schedule">
<!-- 重要時程 -->
<section id="schedule">
<h1>重要時程</h1>
<ul>
<li>3 月上旬第一階段審稿結束公告入選結果並開始收取第二階段補充資料</li>
<li>3 月下旬第二階段補充資料截止收取</li>
<li>4 月中旬第二階段審稿結束隨後公佈完整議程</li>
<li>2021/05/29SITCON 2021</li>
</ul>
</section>
<!-- 重要時程 -->
<!-- 投稿主題範例 -->
<section id="example">
<article id="theme-example">
<h1>投稿主題範例</h1>
<p>SITCON 作為學生展現自己的舞台我們特別期待以學生為主體的稿件例如從學生角度出發的經驗分享技術分享專題研究成果獨立研究甘苦談或探討學生相關議題等等</p>
<p>除此之外任何與資訊科技電腦技術相關的講題也都歡迎投稿以下為幾個我們最近覺得有趣和時事相關的主題範疇可作為主題發想的靈感來源提供給您參考</p>
<!-- there is a object arr named 'themeExample', each object have two value ie. title and content -->
<div class="theme container">
<Topic v-for="theme in themeExample" :topic="theme.title" :description="theme.context" :key="theme.title" />
</div>
</article>
<p>
除此之外您也可以透過參與投稿者小聚或前往 SITCON 歷年網站<a href="https://sitcon.org/2013" rel="noopener">2013</a><a href="https://sitcon.org/2014" rel="noopener">2014</a><a href="https://sitcon.org/2015" rel="noopener">2015</a><a href="https://sitcon.org/2016" rel="noopener">2016</a><a href="https://sitcon.org/2017" rel="noopener">2017</a><a href="https://sitcon.org/2018" rel="noopener">2018</a><a href="https://sitcon.org/2019" rel="noopener">2019</a><a href="https://sitcon.org/2020" rel="noopener">2020</a>查看過去的議程
<br>以下是我們以往的熱門議程提供給您參考
</p>
<article id="presentation-example">
<h2>Presentation</h2>
<p>Presentation 包含完整 30 分鐘的議程與 10 分鐘的問答時間 40 分鐘讓您有充分的時間展示想法描述經歷和與會者交流</p>
<!-- there is a object arr name 'presentation', each object have 'title' 'ytLink' 'introdLink' 'img' -->
<div class="agenda card container">
<AgendaCard v-for="agenda in presentation" v-bind="agenda" :key="agenda.title" />
</div>
</article>
<article id="espresso-example">
<h2>Espresso</h2>
<p>Espresso 僅有 10 分鐘挑戰最為濃縮與精華的議程為與會者帶來短而精緻的知識洗禮</p>
<!-- there is a object arr name 'espresso', each object have 'title' 'ytLink' 'introdLink' 'img' -->
<div class="agenda card container">
<AgendaCard v-for="agenda in espresso" v-bind="agenda" :key="agenda.title" />
</div>
</article>
</section>
<!-- 投稿主題範例 -->
<!-- Code of Conduct -->
<section id="code-of-conduct">
<h1>Code of Conduct</h1>
<p>SITCON 歡迎不同身分來自不同背景的與會者也非常鼓勵女性性少數與多元背景的參與者為了讓大家都能愉快的參加 SITCON我們要求所有參與者閱讀年會的<a href="https://sitcon.org/code-of-conduct/" target="_blank" rel="noopener"><u>行為守則Code of Conduct</u></a>共同創造一個友善的環境</p>
</section>
<!-- Code of Conduct -->
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import AgendaCard from './AgendaCard.vue';
import Topic from './Topic.vue';
// import data
import themeExample from '../../../template/themeExample.cfp';
import espresso from '../../../template/espresso.cfp';
import presentation from '../../../template/presentation.cfp';
@Component({
components: {
AgendaCard,
Topic
}
})
export default class Schedule extends Vue {
private themeExample = themeExample;
private espresso = espresso;
private presentation = presentation;
}
</script>
<style lang="scss">
@import '@/assets/scss/CFP/schedule.scss';
</style>

View File

@ -0,0 +1,25 @@
<template>
<div class="topic">
<h3 class="title" v-html="title"></h3>
<div class="divider"></div>
<p class="description">{{ description }}</p>
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
@Component
export default class Topic extends Vue {
@Prop({ required: true }) private topic!: string;
@Prop({ required: true }) private description!: string;
get title () {
return this.topic.replace(/(|)/, '$1<br data-delimiter="$1">');
}
}
</script>
<style lang="scss">
@import '@/assets/scss/CFP/topic.scss';
</style>

71
src/components/Footer.vue Normal file
View File

@ -0,0 +1,71 @@
<template>
<footer class="footer-container">
<div class="footer-left">
<p class="footer-brand footer-font-block">
<span class="footer-context">學生計算機年會</span>
<span class="footer-context"
>Students' Information Technology Conference</span
>
</p>
<p class="footer-contact footer-font-block">
<span class="footer-context">聯絡我們</span>
<span class="footer-context">contact@sitcon.org</span>
</p>
</div>
<div class="footer-right">
<div class="footer-community">
<p class="footer-context">社群媒體</p>
<p class="footer-community-icon-container">
<span class="footer-community-icon">
<a
target="_blank"
rel="noopener"
v-for="community in communityLink"
:href="community.link"
:key="community.title"
>
<FontawesomeIcon
class="community-icon"
:icon="['fab', community.icon]"
/>
</a>
</span>
</p>
</div>
</div>
</footer>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
@Component
export default class CFP extends Vue {
private communityLink = [
{
title: 'facebook',
icon: 'facebook-f',
link: '#'
},
{
title: 'flickr',
icon: 'flickr',
link: '#'
},
{
title: 'telegram',
icon: 'telegram-plane',
link: '#'
},
{
title: 'twitter',
icon: 'twitter',
link: '#'
},
{
title: 'youtube',
icon: 'youtube',
link: '#'
}
];
}
</script>

View File

@ -0,0 +1,116 @@
<template>
<header>
<div class="top-bar">
<div class="return-wrapper">
<a class="shape-wrapper diamond" href="/cfp"
><span class="text-wrapper">返回</span></a
>
</div>
<div class="title-wrapper text-center">
<img src="~@/assets/image/burnfont/news.svg" class="svg svg-cfp-news" />
</div>
<div class="contribute-wrapper">
<a class="btn-contribute" href="#">我要投稿</a>
</div>
</div>
<div class="cfp-body">
<div class="spot-wrapper">
<h1 class="text-center">現正徵稿中<span class="ignore"></span></h1>
<!-- TODO counter -->
<p class="text-center countdown">
距離投稿截止還有
<span class="d-inline-block">
{{ countdown.d }} {{ countdown.h }} 小時 {{ countdown.m }}
{{ countdown.s }} </span
>
</p>
</div>
<div class="time-wrapper">
<div class="start-time-wrapper">
<h2>投稿開始</h2>
<p>2021/01/15</p>
</div>
<div class="tilde-wrapper">
<h2><!-- pseudo element --></h2>
<p></p>
<p></p>
</div>
<div class="end-time-wrapper">
<h2>投稿結束</h2>
<p>
2021/02/22日出<small class="d-inline-block"
>清晨 0623</small
>
</p>
</div>
</div>
</div>
</header>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
const DEAD_LINE = Math.floor(
new Date('22 Feb 2021 06:24:00 GMT+8').getTime() / 1000
);
interface Countdown {
s: number;
m: number;
h: number;
d: number;
}
@Component
export default class CfpHeader extends Vue {
private timerId!: number;
private countdown: Countdown = {
s: 0,
m: 0,
h: 0,
d: 0
};
public beforeMount () {
this.registerTimer();
}
public unmouted () {
this.unregisterTimer();
}
public async createTimer (f: (t: number) => void): Promise<number> {
const d = new Date();
let t = d.getTime();
const rem = 1000 - (t % 1000);
t = Math.floor(t / 1000);
let downcount = DEAD_LINE - t - 1;
this.onTick(downcount);
const id = setInterval(() => {
f(--downcount);
}, 1000);
return id;
}
private async onTick (t: number) {
this.countdown.s = t % 60;
t = Math.floor(t / 60);
this.countdown.m = t % 60;
t = Math.floor(t / 60);
this.countdown.h = t % 24;
t = Math.floor(t / 24);
this.countdown.d = t;
}
private async registerTimer () {
this.timerId = await this.createTimer(this.onTick);
}
private unregisterTimer () {
clearInterval(this.timerId);
}
}
</script>

20
src/main.ts Normal file
View File

@ -0,0 +1,20 @@
import Vue from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
import { library } from '@fortawesome/fontawesome-svg-core';
import { fab } from '@fortawesome/free-brands-svg-icons';
library.add(fab);
Vue.component('FontawesomeIcon', FontAwesomeIcon);
Vue.config.productionTip = false;
new Vue({
router,
store,
render: (h) => h(App)
}).$mount('#app');

29
src/pages/CFP.vue Normal file
View File

@ -0,0 +1,29 @@
<template>
<div id="cfp" class="cfp cfp-background">
<!-- CfpHeader id="cfp-header"/ -->
<IntrodContainer></IntrodContainer>
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
// components
import CfpHeader from '@/components/CFP/Header.vue';
import IntrodContainer from '@/components/CFP/IntrodContainer.vue';
@Component({
components: {
CfpHeader,
IntrodContainer
}
})
export default class CFP extends Vue {
@Prop() private msg!: string;
}
</script>
<style lang="scss">
</style>

29
src/pages/News.vue Normal file
View File

@ -0,0 +1,29 @@
<template>
<div class="news">
<NewsHeader id="news-header" />
<Schedule/>
<Agenda/>
<!-- <Footer></Footer> should be put at App.vue (?) -->
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import NewsHeader from '@/components/NewsHeader.vue';
import Schedule from '../components/CFP/Schedule.vue';
import Agenda from '../components/CFP/Agenda.vue';
@Component({
components: {
NewsHeader,
Schedule,
Agenda
}
})
export default class News extends Vue {
@Prop() private msg!: string;
}
</script>
<style lang="scss">
</style>

44
src/router/index.ts Normal file
View File

@ -0,0 +1,44 @@
import Vue from 'vue';
import VueRouter, { RouteConfig } from 'vue-router';
// components
import CFP from '../pages/CFP.vue';
import News from '../pages/News.vue';
Vue.use(VueRouter);
export const routes: RouteConfig[] = [
{
path: '/',
name: 'Home',
redirect: '/cfp',
meta: {
index: 0,
label: 'SITCON 2021',
menuItem: true
}
},
{
path: '/cfp',
name: 'CFP',
component: CFP,
meta: {
menuItem: false
}
},
{
path: '/news',
name: 'news',
component: News,
meta: {
menuItem: false
}
}
];
const router = new VueRouter({
mode: 'history',
base: '/2021',
routes
});
export default router;

13
src/shims-tsx.d.ts vendored Normal file
View File

@ -0,0 +1,13 @@
import Vue, { VNode } from 'vue';
declare global {
namespace JSX {
// tslint:disable no-empty-interface
interface Element extends VNode {}
// tslint:disable no-empty-interface
interface ElementClass extends Vue {}
interface IntrinsicElements {
[elem: string]: any;
}
}
}

4
src/shims-vue.d.ts vendored Normal file
View File

@ -0,0 +1,4 @@
declare module '*.vue' {
import Vue from 'vue';
export default Vue;
}

17
src/store/index.ts Normal file
View File

@ -0,0 +1,17 @@
import Vue from 'vue';
import Vuex from 'vuex';
import { app } from './modules/app';
import { menu } from './modules/menu';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
version: ''
},
modules: {
app,
menu
}
});

106
src/store/modules/app.ts Normal file
View File

@ -0,0 +1,106 @@
import { ActionTree, GetterTree, MutationTree, Module } from 'vuex';
import { AppState, ThemeType, DeviceType, AppMode } from '../types/app';
import { RootState } from '../types/root';
import * as mutationTypes from '../mutation-types';
const namespaced: boolean = true;
const state: AppState = {
mode: AppMode.WEB,
device: DeviceType.DESKTOP,
sight: {
offset: 0,
containerWidth: 0,
containerHeight: 0,
width: 0,
height: 0,
cols: 0,
rows: 0,
gap: 0
},
theme: ThemeType.LIGHT,
isPopup: false,
popupContent: '',
popupOffsetTop: 0,
validPopupTypes: ['SUBMIT_INFO', 'OPEN_SUBMIT', 'LOUDLY']
};
const getters: GetterTree<AppState, RootState> = {
mode: (state): AppState['mode'] => state.mode,
device: (state): AppState['device'] => state.device,
sight: (state): AppState['sight'] => state.sight,
theme: (state): AppState['theme'] => state.theme,
isPopup: (state): AppState['isPopup'] => state.isPopup,
popupContent: (state): AppState['popupContent'] => state.popupContent,
popupOffsetTop: (state): AppState['popupOffsetTop'] => state.popupOffsetTop,
validPopupTypes: (state): AppState['validPopupTypes'] => state.validPopupTypes
};
const actions: ActionTree<AppState, RootState> = {
toggleMode ({ commit }, mode: AppState['mode']): void {
commit(mutationTypes.APP_MODE, mode);
},
toggleDevice ({ commit }, device: AppState['device']): void {
commit(mutationTypes.APP_DEVICE, device);
},
toggleTheme ({ commit }, theme: AppState['theme']): void {
commit(mutationTypes.APP_THEME, theme);
},
togglePopup ({ commit }, status: AppState['isPopup']): void {
commit(mutationTypes.APP_POPUP, status);
},
togglePopupContent ({ commit }, data: AppState['popupContent']): void {
commit(mutationTypes.APP_POPUP_CONTENT, data);
},
setPopupOffsetTop ({ commit }, offset: AppState['popupOffsetTop']): void {
commit(mutationTypes.APP_POPUP_OFFSET_TOP, offset);
},
setSightMeasure ({ commit }, sight: AppState['sight']): void {
commit(mutationTypes.APP_SIGHT, sight);
}
};
const mutations: MutationTree<AppState> = {
[mutationTypes.APP_MODE] (state, mode: AppState['mode']) {
state.mode = mode;
},
[mutationTypes.APP_DEVICE] (state, device: AppState['device']) {
state.device = device;
},
[mutationTypes.APP_THEME] (state, theme: AppState['theme']) {
state.theme = theme;
},
[mutationTypes.APP_POPUP] (state, status: AppState['isPopup']) {
state.isPopup = status;
},
[mutationTypes.APP_POPUP_CONTENT] (state, data: AppState['popupContent']) {
state.popupContent = data;
},
[mutationTypes.APP_POPUP_OFFSET_TOP] (state, offset: AppState['popupOffsetTop']) {
state.popupOffsetTop = offset;
},
[mutationTypes.APP_SIGHT] (state, sight: AppState['sight']) {
state.sight = sight;
}
};
export const app: Module<AppState, RootState> = {
namespaced,
state,
getters,
actions,
mutations
};

39
src/store/modules/menu.ts Normal file
View File

@ -0,0 +1,39 @@
import { ActionTree, GetterTree, MutationTree, Module } from 'vuex';
import { MenuState, MenuItem } from '../types/menu';
import { RootState } from '../types/root';
import * as mutationTypes from '../mutation-types';
import { routes } from '../../router';
const namespaced: boolean = true;
const state: MenuState = {
menu: routes.filter((route) => route.meta.menuItem === true) as any,
toggle: false
};
const getters: GetterTree<MenuState, RootState> = {
menu: (state): MenuItem[] => state.menu,
toggle: (state): boolean => state.toggle
};
const actions: ActionTree<MenuState, RootState> = {
toggleMenu ({ commit }, status): void {
commit(mutationTypes.TOGGLE_MENU, status);
}
};
const mutations: MutationTree<MenuState> = {
[mutationTypes.TOGGLE_MENU] (state, status: boolean) {
state.toggle = status;
}
};
export const menu: Module<MenuState, RootState> = {
namespaced,
state,
getters,
actions,
mutations
};

View File

@ -0,0 +1,17 @@
export const APP_MODE = 'APP_MODE';
export const APP_DEVICE = 'APP_DEVICE';
export const APP_THEME = 'APP_THEME';
export const APP_SIGHT = 'APP_SIGHT';
export const APP_POPUP = 'APP_POPUP';
export const APP_POPUP_CONTENT = 'APP_POPUP_CONTENT';
export const APP_POPUP_OFFSET_TOP = 'APP_POPUP_OFFSET_TOP';
export const SUNRISE_SUNSET = 'SUNRISE_SUNSET';
export const TOGGLE_MENU = 'TOGGLE_MENU';

36
src/store/types/app.ts Normal file
View File

@ -0,0 +1,36 @@
import { SightState } from './sight';
export interface AppState {
mode: AppMode;
device: DeviceType;
sight: SightState;
theme: ThemeType;
isPopup: boolean;
popupContent: string;
popupOffsetTop: number;
validPopupTypes: Array<keyof typeof PopupType>;
}
export enum AppMode {
WEB = 'web',
APP = 'app'
}
export enum DeviceType {
DESKTOP = 'desktop',
MOBILE = 'mobile'
}
export enum ThemeType {
LIGHT = 'light',
DARK = 'dark',
RAINBOW_LIGHT = 'rainbow-light',
RAINBOW_DARK = 'rainbow-dark'
}
export enum PopupType {
ANNOUNCEMENT = 'announcement',
SUBMIT_INFO = 'submitInfo',
OPEN_SUBMIT = 'openSubmit',
LOUDLY = 'loudly'
}

19
src/store/types/menu.ts Normal file
View File

@ -0,0 +1,19 @@
import Vue, { VueConstructor } from 'vue';
export interface MenuState {
menu: MenuItem[];
toggle: boolean;
}
export interface MenuItem {
name: string;
path: string;
redirect?: string;
component?: VueConstructor<Vue>;
children?: MenuItem[];
meta: {
index?: number;
label?: string;
menuItem: boolean;
};
}

3
src/store/types/root.ts Normal file
View File

@ -0,0 +1,3 @@
export interface RootState {
version: string;
}

10
src/store/types/sight.ts Normal file
View File

@ -0,0 +1,10 @@
export interface SightState {
offset: number;
containerWidth: number;
containerHeight: number;
width: number;
height: number;
cols: number;
rows: number;
gap: number;
}

View File

@ -0,0 +1,20 @@
export interface SunRiseSunSetState {
sunrise: Date;
sunset: Date;
}
export interface SunRiseSunSetAPIResponsePayload {
results: {
sunrise: Date;
sunset: Date;
solar_noon: Date;
day_length: number;
civil_twilight_begin: Date;
civil_twilight_end: Date;
nautical_twilight_begin: Date;
nautical_twilight_end: Date;
astronomical_twilight_begin: Date;
astronomical_twilight_end: Date;
};
status: string;
}

View File

@ -0,0 +1,6 @@
export interface TemplateState {
announcement: string;
submitInfo: string;
openSubmit: string;
loudly: string;
}

62
template/espresso.cfp.ts Normal file
View File

@ -0,0 +1,62 @@
export default [
{
title: '我也能讓 Python 幫忙操控電腦嗎?',
ytLink: 'https://www.youtube.com/watch?v=MfiKAOBrPpk',
introdLink: 'https://sitcon.org/2020/agenda/32ba951d-3cfb-4461-ae6a-5ddbab693b8b',
img: 'https://img.youtube.com/vi/MfiKAOBrPpk/mqdefault.jpg'
},
{
title: '我只是個學生,架個網站不想花錢',
ytLink: 'https://www.youtube.com/watch?v=NGqXSCFvZ3M',
introdLink: 'https://sitcon.org/2020/agenda/0fe7e40c-4a84-4363-9e60-4188d81ccecc',
img: 'https://img.youtube.com/vi/NGqXSCFvZ3M/mqdefault.jpg'
},
{
title: '校園資安實務 - DNS',
ytLink: 'https://www.youtube.com/watch?v=CEPVFcZMeQg',
introdLink: 'https://sitcon.org/2020/agenda/58ec7c4a-ede5-44c5-8b46-e33471543fa1',
img: 'https://img.youtube.com/vi/CEPVFcZMeQg/mqdefault.jpg'
},
{
title: '淺談社會網路分析',
ytLink: 'https://youtu.be/GFfaD-kVe_A',
introdLink: 'https://sitcon.org/2019/agenda/f60637a1-0ccb-4c02-b1b0-be7a6a393d87',
img: 'https://img.youtube.com/vi/GFfaD-kVe_A/mqdefault.jpg'
},
{
title: '你所不知道的維基 - Wikidata',
ytLink: 'https://youtu.be/kD-jGfDZGGo',
introdLink: 'https://sitcon.org/2019/agenda/7959ab0b-cdfa-40bc-8566-099477abb195',
img: 'https://img.youtube.com/vi/kD-jGfDZGGo/mqdefault.jpg'
},
{
title: 'AI for the Art in a Box',
ytLink: 'https://youtu.be/iZz5au-vVHk',
introdLink: 'https://sitcon.org/2019/agenda/0b49bfce-a147-4702-a5b9-87eb2dfa5135',
img: 'https://img.youtube.com/vi/iZz5au-vVHk/mqdefault.jpg'
},
{
title: '校園駭客-看你學號() return 你家住址;',
ytLink: 'https://www.youtube.com/watch?v=yahEwM88q-Q',
introdLink: 'https://sitcon.org/2018/#/agenda/sub/b8998705-c6e2-4c48-ae76-984f23b54719',
img: 'https://img.youtube.com/vi/yahEwM88q-Q/mqdefault.jpg'
},
{
title: '600 秒學會 UI 設計',
ytLink: 'https://www.youtube.com/watch?v=hqhmwt7SCJc',
introdLink: 'https://sitcon.org/2018/#/agenda/sub/d6daa14b-39ef-410b-883c-0b1c3ae02a60',
img: 'https://img.youtube.com/vi/hqhmwt7SCJc/mqdefault.jpg'
},
{
title: '深度學習如何深度學習',
ytLink: 'https://www.youtube.com/watch?v=H5o5Oa_nbqs',
introdLink: 'https://sitcon.org/2018/#/agenda/sub/f3c6853d-2b0e-464c-8837-9411455961d8',
img: 'https://img.youtube.com/vi/H5o5Oa_nbqs/mqdefault.jpg'
},
{
title: '格鬥遊戲 AI 開發經驗談',
ytLink: 'https://www.youtube.com/watch?v=ryLLzSwQ54w',
introdLink: '',
img: 'https://img.youtube.com/vi/ryLLzSwQ54w/mqdefault.jpg'
}
];

View File

@ -0,0 +1,67 @@
export default [
{
title: 'CDN 網站攻擊 - 這次換駭客當鬼來抓你了',
ytLink: 'https://www.youtube.com/watch?v=aomXTCTlIW4',
introdLink: 'https://sitcon.org/2020/agenda/14e76dd3-d03b-4a67-843c-f0fe9beae35c',
img: 'https://img.youtube.com/vi/aomXTCTlIW4/mqdefault.jpg'
},
{
title: '第一次做密室逃脫就上手',
ytLink: 'https://www.youtube.com/watch?v=1gFBx16AlMc',
introdLink: 'https://sitcon.org/2020/agenda/bdcf60d1-4ea7-4485-bc64-a6252eabc19f',
img: 'https://img.youtube.com/vi/1gFBx16AlMc/mqdefault.jpg'
},
{
title: 'Playing Win32 Like a K!NG ;)',
ytLink: 'https://www.youtube.com/watch?v=TkC19ukBBxk',
introdLink: 'https://sitcon.org/2020/agenda/d1cab966-02ee-4cfa-9cac-404f885048fb',
img: 'https://img.youtube.com/vi/TkC19ukBBxk/mqdefault.jpg'
},
{
title: '從學校到業界,工程師作為職業的現實',
ytLink: 'https://youtu.be/qYxdomoMEf8',
introdLink: 'https://sitcon.org/2019/agenda/7a67f4fb-b6f4-4595-b9af-527b3024c8f8',
img: 'https://img.youtube.com/vi/qYxdomoMEf8/mqdefault.jpg'
},
{
title: 'TMML 真相靠自己─You are Fake News',
ytLink: 'https://youtu.be/9PFZ0_C2Sxo',
introdLink: 'https://sitcon.org/2019/agenda/f5d28cd1-5165-4388-9dc2-5d2257a5b5bc',
img: 'https://img.youtube.com/vi/9PFZ0_C2Sxo/mqdefault.jpg'
},
{
title: '黑客、社團、資訊魔法學習大總匯',
ytLink: 'https://youtu.be/SkUuK731XGY',
introdLink: 'https://sitcon.org/2019/agenda/64ed212c-f1a9-40df-a84e-5f7411d4c887',
img: 'https://img.youtube.com/vi/SkUuK731XGY/mqdefault.jpg'
},
{
title: '奔跑吧!台北:遊戲開發經驗分享',
ytLink: 'https://www.youtube.com/watch?v=85bW97XI4i0',
introdLink: 'https://sitcon.org/2018/#/agenda/sub/d946b6e1-d826-4c64-86a4-bf013bcc0c06',
img: 'https://img.youtube.com/vi/85bW97XI4i0/mqdefault.jpg'
},
{
title: ' Club Mate 與德國駭客精神34C3 大會實錄',
ytLink: 'https://www.youtube.com/watch?v=8xrYLc4num8',
introdLink: 'https://sitcon.org/2018/#/agenda/sub/35598abf-4efe-48fc-93a4-3d539e6f6c47',
img: 'https://img.youtube.com/vi/8xrYLc4num8/mqdefault.jpg'
}, {
title: '由淺入坑區塊鏈~從認識架構到應用智能合約!',
ytLink: 'https://www.youtube.com/watch?v=B3fXXElzc9Q',
introdLink: 'https://sitcon.org/2018/#/agenda/sub/08c2816d-ea25-4169-89e6-dc0e0bc7b9a4',
img: 'https://img.youtube.com/vi/B3fXXElzc9Q/mqdefault.jpg'
},
{
title: '開發學校雲端服務的奇技淫巧',
ytLink: 'https://www.youtube.com/watch?v=msrsjX8mddE',
introdLink: '',
img: 'https://img.youtube.com/vi/msrsjX8mddE/mqdefault.jpg'
},
{
title: 'cjdns: 重新發明網路',
ytLink: 'https://www.youtube.com/watch?v=l75ArFBCMlM',
introdLink: '',
img: 'https://img.youtube.com/vi/l75ArFBCMlM/mqdefault.jpg'
}
];

View File

@ -0,0 +1,22 @@
export default [
{
title: 'Fact Checking資訊的虛與實',
context: '近年來隨著社交媒體的普及,假消息、錯誤消息、不實消息也變得更容易流竄在其中,因此如何辨識消息、使正確消息傳播、消息類型的分辨,都是可以進行的方向。'
},
{
title: 'I DUNNO 我唔知道:學習經驗分享',
context: '「不知道為什麼,但是它成功運作了。」坦然接受自己無知的精神,才能持續進步。'
},
{
title: 'IT×Anything跨界不設限',
context: '除了同或反方向,在 a × b 都能夠在另一個方向呈現不一樣的風貌,對應到「人類的進步需要許多的開發」或「專案都需要跨領域人才」這件事情。'
},
{
title: '開源了然後呢Open Source 奇聞軼事',
context: '各大企業紛紛投向開放原始碼的懷抱,但在免費、人人都能自由使用的表象下,開源社群面臨的挑戰才正要開始:產業巨頭挾帶優勢資源,夷平了原本多元發展的專案生態圈;程式碼是開放了、社群協作和影響產業的空間卻少了。知名套件開發者因為無法獲利而轉向閉源,甚至去中心化的開源貨幣協定被開發團隊以外的人搶先部署套利⋯⋯「後開源時代」裡,有哪些你關注的奇聞軼事?我們又該怎麼走出屬於社群的路?'
},
{
title: '技術是中立的嗎?老大哥沒有輸',
context: '為了防治疫情我們可以利用技術製作口罩地圖也可以建設「電子圍籬」追蹤居家隔離的手機確保他們沒有外出甚至可以利用健保卡連接出入境資料庫確保患者沒有感染風險。這些看似合理的技術手段確實達到了目的但技術是中立的嗎還是國家機器其實動得很厲害只是大家沒有注意到呢我們邀請你一同來回答這個問題。關鍵字口罩地圖、電子圍籬、健保卡、手機定位追蹤、eID、科技偵查法、或其他有關主題'
}
];

40
tsconfig.json Normal file
View File

@ -0,0 +1,40 @@
{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"strict": true,
"jsx": "preserve",
"importHelpers": true,
"moduleResolution": "node",
"experimentalDecorators": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"baseUrl": ".",
"types": [
"webpack-env"
],
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
},
"include": [
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"tests/**/*.ts",
"tests/**/*.tsx"
],
"exclude": [
"node_modules"
]
}

Some files were not shown because too many files have changed in this diff Show More