diff --git a/.gitignore b/.gitignore index 7627e45..2d86a41 100644 --- a/.gitignore +++ b/.gitignore @@ -12,5 +12,17 @@ dev_*.ipynb .DS_Store node_modules/ polbotcheck/dump/ -web/Release.key +Release.key polbotcheck/__pycache__/ + + +# testing +/coverage + +# production +/build + +# misc +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/Procfile b/Procfile index d39ebe0..0900e0b 100644 --- a/Procfile +++ b/Procfile @@ -1 +1 @@ -web: FLASK_ENV=production webapi/run_analytics_server.sh +web: bin/boot diff --git a/web/json/Achim_P.json b/json/Achim_P.json similarity index 100% rename from web/json/Achim_P.json rename to json/Achim_P.json diff --git a/web/json/agnieszka_mdb.json b/json/agnieszka_mdb.json similarity index 100% rename from web/json/agnieszka_mdb.json rename to json/agnieszka_mdb.json diff --git a/web/json/parties.json b/json/parties.json similarity index 100% rename from web/json/parties.json rename to json/parties.json diff --git a/web/json/politicians.json b/json/politicians.json similarity index 100% rename from web/json/politicians.json rename to json/politicians.json diff --git a/web/json/topics.json b/json/topics.json similarity index 100% rename from web/json/topics.json rename to json/topics.json diff --git a/web/package.json b/package.json similarity index 64% rename from web/package.json rename to package.json index ce2efed..c4a5fab 100644 --- a/web/package.json +++ b/package.json @@ -4,14 +4,14 @@ "private": true, "dependencies": { "chart.js": "^2.5.0", - "react": "^15.4.2", - "react-bootstrap": "^0.30.7", - "react-chartjs-2": "^2.0.5", - "react-dom": "^15.4.2", - "react-router": "^2.8.1" + "react": "^16.0.0", + "react-bootstrap": "^0.31.3", + "react-chartjs-2": "^2.6.4", + "react-dom": "^16.0.0", + "react-router-dom": "^4.2.2" }, "devDependencies": { - "react-scripts": "0.9.3" + "react-scripts": "^1.0.14" }, "scripts": { "start": "react-scripts start", diff --git a/polbotcheck/db.py b/polbotcheck/db.py index 16ad43b..1516449 100644 --- a/polbotcheck/db.py +++ b/polbotcheck/db.py @@ -8,7 +8,7 @@ from config.db_credentials import db_credentials -CANDIDATES_PATH = '../web/public/candidates.json' +CANDIDATES_PATH = '../public/candidates.json' # Configure your ArangoDB server connection here diff --git a/web/public/candidates.json b/public/candidates.json similarity index 100% rename from web/public/candidates.json rename to public/candidates.json diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..12407c4 Binary files /dev/null and b/public/favicon.ico differ diff --git a/web/public/index.html b/public/index.html similarity index 95% rename from web/public/index.html rename to public/index.html index aab5e3b..d7a954f 100644 --- a/web/public/index.html +++ b/public/index.html @@ -13,7 +13,7 @@ work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> - React App + BotOrNot hessische BTW-Kandidaten 2017
diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..49c6afe --- /dev/null +++ b/src/App.css @@ -0,0 +1,106 @@ +@import '//maxcdn.bootstrapcdn.com/bootstrap/latest/css/bootstrap.min.css'; + +body { + margin: 0; + padding: 0; + font-family: sans-serif; +} + +.App-logo { + float: left; +} + +.App, h3 { + text-align: center; +} + +.App h2 { + font-size: 28px; +} + +.jumbotron p { + font-size: 16px; +} + +.dl, .dd { + display: inline; +} + +.dd { + text-decoration: underline; + cursor: pointer; +} + +.dt { + display: none; + position: absolute; + background: #ffe; + font-size: 13px; + font-weight: normal; + text-align: left; + padding: 5px; + max-width: 320px; +} + +.dl:hover .dt { + display: inline-block; +} + +.App-header { + background-color: #222; + padding: 20px; + color: white; +} + +.Profile-picture { + display: inline-block; + max-width: 240px; + max-height: 240px; + vertical-align: top; +} + +.App-profile { + display: inline-block; + margin-left: 20px; + min-width: 300px; +} + +.App-info { + margin: 1em -5px; + padding: 0; +} + +.App-info > div { + padding: 5px; +} + +.App-info > div > div { + padding: 5px; + border: 1px solid #ccc; + border-radius: 4px; +} + +img { + max-width: 100%; +} + +ul { + text-align: left; +} + +.Info-diagram { + padding: 2em; +} + +.Info-diagram img { + max-width: 66%; +} + +.number { + float: right; +} + +#footer { + margin-top: 3em; + text-align: left; +} diff --git a/src/App.js b/src/App.js new file mode 100644 index 0000000..c1d0454 --- /dev/null +++ b/src/App.js @@ -0,0 +1,147 @@ +import React, {Component} from 'react' +import { Link } from 'react-router-dom' +import {Grid, Row, Col, Jumbotron, Panel} from 'react-bootstrap' + +import './App.css' +import Title from './Title' +import { parties, getFullName } from './Utils' + +class App extends Component { + + state = { + politicians: [], + parties: parties, + districts: {districts: []} + }; + + load(what, url) { + let self = this; + fetch(url) + .then(res => res.json()) + .then(data => { + self.state[what] = data.data || data; + self.setState(self.state); + }) + .catch(e => console.log(e)) + } + + componentWillMount() { + this.load('districts', 'https://botornot-hessen-api.herokuapp.com/pbc/districts'); + this.load('politicians', '/candidates.json'); + } + + getCandidateEntry(candidate) { + const fullName = getFullName(candidate.name); + return fullName.concat(" (" + this.state.parties[candidate.election.party] + ")"); + } + + render() { + const politicians = this.state.politicians.sort((a, b) => a.name.surname.localeCompare(b.name.surname)); + const parties = this.state.parties; + const districts = this.state.districts.districts; + return ( + + + <Row> + <Jumbotron> + <h2> + Wer folgt unseren Bundestagswahl-Kandidaten wirklich? + </h2> + <p>Sind es Bots oder echte Menschen, die den Kandidaten folgen? Das finden wir hier für euch heraus, + damit klar wird, was echt ist und was nicht. + </p> + + <h3>Was sind das für Bots, um die es geht?</h3> + <p> + Twitter Bots sind computergesteuerte Programme die sich automatisiert auf dem Social Network bewegen + und verschiedene Ziele verfolgen. Die meisten betreiben Marketing und folgen allen möglichen + Accounts und erzeugen so Aufmerksamkeit. Andere sorgen mit Retweets für eine größere + Reichweite anderer Accounts, die sie voranbringen wollen. + </p> + <p> + Eigentlich ist es noch kein Problem, wenn Bots dem Account eines Kandidaten folgen. Problematisch wird + es, wenn wir als Wähler die Meldungen eines Kandidaten häufiger zu sehen bekommen, weil sie angeblich + viele andere interessieren (und daher auch mich interessieren könnten), aber hauptsächlich Bots diese + Retweets erzeugt haben. + </p> + + <h3>Und wie erkenne ich, welche Retweets "echt" sind, und was von Bots künstlich erzeugt wird?</h3> + <p> + Wir geben dir einen Einblick, wieviele Retweets der Politiker von Bots sind, um besser einschätzen zu können, + ob nachgeholfen wird. Zur Erkennung ob ein Twitter Account ein Bot ist, verlassen wir uns auf die + mehrjährige Recherche-Arbeit des <span className="dl"><span className="dd">Projekts  + <a href="http://truthy.indiana.edu/botornot/">Botometer</a></span><span className="dt">früher Truthy BotOrNot</span></span>. + Es wurde 2014 von der Indiana University aus den USA ins Leben gerufen. Über deren Web-Dienst kann man die + Wahrscheinlichkeit einholen, mit der ein Twitter Account ein Bot ist. + </p> + <p> + Wir gehen ab 70% Prozent davon aus, dass es sich um einen Bot handelt. + </p> + <p> + Für jeden <span className="dl"><span className="dd">Politiker, zu dem wir die Daten einholen konnten</span> + <span className="dt">die Datenlage ist recht + eingeschränkt, siehe Quellen ganz unten, daher auch die fehlenden Parteien und Wahlkreise</span></span>  + zeigen wir hier nun den <strong>Anteil der Follower die Bots sind, den Anteil der Retweets die von Bots + stammen und wieviel Prozent der Retweeter Bots sind.</strong> + </p> + </Jumbotron> + </Row> + <Row> + <Col md={4}> + <h3>Politiker</h3> + <ul> + {politicians.map(function(value) { + return <li key={value.id}> + <Link to={'/politicians/' + value.slug}> + {this.getCandidateEntry(value)}</Link></li> + },this)} + </ul> + </Col> + <Col md={4}> + <h3>Parteien</h3> + <ul> + {Object.keys(parties).map(function(key) { + const value = parties[key]; + return <li key={key}><Link to={'/parties/' + key}>{value}</Link></li>; + })} + </ul> + </Col> + <Col md={4}> + <h3>Wahlkreise</h3> + <ul> + {districts.map(function(districtObject) { + return <li key={districtObject.id}><Link to={'/districts/' + districtObject.id}>{districtObject.name}</Link></li>; + })} + </ul> + </Col> + </Row> + <Row> + <Panel id="footer" header="Quellen"> + <p> + Die Liste der Politiker und die Infos über sie, u.a. die Account-Namen der Twitter-Profile haben wir über  + <a href="https://github.com/okfde/wahldaten/tree/master/kandidierende">github.com/okfde/wahldaten</a> eingeholt. + </p> + <p> + Die Wahrscheinlichkeit ob ein Account ein Bot ist, holen wir uns über  + <a href="http://truthy.indiana.edu/botornot/">Botometer</a> (früher Truthy BotOrNot) von der + Indiana University aus den USA ein. + </p> + <p> + Die Follower und Retweet Daten sind über die <a href="https://dev.twitter.com/rest/public">Twitter-API</a> +  von Twitter selbst eingeholt worden. + </p> + <p> + Die Namen der Wahlkreise haben wir über die  + <a href="https://www.abgeordnetenwatch.de/api/">Abgeordnetenwatch API</a> abgerufen. + </p> + <p>Der Quellcode dieses Projekts ist zu finden auf  + <a href="https://github.com/codeforfrankfurt/PolBotCheck">github</a>. + </p> + </Panel> + </Row> + </Grid> + ); + } +} + +export default App; diff --git a/web/src/App.test.js b/src/App.test.js similarity index 100% rename from web/src/App.test.js rename to src/App.test.js diff --git a/web/src/BarChart.js b/src/BarChart.js similarity index 100% rename from web/src/BarChart.js rename to src/BarChart.js diff --git a/src/Breadcrumbs.css b/src/Breadcrumbs.css new file mode 100644 index 0000000..2706100 --- /dev/null +++ b/src/Breadcrumbs.css @@ -0,0 +1,3 @@ +.breadcrumbs { + margin-bottom: 1em; +} diff --git a/src/Breadcrumbs.js b/src/Breadcrumbs.js new file mode 100644 index 0000000..3b663dd --- /dev/null +++ b/src/Breadcrumbs.js @@ -0,0 +1,14 @@ +import React, {Component} from 'react' +import { withRouter } from 'react-router-dom' +import './Breadcrumbs.css' + +class Breadcrumbs extends Component { + render() { + return (<div className="breadcrumbs"> + <button onClick={this.props.history.goBack} className="btn btn-default">« Zurück</button> + </div> + ) + } +} + +export default withRouter(Breadcrumbs) diff --git a/src/DistrictPage.js b/src/DistrictPage.js new file mode 100644 index 0000000..3a19db9 --- /dev/null +++ b/src/DistrictPage.js @@ -0,0 +1,59 @@ +import React, {Component} from 'react' +import Breadcrumbs from './Breadcrumbs' +import { Link } from 'react-router-dom' +import {Row, Col, Panel} from 'react-bootstrap' +import Title from './Title' +import { parties, getFullName } from './Utils' + +class DistrictPage extends Component { + state = { + district: { + name: '', + candidates: [] + } + } + + componentWillMount() { + let self = this; + const url = 'https://botornot-hessen-api.herokuapp.com/pbc/districts/' + this.props.match.params.slug; + fetch(url, {mode: 'cors', headers: {'Accept': 'application/json'}}) + .then(res => { + return res.json().then(data => { + self.state = data; + console.log(data); + self.setState(self.state); + }); + }) + .catch(e => console.log("error fetching " + url, e)); + } + + render() { + let candidates = this.state.district.candidates.map(candidate => { + const fullName = getFullName(candidate.name); + const party = parties[candidate.election.party]; + return ( + <li key={candidate.id}> + <Link to={'/politicians/' + candidate.slug}>{fullName + " (" + party + ") "}</Link> + </li> + ); + }, this) + + return (<div className="container"> + <Title /> + <Breadcrumbs /> + + <Panel bsStyle="primary" className="App-profile" bsSize="large"> + <p>Wahlkreis: {this.state.district.name ? this.state.district.name : '-'}</p> + </Panel> + + <Row className="App-info"> + <Col xs={12}> + <h3>Mitglieder im Wahlkreis</h3> + {candidates} + </Col> + </Row> + </div>) + } +} + +export default DistrictPage; diff --git a/src/MemberPage.js b/src/MemberPage.js new file mode 100644 index 0000000..e1f1f66 --- /dev/null +++ b/src/MemberPage.js @@ -0,0 +1,157 @@ +/** + * Created by peter on 04.03.17. + */ +import React, {Component} from 'react' +import Title from './Title' +import Breadcrumbs from './Breadcrumbs' +import { Link } from 'react-router-dom' +import {Col, Row, Panel} from 'react-bootstrap' +import PieChart from './PieChart' +import picPlaceholder from './Portrait_placeholder.png' +import { parties } from './Utils' + +class MemberPage extends Component { + + state = { + content: 'MEMBER', + member: { + photos: [] + }, + twitter: null, + followers: { + numFollowers: null, + numHumans: null, + numBots: null + }, + retweets: { + numRetweets: null, + numHumans: null, + numBots: null + }, + retweeters: { + numRetweeters: null, + numHumans: null, + numBots: null + }, + election: { + party: null, + district: { + id: null, + name: null + }, + list: null + }, + wordCluster: { + topics: [] + } + }; + + componentWillMount() { + let self = this; + const url = 'https://botornot-hessen-api.herokuapp.com/pbc/users/' + this.props.match.params.slug; + fetch(url, {mode: 'cors', headers: {'Accept': 'application/json'}}) + .then(res => { + return res.json().then(data => { + self.state = data; + console.log(data); + + // deactivate retweets and & retweeters for now. + Object.assign(self.state, { + retweets: { + numRetweets: null, + numHumans: null, + numBots: null + }, + retweeters: { + numRetweeters: null, + numHumans: null, + numBots: null + } + }); + + self.setState(self.state); + }); + }) + .catch(e => console.log("error fetching " + url, e)); + } + + render() { + const followerCount = <Col sm={12} xs={6}> + Gesamt: <span className="number">{this.state.followers.numFollowers}</span><br /> + Bots: <span className="number">{this.state.followers.numBots}</span><br /> + Menschen: <span className="number">{this.state.followers.numHumans}</span></Col>; + const retweetCount = this.state.retweets.numHumans + this.state.retweets.numBots; + const retweetersCount = this.state.retweeters.numHumans + this.state.retweeters.numBots; + const partySlug = this.state.election.party; + const district = this.state.election.district; + return ( + <div className="container"> + <Title /> + <Breadcrumbs /> + <img className="Profile-picture" alt="Profilbild" + src={getPhoto(this.state.member.photos, this.state.twitter)}/> + <Panel bsStyle="primary" className="App-profile" bsSize="large"> + <p>Name: {this.state.member.name ? this.state.member.name : '-'}</p> + <p>Partei: {partySlug ? <Link to={'/parties/' + partySlug}>{parties[partySlug]}</Link> : '-'}</p> + <p>Wahlkreis: {district ? <Link to={'/districts/' + district.id}>{district.name}</Link> : '-'}</p> + <p>Listenplatz: {this.state.election.list ? this.state.election.list : '-'}</p> + <p>Twitter-Account: {this.state.member.twitter_handle ? getTwitterLink(this.state.member.twitter_handle) : '-'}</p> + </Panel> + + <Row className="App-info"> + <Col sm={4}> + <div> + <h4>Follower</h4> + <Row> + <Col sm={12} xs={6}><PieChart className="Info-followers" numbers={this.state.followers}/></Col> + {followerCount} + </Row> + </div> + </Col> + <Col xs={6} sm={4}> + <div> + <h4>Retweets</h4> + <PieChart className="Info-retweets" numbers={this.state.retweets}/> + <em>Daten folgen in den nächsten Tagen</em> + </div> + </Col> + <Col xs={6} sm={4}> + <div> + <h4>Retweeters</h4> + <PieChart className="Info-retweeters" numbers={this.state.retweeters}/> + <em>Daten folgen in den nächsten Tagen</em> + </div> + </Col> + </Row> + </div> + ) + } +} + +function getPhoto(photos, twitter) { + if (photos.length === 0) { + return (twitter && twitter.profile_url.replace('_normal', '')) || picPlaceholder; + } else { + let wikimediaPhoto = photos.find((p) => p.url.indexOf('wikimedia') !== -1); + wikimediaPhoto = wikimediaPhoto && wikimediaPhoto.url; + + let abgwPhoto = photos.find((p) => p.url.indexOf('abgeordnetenwatch') !== -1); + if (abgwPhoto) { + // get non-404 images through web.archive.org, the 20 is the first part of the date, + // id_ gives the original scraped file without header + abgwPhoto = 'https://web.archive.org/web/20id_/' + abgwPhoto.url; + } + + if (!wikimediaPhoto && !abgwPhoto) { + return photos[0].url; + } + + return wikimediaPhoto ? wikimediaPhoto : abgwPhoto; + } +} + +function getTwitterLink(twitterHandle) { + return <a href={'https://twitter.com/' + twitterHandle}>{twitterHandle}</a>; +} + +export default MemberPage; diff --git a/web/src/Party.js b/src/Party.js similarity index 100% rename from web/src/Party.js rename to src/Party.js diff --git a/src/PartyLogos.js b/src/PartyLogos.js new file mode 100644 index 0000000..a8295c9 --- /dev/null +++ b/src/PartyLogos.js @@ -0,0 +1,15 @@ +import afd from './partyLogos/afd.svg' +import cdu from './partyLogos/cdu.svg' +import fdp from './partyLogos/fdp.svg' +import gruene from './partyLogos/gruene.svg' +import linke from './partyLogos/linke.svg' +import spd from './partyLogos/spd.svg' + +export { + afd, + cdu, + fdp, + gruene, + linke, + spd +} diff --git a/src/PartyPage.js b/src/PartyPage.js new file mode 100644 index 0000000..20a697c --- /dev/null +++ b/src/PartyPage.js @@ -0,0 +1,56 @@ +import React, {Component} from 'react' +import Breadcrumbs from './Breadcrumbs' +import { Link } from 'react-router-dom' +import {Row, Col, Panel} from 'react-bootstrap' +import Title from './Title' +import { parties, getFullName } from './Utils' +import * as partyLogos from './PartyLogos' + +class PartyPage extends Component { + state = { + name: parties[this.props.match.params.slug], + logo: partyLogos[this.props.match.params.slug], + candidates: [] + } + + componentWillMount() { + let self = this; + const url = 'https://botornot-hessen-api.herokuapp.com/pbc/parties/' + this.props.match.params.slug; + fetch(url, {mode: 'cors', headers: {'Accept': 'application/json'}}) + .then(res => { + return res.json().then(data => { + self.state.candidates = data.candidates; + console.log(data); + self.setState(self.state); + }); + }) + .catch(e => console.log("error fetching " + url, e)); + } + + render() { + let members = this.state.candidates.map(member => ( + <li key={member.id}> + <Link to={'/politicians/' + member.slug}>{getFullName(member.name)}</Link> + </li> + ), this) + + return (<div className="container"> + <Title /> + <Breadcrumbs /> + + <img className="Profile-picture" alt="Parteilogo" src={this.state.logo} /> + <Panel bsStyle="primary" className="App-profile" bsSize="large"> + <p>Name: {this.state.name ? this.state.name : '-'}</p> + </Panel> + + <Row className="App-info"> + <Col xs={12}> + <h3>Mitglieder auf den Listen</h3> + {members} + </Col> + </Row> + </div>) + } +} + +export default PartyPage; diff --git a/web/src/PieChart.js b/src/PieChart.js similarity index 100% rename from web/src/PieChart.js rename to src/PieChart.js diff --git a/src/Portrait_placeholder.png b/src/Portrait_placeholder.png new file mode 100644 index 0000000..562891c Binary files /dev/null and b/src/Portrait_placeholder.png differ diff --git a/src/Title.css b/src/Title.css new file mode 100644 index 0000000..69bb696 --- /dev/null +++ b/src/Title.css @@ -0,0 +1,16 @@ +.App-logo { + margin-right: 2em; + height: 80px; +} + +.main-title > h1, +.main-title > p { + text-align: left; + margin-top: 0.2em; + margin-bottom: 0; +} + +.main-title > p { + margin-top: 2px; + font-size: 18px; +} diff --git a/src/Title.js b/src/Title.js new file mode 100644 index 0000000..e70d4f6 --- /dev/null +++ b/src/Title.js @@ -0,0 +1,18 @@ +import React, {Component} from 'react' +import {Row, Col} from 'react-bootstrap' +import logo from './logo.png' +import './Title.css' + +class Title extends Component { + render() { + return (<Row><Col xs={12} className="main-title"> + <a href="http://codefor.de/frankfurt"> + <img className="App-logo" src={logo} alt="Logo von Code for Frankfurt"/> + </a> + <h1>BotOrNot</h1> + <p>hessische BTW-Kandidaten 2017</p> + </Col></Row>) + } +} + +export default Title diff --git a/src/Utils.js b/src/Utils.js new file mode 100644 index 0000000..f6791a7 --- /dev/null +++ b/src/Utils.js @@ -0,0 +1,25 @@ +export const getFullName = function (name) { + let fullName = ''; + if(name['titles']) { + fullName = fullName.concat(name['titles']+ ' ') + } + if(name['surname']){ + fullName = fullName.concat(name['surname']+ ', ') + } + if(name['forename']){ + fullName = fullName.concat(name['forename']+ ' ') + } + if(name['affix']){ + fullName = fullName.concat(name['affix']) + } + return fullName; +} + +export const parties = { + afd: "AfD", + cdu: "CDU", + linke: "DIE LINKE", + fdp: "FDP", + gruene: "GRÜNE", + spd: "SPD" +}; diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..bd88a94 --- /dev/null +++ b/src/index.js @@ -0,0 +1,19 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import { BrowserRouter, Route } from 'react-router-dom' +import App from './App' +import MemberPage from './MemberPage' +import PartyPage from './PartyPage' +import DistrictPage from './DistrictPage' + +ReactDOM.render( + <BrowserRouter> + <div> + <Route exact path="/" component={App}/> + <Route path="/politicians/:slug" component={MemberPage}/> + <Route path="/parties/:slug" component={PartyPage}/> + <Route path="/districts/:slug" component={DistrictPage}/> + </div> + </BrowserRouter>, + document.getElementById('root') +) diff --git a/src/logo.png b/src/logo.png new file mode 100644 index 0000000..475d997 Binary files /dev/null and b/src/logo.png differ diff --git a/src/partyLogos/afd.svg b/src/partyLogos/afd.svg new file mode 100644 index 0000000..9bc3fc4 --- /dev/null +++ b/src/partyLogos/afd.svg @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="270.94965mm" height="124.74815mm" viewBox="0 0 960.0578 442.02099" id="svg2" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="Alternative-fuer-Deutschland-Logo-2013.svg"> + <defs id="defs4"/> + <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.35" inkscape:cx="247.9485" inkscape:cy="441.95185" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1366" inkscape:window-height="705" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1"/> + <metadata id="metadata7"> + <rdf:RDF> + <cc:Work rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> + <dc:title/> + </cc:Work> + </rdf:RDF> + </metadata> + <g inkscape:label="Ebene 1" inkscape:groupmode="layer" id="layer1" transform="translate(517.17175,-677.066)"> + <g id="g3369" transform="translate(-549.17176,642.10877)"> + <path style="fill:#009ee0;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2438" d="m 32.000008,81.947477 886.918392,0 0,371.141223 -886.918392,0 0,-371.141223 z" inkscape:connector-curvature="0"/> + <path style="fill:#e2001a;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2440" d="m 212.46757,424.95862 c 25.44856,55.84637 117.04488,68.63326 250.00464,27.52028 C 526.75516,432.60027 664.46543,380.35557 743.97449,324.49015 845.43662,253.20527 890.86182,214.7439 903.12875,198.49417 L 955.49867,264.31796 991.6597,53.931733 775.80698,35.362557 827.30302,102.27257 c 0,0 -69.90188,70.30207 -183.46215,120.09664 -86.20605,37.79984 -224.15861,83.26592 -262.27157,63.99165 -64.15499,-32.43957 25.92226,-119.18193 25.92226,-119.18193 -107.42953,24.53658 -186.16001,74.73129 -203.77364,174.87313 -4.33671,24.65635 -3.18787,56.71207 8.74965,82.90656" inkscape:connector-curvature="0"/> + <path style="fill:none;stroke:#ed1c24;stroke-width:0.68058848;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" id="path2442" d="m 212.46757,424.95862 c 25.44856,55.84637 117.04488,68.63326 250.00464,27.52028 C 526.75516,432.60027 664.46543,380.35557 743.97449,324.49015 845.43662,253.20527 890.86182,214.7439 903.12875,198.49417 L 955.49867,264.31796 991.6597,53.931733 775.80698,35.362557 827.30302,102.27257 c 0,0 -69.90188,70.30207 -183.46215,120.09664 -86.20605,37.79984 -224.15861,83.26592 -262.27157,63.99165 -64.15499,-32.43957 25.92226,-119.18193 25.92226,-119.18193 -107.42953,24.53658 -186.16001,74.73129 -203.77364,174.87313 -4.33671,24.65635 -3.18787,56.71207 8.74965,82.90656 z" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2446" d="m 627.58298,130.35637 0,22.34781 -8.51825,0 0,21.48481 8.39574,0 0,52.10309 26.05293,0 0,-52.22832 15.06278,0 0,-21.6046 -15.06278,0 0,-22.22529 -25.93042,0.1225" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2448" d="m 228.7418,130.39176 0,22.34781 -8.51824,0 0,21.48209 8.39576,0 0,52.10309 26.05292,0 0,-52.22559 15.06277,0 0,-21.60733 -15.06277,0 0,-22.22257 -25.93044,0.1225" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2450" d="m 555.5141,372.18307 0,12.2887 -4.68517,0 0,11.81774 4.61711,0 0,28.6555 14.32775,0 0,-28.72083 8.28685,0 0,-11.8858 -8.28685,0 0,-12.22337 -14.25969,0.0681" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2452" d="m 397.16839,315.09803 0,3.15793 -3.27771,0 0,8.27323 3.23143,0 0,20.05831 10.02915,0 0,-20.10731 7.05362,-0.0653 0,-8.11805 -7.02095,0.0463 -0.14156,-6.11169 c -0.0381,-2.78224 1.85392,-3.52817 2.94014,-3.63434 2.96464,-0.28857 4.08353,1.44557 4.08353,1.44557 l 0.0436,-8.55368 c -11.98653,-2.10434 -17.19167,4.77505 -16.94121,13.60909" inkscape:connector-curvature="0"/> + <path style="fill:none;stroke:#ffffff;stroke-width:0.68058848;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" id="path2454" d="m 397.16839,315.09803 0,3.15793 -3.27771,0 0,8.27323 3.23143,0 0,20.05831 10.02915,0 0,-20.10731 7.05362,-0.0653 0,-8.11805 -7.02095,0.0463 -0.14156,-6.11169 c -0.0381,-2.78224 1.85392,-3.52817 2.94014,-3.63434 2.96464,-0.28857 4.08353,1.44557 4.08353,1.44557 l 0.0436,-8.55368 c -11.98653,-2.10434 -17.19167,4.77505 -16.94121,13.60909 z" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2456" d="m 677.5899,152.7069 -0.12251,73.46272 25.92498,0 0,-73.58523 -25.80247,0.12251" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2458" d="m 703.39509,123.93979 c 0,7.22512 -5.85851,13.08635 -13.08908,13.08635 -7.22785,0 -13.08635,-5.86123 -13.08635,-13.08635 0,-7.23058 5.8585,-13.08908 13.08635,-13.08908 7.23057,0 13.08908,5.8585 13.08908,13.08908" inkscape:connector-curvature="0"/> + <path style="fill:none;stroke:#ffffff;stroke-width:2.72235394;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" id="path2460" d="m 703.39509,123.93979 c 0,7.22512 -5.85851,13.08635 -13.08908,13.08635 -7.22785,0 -13.08635,-5.86123 -13.08635,-13.08635 0,-7.23058 5.8585,-13.08908 13.08635,-13.08908 7.23057,0 13.08908,5.8585 13.08908,13.08908 z" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2462" d="m 710.18464,152.58439 38.52403,73.58791 17.15899,0 38.2763,-73.95815 -29.51032,0 -17.16171,37.5331 -17.9022,-37.40787 -29.38509,0.24501" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2464" d="m 182.84836,106.78079 26.42317,0 0,119.26904 -26.42317,0 0,-119.26904 z" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2466" d="m 713.50591,359.30089 14.53737,0 0,65.60056 -14.53737,0 0,-65.60056 z" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2468" d="m 106.14876,185.75355 11.71701,-34.57934 11.374,34.57934 -23.09101,0 z m 27.22354,-68.12418 -30.78438,0.22868 -41.932415,108.21629 30.212683,0 7.467417,-18.61006 38.597535,0 7.23874,18.72439 30.32702,0 -41.1266,-108.5593" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2470" d="m 366.34862,152.46189 0.11434,73.61245 26.07743,0 c 0,0 -0.22868,-14.02013 -0.11434,-27.8633 -0.91743,-34.85974 29.40959,-21.64815 29.40959,-21.64815 l 0,-25.27434 c -24.23984,-1.37751 -29.40959,13.61177 -29.40959,13.61177 l 0,-12.43843 -26.07743,0" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2472" d="m 454.02747,318.38936 0.0463,28.15458 9.97199,0 c 0,0 -0.0871,-5.36032 -0.0436,-10.65529 -0.35119,-13.33409 11.24876,-8.27868 11.24876,-8.27868 l 0,-9.66708 c -9.27233,-0.52814 -11.24876,5.20514 -11.24876,5.20514 l 0,-4.75867 -9.97471,0" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2474" d="m 832.17876,178.51481 c 0,0 1.95193,-11.60267 15.27785,-11.60267 13.32592,0 14.82049,11.60267 14.82049,11.60267 l -30.09834,0 z m 14.70343,-28.60377 c -42.86618,0 -41.35527,38.82893 -41.35527,38.82893 -0.11434,8.61353 2.29766,40.20645 41.81535,40.09207 34.81619,-0.10069 38.54037,-25.15995 38.54037,-25.15995 l -25.55746,0 c 0,0 -2.96465,6.89023 -13.21159,6.66427 -10.3395,-0.2314 -15.50925,-5.62978 -15.50925,-16.65804 l 55.25834,-0.11433 c 0,0 2.86936,-43.65295 -39.98049,-43.65295" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2476" d="m 466.26718,398.56268 c 0,0 1.0726,-6.3812 8.40118,-6.3812 7.3313,0 8.15345,6.3812 8.15345,6.3812 l -16.55463,0 z m 8.08539,-15.73249 c -23.57559,0 -22.74527,21.35415 -22.74527,21.35415 -0.0626,4.73962 1.26589,22.11368 22.99845,22.05106 19.14903,-0.0544 21.19897,-13.83772 21.19897,-13.83772 l -14.05824,0 c 0,0 -1.63069,3.79224 -7.26596,3.66701 -5.687,-0.12795 -8.4393,-3.29405 -8.4393,-9.36217 l 30.2998,0.13339 c 0,0 1.57896,-24.00572 -21.98845,-24.00572" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2478" d="m 299.50669,178.52026 c 0,0 1.9519,-11.60267 15.27783,-11.60267 13.32592,0 14.82049,11.60267 14.82049,11.60267 l -30.09832,0 z m 14.70341,-28.60377 c -42.86616,0 -41.35526,38.82893 -41.35526,38.82893 -0.11433,8.61625 2.29765,40.20644 41.81534,40.0921 34.81618,-0.10072 38.54036,-25.15727 38.54036,-25.15727 l -25.55746,0 c 0,0 -2.96464,6.89028 -13.21158,6.66156 -10.3395,-0.22868 -15.50925,-5.62979 -15.50925,-16.65532 l 55.25834,-0.11706 c 0,0 2.86936,-43.65294 -39.98049,-43.65294" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2480" d="m 431.80218,152.54083 0,73.58795 26.00392,0 0,-40.57124 c 0,0 0.32396,-15.21251 13.38037,-14.99744 13.05369,0.21506 12.08453,14.99744 12.08453,14.99744 l 0,40.68014 26.21899,-0.0681 c 0,0 0,-34.88424 0,-40.30445 0,-5.42021 1.93831,-35.74179 -26.11282,-35.74179 -19.43216,0 -25.4649,12.19343 -25.4649,12.19343 l -0.10617,-9.77598 -26.00392,0" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2482" d="m 791.06033,384.39827 0,40.47323 14.2978,0 0,-22.31241 c 0,0 0.1824,-8.36851 7.36124,-8.25145 7.18157,0.11706 6.64799,8.25145 6.64799,8.25145 l 0,22.37231 14.42031,-0.0381 c 0,0 0,-19.18442 0,-22.16812 0,-2.97826 1.06444,-19.6554 -14.36314,-19.6554 -10.68796,0 -14.00379,6.70244 -14.00379,6.70244 l -0.0626,-5.37393 -14.2978,0" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2484" d="m 661.66413,359.88347 0,64.97442 14.2978,0 0,-22.31241 c 0,0 0.17967,-8.36852 7.36124,-8.24873 7.18157,0.11706 6.64527,8.24873 6.64527,8.24873 l 0,22.3723 14.42031,-0.0381 c 0,0 0,-19.18443 0,-22.16813 0,-2.97825 1.06716,-19.65539 -14.36042,-19.65539 -10.68796,0 -14.00651,6.70516 -14.00651,6.70516 l -0.0599,-29.87784 -14.2978,0" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2486" d="m 565.49425,206.91713 c -9.59085,0 -17.36589,-7.77504 -17.36589,-17.36317 0,-9.58813 7.77504,-17.36317 17.36589,-17.36317 9.58813,0 17.36318,7.77504 17.36318,17.36317 0,9.58813 -7.77505,17.36317 -17.36318,17.36317 z m 16.0755,-54.58864 0,7.76688 c 0,0 -6.58265,-9.92571 -22.55198,-9.92571 -19.63634,-0.21506 -37.44053,14.13447 -37.54942,39.70826 1.07805,31.50576 26.43405,39.06029 37.0104,38.95139 15.96932,0.10618 23.091,-10.79136 23.091,-10.79136 l 0,8.30862 26.32789,0 0,-74.01808 -26.32789,0" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2488" d="m 758.36758,414.31149 c -5.27048,0 -9.5473,-4.27681 -9.5473,-9.55274 0,-5.27047 4.27682,-9.54457 9.5473,-9.54457 5.27592,0 9.55274,4.2741 9.55274,9.54457 0,5.27593 -4.27682,9.55274 -9.55274,9.55274 z m 8.84221,-30.02484 0,4.27138 c 0,0 -3.61801,-5.46105 -12.40033,-5.46105 -10.8023,-0.11706 -20.59188,7.77777 -20.6545,21.84145 0.5962,17.32778 14.54282,21.48209 20.35777,21.4222 8.78231,0.0572 12.69706,-5.93473 12.69706,-5.93473 l 0,4.57083 14.48292,0 0,-40.71008 -14.48292,0" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2490" d="m 864.48221,414.25977 c -5.27592,0 -9.55002,-4.27954 -9.55002,-9.55002 0,-5.27592 4.2741,-9.55002 9.55002,-9.55002 5.2732,0 9.55002,4.2741 9.55002,9.55002 0,5.27048 -4.27682,9.55002 -9.55002,9.55002 z m 8.84221,-54.52875 0,28.778 c 0,0 -3.62073,-5.46104 -12.40577,-5.46104 -10.79686,-0.11978 -20.58916,7.77232 -20.65178,21.836 0.5962,17.32779 14.5401,21.48754 20.35777,21.42221 8.78231,0.0626 12.69978,-5.93201 12.69978,-5.93201 l 0,4.57083 14.4802,0 0,-65.21399 -14.4802,0" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2492" d="m 411.50431,411.94577 0,-32.73086 c 0,0 20.16719,-2.25683 20.36048,16.75336 0.18784,18.55285 -20.36048,15.9775 -20.36048,15.9775 z m 4.4456,-45.80905 c -0.6452,0.005 -19.45666,0 -19.45666,0 l 0,58.69395 c 0,0 9.83586,0.0245 19.56555,-0.0299 11.40394,-0.0681 31.91416,-4.60894 31.65553,-29.41231 -0.22051,-21.19897 -18.55556,-29.38236 -31.76442,-29.25169" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2494" d="m 502.95089,384.37649 13.66078,0 0.12795,23.25979 c 0,8.44202 14.55915,8.50464 14.55915,0 l 0,-23.32513 13.85405,-0.0653 0,25.13005 c 0,0 2.12616,16.4294 -20.87501,16.4294 -23.00116,0 -21.32692,-16.55735 -21.32692,-16.55735 l 0,-24.87143" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2496" d="m 417.40092,318.52003 9.56363,0 0.0898,16.2824 c 0,5.9075 10.18977,5.95106 10.18977,0 l 0,-16.32868 9.69975,-0.049 0,17.59185 c 0,0 1.48913,11.50194 -14.6136,11.50194 -16.1,0 -14.92939,-11.58906 -14.92939,-11.58906 l 0,-17.40945" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2498" d="m 609.82234,394.35936 c -1.68514,-1.60619 -12.08181,-3.81129 -12.37038,0.96916 -0.38929,6.37303 19.06465,0.29946 18.16899,15.9775 -0.64247,11.27054 -9.34856,14.49381 -18.04103,14.49381 -5.57266,0 -13.40215,-1.99821 -16.94666,-4.63617 l 4.96285,-9.86037 c 2.51001,2.12616 15.09273,7.19518 16.17079,1.22778 1.09438,-6.06268 -18.84958,-0.89293 -18.10366,-15.46569 1.03177,-20.16992 25.83786,-14.3713 30.66732,-11.3386 l -4.50822,8.63258" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2500" d="m 652.53607,385.4001 c -7.40752,-4.63889 -31.31523,-3.02998 -31.63647,18.49295 -0.36207,24.41679 26.67634,23.25979 31.76442,19.522 l -0.12795,-11.85586 c 0,0 -6.75688,4.85941 -12.95023,1.22506 -6.69972,-3.93108 -4.60895,-13.87856 -0.32396,-16.55735 7.73148,-4.8349 13.33953,1.28767 13.33953,1.28767 l -0.0653,-12.11447" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2502" d="m 430.15787,308.0063 c 0,2.76046 -2.23505,4.99552 -4.99552,4.99552 -2.76046,0 -4.99824,-2.23506 -4.99824,-4.99552 0,-2.76047 2.23778,-4.99824 4.99824,-4.99824 2.76047,0 4.99552,2.23777 4.99552,4.99824" inkscape:connector-curvature="0"/> + <path style="fill:none;stroke:#ffffff;stroke-width:0.68058848;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" id="path2504" d="m 430.15787,308.0063 c 0,2.76046 -2.23505,4.99552 -4.99552,4.99552 -2.76046,0 -4.99824,-2.23506 -4.99824,-4.99552 0,-2.76047 2.23778,-4.99824 4.99824,-4.99824 2.76047,0 4.99552,2.23777 4.99552,4.99824 z" inkscape:connector-curvature="0"/> + <path style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path2506" d="m 444.04732,308.0063 c 0,2.76046 -2.23505,4.99552 -4.99552,4.99552 -2.76046,0 -4.99551,-2.23506 -4.99551,-4.99552 0,-2.76047 2.23505,-4.99824 4.99551,-4.99824 2.76047,0 4.99552,2.23777 4.99552,4.99824" inkscape:connector-curvature="0"/> + <path style="fill:none;stroke:#ffffff;stroke-width:0.68058848;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" id="path2508" d="m 444.04732,308.0063 c 0,2.76046 -2.23505,4.99552 -4.99552,4.99552 -2.76046,0 -4.99551,-2.23506 -4.99551,-4.99552 0,-2.76047 2.23505,-4.99824 4.99551,-4.99824 2.76047,0 4.99552,2.23777 4.99552,4.99824 z" inkscape:connector-curvature="0"/> + </g> + </g> +</svg> \ No newline at end of file diff --git a/src/partyLogos/cdu.svg b/src/partyLogos/cdu.svg new file mode 100644 index 0000000..06623ea --- /dev/null +++ b/src/partyLogos/cdu.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<svg version="1.0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="573.794px" height="141.732px" viewBox="0 0 573.794 141.732" enable-background="new 0 0 573.794 141.732" xml:space="preserve"> +<g id="Wei_xA7_flŠche"> + <rect x="149.258" fill="#FFFFFF" width="425.198" height="141.732"/> + <rect fill="#FFFFFF" width="141.732" height="141.732"/> +</g> +<g id="Logo_wie_layout"> + <g> + <path fill-rule="evenodd" clip-rule="evenodd" fill="#E2001A" d="M279.55,72.818c5.343,0,8.567,0.835,11.016,2.85 c4.072,3.351,5.729,9.622,4.672,16.558c-1.554,10.166-5.853,19.386-20.276,19.386h-12.503l5.942-38.793H279.55L279.55,72.818z M287.079,58.18c21.839,0,34.026,12.814,31.643,34.042c-2.337,20.821-13.604,34.458-39.795,34.458h-41.802l10.502-68.5H287.079 L287.079,58.18z"/> + <path fill="#E2001A" d="M355.387,58.18l-5.89,38.416c-1.315,8.586,3.422,14.989,12.604,14.989c7.823,0,14.411-5.264,15.902-14.991 l5.891-38.414h23.108l-5.534,36.092c-3.049,19.893-14.144,33.588-41.014,33.588c-17.853,0-27.756-6.46-32.027-14.782 c-3.197-6.229-3.34-13.555-2.396-19.7l5.395-35.198H355.387L355.387,58.18z"/> + <path fill="#E2001A" d="M230.942,108.441c-3.45,1.068-11.356,1.977-19.226,1.977c-17.75,0-23.894-8.345-23.239-18.196 c0.729-10.972,10.203-18.725,28.612-18.725c7.423,0,15.365,1.905,17.292,2.505l2.479-16.1c-3.415-0.957-13.148-2.906-26.48-2.906 c-32.738,0-43.94,18.096-46.07,31.34c-2.996,18.625,8.887,39.526,40.442,39.526c10.054,0,20.331-1.49,23.652-3.031 L230.942,108.441L230.942,108.441z"/> + </g> + + <image overflow="visible" width="1105" height="714" xlink:href="data:image/jpeg;base64,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 YszM3/gb/9k=" transform="matrix(0.0959 0 0 0.0959 35.7119 58.189)"> + </image> +</g> +</svg> \ No newline at end of file diff --git a/src/partyLogos/fdp.svg b/src/partyLogos/fdp.svg new file mode 100644 index 0000000..462a240 --- /dev/null +++ b/src/partyLogos/fdp.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="1085.76" height="510.07999" id="svg17243"> + <defs id="defs17245"/> + <path d="m 0,510.07999 1085.76,0 L 1085.76,0 0,0 0,510.07999 z" id="path22" style="fill:#ffed00;fill-opacity:1;fill-rule:nonzero;stroke:none"/> + <path d="m 305.12266,35.04133 0,23.85733 23.86267,0 0,-23.84 -23.86267,-0.0173 m 1.296,109.41467 -9.71333,0 0,17.384 43.79866,0 0,-17.384 -10.22266,0 0,-71.75333 -35.45067,0 0,17.384 11.588,0 0,54.36933 m -166.24133,0 -9.71587,0 0,17.384 44.8252,0 0,-17.384 -11.24933,0 0,-28.8 c 0,-14.65867 9.204,-23.51867 22.15467,-23.51867 2.388,0 5.11333,0.33734 7.67066,0.85067 L 195.396,71.68666 c -2.55467,-0.51733 -4.94534,-1.024 -7.84134,-1.024 -13.63333,0 -21.984,7.496 -25.564,22.496 l -0.34133,0 c 1.196,-8.352 1.53333,-14.31866 1.53333,-20.456 l -34.5936,0 0,17.384 11.58827,0 0,54.36934 M 38.395332,41.47333 l 0,17.38 12.783867,0 0,85.60667 -10.738533,0 0,17.37867 49.085332,0 0,-17.37867 -13.466667,0 0,-33.06533 36.254669,0 0,-18.40801 -36.254669,0 0,-34.13333 28.125599,0 -0.007,8.13333 20.45266,0 0.003,-25.51333 -86.237468,0 M 954.57943,292.96 l -8.69333,0 0,17.38399 42.77867,0 0,-17.38399 -10.224,0 0,-29.65467 c 0,-13.464 6.30533,-23.688 20.78933,-23.688 9.0333,0 15.5133,4.42933 15.5133,16.70133 l 0,36.64134 -9.7173,0 0,17.38399 43.7973,0 0,-17.38399 -10.224,0 0,-39.02534 c 0,-21.30533 -9.7133,-34.76933 -30.848,-34.76933 -15.5053,0 -26.41463,8.69333 -30.84663,20.452 l -0.33867,0 c 1.35867,-6.47867 1.35867,-12.272 1.35867,-18.40933 l -34.93467,0 0,17.384 11.58933,0 0,54.368 m -157.97466,-71.74934 -12.10133,0 0,17.384 12.10133,0 0,49.936 c 0,15.68 9.37467,23.86133 26.92667,23.86133 5.79466,0 11.93066,-1.19333 20.792,-4.26399 l 0.0413,-16.872 c -4.43467,1.708 -7.53867,2.72933 -10.776,2.72933 -9.88267,0 -13.12133,-3.07067 -13.12133,-15.68 l 0,-39.71067 19.932,0 0,-17.384 -19.932,0 0,-19.768 -23.86267,1.35867 0,18.40933 m -45.51067,51.3 c 0,16.36267 -8.33866,22.49734 -17.88266,22.49734 -9.372,0 -13.12267,-5.45334 -13.12267,-10.73734 0,-7.672 4.93067,-11.76 24.36,-11.76 l 6.64533,0 z m 32.04267,20.45067 -10.05733,0 c 0.34133,-12.612 0.85333,-24.884 0.85333,-39.53867 0,-25.90533 -13.96267,-34.256 -37.82267,-34.256 -15.84933,0 -29.82533,5.96267 -35.61733,9.20134 l 0,22.66666 20.45067,0 0,-11.92933 c 4.09067,-1.53333 11.416,-2.55467 14.82533,-2.55467 11.25067,0 15.66667,3.57867 15.66667,17.04267 l 0,4.25867 c -17.38534,0 -28.276,0.85333 -37.30933,4.09333 -9.37467,3.40667 -17.896,11.75733 -17.896,24.53733 0,13.97867 9.71333,25.90667 29.828,25.90667 14.99466,0 21.96666,-6.30533 27.93466,-19.76933 l 0.33867,0 c -0.85467,3.40933 -1.192,6.476 -1.192,12.272 l 0,5.45333 29.99733,0 0,-17.384 m -147.09733,-10e-4 -9.716,0 0,17.38399 44.82267,0 0,-17.38399 -11.244,0 0,-28.8 c 0,-14.65867 9.20266,-23.52134 22.15333,-23.52134 2.38533,0 5.11467,0.344 7.672,0.85334 l 1.53067,-21.30534 c -2.55734,-0.508 -4.94534,-1.02133 -7.84,-1.02133 -13.63334,0 -21.98267,7.49733 -25.56267,22.49733 l -0.34133,0 c 1.18933,-8.35066 1.53333,-14.31733 1.53333,-20.45466 l -34.59867,0 0,17.384 11.59067,0 0,54.368 m -119.53733,17.38399 41.756,0 0,-17.38399 -8.18133,0 0,-27.95067 19.09066,21.30533 c 2.55467,2.72534 4.94267,4.772 7.5,6.304 l 0,0.34134 -9.37466,0 0,17.38399 47.37733,0 0,-17.38399 -9.88534,0 -29.82266,-32.21067 27.77866,-22.15867 7.84,0 0,-17.37866 -45.33466,0 0,17.37866 12.27067,0 0,0.34267 c -1.36534,0.51333 -2.38534,1.196 -3.57867,2.04533 l -23.86133,18.23867 0,-79.93333 -37.496,0 0,17.38533 13.63733,0 0,96.29067 -9.716,0 0,17.38399 m -32.836,-43.11866 c 0,16.01733 -5.10267,25.73467 -19.75733,25.73467 -14.656,0 -19.75467,-9.71734 -19.75467,-25.73467 0,-16.18933 5.09867,-28.63067 19.75467,-28.63067 14.65466,0 19.75733,9.54267 19.75733,28.63067 m 25.90533,-0.51067 c 0,-31.016 -15.66666,-47.54933 -45.66266,-47.54933 -29.144,0 -45.66,21.988 -45.66,47.54933 0,30.33867 17.2,45.676 45.66,45.676 28.46,0 45.66266,-19.08933 45.66266,-45.676 m -139.85466,43.62933 42.77733,0 0,-17.38399 -10.22266,0 0,-39.02534 c 0,-21.30533 -9.71467,-34.76933 -30.85067,-34.76933 -15.676,0 -25.564,7.668 -29.82267,20.11067 l -0.34133,0 c -2.388,-13.29467 -11.588,-20.11067 -26.24666,-20.11067 -14.82667,0 -25.90534,7.15867 -30.85067,20.11067 l -0.33867,0 c 1.36267,-6.13734 1.36267,-11.932 1.36267,-18.064 l -34.93867,0 0,17.37866 11.592,0 0,54.36934 -9.71733,0 0,17.38399 43.80133,0 0,-17.38399 -10.22533,0 0,-29.656 c 0,-13.46267 6.30533,-23.688 18.91867,-23.688 9.03333,0 15.508,4.43066 15.508,16.70133 l 0,36.64267 -8.692,0 0,17.38399 42.77733,0 0,-17.38399 -10.22534,0 0,-29.656 c 0,-14.312 7.32534,-23.688 18.91734,-23.688 9.03333,0 15.50933,4.43066 15.50933,16.70133 l 0,36.64267 -8.692,0 0,17.38399 M 121.13746,248.82133 c 0,32.72267 -11.4312,44.13867 -30.598929,44.13867 l -14.4864,0 0,-84.53334 14.1452,0 c 19.508929,0 30.940129,9.888 30.940129,40.39467 m 26.92654,-0.684 C 148.064,210.644 128.12546,191.044 94.118798,191.044 l -55.732399,0 0,17.38266 12.780266,0 0,84.53334 -12.780266,0 0,17.38399 57.094799,0 c 32.644262,0 52.582802,-25.22266 52.582802,-62.20666 M 374.01866,105.72267 c 0.35866,-3.764 0.89466,-8.38268 5.00666,-13.17334 3.21734,-3.592 7.32934,-5.64533 12.876,-5.64533 14.66267,0 17.16267,14.03067 17.16267,18.81867 l -35.04533,0 z m 34.52933,29.54933 c -0.94,4.676 -4.792,12.53467 -17.18667,12.53467 -5.36133,0 -11.264,-2.05334 -14.83866,-8.72267 -3.21734,-6.15867 -3.39867,-14.54267 -3.39867,-18.81867 l 60.43733,0 c 0,-7.35733 0,-25.66267 -10.73066,-37.46667 -7.684,-8.55466 -19.488,-12.148 -31.64267,-12.148 -9.48133,0 -20.74667,1.88134 -30.04133,11.29067 -5.72134,5.81733 -13.19067,15.57066 -13.19067,35.072 0,31.48 15.15467,46.88 43.58667,46.88 6.08,0 22.88666,-0.17466 34.33066,-13.68933 4.42667,-5.36533 6.37334,-10.98 6.85467,-14.908 l -24.18,-0.024 m 467.67599,118.97866 c 0.36,-3.764 0.89333,-8.38533 5.00533,-13.17333 3.21867,-3.592 7.33067,-5.64533 12.87733,-5.64533 14.65867,0 17.16134,14.02933 17.16134,18.81866 l -35.044,0 z m 34.528,29.548 c -0.94,4.67734 -4.79334,12.53867 -17.184,12.53867 -5.368,0 -11.264,-2.05733 -14.844,-8.72533 -3.21334,-6.16 -3.39334,-14.544 -3.39334,-18.82 l 60.43467,0 c 0,-7.356 0,-25.66134 -10.72933,-37.46534 -7.68667,-8.55466 -19.48934,-12.148 -31.64534,-12.148 -9.47866,0 -20.74266,1.88 -30.04133,11.29067 -5.72133,5.816 -13.188,15.568 -13.188,35.072 0,31.47867 15.15334,46.88 43.584,46.88 6.08267,0 22.89067,-0.17467 34.33067,-13.69067 4.42666,-5.36 6.37733,-10.97866 6.856,-14.90666 l -24.18,-0.0253 m -726.29465,-29.548 c 0.35867,-3.764 0.89467,-8.38533 5.00667,-13.17333 3.21733,-3.592 7.32933,-5.64533 12.87599,-5.64533 14.66267,0 17.16267,14.02933 17.16267,18.81866 l -35.04533,0 z m 34.52933,29.548 c -0.94,4.67734 -4.792,12.53867 -17.18667,12.53867 -5.36133,0 -11.26399,-2.05733 -14.83866,-8.72533 -3.21733,-6.16 -3.39867,-14.544 -3.39867,-18.82 l 60.43733,0 c 0,-7.356 0,-25.66134 -10.73066,-37.46534 -7.684,-8.55466 -19.488,-12.148 -31.64667,-12.148 -9.47733,0 -20.74133,1.88 -30.03733,11.29067 -5.72133,5.816 -13.19067,15.568 -13.19067,35.072 0,31.47867 15.15467,46.88 43.58667,46.88 6.08,0 22.88666,-0.17467 34.33066,-13.69067 4.42667,-5.36 6.37334,-10.97866 6.85467,-14.90666 l -24.18,-0.0253 m 7.46533,-178.07599 c 0.35867,-3.764 0.89467,-8.38268 5.00667,-13.17334 3.21733,-3.592 7.32933,-5.64533 12.876,-5.64533 14.66,0 17.16267,14.03067 17.16267,18.81867 l -35.04534,0 z m 34.52934,29.54933 c -0.94,4.676 -4.79067,12.53467 -17.18667,12.53467 -5.36133,0 -11.264,-2.05334 -14.83867,-8.72267 -3.21733,-6.15867 -3.39733,-14.54267 -3.39733,-18.81867 l 60.43733,0 c 0,-7.35733 0,-25.66267 -10.732,-37.46667 -7.68666,-8.55466 -19.488,-12.148 -31.64666,-12.148 -9.47734,0 -20.74134,1.88134 -30.036,11.29067 -5.72134,5.81733 -13.192,15.57066 -13.192,35.072 0,31.48 15.15466,46.88 43.58666,46.88 6.08,0 22.88667,-0.17466 34.33067,-13.68933 4.424,-5.36533 6.37333,-10.98 6.856,-14.908 l -24.18133,-0.024" id="path54" style="fill:#0ba1e2;fill-opacity:1;fill-rule:nonzero;stroke:none"/> + <path d="m 433.70932,474.78412 615.11598,0 0,-134.16133 -615.11598,0 0,134.16133 z" id="path56" style="fill:#e5007d;fill-opacity:1;fill-rule:nonzero;stroke:none"/> + <path d="m 832.53331,385.09719 13.33067,0 0.003,-16.6332 -56.21334,0 0,11.3332 8.33067,0 0,55.79894 -6.99733,0 0,11.33333 31.99466,0 0,-11.33333 -8.77333,0 0,-21.55467 23.62533,0 0,-11.9948 -23.62533,0 0,-22.24947 18.33067,0 -0.005,5.3 m 84.15733,21.36667 c 0,21.52027 -7.51866,29.03067 -20.128,29.03067 l -9.52666,0 0,-55.5948 9.308,0 c 12.828,0 20.34666,6.49906 20.34666,26.56413 m 17.70534,-0.44787 c 0,-24.66146 -13.11467,-37.55066 -35.47867,-37.55066 l -36.652,0 0,11.4344 8.404,0 0,55.5948 -8.404,0 0,11.43239 37.54933,0 c 21.46667,0 34.58134,-16.58813 34.58134,-40.91093 m 46.844,-0.77346 c 8.17866,0 12.44266,-4.93334 12.44266,-12.8932 0,-8.06934 -4.82133,-12.4412 -12.66666,-12.4412 l -8.636,0 0,25.3344 8.86,0 z m -25.22134,-25.3344 -7.73733,0 0,-11.43214 32.39867,0 c 18.94266,0 28.69465,7.84667 28.69465,23.20134 0,14.68546 -10.42665,24.99746 -26.00799,24.99746 l -10.98666,0 0,18.83334 7.73733,0 0,11.43439 -31.836,0 0,-11.43439 7.73733,0 0,-55.6" id="path62" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/> +</svg> \ No newline at end of file diff --git a/src/partyLogos/gruene.svg b/src/partyLogos/gruene.svg new file mode 100644 index 0000000..37a4f3f --- /dev/null +++ b/src/partyLogos/gruene.svg @@ -0,0 +1,2 @@ +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="150.28" width="249.45" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><path d="m0,150.28,249.45,0,0-150.28h-249.45v150.28z" fill-rule="nonzero" fill="#1fa12d"/><path d="m18.425,131.87,130.62,0,1.27-7.52-130.62,0-1.266,7.52" fill-rule="nonzero" fill="#0066ac"/><path d="m231.01,66.54c0-0.285-0.75-0.541-1.24-0.936-1.62-1.359-7.45-7.09-18.91-6.719-1.45,0.05-2.77,0.182-3.97,0.389,2.43-0.793,3.7-1.266,4.43-1.56,0.89-0.35,6.74-2.355,9.89-12.63,0.28-0.88,1.03-2.998,0.84-3.157-0.24-0.198-2.2,0.153-4.19,1.364s-8.68,2.268-9.49,2.397c-0.46,0.07-2.43-0.221-5.37,1.324,3.31-3.402,6.82-8.238,7.77-15.022,0.45-3.255,0.25-4.583,0.13-4.574-0.2,0.01-0.3,0.01-0.55,0.09-0.74,0.216-1.49,0.841-3.91,2.47-2.45,1.63-5.03,3.435-5.03,3.435s0.88-8.867,0.6-9.067c-0.26-0.2-5.3-0.15-13.02,8.447,0,0,0.88-7.367-0.57-10.147,0,0-0.4-2.012-0.72-3.062-0.15-0.525-0.56-1.075-0.63-1.038-0.12,0-0.77,0.175-1.87,1.438-1.7,1.95-9.61,4.337-10.93,14.579-1-4.134-3.1-9.667-8.3-12.467-2.93-2.875-4.23-3.725-4.38-3.65-0.14,0-0.13,1.338-0.53,4.213-0.5,3.231-0.95,4.251-0.95,4.251s-5.45-4.789-5.58-4.926c-0.25-0.263-3.58,10.259-2.6,15.51,0,0-1.73-1.335-4.87-2.948-3.56-1.828-9.55-2.142-9.51-1.862,0.13,0.472,5.06,10.212,7.16,13.633,0,0-13.43-2.308-13.2-1.469,0.13,0.277,0.4,0.805,0.94,3.046,0,0-5.27-0.113-5.21,0.322,0.12,0.487,4,6.965,4.3,7.319,0,0-4.08,0.788-4.94,0.835-0.59,0.02,2.73,9.163,11.79,11.443,1.29,0.323,2.52,0.561,3.72,0.735,1.03,0.1,2.28,0.22,3.37,0.322,5.4,0.215,8.93-1.17,8.32-3.167,0,0-0.18-0.74-5.7-2.759,0,0,0.15-0.66,0.52-0.75s6.12,2.017,5.72,1.681c-0.41-0.342-2.52-2.682-2.14-2.662,0.37,0.01,3.08,1.161,3.98,0.32,0.86-0.804,1.4-2.28,1.96-2.603,0.56-0.321-1.5-2.235,1.22-1.355,0,0,1.84-1.037,0.39-2.732-1.45-1.7-6.06-7.158,1.46-0.571,1.8,1.578,6.3-3.228,5.93-5.84,0,0,1.81,1.813,2.19,2.007,0.37,0.195,2.89,0.494,3.47-0.379,0.26-0.4-0.93-4.121-0.16-5.756,0,0,0.32-0.02,0.62,0.318,0.3,0.35,0.34,4.231,1.7,4.967,0,0,1.54-0.899,1.8-1.569,0.27-0.676-0.42,4.193,4.19,2.094,0,0,2.24-1.994,2.89-2.052,0.64-0.06-0.49,2.365,0.12,3.228,0.57,0.864,2.45,1.443,3.05,0.363,0.6-1.081,3.48-3.24,3.7-3.154,0.23,0.09-1.46,4.588-1.65,5.03-0.28,0.639-0.48,1.591-0.48,1.591s0.22,1.257,1.78,1.603c0,0,2.97-1.729,6.05-3.978-0.32,0.39-0.65,0.793-0.97,1.225,0,0-3.99,4.097-3.99,4.69,0,0.594,1.36,1.924,2.48,1.17,1.12-0.748,3.82-1.867,4.06-1.672,0.22,0.195,0.66,0.747,0.12,1.072-0.56,0.32-3.7,1.963-3.7,1.963s3.59,0.245,7.98-0.643c-4.75,1.928-6.4,4.86-6.36,5.139,0.15,0.941,7.52-0.971,7.72-0.506,1.06,2.405-2.34,0.92-3.82,1.17-1.49,0.245-5.32,0.331-1.79,3.347,0,0,0.65,0.05-1.09,1.075-1.75,1.028,3.86,1.634,4.54,2.38,0.66,0.749-5.58-0.08-5.45,1.804,0.12,1.878-1.07,0.694,3.07,5.111,0,0-2.49-0.578-2.77-0.227-0.3,0.352,5.43,5.104,5.4,6.456,0,0-1.17,0.809-1.67,0.1-0.5-0.71-3.96-4.542-4.52-4.655-0.43-0.09-1.23,0.113-1.6,0.856,0,0,1.51,3.528,1.04,3.628-0.48,0.1-2.85-1.571-2.85-1.571s-1.55,0.686-1.04,2.095c0.5,1.406,4.72,6.195,4.49,6.488,0,0-0.37,0.789-0.9,0.733-0.55-0.06-3.48-5.345-4.19-5.549-0.73-0.202,0.84,4.94,0.84,4.94s-2.64-2.775-3.34-3.355-0.81,0.614-0.81,0.614l0.77,5.867s-8.21-12.241-6.21,2.357c0,0-0.19,0.827-0.46,0.798-0.27-0.03-2.02-4.83-1.82-6.142,0.2-1.313-1.43,3.637-1.43,3.637s-2.58-10.225-7.92,0.258c0,0-0.36-3.961-1.18-4.639-0.82-0.679-1.47-0.916-1.7-0.922-0.18,0-1.25-0.04-2.23,1.787-3.76,4.874-6.16,11.14-6.85,16.57-0.12,3.76,0.31,10.55,0.13,12-0.13,0.86,0,0.95,0.2,1.23,0,0.1,1.45-1.07,1.88-1.37,0.67-0.44,7.53-9.66,7.95-11.97,0,0,3.67,16.07,4.9,17.79,0.28,0.37,0.49,0.78,0.68,0.49,0.36-0.57,0.91-2.07,1.32-2.19,0.53-0.16,2.08-0.35,2.89-2.64,0.81-2.3,2.28-4.53,2.96-10.48,0,0,7.77,9.91,8.78,10.83,0.4,0.37,2.51-3.14,3.44-8.79,0.93-5.64-1.07-13.23-2.34-13.49,0,0-0.53-0.83,0.95-0.3,0.84,0.3,4.07,5.92,11.54,10.18,1.25,0.72,3.92,0.73,3.93,0.68,0.6-1.67-5.25-16.996-5.25-16.996s0.14-0.175,1.32,0.309c1.18,0.483,12.36,7.717,19.13,4.325,1.38-0.685,1.47-0.833,1.47-0.833,0.77-3.336-5.2-9.651-8.87-12.522,0,0,9.63-0.39,11.12-2.944,0,0,1.77-0.64,2.68-1.904,0.17-0.224-1.03-2.421-2.42-3.386-3.64-2.524-4.43-3.474-4.43-3.474s1.02-1.229,2.49-1.689c1.46-0.46,6.21-3.39,4.95-4.833,0,0,1.53-1.328,1.46-1.675" fill-rule="nonzero" fill="#ffe400"/><path d="m54.789,69.446c-0.333-0.379-0.774-0.568-1.32-0.568-0.556,0-1.06,0.186-1.511,0.557-0.45,0.37-0.72,0.815-0.804,1.337-0.09,0.53,0.02,0.981,0.357,1.349,0.328,0.371,0.773,0.556,1.338,0.556,0.545,0,1.045-0.185,1.496-0.556,0.449-0.368,0.716-0.808,0.801-1.313,0.09-0.539-0.02-0.992-0.357-1.362m-5.553,0c-0.32-0.371-0.756-0.557-1.312-0.557-0.546,0-1.046,0.186-1.498,0.557-0.45,0.37-0.718,0.82-0.806,1.348-0.09,0.522,0.04,0.969,0.36,1.337,0.327,0.373,0.765,0.558,1.312,0.558,0.54,0,1.034-0.185,1.485-0.558,0.459-0.377,0.732-0.822,0.818-1.337,0.09-0.528-0.04-0.978-0.359-1.348m-0.07,16.719c-0.137,0.828-0.328,1.406-0.576,1.731-0.245,0.311-0.617,0.465-1.117,0.465-0.487,0-0.802-0.167-0.95-0.5-0.152-0.333-0.159-0.902-0.02-1.707l1.967-11.888h-5.224l-2.053,12.329c-0.392,2.365,0.09,4.082,1.45,5.154,1.07,0.847,2.5,1.269,4.288,1.269,1.579,0,2.983-0.384,4.213-1.147,0.913-0.572,1.605-1.215,2.075-1.921,0.471-0.678,0.796-1.56,0.977-2.651l2.169-13.033h-5.226l-1.978,11.899m60.139,8.441c-0.34-0.377-0.78-0.566-1.32-0.566-0.56,0-1.06,0.182-1.51,0.555-0.45,0.37-0.72,0.816-0.81,1.339-0.1,0.527,0,0.977,0.36,1.347,0.33,0.371,0.77,0.556,1.34,0.556,0.54,0,1.04-0.185,1.49-0.556,0.45-0.37,0.72-0.809,0.8-1.315,0.1-0.539,0-0.99-0.35-1.36m-5.56,0c-0.31-0.372-0.75-0.555-1.31-0.555-0.55,0-1.04,0.183-1.49,0.555-0.46,0.37-0.72,0.819-0.81,1.35-0.1,0.52,0,0.966,0.36,1.336,0.33,0.372,0.76,0.557,1.31,0.557,0.54,0,1.04-0.185,1.49-0.557,0.45-0.378,0.73-0.822,0.81-1.336,0.1-0.531,0-0.98-0.36-1.35m-0.1,16.724c-0.14,0.82-0.33,1.4-0.58,1.73-0.24,0.31-0.61,0.46-1.12,0.46-0.48,0-0.8-0.16-0.95-0.5-0.15-0.33-0.15-0.9,0-1.71l1.98-11.881h-5.229l-2.05,12.331c-0.394,2.36,0.09,4.08,1.448,5.15,1.071,0.84,2.501,1.27,4.291,1.27,1.57,0,2.98-0.39,4.21-1.15,0.91-0.57,1.6-1.21,2.07-1.92,0.47-0.68,0.8-1.56,0.98-2.65l2.17-13.031h-5.22l-1.98,11.901m-68.798-31.616c-0.09,0.501-0.329,0.89-0.739,1.167-0.412,0.279-0.93,0.416-1.555,0.416h-0.35l0.526-3.158c0.125-0.01,0.234-0.01,0.321-0.02h0.22c1.228,0,1.755,0.532,1.577,1.6m-2.877,5.456c0.678,0,1.185,0.159,1.519,0.479,0.335,0.32,0.456,0.763,0.362,1.328-0.1,0.567-0.365,1.018-0.807,1.354-0.447,0.338-0.993,0.504-1.645,0.504h-0.187c-0.07,0-0.161-0.01-0.262-0.02l0.607-3.641h0.413zm8.098-5.661c0.258-1.55-0.09-2.817-1.035-3.798-0.937-0.952-2.539-1.428-4.813-1.428h-6.078l-3.063,18.422h7.317c1.748,0,3.235-0.483,4.467-1.456,1.237-0.963,1.987-2.233,2.251-3.816,0.209-1.259,0.05-2.22-0.479-2.889s-1.46-1.098-2.799-1.289c2.438-0.191,3.848-1.439,4.231-3.746m20.899,13.196,0.781-4.701c0.125-0.725,0.213-1.569,0.278-2.53,0.06-0.964,0.1-2.093,0.1-3.39,0.06,0.574,0.16,1.175,0.274,1.809,0.112,0.632,0.246,1.311,0.397,2.033l1.47,6.779h5.034l3.065-18.422h-5.035l-0.69,4.141c-0.126,0.77-0.236,1.726-0.324,2.862-0.09,1.139-0.171,2.508-0.245,4.108l-0.269-1.624c-0.1-0.645-0.208-1.212-0.303-1.707-0.1-0.493-0.18-0.932-0.259-1.313l-1.506-6.49h-4.748l-3.063,18.423h5.036m20.286-9.013c-0.496,2.983-1.688,4.518-3.574,4.606l1.56-9.382h0.163c0.811,0,1.382,0.431,1.716,1.291,0.334,0.853,0.378,2.011,0.135,3.485m5.37-0.184c0.515-3.106-0.02-5.52-1.629-7.245-1.217-1.32-3.116-1.981-5.698-1.981h-4.51l-3.066,18.423h4.889c2.697,0,4.847-0.709,6.443-2.124,1.872-1.663,3.06-4.022,3.571-7.073m5.098,9.197,0.782-4.702c0.125-0.725,0.213-1.569,0.276-2.53,0.06-0.964,0.1-2.092,0.1-3.39,0.08,0.574,0.162,1.175,0.274,1.809,0.113,0.633,0.246,1.311,0.399,2.034l1.469,6.779h5.032l3.07-18.423h-5.037l-0.69,4.141c-0.128,0.77-0.236,1.727-0.326,2.863-0.09,1.139-0.169,2.507-0.243,4.107l-0.27-1.623c-0.113-0.645-0.208-1.213-0.304-1.708-0.1-0.492-0.18-0.931-0.257-1.312l-1.505-6.468h-4.747l-3.062,18.423h5.034m19.047-18.423-5.23,0-3.06,18.423,5.22,0,3.07-18.423m2.87,18.423c1.78,0,3.34-0.567,4.69-1.702,1.35-1.136,2.17-2.578,2.46-4.328,0.17-1.029,0.1-1.927-0.27-2.693-0.35-0.766-1.02-1.515-2-2.245l-0.73-0.562c-0.64-0.469-0.91-0.939-0.83-1.417,0.1-0.291,0.22-0.54,0.52-0.747,0.3-0.215,0.64-0.323,1.05-0.323,0.52,0,1.03,0.184,1.51,0.544,0.48,0.362,0.88,0.857,1.2,1.485l0.93-5.522c-1.17-0.608-2.37-0.913-3.61-0.913-1.4,0-2.65,0.384-3.77,1.151-0.4,0.268-0.77,0.579-1.1,0.928-0.34,0.35-0.64,0.736-0.92,1.157-0.57,0.907-0.93,1.773-1.06,2.604-0.1,0.483-0.1,0.944,0,1.383,0,0.436,0.15,0.86,0.34,1.268,0.18,0.415,0.44,0.813,0.78,1.202,0.33,0.387,0.75,0.777,1.25,1.17l0.76,0.608c0.54,0.453,0.77,0.917,0.69,1.393-0.1,0.331-0.24,0.606-0.56,0.824-0.32,0.221-0.71,0.328-1.16,0.328-1.19,0-2.19-0.668-3-2.005l-0.94,5.663c1.32,0.499,2.59,0.749,3.82,0.749m23.9-12.102c-0.27,1.577-0.88,2.364-1.85,2.364-1.03,0-1.4-0.781-1.15-2.339,0.27-1.652,0.92-2.477,1.93-2.477,0.98,0,1.34,0.816,1.07,2.452m4.05-4.516c-0.97-1.205-2.4-1.805-4.3-1.805-2,0-3.73,0.604-5.17,1.814-1.45,1.221-2.32,2.791-2.65,4.704-0.26,1.588,0,2.947,0.7,4.078,0.75,1.108,1.78,1.66,3.12,1.66,0.53,0,1.17-0.172,1.92-0.526-0.25,0.29-0.47,0.552-0.67,0.796-0.2,0.243-0.38,0.463-0.53,0.66l-3.97,5.237h5.61l2.3-3.164c2.71-3.71,4.24-6.614,4.59-8.709,0.32-1.959,0-3.542-0.95-4.745m10.81,7.495c-0.28,1.62-0.61,2.809-1.01,3.572-0.42,0.763-0.92,1.144-1.5,1.144-1.1,0-1.35-1.743-0.78-5.232,0.49-2.918,1.29-4.378,2.41-4.378,1.13,0,1.42,1.63,0.88,4.894m4.51-6.824c-0.92-1.65-2.45-2.476-4.59-2.476-2.11,0-3.92,0.815-5.43,2.442-1.52,1.623-2.49,3.825-2.95,6.613-0.5,2.95-0.27,5.247,0.7,6.89,0.97,1.652,2.56,2.477,4.75,2.477,2.03,0,3.78-0.816,5.26-2.452,1.47-1.645,2.45-3.859,2.91-6.639,0.49-2.917,0.26-5.202-0.65-6.855m-126.57,31.954c-0.496,2.99-1.687,4.52-3.573,4.61l1.56-9.38h0.163c0.809,0,1.383,0.43,1.715,1.29,0.337,0.85,0.38,2.01,0.135,3.48m5.372-0.18c0.515-3.1-0.03-5.52-1.629-7.25-1.218-1.315-3.118-1.975-5.699-1.975h-4.511l-3.063,18.425h4.888c2.696,0,4.844-0.71,6.441-2.13,1.874-1.66,3.063-4.02,3.573-7.07m8.686-9.225-5.226,0-3.064,18.425,5.226,0,3.064-18.425m9.049,18.425,0.733-4.41-4.487,0,0.431-2.59,4.023,0,0.732-4.41-4.022,0,0.435-2.61,4.486,0,0.734-4.405-9.713,0-3.065,18.425,9.713,0m18.417-6.78,1.933,0c-0.06,0.36-0.16,0.69-0.297,0.98-0.136,0.29-0.298,0.54-0.487,0.75-0.189,0.2-0.404,0.36-0.648,0.47-0.245,0.11-0.506,0.17-0.78,0.17-0.695,0-1.142-0.34-1.347-1.02s-0.181-1.77,0.06-3.28c0.588-3.54,1.602-5.31,3.038-5.31,0.41,0,0.722,0.17,0.937,0.51s0.312,0.8,0.29,1.38l5.357-1.77c-0.877-3.02-2.844-4.525-5.9-4.525-2.307,0-4.262,0.835-5.865,2.485-1.604,1.66-2.647,3.93-3.125,6.81-0.473,2.85-0.185,5.08,0.865,6.71,1.06,1.61,2.756,2.42,5.086,2.42,2.371,0,4.301-0.83,5.787-2.48,1.363-1.51,2.33-3.99,2.902-7.43l0.125-0.74h-7.291l-0.645,3.87m17.859-5.71c-0.113,0.68-0.405,1.23-0.878,1.67-0.475,0.44-1.013,0.66-1.615,0.66h-0.351l0.733-4.39h0.187c1.51,0,2.153,0.68,1.924,2.06m5.154,0.21c0.346-2.08-0.13-3.69-1.429-4.82-1.024-0.884-2.711-1.325-5.069-1.325h-5.35l-3.064,18.425h5.199l1.073-6.45,0.166-1.21c0.05,0.25,0.09,0.47,0.125,0.65,0.04,0.18,0.05,0.33,0.06,0.44l1.491,6.57h5.653l-2.613-7.66c2.139-0.85,3.393-2.39,3.764-4.62m20.504,12.28,0.78-4.71c0.12-0.72,0.21-1.56,0.28-2.52,0.1-0.97,0.1-2.1,0.1-3.39,0.1,0.57,0.16,1.17,0.27,1.8,0.11,0.64,0.24,1.31,0.4,2.04l1.47,6.78h5.03l3.07-18.425h-5.04l-0.69,4.145c-0.13,0.77-0.23,1.72-0.32,2.86-0.1,1.14-0.17,2.51-0.25,4.11l-0.26-1.63c-0.12-0.64-0.21-1.21-0.31-1.7-0.1-0.5-0.18-0.94-0.26-1.32l-1.5-6.465h-4.75l-3.06,18.425h5.03m20.48,0,0.72-4.41-4.48,0,0.43-2.59,4.03,0,0.71-4.41-4,0,0.43-2.61,4.48,0,0.74-4.405-9.71,0-3.06,18.425,9.71,0m7.2,0,0.77-4.71c0.13-0.72,0.22-1.56,0.28-2.52,0.12-0.97,0.12-2.1,0.12-3.39,0,0.57,0.17,1.17,0.28,1.8,0.12,0.64,0.25,1.31,0.4,2.04l1.46,6.78h5.04l3.06-18.425h-5.04l-0.68,4.145c-0.13,0.77-0.23,1.72-0.33,2.86-0.12,1.14-0.16,2.51-0.24,4.11l-0.27-1.63c-0.13-0.64-0.2-1.21-0.3-1.7-0.12-0.5-0.19-0.94-0.26-1.32l-1.5-6.465h-4.75l-3.07,18.425h5.04" fill-rule="nonzero" fill="#FFF"/></svg> \ No newline at end of file diff --git a/src/partyLogos/linke.svg b/src/partyLogos/linke.svg new file mode 100644 index 0000000..6013c58 --- /dev/null +++ b/src/partyLogos/linke.svg @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.0" width="566.92944" height="127.05661" id="svg1983" inkscape:version="0.47 r22583" sodipodi:docname="Z2Z.svg"> + <metadata id="metadata11"> + <rdf:RDF> + <cc:Work rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> + </cc:Work> + </rdf:RDF> + </metadata> + <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1280" inkscape:window-height="1004" id="namedview9" showgrid="false" inkscape:zoom="0.89647062" inkscape:cx="283.46472" inkscape:cy="57.499599" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="svg1983"/> + <defs id="defs1985"> + <inkscape:perspective sodipodi:type="inkscape:persp3d" inkscape:vp_x="0 : 81.248032 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_z="602.36218 : 81.248032 : 1" inkscape:persp3d-origin="301.18109 : 54.165354 : 1" id="perspective13"/> + </defs> + <g id="layer1" transform="translate(-17.716373,-11.69102)"> + <g transform="matrix(3.543307e-5,0,0,3.543307e-5,5.462343e-4,-6.025515)" style="fill-rule:evenodd" id="Layer_x0020_1"> + <g id="_89729424"> + <path d="m 15949500,4085820 c 258030,0 503370,-204070 544270,-461180 43470,-273390 -145940,-473350 -412100,-473350 -241680,0 -484250,212200 -523830,461150 -41530,261180 129490,473380 391660,473380 z m -2267880,-44910 1474550,0 109730,-726370 -680900,0 70890,-469300 610840,0 109730,-726350 -610910,0 64700,-428540 680900,0 109700,-726340 -1474580,0 -464650,3076900 z m -153530,0 -467740,-1591510 858520,-1485390 -836490,0 -633570,1309940 193900,-1309940 -793680,0 -464680,3076900 793750,0 213180,-1411920 284800,1411920 852010,0 z m -4528050,0 762580,0 136180,-901820 c 43760,-289810 51890,-575430 76180,-865140 l 332350,1766960 762550,0 464680,-3076900 -762580,0 -118310,783490 c -53610,355010 -48280,705940 -70790,1060990 l -363360,-1844480 -754800,0 -464680,3076900 z m -1400360,0 109640,-726370 -595290,0 354980,-2350530 -793680,0 -464680,3076900 1389030,0 z m -3726490,0 1474580,0 109700,-726370 -680860,0 70880,-469300 610840,0 109700,-726350 -610910,0 64730,-428540 680870,0 109730,-726340 -1474580,0 -464680,3076900 z m -315970,0 464610,-3076900 -793680,0 -464680,3076900 793750,0 z M 1642530,1731210 c 361800,0 353830,465190 303310,799840 -43750,289710 -177520,763090 -539960,767140 l 236650,-1566980 0,0 z m -1142550,2309700 692590,0 c 482430,0 1354240,-130570 1568700,-1550720 C 2901720,1559780 2505370,964010 1602750,964010 l -638090,0 -464680,3076900 0,0 z m 8179050,0 391470,-2513670 -793680,0 -391540,2513670 793750,0 z" style="fill:#000000;fill-opacity:1" id="_47141144"/> + <polygon points="9230140,500000 9230140,500000 7697260,963340 9094490,1374000 " style="fill:#dc0000;fill-opacity:1" id="_48064328"/> + </g> + </g> + </g> +</svg> \ No newline at end of file diff --git a/src/partyLogos/spd.svg b/src/partyLogos/spd.svg new file mode 100644 index 0000000..dba4538 --- /dev/null +++ b/src/partyLogos/spd.svg @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="103.10137" height="91.838127" id="svg3402"> + <defs id="defs3404"> + <clipPath id="clipPath3134"> + <path d="m 480.656,732.1418 94.926,0 0,84.344 -94.926,0 0,-84.344 z" id="path3136"/> + </clipPath> + <clipPath id="clipPath3142"> + <path d="m 486.525,738.2137 82.4811,0 0,73.4705 -82.4811,0 0,-73.4705 z" id="path3144"/> + </clipPath> + <radialGradient cx="0" cy="0" r="1" fx="0" fy="0" id="radialGradient3156" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-59.86192,0,0,-59.86192,480.6045,816.6049)" spreadMethod="pad"> + <stop id="stop3158" style="stop-color:#f68193;stop-opacity:1" offset="0"/> + <stop id="stop3160" style="stop-color:#ed1c24;stop-opacity:1" offset="1"/> + </radialGradient> + <radialGradient cx="0" cy="0" r="1" fx="0" fy="0" id="radialGradient3174" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-68.48254,0,0,-68.48254,586.4833,730.5782)" spreadMethod="pad"> + <stop id="stop3176" style="stop-color:#870e12;stop-opacity:1" offset="0"/> + <stop id="stop3178" style="stop-color:#d81920;stop-opacity:1" offset="1"/> + </radialGradient> + <linearGradient x1="0" y1="0" x2="1" y2="0" id="linearGradient3192" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-45.50681,26.27332,-26.27332,-45.50681,544.1671,799.8801)" spreadMethod="pad"> + <stop id="stop3194" style="stop-color:#c4161d;stop-opacity:1" offset="0"/> + <stop id="stop3196" style="stop-color:#ed1c24;stop-opacity:1" offset="0.39010999"/> + <stop id="stop3198" style="stop-color:#f1495f;stop-opacity:1" offset="0.73076999"/> + <stop id="stop3200" style="stop-color:#f0385f;stop-opacity:1" offset="1"/> + </linearGradient> + </defs> + <g transform="translate(-437.02074,-772.15745)" id="layer1"> + <g transform="matrix(1.25,0,0,-1.25,-171.13551,1786.7627)" id="g3130"> + <g clip-path="url(#clipPath3134)" id="g3132"> + <g id="g3138"> + <g clip-path="url(#clipPath3142)" id="g3140"> + <g id="g3146"> + <g id="g3148"> + <g id="g3154"> + <path d="m 486.525,750.1297 52.9571,-11.916 0,67.3619 -52.9571,3.1352" id="path3162" style="fill:url(#radialGradient3156);stroke:none"/> + </g> + </g> + </g> + <g id="g3164"> + <g id="g3166"> + <g id="g3172"> + <path d="m 539.4821,738.2137 29.5241,16.5798 0,55.1937 -29.5241,-4.4116" id="path3180" style="fill:url(#radialGradient3174);stroke:none"/> + </g> + </g> + </g> + <g id="g3182"> + <g id="g3184"> + <g id="g3190"> + <path d="m 539.4821,805.5756 29.5241,4.4116 -48.358,1.697 -34.1232,-2.9729" id="path3202" style="fill:url(#linearGradient3192);stroke:none"/> + </g> + </g> + </g> + <path d="m 504.5012,758.8903 c 0.1148,-0.0219 0.1721,-0.0328 0.2869,-0.0546 1.2273,-0.234 2.4372,-0.5474 2.4372,1.3151 0,1.7762 -1.1236,1.9804 -2.4374,2.2181 -0.1148,0.0209 -0.1721,0.031 -0.287,0.0519 0,-1.4121 3e-4,-2.1184 3e-4,-3.5305 z m -3.6718,7.5019 c 2.301,-0.3959 3.4515,-0.5935 5.7526,-0.9896 2.8553,-0.4447 4.0904,-3.2419 4.1699,-5.7846 0.0781,-2.4951 -1.3583,-5.2231 -4.3322,-4.3677 -0.7543,0.1503 -1.1319,0.2258 -1.8862,0.3762 0,-1.9943 10e-5,-2.9922 10e-5,-4.9864 -1.4817,0.3152 -2.2223,0.4736 -3.7039,0.7889 -8e-4,4.9879 -3e-4,9.9753 -3e-4,14.9632" id="path3204" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/> + <path d="m 515.2935,751.9071 c 0.1611,-0.0327 0.2414,-0.0488 0.4025,-0.0815 2.0124,-0.4095 3.5195,0.715 3.5195,3.5672 0,2.3969 -1.3177,4.3479 -3.485,4.7414 -0.1747,0.0317 -0.2623,0.0481 -0.437,0.0798 0,-2.7691 0,-5.5378 0,-8.3069 z m -3.7254,12.6379 c 2.1961,-0.3777 3.294,-0.5663 5.4902,-0.944 4.0804,-0.7386 5.771,-5.2591 5.808,-8.9095 0.033,-3.2459 -1.747,-7.6668 -5.808,-6.7155 -2.1959,0.4674 -3.2941,0.7011 -5.4902,1.1684 0,5.1337 0,10.2669 0,15.4006" id="path3206" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/> + <path d="m 497.9032,762.7872 c -0.708,0.6529 -1.8535,1.1681 -2.3951,1.2663 -0.6632,0.1198 -1.5133,0.0631 -1.5133,-0.7527 0,-0.8548 0.8399,-1.1734 1.603,-1.5481 0,0 0.9365,-0.4079 1.3362,-0.6325 1.7238,-0.9681 3.0109,-1.9129 3.0109,-4.5454 0,-1.4809 -0.332,-2.8567 -1.4369,-3.6262 -1.085,-0.7557 -2.5421,-0.9342 -3.9421,-0.6346 -1.7498,0.3742 -3.4863,1.2273 -4.9521,2.8686 0.6473,1.0779 0.971,1.6188 1.6183,2.7075 0.9026,-1.0097 1.971,-1.9867 3.2052,-2.2395 0.8472,-0.1737 1.6795,-0.0553 1.6795,0.9803 0,1.0747 -1.3462,1.4005 -2.122,1.7775 -1.6742,0.8135 -3.6977,1.9098 -3.7574,5.2323 -0.0479,2.6583 2.1804,4.534 4.7891,4.0452 1.374,-0.2576 3.1837,-1.2779 4.4179,-2.2438 -0.6166,-1.0671 -0.9246,-1.5979 -1.5412,-2.6549" id="path3208" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/> + <path d="m 533.5333,756.3577 c 0.1884,0.4515 0.4442,0.8111 0.4517,0.8095 0.1717,-0.0304 0.2576,-0.0453 0.4294,-0.076 -0.2942,-0.0944 -0.6238,-0.3571 -0.8811,-0.7335 z m 0.2345,-2.3846 c 0.3537,-0.5645 0.531,-0.8475 0.8848,-1.4141 0.11,-0.1759 0.1651,-0.2641 0.2752,-0.4406 -0.0906,0.0176 -0.1357,0.0264 -0.2264,0.0438 -0.1058,0.1758 -0.1584,0.2629 -0.2641,0.4381 -0.3404,0.5638 -0.5109,0.8453 -0.8514,1.4068 0.073,-0.0136 0.109,-0.0203 0.1819,-0.034 z m 1.3224,-3.5385 c -0.0602,-0.3117 -0.3296,-0.6967 -0.8274,-0.6192 -0.4104,0.064 -0.8758,0.4047 -0.9972,0.4911 -0.1462,0.104 -0.2021,0.0956 -0.2568,0.034 -0.2858,-0.3239 -0.3875,-0.6608 -0.4699,-1.0287 -0.5705,0.1148 -0.8558,0.1718 -1.4264,0.2866 -0.0652,0.3268 -0.1224,0.6594 -0.1918,0.99 -0.0215,0.102 -0.089,0.1741 -0.237,0.2053 -0.3089,0.0649 -0.6625,0.0352 -0.8007,0.003 -0.1423,-0.0332 -0.344,-0.1239 -0.4495,-0.3636 -0.0783,-0.179 -0.1032,-0.3336 -0.1317,-0.4706 -0.49,0.0987 -0.7347,0.1478 -1.2247,0.2462 0,0 0.0433,0.2226 0.0662,0.3264 0.0567,0.2591 0.1422,0.5706 0.3167,0.8047 0.1461,0.1957 0.4032,0.3327 0.554,0.2999 1.7823,-0.351 2.6731,-0.527 4.4554,-0.878 0.0443,-0.0498 0.3684,-0.4442 0.6864,-0.5351 0.2487,-0.0713 0.56,-0.0141 0.6516,0.2674 0.1133,-0.0237 0.1695,-0.0354 0.2828,-0.0594 z m -1.7178,-2.9269 c -0.4404,-0.5633 -0.6605,-0.8448 -1.1009,-1.4043 -0.7508,0.1573 -1.1265,0.236 -1.8774,0.3933 -0.008,0.103 0.1874,0.2105 0.2886,0.1957 0.2236,-0.0333 0.387,-0.2093 0.568,-0.2541 0.2199,-0.0544 0.4626,0.098 0.6922,0.3344 0.0882,0.0909 0.2974,0.3052 0.34,0.3931 0.1183,0.2447 0.0826,0.4406 0.0539,0.5542 0.4142,-0.0852 0.6214,-0.1272 1.0356,-0.2123 z m -6.0351,0.3266 c -0.1405,0.0378 -0.3779,0.391 -0.6192,0.4553 -0.2294,0.0609 -0.4712,-0.1567 -0.5464,-0.1262 -0.07,0.0287 -0.075,0.3067 -0.1488,0.4313 -0.0645,0.0985 -0.2821,0.0489 -0.2875,0.1307 -0.006,0.0839 0.0563,0.2498 0.0999,0.3296 0.9807,-0.2009 1.4713,-0.3019 2.4517,-0.5031 -0.1581,-0.2017 -0.6914,-0.7874 -0.9497,-0.7176 z m -3.2926,6.3803 c 0.0111,0.0844 0.0194,0.2498 0.0647,0.3689 0.0368,0.097 0.099,0.163 0.2076,0.1262 0.1022,-0.0343 0.3799,-0.1393 0.6101,-0.1841 0.3338,-0.065 1.2083,0.3382 1.3455,0.4948 0.0864,-0.2218 0.1849,-0.6562 0.4951,-0.7153 0.0438,-0.008 2.5714,-0.4916 2.5714,-0.4916 0.2674,-0.0511 0.4326,0.0504 0.5406,0.248 0.1173,-0.2533 0.3087,-0.4114 0.5305,-0.454 0.6278,-0.1201 0.942,-0.18 1.57,-0.3004 0.0524,-0.104 0.0788,-0.1561 0.1312,-0.26 0.0871,-0.1725 0.1302,-0.2584 0.2173,-0.4309 -2.7615,0.5328 -5.5227,1.0654 -8.284,1.5984 z m 5.6482,0.5265 c 0,-0.1239 0,-0.1863 0,-0.3102 9e-4,-0.0274 -0.0607,-0.3115 -0.38,-0.2508 -1.0135,0.1932 -1.5201,0.2894 -2.5336,0.4825 -0.135,0.0219 -0.285,0.596 -0.3014,0.6859 1.2859,-0.243 1.9293,-0.3644 3.215,-0.6074 z m -3.7617,2.3078 c -0.2067,0.5394 -0.4363,1.196 -0.641,1.7266 0.1362,-0.0247 1.3075,-0.2324 1.3075,-0.2324 0.0217,-0.004 0.4641,-0.6605 0.6935,-0.97 0.2377,-0.321 0.7987,-0.4593 1.0643,-0.5348 0.2118,-0.0604 0.6663,-0.1453 0.7456,-0.1586 0.3742,-0.0635 0.4797,0.1639 0.4779,0.3948 -0.002,0.2198 -0.2258,0.4585 -0.3877,0.7625 1.263,-0.2284 1.8945,-0.3425 3.1576,-0.5709 5e-4,-0.1866 -0.002,-0.2347 0.003,-0.3669 0.0188,-0.3485 0.0282,-0.5227 0.0473,-0.8712 -0.0592,0 -0.1022,0.0159 -0.1634,-0.0649 -0.0549,-0.066 -0.0403,-0.2725 -0.0403,-0.2725 -2.5059,0.4631 -3.7584,0.6952 -6.2643,1.1583 z m -1.5609,3.4849 c 0.0234,0.1607 0.3541,0.1461 0.3636,0.314 0.0164,0.1194 0.2065,0.0695 0.2798,0.0411 0.1805,-0.0696 0.3021,-0.2267 0.4605,-0.5505 -0.4417,0.078 -0.6622,0.1176 -1.1039,0.1954 z m 5.3714,-2.3667 c -0.0385,-0.0279 -0.1289,-0.0284 -0.2059,-0.0103 -0.1728,0.0405 -0.2995,0.2219 -0.2995,0.3009 3e-4,0.1047 0.174,0.0846 0.3058,0.065 0.112,-0.0167 0.2311,-0.059 0.257,-0.1307 0.032,-0.0894 0.004,-0.1806 -0.0574,-0.2249 z m -0.0121,0.6398 c -0.0219,0.007 -0.107,0.0411 -0.1855,0.056 -0.1707,0.0319 -0.3377,-0.061 -0.3087,0.038 0.0548,0.1878 0.1976,0.2777 0.3217,0.2558 0.1126,-0.0201 0.2662,-0.1299 0.2617,-0.2963 -0.002,-0.0643 -0.002,-0.0829 -0.0892,-0.0535 z m -0.9186,0.9231 c 0.1033,0.2647 0.3405,0.3407 0.515,0.4823 0.1425,0.1153 1.0137,0.6894 1.12,0.671 0.1478,-0.0257 0.1546,-0.3573 0.4021,-0.4004 0.1053,-0.0181 0.3437,0.161 0.3757,0.1554 0.06,-0.0103 0.0712,-0.0781 0.0712,-0.1279 0,-0.0275 -0.0841,-0.307 -0.0886,-0.3974 -0.005,-0.1034 0.0434,-0.144 0.1015,-0.1596 0.1186,-0.0325 0.1793,0.1997 0.2566,0.1848 0.0679,-0.0133 0.1579,-0.0932 0.239,-0.1898 0.0589,-0.07 0.2608,-0.4321 0.2608,-0.5326 0,-0.1035 -0.0643,-0.0899 -0.0643,-0.249 -1.2758,0.2254 -1.9136,0.3377 -3.189,0.5632 z m 3.3684,-6.096 c -0.6887,0.1311 -1.0332,0.1971 -1.7218,0.3286 -0.2531,0.0481 -0.382,0.3047 -0.382,0.3898 0,0.1266 0,0.1901 0,0.3167 0.7733,-0.146 1.1598,-0.2193 1.9331,-0.3653 0.003,-0.0302 -0.006,-0.062 -0.006,-0.0897 0,-0.186 0.0859,-0.3746 0.177,-0.5801 z m 3.993,5.909 c -0.083,0.2696 -0.2143,0.5638 -0.425,0.8372 0.0494,-0.2332 0.2541,-1.1187 0.002,-1.7548 -0.0767,-0.1941 -0.2251,-0.5129 -0.4094,-0.457 -0.0763,0.037 -0.047,0.1302 -0.0798,0.2251 -0.0418,0.1206 -0.1529,0.1888 -0.2158,0.1949 -0.3369,0.0317 -1.0709,-0.8511 -1.2738,-1.1442 -0.3752,-0.5423 -0.7411,-1.4479 -0.8093,-1.9182 -0.0559,-0.3868 0.004,-0.7954 0.1886,-1.1951 0.1772,-0.3835 0.5255,-1.0077 0.9014,-1.6563 0.098,-0.1687 0.1972,-0.3396 0.2964,-0.5083 0.2158,-0.3667 0.3165,-0.6119 0.3182,-0.8985 0.004,-0.5021 -0.1405,-0.7494 -0.5144,-0.6595 -0.3658,0.0879 -1.1847,1.3625 -1.6865,2.3708 -0.0456,0.0916 -0.0887,0.1812 -0.1284,0.2674 0.1417,-0.0273 0.2326,0.0349 0.2112,0.1865 -0.0428,0.2093 -0.2377,0.5749 -0.2359,0.7154 0.003,0.2254 0.1536,0.5111 0.1755,0.912 0.0214,0.385 0.0141,0.4873 -0.002,0.7766 0.1113,-0.0207 0.0602,-0.0106 0.1564,-0.0295 0.0511,-0.0101 0.0775,0.0151 0.0737,0.0829 -0.008,0.149 -0.0626,0.9402 -0.0734,1.1542 -0.0116,0.2226 0.073,0.7775 0.007,1.0969 -0.0523,0.2545 -0.3236,0.7433 -0.349,0.9742 -0.007,0.0647 0.0602,0.1007 0.0622,0.2271 0.004,0.2354 -0.104,0.4794 -0.2778,0.7566 -0.0319,0.0512 -0.076,0.1118 -0.1422,0.1607 -0.201,0.1483 -0.2589,0.2752 -0.3437,0.4225 -0.0881,0.1531 -0.1901,0.2745 -0.2913,0.3596 -0.0932,0.0778 -0.2775,0.145 -0.4135,0.1848 -0.2029,0.0597 -0.4548,0.071 -0.5676,0.0287 -0.3978,-0.1505 -0.811,-0.4462 -1.1864,-0.7116 -0.3679,-0.2599 -0.6315,-0.3825 -0.6315,-0.7841 0,-0.2543 0.1236,-0.7667 0.2213,-0.9717 -0.0738,-0.0204 -0.1181,-0.0146 -0.2347,0.006 -0.2191,0.0393 -0.416,0.1604 -0.4316,0.5985 -0.1435,0.026 -0.2007,-0.1636 -0.2007,-0.2729 0,-0.067 0.0199,-0.1584 0.0564,-0.2392 0.1391,-0.3077 0.4515,-0.4148 0.6328,-0.4472 0.0224,-0.004 0.1745,-0.0124 0.2657,-0.006 0.0133,-0.1178 -0.0282,-0.2094 0.003,-0.3072 0.0737,-0.2283 0.4852,-0.6674 0.4479,-0.7924 -0.033,-0.1115 -0.3649,-0.0661 -0.7597,0.0512 -0.2747,0.0816 -0.8148,0.1805 -1.0296,0.462 -0.5308,0.6965 -1.0578,1.4582 -1.4919,2.1383 -0.1191,0.1858 -0.1954,0.4255 -0.306,0.6184 -0.2459,0.4293 -0.4116,0.5928 -0.6758,0.6547 -0.2437,0.0569 -0.3565,0.0111 -0.4197,-0.0178 -0.094,-0.0427 -0.1355,-0.1922 -0.2131,-0.2486 -0.1093,-0.0793 -0.322,-0.1767 -0.3897,-0.3299 -0.0605,-0.1354 0.0231,-0.3273 0.0226,-0.5517 -5e-4,-0.1815 -0.0337,-0.2485 -0.0436,-0.3147 -0.0204,-0.1339 0.0177,-0.3535 0.1292,-0.4298 0.1889,-0.1292 0.3755,-0.1398 0.4203,-0.1511 -0.0189,-0.0861 -0.0451,-0.2083 -0.0451,-0.2352 0,-0.0274 -0.01,-0.2102 0.1309,-0.3011 0.1625,-0.1056 0.3782,0.0234 0.4734,-0.1559 0.2453,-0.6555 1.0934,-2.932 1.0934,-3.1035 0,-0.0266 -0.2329,-0.1795 -0.3226,-0.2291 -0.0622,-0.0345 -0.6809,-0.3329 -0.9153,-0.287 -0.098,0.0188 -0.597,0.1808 -0.597,0.1808 -0.2649,0.0503 -0.4422,-0.0446 -0.5306,-0.4354 -0.004,-0.0171 -0.008,-0.036 -0.0111,-0.0539 -0.0282,-0.1425 -0.043,-0.3283 -0.1072,-0.4744 -0.0154,-0.035 -0.0892,-0.1856 -0.025,-0.323 0.1086,-0.2332 0.3476,-0.068 0.3755,-0.2639 0.006,-0.0448 0.0254,-0.4429 0.2672,-0.4903 0.2157,-0.0423 0.2958,0.1589 0.389,0.1405 0.1296,-0.0252 0.1526,-0.3442 0.354,-0.383 0.3039,-0.0584 0.4508,0.6112 0.5094,0.7408 0.1858,-0.036 3.7204,-0.7216 3.8858,-0.7536 0.2437,-0.0471 0.3253,-0.0612 0.3187,-0.3412 -0.003,-0.1621 -0.004,-0.2342 -0.2152,-0.3059 -0.4822,-0.1297 -1.0871,-0.006 -1.4496,-0.7315 -0.1398,-0.2803 -0.21,-0.517 -0.3049,-1.0027 -0.0514,-0.2631 -0.1345,-0.8067 -0.2176,-0.9526 -0.0899,-0.1586 -0.1828,-0.1465 -0.3153,-0.1102 -0.3061,0.0841 -0.665,0.2714 -0.9629,0.4069 -0.2278,0.0934 -0.2598,0.0901 -0.3326,0.044 -0.2674,-0.1684 -0.4731,-0.7035 -0.5016,-0.9918 -0.0282,-0.2893 0.0507,-0.3895 0.384,-0.4585 0.0315,-0.1294 0.0934,-0.446 0.2891,-0.528 0.2281,-0.0958 0.3596,0.1694 0.5842,0.1123 0.2498,-0.0635 0.3001,-0.3936 0.6058,-0.4528 0.2563,-0.0493 0.5464,0.1183 0.7977,0.3503 0.1886,0.174 0.3422,0.4079 0.5391,0.5645 0.1458,0.1161 0.5356,0.1669 0.7146,0.4389 0.1612,0.2452 0.1584,0.5587 0.2047,0.8619 0.0277,0.1808 0.0373,0.4127 0.1456,0.5699 0.0597,0.0871 0.1732,0.1412 0.2417,0.1656 0.1715,0.0617 0.3918,0.0687 0.6985,0.008 0.0708,-0.4314 0.1591,-0.8544 0.2508,-1.2663 0.0652,-0.2916 0.1599,-0.6691 0.3858,-0.9828 0.1301,-0.1813 0.2354,-0.2808 0.4177,-0.3745 0.1999,-0.1027 0.279,-0.0727 0.3225,-0.1638 0.0713,-0.1499 -0.0282,-0.2836 -0.0684,-0.338 -0.1217,-0.1642 -0.5044,-0.5325 -0.7013,-0.4915 -0.1249,0.0262 -0.3701,0.2075 -0.5752,0.2521 -0.2565,0.0556 -0.6,-0.2372 -0.6012,-0.4636 -8e-4,-0.1823 0.0982,-0.2535 0.0971,-0.4439 -2e-4,-0.0816 -0.0982,-0.3243 -0.0228,-0.5273 0.0702,-0.1893 0.2059,-0.2203 0.2827,-0.3195 0.0622,-0.0798 0.1227,-0.2201 0.2619,-0.2644 0.1344,-0.0428 0.2881,0.0937 0.4822,0.0519 0.174,-0.0376 0.5066,-0.317 0.6899,-0.3561 0.2654,-0.0566 0.4379,0.1647 0.4379,0.4973 0,0.028 -0.0176,0.275 -0.0176,0.3027 0,0.0279 0.0143,0.0546 0.0267,0.07 0.3749,0.4653 1.27,1.5558 1.3566,1.7006 0.1416,0.2362 0.3032,0.5686 0.194,0.8504 -0.0962,0.2478 -0.2181,0.2387 -0.3924,0.2827 -0.0219,0.006 -0.3182,0.0199 -0.3406,0.0242 -0.171,0.0347 -0.3314,0.2206 -0.3314,0.4764 0,0.2062 0.0458,0.4256 0.1075,0.5948 0.0952,0.2621 0.2284,0.423 0.2508,0.4185 0.0219,-0.004 0.491,-0.3843 1.1399,-0.5188 0.8171,-0.106 1.1213,0.7129 1.1938,1.256 0.0637,0.4802 -0.1284,1.1321 -0.2755,1.4066 -0.0622,0.1158 -0.1382,0.247 -0.2243,0.3885 -5e-4,3e-4 -8e-4,3e-4 -8e-4,5e-4 -0.3256,0.5323 -0.7924,1.2107 -1.1626,1.7679 -0.2367,0.3566 -0.4403,0.7177 -0.386,1.1547 0.0534,0.4306 0.5532,1.3079 1.1805,1.3532 0.3306,0.0242 0.5157,0.0494 0.629,0.0753 0.3011,0.0695 0.4618,0.2082 0.6637,0.4785 0.1874,0.2503 0.306,0.5599 0.3349,0.8369 0.0829,0.7854 -0.0393,1.2049 -0.0947,1.3847" id="path3210" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/> + <path d="m 529.4756,760.0453 c 0.0614,-0.0108 0.0924,-0.0164 0.154,-0.0272 0,0.0766 0,0.1148 0,0.1911 -0.0616,0.0109 -0.0926,0.0159 -0.154,0.0267 0,-0.0765 0,-0.114 0,-0.1906" id="path3212" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/> + </g> + </g> + </g> + </g> + </g> +</svg> \ No newline at end of file diff --git a/static.json b/static.json new file mode 100644 index 0000000..0b5e4ba --- /dev/null +++ b/static.json @@ -0,0 +1,15 @@ +{ + "root": "build/", + "https_only": true, + "routes": { + "/*.html": "index.html", + "/politicians/*": "index.html", + "/parties/*": "index.html", + "/districts/*": "index.html" + }, + "headers": { + "/**": { + "Strict-Transport-Security": "max-age=7776000" + } + } +} diff --git a/web/.gitignore b/web/.gitignore deleted file mode 100644 index 927d17b..0000000 --- a/web/.gitignore +++ /dev/null @@ -1,18 +0,0 @@ -# See https://help.github.com/ignore-files/ for more about ignoring files. - -# dependencies -/node_modules - -# testing -/coverage - -# production -/build - -# misc -.DS_Store -.env -npm-debug.log* -yarn-debug.log* -yarn-error.log* - diff --git a/web/README.md b/web/README.md deleted file mode 100644 index ec1bc31..0000000 --- a/web/README.md +++ /dev/null @@ -1,1582 +0,0 @@ -## Starting the project - -TL;DR; - npm install - npm start - # open the browser on localhost:3000 - -_npm install_ is only needed the first time. - - -This project was bootstrapped with [Create React App](https://github.com/facebookincubator/create-react-app). - -Below you will find some information on how to perform common tasks.<br> -You can find the most recent version of this guide [here](https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md). - -## Table of Contents - -- [Updating to New Releases](#updating-to-new-releases) -- [Sending Feedback](#sending-feedback) -- [Folder Structure](#folder-structure) -- [Available Scripts](#available-scripts) - - [npm start](#npm-start) - - [npm test](#npm-test) - - [npm run build](#npm-run-build) - - [npm run eject](#npm-run-eject) -- [Supported Language Features and Polyfills](#supported-language-features-and-polyfills) -- [Syntax Highlighting in the Editor](#syntax-highlighting-in-the-editor) -- [Displaying Lint Output in the Editor](#displaying-lint-output-in-the-editor) -- [Debugging in the Editor](#debugging-in-the-editor) -- [Changing the Page `<title>`](#changing-the-page-title) -- [Installing a Dependency](#installing-a-dependency) -- [Importing a Component](#importing-a-component) -- [Adding a Stylesheet](#adding-a-stylesheet) -- [Post-Processing CSS](#post-processing-css) -- [Adding a CSS Preprocessor (Sass, Less etc.)](#adding-a-css-preprocessor-sass-less-etc) -- [Adding Images and Fonts](#adding-images-and-fonts) -- [Using the `public` Folder](#using-the-public-folder) - - [Changing the HTML](#changing-the-html) - - [Adding Assets Outside of the Module System](#adding-assets-outside-of-the-module-system) - - [When to Use the `public` Folder](#when-to-use-the-public-folder) -- [Using Global Variables](#using-global-variables) -- [Adding Bootstrap](#adding-bootstrap) - - [Using a Custom Theme](#using-a-custom-theme) -- [Adding Flow](#adding-flow) -- [Adding Custom Environment Variables](#adding-custom-environment-variables) - - [Referencing Environment Variables in the HTML](#referencing-environment-variables-in-the-html) - - [Adding Temporary Environment Variables In Your Shell](#adding-temporary-environment-variables-in-your-shell) - - [Adding Development Environment Variables In `.env`](#adding-development-environment-variables-in-env) -- [Can I Use Decorators?](#can-i-use-decorators) -- [Integrating with an API Backend](#integrating-with-an-api-backend) - - [Node](#node) - - [Ruby on Rails](#ruby-on-rails) -- [Proxying API Requests in Development](#proxying-api-requests-in-development) -- [Using HTTPS in Development](#using-https-in-development) -- [Generating Dynamic `<meta>` Tags on the Server](#generating-dynamic-meta-tags-on-the-server) -- [Pre-Rendering into Static HTML Files](#pre-rendering-into-static-html-files) -- [Injecting Data from the Server into the Page](#injecting-data-from-the-server-into-the-page) -- [Running Tests](#running-tests) - - [Filename Conventions](#filename-conventions) - - [Command Line Interface](#command-line-interface) - - [Version Control Integration](#version-control-integration) - - [Writing Tests](#writing-tests) - - [Testing Components](#testing-components) - - [Using Third Party Assertion Libraries](#using-third-party-assertion-libraries) - - [Initializing Test Environment](#initializing-test-environment) - - [Focusing and Excluding Tests](#focusing-and-excluding-tests) - - [Coverage Reporting](#coverage-reporting) - - [Continuous Integration](#continuous-integration) - - [Disabling jsdom](#disabling-jsdom) - - [Snapshot Testing](#snapshot-testing) - - [Editor Integration](#editor-integration) -- [Developing Components in Isolation](#developing-components-in-isolation) -- [Making a Progressive Web App](#making-a-progressive-web-app) -- [Deployment](#deployment) - - [Serving Apps with Client-Side Routing](#serving-apps-with-client-side-routing) - - [Building for Relative Paths](#building-for-relative-paths) - - [Azure](#azure) - - [Firebase](#firebase) - - [GitHub Pages](#github-pages) - - [Heroku](#heroku) - - [Modulus](#modulus) - - [Netlify](#netlify) - - [Now](#now) - - [S3 and CloudFront](#s3-and-cloudfront) - - [Surge](#surge) -- [Advanced Configuration](#advanced-configuration) -- [Troubleshooting](#troubleshooting) - - [`npm start` doesn’t detect changes](#npm-start-doesnt-detect-changes) - - [`npm test` hangs on macOS Sierra](#npm-test-hangs-on-macos-sierra) - - [`npm run build` silently fails](#npm-run-build-silently-fails) - - [`npm run build` fails on Heroku](#npm-run-build-fails-on-heroku) -- [Something Missing?](#something-missing) - -## Updating to New Releases - -Create React App is divided into two packages: - -* `create-react-app` is a global command-line utility that you use to create new projects. -* `react-scripts` is a development dependency in the generated projects (including this one). - -You almost never need to update `create-react-app` itself: it delegates all the setup to `react-scripts`. - -When you run `create-react-app`, it always creates the project with the latest version of `react-scripts` so you’ll get all the new features and improvements in newly created apps automatically. - -To update an existing project to a new version of `react-scripts`, [open the changelog](https://github.com/facebookincubator/create-react-app/blob/master/CHANGELOG.md), find the version you’re currently on (check `package.json` in this folder if you’re not sure), and apply the migration instructions for the newer versions. - -In most cases bumping the `react-scripts` version in `package.json` and running `npm install` in this folder should be enough, but it’s good to consult the [changelog](https://github.com/facebookincubator/create-react-app/blob/master/CHANGELOG.md) for potential breaking changes. - -We commit to keeping the breaking changes minimal so you can upgrade `react-scripts` painlessly. - -## Sending Feedback - -We are always open to [your feedback](https://github.com/facebookincubator/create-react-app/issues). - -## Folder Structure - -After creation, your project should look like this: - -``` -my-app/ - README.md - node_modules/ - package.json - public/ - index.html - favicon.ico - src/ - App.css - App.js - App.test.js - index.css - index.js - logo.svg -``` - -For the project to build, **these files must exist with exact filenames**: - -* `public/index.html` is the page template; -* `src/index.js` is the JavaScript entry point. - -You can delete or rename the other files. - -You may create subdirectories inside `src`. For faster rebuilds, only files inside `src` are processed by Webpack.<br> -You need to **put any JS and CSS files inside `src`**, or Webpack won’t see them. - -Only files inside `public` can be used from `public/index.html`.<br> -Read instructions below for using assets from JavaScript and HTML. - -You can, however, create more top-level directories.<br> -They will not be included in the production build so you can use them for things like documentation. - -## Available Scripts - -In the project directory, you can run: - -### `npm start` - -Runs the app in the development mode.<br> -Open [http://localhost:3000](http://localhost:3000) to view it in the browser. - -The page will reload if you make edits.<br> -You will also see any lint errors in the console. - -### `npm test` - -Launches the test runner in the interactive watch mode.<br> -See the section about [running tests](#running-tests) for more information. - -### `npm run build` - -Builds the app for production to the `build` folder.<br> -It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.<br> -Your app is ready to be deployed! - -See the section about [deployment](#deployment) for more information. - -### `npm run eject` - -**Note: this is a one-way operation. Once you `eject`, you can’t go back!** - -If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. - -You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. - -## Supported Language Features and Polyfills - -This project supports a superset of the latest JavaScript standard.<br> -In addition to [ES6](https://github.com/lukehoban/es6features) syntax features, it also supports: - -* [Exponentiation Operator](https://github.com/rwaldron/exponentiation-operator) (ES2016). -* [Async/await](https://github.com/tc39/ecmascript-asyncawait) (ES2017). -* [Object Rest/Spread Properties](https://github.com/sebmarkbage/ecmascript-rest-spread) (stage 3 proposal). -* [Class Fields and Static Properties](https://github.com/tc39/proposal-class-public-fields) (stage 2 proposal). -* [JSX](https://facebook.github.io/react/docs/introducing-jsx.html) and [Flow](https://flowtype.org/) syntax. - -Learn more about [different proposal stages](https://babeljs.io/docs/plugins/#presets-stage-x-experimental-presets-). - -While we recommend to use experimental proposals with some caution, Facebook heavily uses these features in the product code, so we intend to provide [codemods](https://medium.com/@cpojer/effective-javascript-codemods-5a6686bb46fb) if any of these proposals change in the future. - -Note that **the project only includes a few ES6 [polyfills](https://en.wikipedia.org/wiki/Polyfill)**: - -* [`Object.assign()`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) via [`object-assign`](https://github.com/sindresorhus/object-assign). -* [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) via [`promise`](https://github.com/then/promise). -* [`fetch()`](https://developer.mozilla.org/en/docs/Web/API/Fetch_API) via [`whatwg-fetch`](https://github.com/github/fetch). - -If you use any other ES6+ features that need **runtime support** (such as `Array.from()` or `Symbol`), make sure you are including the appropriate polyfills manually, or that the browsers you are targeting already support them. - -## Syntax Highlighting in the Editor - -To configure the syntax highlighting in your favorite text editor, head to the [relevant Babel documentation page](https://babeljs.io/docs/editors) and follow the instructions. Some of the most popular editors are covered. - -## Displaying Lint Output in the Editor - ->Note: this feature is available with `react-scripts@0.2.0` and higher. - -Some editors, including Sublime Text, Atom, and Visual Studio Code, provide plugins for ESLint. - -They are not required for linting. You should see the linter output right in your terminal as well as the browser console. However, if you prefer the lint results to appear right in your editor, there are some extra steps you can do. - -You would need to install an ESLint plugin for your editor first. - ->**A note for Atom `linter-eslint` users** - ->If you are using the Atom `linter-eslint` plugin, make sure that **Use global ESLint installation** option is checked: - -><img src="http://i.imgur.com/yVNNHJM.png" width="300"> - - ->**For Visual Studio Code users** - ->VS Code ESLint plugin automatically detects Create React App's configuration file. So you do not need to create `eslintrc.json` at the root directory, except when you want to add your own rules. In that case, you should include CRA's config by adding this line: - ->```js -{ - // ... - "extends": "react-app" -} -``` - -Then add this block to the `package.json` file of your project: - -```js -{ - // ... - "eslintConfig": { - "extends": "react-app" - } -} -``` - -Finally, you will need to install some packages *globally*: - -```sh -npm install -g eslint-config-react-app@0.3.0 eslint@3.8.1 babel-eslint@7.0.0 eslint-plugin-react@6.4.1 eslint-plugin-import@2.0.1 eslint-plugin-jsx-a11y@2.2.3 eslint-plugin-flowtype@2.21.0 -``` - -We recognize that this is suboptimal, but it is currently required due to the way we hide the ESLint dependency. The ESLint team is already [working on a solution to this](https://github.com/eslint/eslint/issues/3458) so this may become unnecessary in a couple of months. - -## Debugging in the Editor - -**This feature is currently only supported by [Visual Studio Code](https://code.visualstudio.com) editor.** - -Visual Studio Code supports live-editing and debugging out of the box with Create React App. This enables you as a developer to write and debug your React code without leaving the editor, and most importantly it enables you to have a continuous development workflow, where context switching is minimal, as you don’t have to switch between tools. - -You would need to have the latest version of [VS Code](https://code.visualstudio.com) and VS Code [Chrome Debugger Extension](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome) installed. - -Then add the block below to your `launch.json` file and put it inside the `.vscode` folder in your app’s root directory. - -```json -{ - "version": "0.2.0", - "configurations": [{ - "name": "Chrome", - "type": "chrome", - "request": "launch", - "url": "http://localhost:3000", - "webRoot": "${workspaceRoot}/src", - "userDataDir": "${workspaceRoot}/.vscode/chrome", - "sourceMapPathOverrides": { - "webpack:///src/*": "${webRoot}/*" - } - }] -} -``` - -Start your app by running `npm start`, and start debugging in VS Code by pressing `F5` or by clicking the green debug icon. You can now write code, set breakpoints, make changes to the code, and debug your newly modified code—all from your editor. - -## Changing the Page `<title>` - -You can find the source HTML file in the `public` folder of the generated project. You may edit the `<title>` tag in it to change the title from “React App” to anything else. - -Note that normally you wouldn’t edit files in the `public` folder very often. For example, [adding a stylesheet](#adding-a-stylesheet) is done without touching the HTML. - -If you need to dynamically update the page title based on the content, you can use the browser [`document.title`](https://developer.mozilla.org/en-US/docs/Web/API/Document/title) API. For more complex scenarios when you want to change the title from React components, you can use [React Helmet](https://github.com/nfl/react-helmet), a third party library. - -If you use a custom server for your app in production and want to modify the title before it gets sent to the browser, you can follow advice in [this section](#generating-dynamic-meta-tags-on-the-server). Alternatively, you can pre-build each page as a static HTML file which then loads the JavaScript bundle, which is covered [here](#pre-rendering-into-static-html-files). - -## Installing a Dependency - -The generated project includes React and ReactDOM as dependencies. It also includes a set of scripts used by Create React App as a development dependency. You may install other dependencies (for example, React Router) with `npm`: - -``` -npm install --save <library-name> -``` - -## Importing a Component - -This project setup supports ES6 modules thanks to Babel.<br> -While you can still use `require()` and `module.exports`, we encourage you to use [`import` and `export`](http://exploringjs.com/es6/ch_modules.html) instead. - -For example: - -### `Button.js` - -```js -import React, { Component } from 'react'; - -class Button extends Component { - render() { - // ... - } -} - -export default Button; // Don’t forget to use export default! -``` - -### `DangerButton.js` - - -```js -import React, { Component } from 'react'; -import Button from './Button'; // Import a component from another file - -class DangerButton extends Component { - render() { - return <Button color="red" />; - } -} - -export default DangerButton; -``` - -Be aware of the [difference between default and named exports](http://stackoverflow.com/questions/36795819/react-native-es-6-when-should-i-use-curly-braces-for-import/36796281#36796281). It is a common source of mistakes. - -We suggest that you stick to using default imports and exports when a module only exports a single thing (for example, a component). That’s what you get when you use `export default Button` and `import Button from './Button'`. - -Named exports are useful for utility modules that export several functions. A module may have at most one default export and as many named exports as you like. - -Learn more about ES6 modules: - -* [When to use the curly braces?](http://stackoverflow.com/questions/36795819/react-native-es-6-when-should-i-use-curly-braces-for-import/36796281#36796281) -* [Exploring ES6: Modules](http://exploringjs.com/es6/ch_modules.html) -* [Understanding ES6: Modules](https://leanpub.com/understandinges6/read#leanpub-auto-encapsulating-code-with-modules) - -## Adding a Stylesheet - -This project setup uses [Webpack](https://webpack.github.io/) for handling all assets. Webpack offers a custom way of “extending” the concept of `import` beyond JavaScript. To express that a JavaScript file depends on a CSS file, you need to **import the CSS from the JavaScript file**: - -### `Button.css` - -```css -.Button { - padding: 20px; -} -``` - -### `Button.js` - -```js -import React, { Component } from 'react'; -import './Button.css'; // Tell Webpack that Button.js uses these styles - -class Button extends Component { - render() { - // You can use them as regular CSS styles - return <div className="Button" />; - } -} -``` - -**This is not required for React** but many people find this feature convenient. You can read about the benefits of this approach [here](https://medium.com/seek-ui-engineering/block-element-modifying-your-javascript-components-d7f99fcab52b). However you should be aware that this makes your code less portable to other build tools and environments than Webpack. - -In development, expressing dependencies this way allows your styles to be reloaded on the fly as you edit them. In production, all CSS files will be concatenated into a single minified `.css` file in the build output. - -If you are concerned about using Webpack-specific semantics, you can put all your CSS right into `src/index.css`. It would still be imported from `src/index.js`, but you could always remove that import if you later migrate to a different build tool. - -## Post-Processing CSS - -This project setup minifies your CSS and adds vendor prefixes to it automatically through [Autoprefixer](https://github.com/postcss/autoprefixer) so you don’t need to worry about it. - -For example, this: - -```css -.App { - display: flex; - flex-direction: row; - align-items: center; -} -``` - -becomes this: - -```css -.App { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} -``` - -If you need to disable autoprefixing for some reason, [follow this section](https://github.com/postcss/autoprefixer#disabling). - -## Adding a CSS Preprocessor (Sass, Less etc.) - -Generally, we recommend that you don’t reuse the same CSS classes across different components. For example, instead of using a `.Button` CSS class in `<AcceptButton>` and `<RejectButton>` components, we recommend creating a `<Button>` component with its own `.Button` styles, that both `<AcceptButton>` and `<RejectButton>` can render (but [not inherit](https://facebook.github.io/react/docs/composition-vs-inheritance.html)). - -Following this rule often makes CSS preprocessors less useful, as features like mixins and nesting are replaced by component composition. You can, however, integrate a CSS preprocessor if you find it valuable. In this walkthrough, we will be using Sass, but you can also use Less, or another alternative. - -First, let’s install the command-line interface for Sass: - -``` -npm install node-sass --save-dev -``` - -Then in `package.json`, add the following lines to `scripts`: - -```diff - "scripts": { -+ "build-css": "node-sass src/ -o src/", -+ "watch-css": "npm run build-css && node-sass src/ -o src/ --watch", - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test --env=jsdom", -``` - ->Note: To use a different preprocessor, replace `build-css` and `watch-css` commands according to your preprocessor’s documentation. - -Now you can rename `src/App.css` to `src/App.scss` and run `npm run watch-css`. The watcher will find every Sass file in `src` subdirectories, and create a corresponding CSS file next to it, in our case overwriting `src/App.css`. Since `src/App.js` still imports `src/App.css`, the styles become a part of your application. You can now edit `src/App.scss`, and `src/App.css` will be regenerated. - -To share variables between Sass files, you can use Sass imports. For example, `src/App.scss` and other component style files could include `@import "./shared.scss";` with variable definitions. - -At this point you might want to remove all CSS files from the source control, and add `src/**/*.css` to your `.gitignore` file. It is generally a good practice to keep the build products outside of the source control. - -As a final step, you may find it convenient to run `watch-css` automatically with `npm start`, and run `build-css` as a part of `npm run build`. You can use the `&&` operator to execute two scripts sequentially. However, there is no cross-platform way to run two scripts in parallel, so we will install a package for this: - -``` -npm install --save-dev npm-run-all -``` - -Then we can change `start` and `build` scripts to include the CSS preprocessor commands: - -```diff - "scripts": { - "build-css": "node-sass src/ -o src/", - "watch-css": "npm run build-css && node-sass src/ -o src/ --watch --recursive", -- "start": "react-scripts start", -- "build": "react-scripts build", -+ "start-js": "react-scripts start", -+ "start": "npm-run-all -p watch-css start-js", -+ "build": "npm run build-css && react-scripts build", - "test": "react-scripts test --env=jsdom", - "eject": "react-scripts eject" - } -``` - -Now running `npm start` and `npm run build` also builds Sass files. Note that `node-sass` seems to have an [issue recognizing newly created files on some systems](https://github.com/sass/node-sass/issues/1891) so you might need to restart the watcher when you create a file until it’s resolved. - -## Adding Images and Fonts - -With Webpack, using static assets like images and fonts works similarly to CSS. - -You can **`import` an image right in a JavaScript module**. This tells Webpack to include that image in the bundle. Unlike CSS imports, importing an image or a font gives you a string value. This value is the final image path you can reference in your code. - -Here is an example: - -```js -import React from 'react'; -import logo from './logo.png'; // Tell Webpack this JS file uses this image - -console.log(logo); // /logo.84287d09.png - -function Header() { - // Import result is the URL of your image - return <img src={logo} alt="Logo" />; -} - -export default Header; -``` - -This ensures that when the project is built, Webpack will correctly move the images into the build folder, and provide us with correct paths. - -This works in CSS too: - -```css -.Logo { - background-image: url(./logo.png); -} -``` - -Webpack finds all relative module references in CSS (they start with `./`) and replaces them with the final paths from the compiled bundle. If you make a typo or accidentally delete an important file, you will see a compilation error, just like when you import a non-existent JavaScript module. The final filenames in the compiled bundle are generated by Webpack from content hashes. If the file content changes in the future, Webpack will give it a different name in production so you don’t need to worry about long-term caching of assets. - -Please be advised that this is also a custom feature of Webpack. - -**It is not required for React** but many people enjoy it (and React Native uses a similar mechanism for images).<br> -An alternative way of handling static assets is described in the next section. - -## Using the `public` Folder - ->Note: this feature is available with `react-scripts@0.5.0` and higher. - -### Changing the HTML - -The `public` folder contains the HTML file so you can tweak it, for example, to [set the page title](#changing-the-page-title). -The `<script>` tag with the compiled code will be added to it automatically during the build process. - -### Adding Assets Outside of the Module System - -You can also add other assets to the `public` folder. - -Note that we normally encourage you to `import` assets in JavaScript files instead. -For example, see the sections on [adding a stylesheet](#adding-a-stylesheet) and [adding images and fonts](#adding-images-and-fonts). -This mechanism provides a number of benefits: - -* Scripts and stylesheets get minified and bundled together to avoid extra network requests. -* Missing files cause compilation errors instead of 404 errors for your users. -* Result filenames include content hashes so you don’t need to worry about browsers caching their old versions. - -However there is an **escape hatch** that you can use to add an asset outside of the module system. - -If you put a file into the `public` folder, it will **not** be processed by Webpack. Instead it will be copied into the build folder untouched. To reference assets in the `public` folder, you need to use a special variable called `PUBLIC_URL`. - -Inside `index.html`, you can use it like this: - -```html -<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico"> -``` - -Only files inside the `public` folder will be accessible by `%PUBLIC_URL%` prefix. If you need to use a file from `src` or `node_modules`, you’ll have to copy it there to explicitly specify your intention to make this file a part of the build. - -When you run `npm run build`, Create React App will substitute `%PUBLIC_URL%` with a correct absolute path so your project works even if you use client-side routing or host it at a non-root URL. - -In JavaScript code, you can use `process.env.PUBLIC_URL` for similar purposes: - -```js -render() { - // Note: this is an escape hatch and should be used sparingly! - // Normally we recommend using `import` for getting asset URLs - // as described in “Adding Images and Fonts” above this section. - return <img src={process.env.PUBLIC_URL + '/img/logo.png'} />; -} -``` - -Keep in mind the downsides of this approach: - -* None of the files in `public` folder get post-processed or minified. -* Missing files will not be called at compilation time, and will cause 404 errors for your users. -* Result filenames won’t include content hashes so you’ll need to add query arguments or rename them every time they change. - -### When to Use the `public` Folder - -Normally we recommend importing [stylesheets](#adding-a-stylesheet), [images, and fonts](#adding-images-and-fonts) from JavaScript. -The `public` folder is useful as a workaround for a number of less common cases: - -* You need a file with a specific name in the build output, such as [`manifest.webmanifest`](https://developer.mozilla.org/en-US/docs/Web/Manifest). -* You have thousands of images and need to dynamically reference their paths. -* You want to include a small script like [`pace.js`](http://github.hubspot.com/pace/docs/welcome/) outside of the bundled code. -* Some library may be incompatible with Webpack and you have no other option but to include it as a `<script>` tag. - -Note that if you add a `<script>` that declares global variables, you also need to read the next section on using them. - -## Using Global Variables - -When you include a script in the HTML file that defines global variables and try to use one of these variables in the code, the linter will complain because it cannot see the definition of the variable. - -You can avoid this by reading the global variable explicitly from the `window` object, for example: - -```js -const $ = window.$; -``` - -This makes it obvious you are using a global variable intentionally rather than because of a typo. - -Alternatively, you can force the linter to ignore any line by adding `// eslint-disable-line` after it. - -## Adding Bootstrap - -You don’t have to use [React Bootstrap](https://react-bootstrap.github.io) together with React but it is a popular library for integrating Bootstrap with React apps. If you need it, you can integrate it with Create React App by following these steps: - -Install React Bootstrap and Bootstrap from npm. React Bootstrap does not include Bootstrap CSS so this needs to be installed as well: - -``` -npm install react-bootstrap --save -npm install bootstrap@3 --save -``` - -Import Bootstrap CSS and optionally Bootstrap theme CSS in the beginning of your ```src/index.js``` file: - -```js -import 'bootstrap/dist/css/bootstrap.css'; -import 'bootstrap/dist/css/bootstrap-theme.css'; -// Put any other imports below so that CSS from your -// components takes precedence over default styles. -``` - -Import required React Bootstrap components within ```src/App.js``` file or your custom component files: - -```js -import { Navbar, Jumbotron, Button } from 'react-bootstrap'; -``` - -Now you are ready to use the imported React Bootstrap components within your component hierarchy defined in the render method. Here is an example [`App.js`](https://gist.githubusercontent.com/gaearon/85d8c067f6af1e56277c82d19fd4da7b/raw/6158dd991b67284e9fc8d70b9d973efe87659d72/App.js) redone using React Bootstrap. - -### Using a Custom Theme - -Sometimes you might need to tweak the visual styles of Bootstrap (or equivalent package).<br> -We suggest the following approach: - -* Create a new package that depends on the package you wish to customize, e.g. Bootstrap. -* Add the necessary build steps to tweak the theme, and publish your package on npm. -* Install your own theme npm package as a dependency of your app. - -Here is an example of adding a [customized Bootstrap](https://medium.com/@tacomanator/customizing-create-react-app-aa9ffb88165) that follows these steps. - -## Adding Flow - -Flow is a static type checker that helps you write code with fewer bugs. Check out this [introduction to using static types in JavaScript](https://medium.com/@preethikasireddy/why-use-static-types-in-javascript-part-1-8382da1e0adb) if you are new to this concept. - -Recent versions of [Flow](http://flowtype.org/) work with Create React App projects out of the box. - -To add Flow to a Create React App project, follow these steps: - -1. Run `npm install --save-dev flow-bin`. -2. Add `"flow": "flow"` to the `scripts` section of your `package.json`. -3. Run `npm run flow -- init` to create a [`.flowconfig` file](https://flowtype.org/docs/advanced-configuration.html) in the root directory. -4. Add `// @flow` to any files you want to type check (for example, to `src/App.js`). - -Now you can run `npm run flow` to check the files for type errors. -You can optionally use an IDE like [Nuclide](https://nuclide.io/docs/languages/flow/) for a better integrated experience. -In the future we plan to integrate it into Create React App even more closely. - -To learn more about Flow, check out [its documentation](https://flowtype.org/). - -## Adding Custom Environment Variables - ->Note: this feature is available with `react-scripts@0.2.3` and higher. - -Your project can consume variables declared in your environment as if they were declared locally in your JS files. By -default you will have `NODE_ENV` defined for you, and any other environment variables starting with -`REACT_APP_`. - -**The environment variables are embedded during the build time**. Since Create React App produces a static HTML/CSS/JS bundle, it can’t possibly read them at runtime. To read them at runtime, you would need to load HTML into memory on the server and replace placeholders in runtime, just like [described here](#injecting-data-from-the-server-into-the-page). Alternatively you can rebuild the app on the server anytime you change them. - ->Note: You must create custom environment variables beginning with `REACT_APP_`. Any other variables except `NODE_ENV` will be ignored to avoid accidentally [exposing a private key on the machine that could have the same name](https://github.com/facebookincubator/create-react-app/issues/865#issuecomment-252199527). Changing any environment variables will require you to restart the development server if it is running. - -These environment variables will be defined for you on `process.env`. For example, having an environment -variable named `REACT_APP_SECRET_CODE` will be exposed in your JS as `process.env.REACT_APP_SECRET_CODE`. - -There is also a special built-in environment variable called `NODE_ENV`. You can read it from `process.env.NODE_ENV`. When you run `npm start`, it is always equal to `'development'`, when you run `npm test` it is always equal to `'test'`, and when you run `npm run build` to make a production bundle, it is always equal to `'production'`. **You cannot override `NODE_ENV` manually.** This prevents developers from accidentally deploying a slow development build to production. - -These environment variables can be useful for displaying information conditionally based on where the project is -deployed or consuming sensitive data that lives outside of version control. - -First, you need to have environment variables defined. For example, let’s say you wanted to consume a secret defined -in the environment inside a `<form>`: - -```jsx -render() { - return ( - <div> - <small>You are running this application in <b>{process.env.NODE_ENV}</b> mode.</small> - <form> - <input type="hidden" defaultValue={process.env.REACT_APP_SECRET_CODE} /> - </form> - </div> - ); -} -``` - -During the build, `process.env.REACT_APP_SECRET_CODE` will be replaced with the current value of the `REACT_APP_SECRET_CODE` environment variable. Remember that the `NODE_ENV` variable will be set for you automatically. - -When you load the app in the browser and inspect the `<input>`, you will see its value set to `abcdef`, and the bold text will show the environment provided when using `npm start`: - -```html -<div> - <small>You are running this application in <b>development</b> mode.</small> - <form> - <input type="hidden" value="abcdef" /> - </form> -</div> -``` - -The above form is looking for a variable called `REACT_APP_SECRET_CODE` from the environment. In order to consume this -value, we need to have it defined in the environment. This can be done using two ways: either in your shell or in -a `.env` file. Both of these ways are described in the next few sections. - -Having access to the `NODE_ENV` is also useful for performing actions conditionally: - -```js -if (process.env.NODE_ENV !== 'production') { - analytics.disable(); -} -``` - -When you compile the app with `npm run build`, the minification step will strip out this condition, and the resulting bundle will be smaller. - -### Referencing Environment Variables in the HTML - ->Note: this feature is available with `react-scripts@0.9.0` and higher. - -You can also access the environment variables starting with `REACT_APP_` in the `public/index.html`. For example: - -```html -<title>%REACT_APP_WEBSITE_NAME% -``` - -Note that the caveats from the above section apply: - -* Apart from a few built-in variables (`NODE_ENV` and `PUBLIC_URL`), variable names must start with `REACT_APP_` to work. -* The environment variables are injected at build time. If you need to inject them at runtime, [follow this approach instead](#generating-dynamic-meta-tags-on-the-server). - -### Adding Temporary Environment Variables In Your Shell - -Defining environment variables can vary between OSes. It’s also important to know that this manner is temporary for the -life of the shell session. - -#### Windows (cmd.exe) - -```cmd -set REACT_APP_SECRET_CODE=abcdef&&npm start -``` - -(Note: the lack of whitespace is intentional.) - -#### Linux, macOS (Bash) - -```bash -REACT_APP_SECRET_CODE=abcdef npm start -``` - -### Adding Development Environment Variables In `.env` - ->Note: this feature is available with `react-scripts@0.5.0` and higher. - -To define permanent environment variables, create a file called `.env` in the root of your project: - -``` -REACT_APP_SECRET_CODE=abcdef -``` - -These variables will act as the defaults if the machine does not explicitly set them.
-Please refer to the [dotenv documentation](https://github.com/motdotla/dotenv) for more details. - ->Note: If you are defining environment variables for development, your CI and/or hosting platform will most likely need -these defined as well. Consult their documentation how to do this. For example, see the documentation for [Travis CI](https://docs.travis-ci.com/user/environment-variables/) or [Heroku](https://devcenter.heroku.com/articles/config-vars). - -## Can I Use Decorators? - -Many popular libraries use [decorators](https://medium.com/google-developers/exploring-es7-decorators-76ecb65fb841) in their documentation.
-Create React App doesn’t support decorator syntax at the moment because: - -* It is an experimental proposal and is subject to change. -* The current specification version is not officially supported by Babel. -* If the specification changes, we won’t be able to write a codemod because we don’t use them internally at Facebook. - -However in many cases you can rewrite decorator-based code without decorators just as fine.
-Please refer to these two threads for reference: - -* [#214](https://github.com/facebookincubator/create-react-app/issues/214) -* [#411](https://github.com/facebookincubator/create-react-app/issues/411) - -Create React App will add decorator support when the specification advances to a stable stage. - -## Integrating with an API Backend - -These tutorials will help you to integrate your app with an API backend running on another port, -using `fetch()` to access it. - -### Node -Check out [this tutorial](https://www.fullstackreact.com/articles/using-create-react-app-with-a-server/). -You can find the companion GitHub repository [here](https://github.com/fullstackreact/food-lookup-demo). - -### Ruby on Rails - -Check out [this tutorial](https://www.fullstackreact.com/articles/how-to-get-create-react-app-to-work-with-your-rails-api/). -You can find the companion GitHub repository [here](https://github.com/fullstackreact/food-lookup-demo-rails). - -## Proxying API Requests in Development - ->Note: this feature is available with `react-scripts@0.2.3` and higher. - -People often serve the front-end React app from the same host and port as their backend implementation.
-For example, a production setup might look like this after the app is deployed: - -``` -/ - static server returns index.html with React app -/todos - static server returns index.html with React app -/api/todos - server handles any /api/* requests using the backend implementation -``` - -Such setup is **not** required. However, if you **do** have a setup like this, it is convenient to write requests like `fetch('/api/todos')` without worrying about redirecting them to another host or port during development. - -To tell the development server to proxy any unknown requests to your API server in development, add a `proxy` field to your `package.json`, for example: - -```js - "proxy": "http://localhost:4000", -``` - -This way, when you `fetch('/api/todos')` in development, the development server will recognize that it’s not a static asset, and will proxy your request to `http://localhost:4000/api/todos` as a fallback. The development server will only attempt to send requests without a `text/html` accept header to the proxy. - -Conveniently, this avoids [CORS issues](http://stackoverflow.com/questions/21854516/understanding-ajax-cors-and-security-considerations) and error messages like this in development: - -``` -Fetch API cannot load http://localhost:4000/api/todos. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. -``` - -Keep in mind that `proxy` only has effect in development (with `npm start`), and it is up to you to ensure that URLs like `/api/todos` point to the right thing in production. You don’t have to use the `/api` prefix. Any unrecognized request without a `text/html` accept header will be redirected to the specified `proxy`. - -The `proxy` option supports HTTP, HTTPS and WebSocket connections.
-If the `proxy` option is **not** flexible enough for you, alternatively you can: - -* Enable CORS on your server ([here’s how to do it for Express](http://enable-cors.org/server_expressjs.html)). -* Use [environment variables](#adding-custom-environment-variables) to inject the right server host and port into your app. - -## Using HTTPS in Development - ->Note: this feature is available with `react-scripts@0.4.0` and higher. - -You may require the dev server to serve pages over HTTPS. One particular case where this could be useful is when using [the "proxy" feature](#proxying-api-requests-in-development) to proxy requests to an API server when that API server is itself serving HTTPS. - -To do this, set the `HTTPS` environment variable to `true`, then start the dev server as usual with `npm start`: - -#### Windows (cmd.exe) - -```cmd -set HTTPS=true&&npm start -``` - -(Note: the lack of whitespace is intentional.) - -#### Linux, macOS (Bash) - -```bash -HTTPS=true npm start -``` - -Note that the server will use a self-signed certificate, so your web browser will almost definitely display a warning upon accessing the page. - -## Generating Dynamic `` Tags on the Server - -Since Create React App doesn’t support server rendering, you might be wondering how to make `` tags dynamic and reflect the current URL. To solve this, we recommend to add placeholders into the HTML, like this: - -```html - - - - - -``` - -Then, on the server, regardless of the backend you use, you can read `index.html` into memory and replace `__OG_TITLE__`, `__OG_DESCRIPTION__`, and any other placeholders with values depending on the current URL. Just make sure to sanitize and escape the interpolated values so that they are safe to embed into HTML! - -If you use a Node server, you can even share the route matching logic between the client and the server. However duplicating it also works fine in simple cases. - -## Pre-Rendering into Static HTML Files - -If you’re hosting your `build` with a static hosting provider you can use [react-snapshot](https://www.npmjs.com/package/react-snapshot) to generate HTML pages for each route, or relative link, in your application. These pages will then seamlessly become active, or “hydrated”, when the JavaScript bundle has loaded. - -There are also opportunities to use this outside of static hosting, to take the pressure off the server when generating and caching routes. - -The primary benefit of pre-rendering is that you get the core content of each page _with_ the HTML payload—regardless of whether or not your JavaScript bundle successfully downloads. It also increases the likelihood that each route of your application will be picked up by search engines. - -You can read more about [zero-configuration pre-rendering (also called snapshotting) here](https://medium.com/superhighfives/an-almost-static-stack-6df0a2791319). - -## Injecting Data from the Server into the Page - -Similarly to the previous section, you can leave some placeholders in the HTML that inject global variables, for example: - -```js - - - - -``` - -Then, on the server, you can replace `__SERVER_DATA__` with a JSON of real data right before sending the response. The client code can then read `window.SERVER_DATA` to use it. **Make sure to [sanitize the JSON before sending it to the client](https://medium.com/node-security/the-most-common-xss-vulnerability-in-react-js-applications-2bdffbcc1fa0) as it makes your app vulnerable to XSS attacks.** - -## Running Tests - ->Note: this feature is available with `react-scripts@0.3.0` and higher.
->[Read the migration guide to learn how to enable it in older projects!](https://github.com/facebookincubator/create-react-app/blob/master/CHANGELOG.md#migrating-from-023-to-030) - -Create React App uses [Jest](https://facebook.github.io/jest/) as its test runner. To prepare for this integration, we did a [major revamp](https://facebook.github.io/jest/blog/2016/09/01/jest-15.html) of Jest so if you heard bad things about it years ago, give it another try. - -Jest is a Node-based runner. This means that the tests always run in a Node environment and not in a real browser. This lets us enable fast iteration speed and prevent flakiness. - -While Jest provides browser globals such as `window` thanks to [jsdom](https://github.com/tmpvar/jsdom), they are only approximations of the real browser behavior. Jest is intended to be used for unit tests of your logic and your components rather than the DOM quirks. - -We recommend that you use a separate tool for browser end-to-end tests if you need them. They are beyond the scope of Create React App. - -### Filename Conventions - -Jest will look for test files with any of the following popular naming conventions: - -* Files with `.js` suffix in `__tests__` folders. -* Files with `.test.js` suffix. -* Files with `.spec.js` suffix. - -The `.test.js` / `.spec.js` files (or the `__tests__` folders) can be located at any depth under the `src` top level folder. - -We recommend to put the test files (or `__tests__` folders) next to the code they are testing so that relative imports appear shorter. For example, if `App.test.js` and `App.js` are in the same folder, the test just needs to `import App from './App'` instead of a long relative path. Colocation also helps find tests more quickly in larger projects. - -### Command Line Interface - -When you run `npm test`, Jest will launch in the watch mode. Every time you save a file, it will re-run the tests, just like `npm start` recompiles the code. - -The watcher includes an interactive command-line interface with the ability to run all tests, or focus on a search pattern. It is designed this way so that you can keep it open and enjoy fast re-runs. You can learn the commands from the “Watch Usage” note that the watcher prints after every run: - -![Jest watch mode](http://facebook.github.io/jest/img/blog/15-watch.gif) - -### Version Control Integration - -By default, when you run `npm test`, Jest will only run the tests related to files changed since the last commit. This is an optimization designed to make your tests runs fast regardless of how many tests you have. However it assumes that you don’t often commit the code that doesn’t pass the tests. - -Jest will always explicitly mention that it only ran tests related to the files changed since the last commit. You can also press `a` in the watch mode to force Jest to run all tests. - -Jest will always run all tests on a [continuous integration](#continuous-integration) server or if the project is not inside a Git or Mercurial repository. - -### Writing Tests - -To create tests, add `it()` (or `test()`) blocks with the name of the test and its code. You may optionally wrap them in `describe()` blocks for logical grouping but this is neither required nor recommended. - -Jest provides a built-in `expect()` global function for making assertions. A basic test could look like this: - -```js -import sum from './sum'; - -it('sums numbers', () => { - expect(sum(1, 2)).toEqual(3); - expect(sum(2, 2)).toEqual(4); -}); -``` - -All `expect()` matchers supported by Jest are [extensively documented here](http://facebook.github.io/jest/docs/expect.html).
-You can also use [`jest.fn()` and `expect(fn).toBeCalled()`](http://facebook.github.io/jest/docs/expect.html#tohavebeencalled) to create “spies” or mock functions. - -### Testing Components - -There is a broad spectrum of component testing techniques. They range from a “smoke test” verifying that a component renders without throwing, to shallow rendering and testing some of the output, to full rendering and testing component lifecycle and state changes. - -Different projects choose different testing tradeoffs based on how often components change, and how much logic they contain. If you haven’t decided on a testing strategy yet, we recommend that you start with creating simple smoke tests for your components: - -```js -import React from 'react'; -import ReactDOM from 'react-dom'; -import App from './App'; - -it('renders without crashing', () => { - const div = document.createElement('div'); - ReactDOM.render(, div); -}); -``` - -This test mounts a component and makes sure that it didn’t throw during rendering. Tests like this provide a lot value with very little effort so they are great as a starting point, and this is the test you will find in `src/App.test.js`. - -When you encounter bugs caused by changing components, you will gain a deeper insight into which parts of them are worth testing in your application. This might be a good time to introduce more specific tests asserting specific expected output or behavior. - -If you’d like to test components in isolation from the child components they render, we recommend using [`shallow()` rendering API](http://airbnb.io/enzyme/docs/api/shallow.html) from [Enzyme](http://airbnb.io/enzyme/). You can write a smoke test with it too: - -```sh -npm install --save-dev enzyme react-addons-test-utils -``` - -```js -import React from 'react'; -import { shallow } from 'enzyme'; -import App from './App'; - -it('renders without crashing', () => { - shallow(); -}); -``` - -Unlike the previous smoke test using `ReactDOM.render()`, this test only renders `` and doesn’t go deeper. For example, even if `` itself renders a `