├── .gitignore ├── LICENSE ├── README.md ├── docs ├── CNAME ├── assets │ ├── img │ │ ├── FlaskCon_Banner.png │ │ ├── FlaskCon_Logo.png │ │ ├── FlaskCon_deadline_to_submit_a_session.ics │ │ ├── GilPUG.jpg │ │ ├── bangpypers.png │ │ ├── flask.png │ │ ├── flask_background.png │ │ ├── flaskcon_logo.svg │ │ ├── logos │ │ │ └── pallets.png │ │ ├── marker-default.png │ │ ├── profile-pic │ │ │ ├── adam.jpg │ │ │ ├── ali.jpg │ │ │ ├── david.jpg │ │ │ ├── grey.png │ │ │ ├── miguel.jpg │ │ │ ├── namgyal.jpg │ │ │ ├── steven.jpg │ │ │ └── unknown.jpg │ │ ├── public_images_GilPUG.jpg │ │ ├── py.amsterdam-white.svg │ │ ├── pyie.png │ │ ├── pymug_new.svg │ │ ├── pynigeria.svg │ │ ├── python_amsterdam.svg │ │ ├── python_china.jpg │ │ ├── python_discord.jpg │ │ ├── python_moscow.png │ │ └── r_flask.jpg │ └── raw-img │ │ ├── FlaskCon_Banner.png │ │ ├── FlaskCon_Logo.png │ │ ├── FlaskCon_deadline_to_submit_a_session.ics │ │ ├── GilPUG.jpg │ │ ├── bangpypers.png │ │ ├── flask.png │ │ ├── flask_background.png │ │ ├── flaskcon_logo.svg │ │ ├── logos │ │ └── pallets.png │ │ ├── marker-default.png │ │ ├── public_images_GilPUG.jpg │ │ ├── py.amsterdam-white.svg │ │ ├── pyie.png │ │ ├── pymug_new.svg │ │ ├── pynigeria.svg │ │ ├── python_amsterdam.svg │ │ ├── python_china.jpg │ │ ├── python_discord.jpg │ │ ├── python_moscow.png │ │ └── r_flask.jpg ├── index.html └── server.py ├── requirements.txt ├── settings.py ├── statictipy.py └── templates ├── index.html ├── layout ├── footer.html ├── head.html ├── header.html ├── main.html └── nav.html └── sections ├── about.html ├── analytics.html ├── codeofconduct.html ├── contact.html ├── faq.html ├── organisers.html ├── partners.html ├── reviewers.html ├── schedule.html └── social_media.html /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | pip-wheel-metadata/ 24 | share/python-wheels/ 25 | *.egg-info/ 26 | .installed.cfg 27 | *.egg 28 | MANIFEST 29 | 30 | # PyInstaller 31 | # Usually these files are written by a python script from a template 32 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 33 | *.manifest 34 | *.spec 35 | 36 | # Installer logs 37 | pip-log.txt 38 | pip-delete-this-directory.txt 39 | 40 | # Unit test / coverage reports 41 | htmlcov/ 42 | .tox/ 43 | .nox/ 44 | .coverage 45 | .coverage.* 46 | .cache 47 | nosetests.xml 48 | coverage.xml 49 | *.cover 50 | *.py,cover 51 | .hypothesis/ 52 | .pytest_cache/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | target/ 76 | 77 | # Jupyter Notebook 78 | .ipynb_checkpoints 79 | 80 | # IPython 81 | profile_default/ 82 | ipython_config.py 83 | 84 | # pyenv 85 | .python-version 86 | 87 | # pipenv 88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 91 | # install all needed dependencies. 92 | #Pipfile.lock 93 | 94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 95 | __pypackages__/ 96 | 97 | # Celery stuff 98 | celerybeat-schedule 99 | celerybeat.pid 100 | 101 | # SageMath parsed files 102 | *.sage.py 103 | 104 | # Environments 105 | .env 106 | .venv 107 | env/ 108 | venv/ 109 | ENV/ 110 | env.bak/ 111 | venv.bak/ 112 | 113 | # Spyder project settings 114 | .spyderproject 115 | .spyproject 116 | 117 | # Rope project settings 118 | .ropeproject 119 | 120 | # mkdocs documentation 121 | /site 122 | 123 | # mypy 124 | .mypy_cache/ 125 | .dmypy.json 126 | dmypy.json 127 | 128 | # Pyre type checker 129 | .pyre/ 130 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 FlaskCon 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FlaskCon Website 2 | 3 | Static site generator for the FlaskCon website. 4 | 5 | ## File Structure 6 | 7 | ``` 8 | - docs/ # Output folder 9 | - assets/ # Images used in the page 10 | - index.html # The final page generated with templates, be sure not to edit this file manually 11 | - templates/ # You know, the Jinja templates folder 12 | - layout/ # HTML structure 13 | - sections/ # Page content 14 | - settings.py # Page information 15 | - staticpy.py # Tool used to generate the website 16 | ``` 17 | 18 | ## Generate the Site 19 | 20 | Generate the website and launch live watch: 21 | ``` 22 | $ python statictipy.py 23 | ``` 24 | 25 | With livereload you only change files and it regenerates automatically. A bit like NodeJs. 26 | 27 | Otherwise, you can generate the website without live watch (then you will need to re-run the following command on each change manually): 28 | ``` 29 | $ python statictipy.py --no-server 30 | ``` 31 | ## Check the Generated Site 32 | 33 | You may need to create a new terminal session, then launch a server for the output website: 34 | 35 | ``` 36 | $ cd docs 37 | $ python server.py 38 | ``` 39 | 40 | Now the website will be running on http://localhost:8000, it's the same with open the docs/index.html manually. 41 | -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | flaskcon.com -------------------------------------------------------------------------------- /docs/assets/img/FlaskCon_Banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/FlaskCon_Banner.png -------------------------------------------------------------------------------- /docs/assets/img/FlaskCon_Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/FlaskCon_Logo.png -------------------------------------------------------------------------------- /docs/assets/img/FlaskCon_deadline_to_submit_a_session.ics: -------------------------------------------------------------------------------- 1 | BEGIN:VCALENDAR 2 | PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN 3 | VERSION:2.0 4 | BEGIN:VEVENT 5 | CREATED:20200510T101731Z 6 | DESCRIPTION:This is a reminder to submit a session to FlaskCon.\nSet the a 7 | larm/notification not to miss it!\nSessions can be submitted at https://s 8 | essionize.com/flaskcon/ 9 | DTEND:20200531T230000Z 10 | DTSTAMP:20200510T101731Z 11 | DTSTART:20200531T230000Z 12 | LAST-MODIFIED:20200510T101731Z 13 | LOCATION:Sessionize.com 14 | SEQUENCE:0 15 | SUMMARY:FlaskCon: deadline to submit a session 16 | UID:3c1c9993-287f-447a-b5c2-700db8a77e4a 17 | BEGIN:VALARM 18 | ACTION:DISPLAY 19 | TRIGGER:P1D 20 | END:VALARM 21 | END:VEVENT 22 | END:VCALENDAR 23 | -------------------------------------------------------------------------------- /docs/assets/img/GilPUG.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/GilPUG.jpg -------------------------------------------------------------------------------- /docs/assets/img/bangpypers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/bangpypers.png -------------------------------------------------------------------------------- /docs/assets/img/flask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/flask.png -------------------------------------------------------------------------------- /docs/assets/img/flask_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/flask_background.png -------------------------------------------------------------------------------- /docs/assets/img/logos/pallets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/logos/pallets.png -------------------------------------------------------------------------------- /docs/assets/img/marker-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/marker-default.png -------------------------------------------------------------------------------- /docs/assets/img/profile-pic/adam.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/profile-pic/adam.jpg -------------------------------------------------------------------------------- /docs/assets/img/profile-pic/ali.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/profile-pic/ali.jpg -------------------------------------------------------------------------------- /docs/assets/img/profile-pic/david.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/profile-pic/david.jpg -------------------------------------------------------------------------------- /docs/assets/img/profile-pic/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/profile-pic/grey.png -------------------------------------------------------------------------------- /docs/assets/img/profile-pic/miguel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/profile-pic/miguel.jpg -------------------------------------------------------------------------------- /docs/assets/img/profile-pic/namgyal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/profile-pic/namgyal.jpg -------------------------------------------------------------------------------- /docs/assets/img/profile-pic/steven.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/profile-pic/steven.jpg -------------------------------------------------------------------------------- /docs/assets/img/profile-pic/unknown.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/profile-pic/unknown.jpg -------------------------------------------------------------------------------- /docs/assets/img/public_images_GilPUG.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/public_images_GilPUG.jpg -------------------------------------------------------------------------------- /docs/assets/img/py.amsterdam-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 20 | 22 | 25 | 29 | 30 | 31 | 50 | 52 | 53 | 55 | image/svg+xml 56 | 58 | 59 | 60 | 61 | 62 | 67 | py.amsterdam 92 | 99 | 106 | 111 | 116 | 121 | 126 | 131 | 136 | 141 | 146 | 151 | 156 | 161 | 166 | 171 | 172 | 173 | 174 | -------------------------------------------------------------------------------- /docs/assets/img/pyie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/pyie.png -------------------------------------------------------------------------------- /docs/assets/img/pymug_new.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 56 | 60 | 65 | 66 | 68 | 69 | 71 | image/svg+xml 72 | 74 | 75 | 76 | 77 | 78 | 83 | 89 | 92 | 99 | 106 | 107 | 110 | 115 | 120 | 125 | 137 | 149 | 154 | 161 | 162 | 163 | 164 | 165 | -------------------------------------------------------------------------------- /docs/assets/img/python_amsterdam.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 40 | 42 | 43 | 45 | image/svg+xml 46 | 48 | 49 | 50 | 51 | 52 | 57 | py.amsterdam 82 | 89 | 96 | 101 | 106 | 111 | 116 | 121 | 126 | 131 | 136 | 141 | 146 | 151 | 156 | 161 | 162 | 163 | 164 | -------------------------------------------------------------------------------- /docs/assets/img/python_china.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/python_china.jpg -------------------------------------------------------------------------------- /docs/assets/img/python_discord.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/python_discord.jpg -------------------------------------------------------------------------------- /docs/assets/img/python_moscow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/python_moscow.png -------------------------------------------------------------------------------- /docs/assets/img/r_flask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/img/r_flask.jpg -------------------------------------------------------------------------------- /docs/assets/raw-img/FlaskCon_Banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/FlaskCon_Banner.png -------------------------------------------------------------------------------- /docs/assets/raw-img/FlaskCon_Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/FlaskCon_Logo.png -------------------------------------------------------------------------------- /docs/assets/raw-img/FlaskCon_deadline_to_submit_a_session.ics: -------------------------------------------------------------------------------- 1 | BEGIN:VCALENDAR 2 | PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN 3 | VERSION:2.0 4 | BEGIN:VEVENT 5 | CREATED:20200510T101731Z 6 | DESCRIPTION:This is a reminder to submit a session to FlaskCon.\nSet the a 7 | larm/notification not to miss it!\nSessions can be submitted at https://s 8 | essionize.com/flaskcon/ 9 | DTEND:20200531T230000Z 10 | DTSTAMP:20200510T101731Z 11 | DTSTART:20200531T230000Z 12 | LAST-MODIFIED:20200510T101731Z 13 | LOCATION:Sessionize.com 14 | SEQUENCE:0 15 | SUMMARY:FlaskCon: deadline to submit a session 16 | UID:3c1c9993-287f-447a-b5c2-700db8a77e4a 17 | BEGIN:VALARM 18 | ACTION:DISPLAY 19 | TRIGGER:P1D 20 | END:VALARM 21 | END:VEVENT 22 | END:VCALENDAR 23 | -------------------------------------------------------------------------------- /docs/assets/raw-img/GilPUG.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/GilPUG.jpg -------------------------------------------------------------------------------- /docs/assets/raw-img/bangpypers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/bangpypers.png -------------------------------------------------------------------------------- /docs/assets/raw-img/flask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/flask.png -------------------------------------------------------------------------------- /docs/assets/raw-img/flask_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/flask_background.png -------------------------------------------------------------------------------- /docs/assets/raw-img/logos/pallets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/logos/pallets.png -------------------------------------------------------------------------------- /docs/assets/raw-img/marker-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/marker-default.png -------------------------------------------------------------------------------- /docs/assets/raw-img/public_images_GilPUG.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/public_images_GilPUG.jpg -------------------------------------------------------------------------------- /docs/assets/raw-img/py.amsterdam-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 20 | 22 | 25 | 29 | 30 | 31 | 50 | 52 | 53 | 55 | image/svg+xml 56 | 58 | 59 | 60 | 61 | 62 | 67 | py.amsterdam 92 | 99 | 106 | 111 | 116 | 121 | 126 | 131 | 136 | 141 | 146 | 151 | 156 | 161 | 166 | 171 | 172 | 173 | 174 | -------------------------------------------------------------------------------- /docs/assets/raw-img/pyie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/pyie.png -------------------------------------------------------------------------------- /docs/assets/raw-img/pymug_new.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 56 | 60 | 65 | 66 | 68 | 69 | 71 | image/svg+xml 72 | 74 | 75 | 76 | 77 | 78 | 83 | 89 | 92 | 99 | 106 | 107 | 110 | 115 | 120 | 125 | 137 | 149 | 154 | 161 | 162 | 163 | 164 | 165 | -------------------------------------------------------------------------------- /docs/assets/raw-img/python_amsterdam.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 40 | 42 | 43 | 45 | image/svg+xml 46 | 48 | 49 | 50 | 51 | 52 | 57 | py.amsterdam 82 | 89 | 96 | 101 | 106 | 111 | 116 | 121 | 126 | 131 | 136 | 141 | 146 | 151 | 156 | 161 | 162 | 163 | 164 | -------------------------------------------------------------------------------- /docs/assets/raw-img/python_china.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/python_china.jpg -------------------------------------------------------------------------------- /docs/assets/raw-img/python_discord.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/python_discord.jpg -------------------------------------------------------------------------------- /docs/assets/raw-img/python_moscow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/python_moscow.png -------------------------------------------------------------------------------- /docs/assets/raw-img/r_flask.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlaskCon/website/3e5297952c251b64030d49b24c120cee1eadb520/docs/assets/raw-img/r_flask.jpg -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FlaskCon 5 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 23 | 25 | 26 | 27 | 28 | 342 | 343 | 344 | 389 | 444 | 445 |
446 | 448 | 450 | 451 | 453 |
454 | 455 | 486 | 487 |
488 |
489 |
490 |
491 |

FlaskCon
492 |

494 | 2020

495 |

496 |
497 |
498 |
The event has passed. You can still join us at #flaskcon channel on the Pallets Discord!
499 |
500 | 522 |
523 |
524 |
525 |

July 4th & 5th, 2020

526 | 530 |
531 |
532 |
533 |
534 |
535 | 536 | 537 | 605 | 606 |
607 |
608 |

About

609 |
610 |
611 | 618 |
619 | 648 |
649 |

Schedule

650 |
651 | 686 |
687 |
688 | 816 | 817 |
818 |
819 |
820 | 834 |
835 |
836 |
838 |
839 |
840 |
841 |
    842 |
843 |
844 |
845 |
846 |
848 |
849 |
850 |
    851 |
852 |
853 |
854 |
855 |
856 |
857 |
858 |
    859 |
860 |
861 |
862 |
863 |
864 |
865 |
866 |
867 |
868 | Hint: The time is displayed in your local time. 869 |
870 | 875 |
876 |

Event Info

877 |
878 |
879 | 897 |
898 |
899 |

Reviewers

900 |
901 |
902 | 985 |
986 |
987 |

Organisers

988 |
989 |
990 | 1081 |
1082 |
1083 |
1084 |

Media Partners

1085 |
1086 |
1087 | 1108 |
1109 |

1110 |
1111 |

Code of Conduct

1112 |
1113 |
1114 | 1120 |
1121 |
1122 |

Contact

1123 |
1124 |
1125 | 1128 |
1129 | 1130 | 1139 | 1140 |
1141 | 1144 | 1145 | 1146 | -------------------------------------------------------------------------------- /docs/server.py: -------------------------------------------------------------------------------- 1 | import http.server 2 | import socket 3 | import socketserver 4 | 5 | # tasklist 6 | # /IM py37.exe /F 7 | # 8 | 9 | PORT = 8000 10 | print(f'serving on: {socket.gethostbyname(socket.gethostname())}') 11 | 12 | with socketserver.TCPServer(('', PORT), http.server.SimpleHTTPRequestHandler) as httpd: 13 | print('PORT:', PORT) 14 | httpd.serve_forever() 15 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | flask 2 | livereload -------------------------------------------------------------------------------- /settings.py: -------------------------------------------------------------------------------- 1 | OUTPUT_FOLDER = 'docs/' 2 | 3 | SITE_NAME = 'FlaskCon' 4 | 5 | CFP_LINK = 'https://sessionize.com/flaskcon' 6 | 7 | REVIEWERS = [ 8 | ['David', '(Pallets)', '/assets/img/profile-pic/david.jpg'], 9 | ['Adam Englander', '(Werkzeug Maintainer)', '/assets/img/profile-pic/adam.jpg'], 10 | ['Grey Li', '(Flask Maintainer)', '/assets/img/profile-pic/grey.png'], 11 | ['Julien Demoor', '(PyMUG)', '/assets/img/profile-pic/unknown.jpg'], 12 | ['Miguel Grinberg', '(Flask Maintainer, PythonIreland)', '/assets/img/profile-pic/miguel.jpg'], 13 | ['Ali-Akber Saifee', '(Flask-limiter)', '/assets/img/profile-pic/ali.jpg'], 14 | ['Steven Loria', '(Marshmallow & Flask-marshmallow)', '/assets/img/profile-pic/steven.jpg'], 15 | ['Namgyal Brisson', '(PyMUG)', '/assets/img/profile-pic/namgyal.jpg'] 16 | ] 17 | 18 | ORGANISERS = [ 19 | {"name": "PyMUG", 20 | "logo": "/assets/img/pymug_new.svg", 21 | "url": "https://www.pymug.com"}, 22 | {"name": "PythonIreland", 23 | "logo": "/assets/img/pyie.png", 24 | "url": "https://python.ie/"}, 25 | {"name": "BangPypers", 26 | "logo": "/assets/img/bangpypers.png", 27 | "url": "https://bangalore.python.org.in/"}, 28 | {"name": "PythonNigeria", 29 | "logo": "/assets/img/pynigeria.svg", 30 | "url": "http://pythonnigeria.org/"}, 31 | {"name": "PyCon China", 32 | "logo": "/assets/img/python_china.jpg", 33 | "url": "https://cn.pycon.org/"}, 34 | {"name": "PythonMoscow", 35 | "logo": "/assets/img/python_moscow.png", 36 | "url": "http://www.moscowpython.ru/"}, 37 | {"name": "PyAmsterdam", 38 | "logo": "/assets/img/python_amsterdam.svg", 39 | "url": "https://py.amsterdam/"}, 40 | {"name": "GilPug", 41 | "logo": "/assets/img/GilPUG.jpg", 42 | "url": "http://gilpug.gitlab.io/"}, 43 | ] 44 | 45 | MEDIA = [ 46 | {"name": "PythonDiscord", 47 | "logo": "/assets/img/python_discord.jpg", 48 | "url": "https://discord.gg/python"}, 49 | {"name": "r/Flask", 50 | "logo": "/assets/img/flask.png", 51 | "url": "https://www.reddit.com/r/flask/"} 52 | ] 53 | -------------------------------------------------------------------------------- /statictipy.py: -------------------------------------------------------------------------------- 1 | # https://github.com/pymug/website-AV19-AV20 2 | 3 | import datetime 4 | import sys 5 | import uuid 6 | from os.path import join 7 | 8 | from flask import Flask 9 | from jinja2 import Environment 10 | from jinja2 import FileSystemLoader 11 | from livereload import Server 12 | 13 | import settings 14 | 15 | 16 | def generate(file_in_templates, out_path, template_dir='templates', assets_path_append='', **kwargs): 17 | """ 18 | Generates necessary file(s) 19 | :param file_in_templates: template to work with 20 | :param out_path: output path to save the generated file to 21 | :param template_dir: templates directory 22 | :param assets_path_append: 23 | :param kwargs: variables 24 | :return: None 25 | """ 26 | 27 | file_loader = FileSystemLoader(template_dir) 28 | env = Environment(loader=file_loader) 29 | template = env.get_template(file_in_templates) 30 | 31 | build_id = str(uuid.uuid4()) # to be used 32 | 33 | output = template.render(kwargs, year=datetime.datetime.now().year, 34 | build_id=build_id, assets_path_append=assets_path_append) 35 | print(output, file=open(out_path, 'w+', encoding="utf8")) 36 | 37 | 38 | context = { 39 | 'SITE_NAME': settings.SITE_NAME, 40 | 'CFP_LINK': settings.CFP_LINK, 41 | 'REVIEWERS': settings.REVIEWERS, 42 | 'ORGANISERS': settings.ORGANISERS, 43 | 'MEDIA': settings.MEDIA 44 | } 45 | 46 | 47 | def main(args): 48 | def gen(): 49 | generate('index.html', join(settings.OUTPUT_FOLDER, 'index.html'), **context) 50 | 51 | if len(args) > 1 and args[1] == '--no-server': 52 | gen() 53 | else: 54 | app = Flask(__name__) 55 | 56 | # remember to use DEBUG mode for templates auto reload 57 | # https://github.com/lepture/python-livereload/issues/144 58 | app.debug = True 59 | server = Server(app.wsgi_app) 60 | 61 | # run a shell command 62 | # server.watch('.', 'make static') 63 | 64 | # run a function 65 | 66 | server.watch('.', gen, delay=3) 67 | 68 | # output stdout into a file 69 | # server.watch('style.less', shell('lessc style.less', output='style.css')) 70 | 71 | server.serve() 72 | 73 | 74 | if __name__ == '__main__': 75 | main(sys.argv) 76 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- 1 | FLASKCON 2021 2 |

3 | @app.route("/"):
4 |     return "coming soon"
5 | -------------------------------------------------------------------------------- /templates/layout/footer.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /templates/layout/head.html: -------------------------------------------------------------------------------- 1 | {{ SITE_NAME }} 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 20 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /templates/layout/header.html: -------------------------------------------------------------------------------- 1 | 56 | 57 |
58 | 60 | 62 | 63 | 65 |
66 | 67 | 98 | 99 |
100 |
101 |
102 |
103 |

FlaskCon
104 |

106 | 2020

107 |

108 |
109 |
110 |
The event has passed. You can still join us at #flaskcon channel on the Pallets Discord!
111 |
112 | 134 |
135 |
136 |
137 |

July 4th & 5th, 2020

138 | 142 |
143 |
144 |
145 |
146 |
147 | 148 | 149 | -------------------------------------------------------------------------------- /templates/layout/main.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | {%include 'sections/about.html'%} 4 | 5 | {%include 'sections/schedule.html'%} 6 | {%include 'sections/faq.html'%} 7 | {%include 'sections/reviewers.html'%} 8 | {%include 'sections/organisers.html'%} 9 | {%include 'sections/partners.html'%} 10 | {%include 'sections/codeofconduct.html'%} 11 | {%include 'sections/contact.html'%} 12 | 13 | {%include 'sections/analytics.html'%} 14 |
15 | -------------------------------------------------------------------------------- /templates/layout/nav.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /templates/sections/about.html: -------------------------------------------------------------------------------- 1 |
2 |

About

3 |
4 |
5 |
6 |
⭐ 100% Free, Community-driven and Remote ⭐
7 | 8 | FlaskCon is a community driven Flask event intended for speakers and attendees all over the world to 9 | participate in technical and evangelical sessions related to Flask. The review team listed below was composed of Pallets members, 10 | Flask maintainers and more. 11 |
12 |
-------------------------------------------------------------------------------- /templates/sections/analytics.html: -------------------------------------------------------------------------------- 1 | 10 | 11 | -------------------------------------------------------------------------------- /templates/sections/codeofconduct.html: -------------------------------------------------------------------------------- 1 |

2 |
3 |

Code of Conduct

4 |
5 |
6 |
7 | FlaskCon is a diverse community who maintains a reputation as a friendly, welcoming, inspiring and 8 | dynamic group. We’d like to keep it that way, which is why we ask all participants, speakers, 9 | organizers and sponsors (collectively: the attendees) to follow the same code of conduct (CoC) 10 | as upheld by EuroPython 2020. 11 |
12 |
-------------------------------------------------------------------------------- /templates/sections/contact.html: -------------------------------------------------------------------------------- 1 |
2 |

Contact

3 |
4 |
5 |
6 | flaskcon [-AT-] gmail.com 7 |
8 |
-------------------------------------------------------------------------------- /templates/sections/faq.html: -------------------------------------------------------------------------------- 1 | 6 |
7 |

Event Info

8 |
9 |
10 |
11 |
12 |

How to Attend as Attendee?

13 |
14 | The event will be livestreamed to our YouTube channel. If you want to ask questions, please join the Pallets Discord and join #flaskcon channel. It will be open during session time! 15 |
16 |
17 |

What Time Does the Conference Start?

18 |
19 | Check the schedule section for time slots. Please note that the time is based on your timezone. GMT-wise it's: 20 |
    21 |
  • Friday 3rd: Interviews start at 15:00 GMT
  • 22 |
  • Saturday 4th: Talks start at 14:00 GMT
  • 23 |
  • Sunday 5th: Talks start at 09:00 GMT
  • 24 |
25 |
26 |
27 |
28 |
-------------------------------------------------------------------------------- /templates/sections/organisers.html: -------------------------------------------------------------------------------- 1 |
2 |

Organisers

3 |
4 |
5 |
6 | {%for organiser in ORGANISERS%} 7 |
8 | 15 |
16 | 17 | {%endfor%} 18 |
19 |
20 | -------------------------------------------------------------------------------- /templates/sections/partners.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Media Partners

4 |
5 |
6 |
7 | {%for partner in MEDIA%} 8 | 15 | 16 | {%endfor%} 17 |
18 |
-------------------------------------------------------------------------------- /templates/sections/reviewers.html: -------------------------------------------------------------------------------- 1 |
2 |

Reviewers

3 |
4 |
5 |
6 | {%for reviewer in REVIEWERS%} 7 |
8 |
9 | 10 |
11 |

{{reviewer[0]}}

12 |

{{reviewer[1]}}

13 |
14 |
15 |
16 | {%endfor%} 17 |
18 |
-------------------------------------------------------------------------------- /templates/sections/schedule.html: -------------------------------------------------------------------------------- 1 |
2 |

Schedule

3 |
4 | 39 |
40 |
41 | 169 | 170 |
171 |
172 |
173 | 187 |
188 |
189 |
191 |
192 |
193 |
194 |
    195 |
196 |
197 |
198 |
199 |
201 |
202 |
203 |
    204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
    212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 | Hint: The time is displayed in your local time. 222 |
-------------------------------------------------------------------------------- /templates/sections/social_media.html: -------------------------------------------------------------------------------- 1 | 14 |
15 |

Social Media

16 |
17 |
18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
--------------------------------------------------------------------------------