diff --git a/src/attendee/tests.py b/src/attendee/tests.py index 9d5392238..4bc3a67f9 100644 --- a/src/attendee/tests.py +++ b/src/attendee/tests.py @@ -1,6 +1,7 @@ import pytest from django.conf import settings from registry.helper import reg +from rest_framework.test import APIClient from attendee.models import Attendee from core.models import Token @@ -13,9 +14,10 @@ ('1234', 200, 2), ]) @pytest.mark.django_db -def test_attendee(drf_api_client, bare_user, attendee_token, status, num_channel): +def test_attendee(bare_user, attendee_token, status, num_channel): + api_client = APIClient() token = Token.objects.get_or_create(user=bare_user) - drf_api_client.credentials(HTTP_AUTHORIZATION="Token " + str(token[0])) + api_client.credentials(HTTP_AUTHORIZATION="Token " + str(token[0])) attendee = Attendee(token="1234") attendee.save() # insert to database # add slug @@ -25,7 +27,7 @@ def test_attendee(drf_api_client, bare_user, attendee_token, status, num_channel reg[f"{key_prefix}r{i}"] = f"video_id_{i}" # test - response = drf_api_client.post('/api/attendee/verify/', data={"token": attendee_token}) + response = api_client.post('/api/attendee/verify/', data={"token": attendee_token}) assert response.status_code == status if status == 200: assert len(response.json()["youtube_infos"]) == num_channel diff --git a/src/ccip/urls.py b/src/ccip/urls.py index 8dce61845..81de68980 100644 --- a/src/ccip/urls.py +++ b/src/ccip/urls.py @@ -5,6 +5,5 @@ urlpatterns = [ # API for CCIP url(r'^$', views.CCIPAPIView.as_view()), - url(r'^sponsors/$', views.CCIPSponsorsView.as_view()), url(r'^staff/$', views.CCIPStaffView.as_view()), ] diff --git a/src/ccip/views.py b/src/ccip/views.py index c11d4fd50..0be66c732 100644 --- a/src/ccip/views.py +++ b/src/ccip/views.py @@ -9,7 +9,6 @@ from django.views.generic import TemplateView, View from core.utils import TemplateExistanceStatusResponse -from core.views import IndexView from events.models import ( CustomEvent, KeynoteEvent, @@ -287,11 +286,6 @@ def _room_sort_key(v): }, safe=False) -class CCIPSponsorsView(IndexView): - template_name = 'ccip/sponsors.html' - response_class = TemplateExistanceStatusResponse - - class CCIPStaffView(TemplateView): template_name = 'ccip/staff.html' response_class = TemplateExistanceStatusResponse diff --git a/src/conftest.py b/src/conftest.py index 4945322ca..6278dd7bc 100644 --- a/src/conftest.py +++ b/src/conftest.py @@ -8,8 +8,9 @@ from django.test.html import parse_html from rest_framework.test import APIClient +from core.models import Token from proposals.models import TalkProposal -from users.models import CocRecord +from users.models import CocRecord, User class HTMLParser: @@ -206,5 +207,8 @@ def accepted_talk_proposal(talk_proposal): @pytest.fixture -def drf_api_client(): - return APIClient() +def api_client(bare_user: User) -> APIClient: + api_client = APIClient() + token, _ = Token.objects.get_or_create(user=bare_user) + api_client.credentials(HTTP_AUTHORIZATION=f"Token {token.key}") + yield api_client diff --git a/src/core/context_processors.py b/src/core/context_processors.py index 5ceb6e392..efaba2d7a 100644 --- a/src/core/context_processors.py +++ b/src/core/context_processors.py @@ -1,11 +1,5 @@ -import itertools -import operator - from django.conf import settings from django.urls import get_script_prefix -from django.utils.translation import get_language - -from sponsors.models import Sponsor def _build_google_form_url(uid): @@ -19,13 +13,7 @@ def script_prefix(request): def pycontw(request): - lang = get_language() - if lang and lang.startswith('zh'): - sponsor_id = '1FAIpQLScEIeCrTHNvwbdNbZt4nK1mteC6NzHtXgF5bVn1KTtR0_sorA' - volun_id = '1FAIpQLScYhMAg4_T4Shi-W0vt9EkGyrpTMHemvcY55ZKc2-MfVqDzGg' - else: - sponsor_id = '1FAIpQLScEIeCrTHNvwbdNbZt4nK1mteC6NzHtXgF5bVn1KTtR0_sorA' - volun_id = '1FAIpQLScYhMAg4_T4Shi-W0vt9EkGyrpTMHemvcY55ZKc2-MfVqDzGg' + volun_id = '1FAIpQLScYhMAg4_T4Shi-W0vt9EkGyrpTMHemvcY55ZKc2-MfVqDzGg' return { 'GTM_TRACK_ID': settings.GTM_TRACK_ID, 'KKTIX_URL': { @@ -33,26 +21,9 @@ def pycontw(request): 'INDI': 'https://pycontw.kktix.cc/events/20200905-individual', 'CORP': 'https://pycontw.kktix.cc/events/20200905-corporate', }, - 'SPONSOR_FORM_URL': _build_google_form_url(sponsor_id), 'VOLUNTEER_FORM_URL': _build_google_form_url(volun_id), } -def _iter_sponsor_section(): - groups = itertools.groupby( - Sponsor.objects.order_by('level'), - key=operator.methodcaller('get_level_display'), - ) - for k, v in groups: - yield k, list(v) - - -def sponsors(request): - return { - 'sponsors': Sponsor.objects.order_by('level'), - 'sponsor_sections': _iter_sponsor_section(), - } - - def frontend_host(request): return {'FRONTEND_HOST': settings.FRONTEND_HOST} diff --git a/src/core/data.py b/src/core/data.py deleted file mode 100644 index 42b13cb0c..000000000 --- a/src/core/data.py +++ /dev/null @@ -1,11 +0,0 @@ - - -def get_sponsors(): - from sponsors.models import Sponsor - return Sponsor.objects.all() - - -EXTRA_DATA = {} -EXTRA_DATA[''] = { - 'sponsors': get_sponsors, -} diff --git a/src/core/views.py b/src/core/views.py index 19fbb43ab..60eea3222 100644 --- a/src/core/views.py +++ b/src/core/views.py @@ -6,21 +6,13 @@ from django.views.defaults import page_not_found, server_error from django.views.generic import TemplateView -from .data import EXTRA_DATA from .utils import ( TemplateExistanceStatusResponse, collect_language_codes, ) -class ExtraDataMixin: - def get_context_data(self, **kwargs): - data = super().get_context_data(**kwargs) - data.update(EXTRA_DATA.get(self.path, {})) - return data - - -class IndexView(ExtraDataMixin, TemplateView): +class IndexView(TemplateView): template_name = 'index.html' path = '' @@ -28,7 +20,7 @@ def dispatch(self, request, *args, **kwargs): return redirect(reverse('user_dashboard')) -class FlatPageView(ExtraDataMixin, TemplateView): +class FlatPageView(TemplateView): response_class = TemplateExistanceStatusResponse diff --git a/src/events/templatetags/events.py b/src/events/templatetags/events.py index 3ba31e503..e6147c2c4 100644 --- a/src/events/templatetags/events.py +++ b/src/events/templatetags/events.py @@ -2,7 +2,6 @@ from django.template import Library from events.models import KeynoteEvent -from sponsors.models import OpenRole, Sponsor register = Library() @@ -22,20 +21,3 @@ def event_date_display(event): @register.simple_tag def get_keynote_events(): return KeynoteEvent.objects.order_by('begin_time') - - -def _get_sponsors_with_open_roles(): - sponsor_has_open_role = set(OpenRole.objects.values_list('sponsor', flat=True)) - sponsor_set = Sponsor.objects.filter(id__in=sponsor_has_open_role).order_by('level') - - return sponsor_set - - -@register.simple_tag -def get_open_roles_of_sponsors(): - return _get_sponsors_with_open_roles() - - -@register.simple_tag -def get_open_roles(): - return OpenRole.objects.order_by('sponsor') diff --git a/src/events/tests/api/test_list_speeches.py b/src/events/tests/api/test_list_speeches.py index 577009356..e6e2d19cd 100644 --- a/src/events/tests/api/test_list_speeches.py +++ b/src/events/tests/api/test_list_speeches.py @@ -1,7 +1,6 @@ import pytest from django.urls import reverse -from core.models import Token from events.models import ProposedTalkEvent, ProposedTutorialEvent, SponsoredEvent @@ -34,11 +33,9 @@ "INTNL", ], ) -def test_list_speeches_by_category(category, bare_user, drf_api_client): +def test_list_speeches_by_category(category, api_client): url = reverse("events:speeches-category", kwargs={"category": category}) - token = Token.objects.get_or_create(user=bare_user) - drf_api_client.credentials(HTTP_AUTHORIZATION="Token " + str(token[0])) - response = drf_api_client.get(url) + response = api_client.get(url) for event in response.json(): assert event["category"] == category diff --git a/src/locale/en_US/LC_MESSAGES/django.po b/src/locale/en_US/LC_MESSAGES/django.po index 97ad6e3ca..cd1932195 100644 --- a/src/locale/en_US/LC_MESSAGES/django.po +++ b/src/locale/en_US/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PyCon TW\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-15 16:57+0800\n" +"POT-Creation-Date: 2024-04-15 17:45+0800\n" "PO-Revision-Date: 2022-07-11 02:23+0800\n" "Last-Translator: Tom Chen \n" "Language-Team: English (United States) (http://www.transifex.com/pycon-" @@ -49,32 +49,32 @@ msgstr "attendee" msgid "attendees" msgstr "attendees" -#: ccip/views.py:210 +#: ccip/views.py:209 msgctxt "CCIP event type" msgid "event" msgstr "event" -#: ccip/views.py:218 +#: ccip/views.py:217 msgctxt "CCIP event type" msgid "break" msgstr "break" -#: ccip/views.py:226 +#: ccip/views.py:225 msgctxt "CCIP event type" msgid "keynote" msgstr "keynote" -#: ccip/views.py:232 +#: ccip/views.py:231 msgctxt "CCIP event type" msgid "sponsored" msgstr "sponsored" -#: ccip/views.py:240 +#: ccip/views.py:239 msgctxt "CCIP event type" msgid "tutorial" msgstr "tutorial" -#: ccip/views.py:252 +#: ccip/views.py:251 msgctxt "CCIP event type" msgid "talk" msgstr "talk" @@ -83,7 +83,7 @@ msgstr "talk" msgid "Current" msgstr "" -#: core/admin.py:15 core/choices.py:24 events/models.py:151 +#: core/admin.py:15 core/choices.py:24 events/models.py:138 msgid "Other" msgstr "Other" @@ -232,7 +232,7 @@ msgstr "{model_name_cap} creation requires a request object." msgid "conference" msgstr "conference" -#: core/models.py:93 events/models.py:187 +#: core/models.py:93 events/models.py:174 msgid "title" msgstr "title" @@ -276,7 +276,7 @@ msgstr "slide link" msgid "slido embed link" msgstr "Slido embed link" -#: core/models.py:156 events/models.py:252 +#: core/models.py:156 events/models.py:239 msgid "HackMD embed link" msgstr "HackMD embed link" @@ -317,11 +317,11 @@ msgstr "" msgid "time value" msgstr "time value" -#: events/admin.py:108 events/models.py:167 +#: events/admin.py:108 events/models.py:154 msgid "begin time" msgstr "begin time" -#: events/admin.py:114 events/models.py:176 +#: events/admin.py:114 events/models.py:163 msgid "end time" msgstr "end time" @@ -342,67 +342,67 @@ msgstr "time" msgid "times" msgstr "times" -#: events/models.py:138 +#: events/models.py:125 msgid "All rooms" msgstr "All rooms" -#: events/models.py:139 +#: events/models.py:126 msgid "R0, R1, R2" msgstr "R1, R2, R3" -#: events/models.py:140 +#: events/models.py:127 msgid "R0" msgstr "R0" -#: events/models.py:141 +#: events/models.py:128 msgid "R0_1" msgstr "R0_1" -#: events/models.py:142 +#: events/models.py:129 msgid "R0_2" msgstr "R0_2" -#: events/models.py:143 +#: events/models.py:130 msgid "R1" msgstr "R1" -#: events/models.py:144 +#: events/models.py:131 msgid "R1_1" msgstr "R1_1" -#: events/models.py:145 +#: events/models.py:132 msgid "R1_2" msgstr "R1_2" -#: events/models.py:146 +#: events/models.py:133 msgid "R2" msgstr "R2" -#: events/models.py:147 +#: events/models.py:134 msgid "R2_1" msgstr "R2_1" -#: events/models.py:148 +#: events/models.py:135 msgid "R2_2" msgstr "R2_2" -#: events/models.py:149 +#: events/models.py:136 msgid "R3" msgstr "R3" -#: events/models.py:150 +#: events/models.py:137 msgid "Open Space" msgstr "Open Spaces" -#: events/models.py:159 +#: events/models.py:146 msgid "location" msgstr "location" -#: events/models.py:191 +#: events/models.py:178 msgid "is break event" msgstr "is break event" -#: events/models.py:194 +#: events/models.py:181 msgid "" "Whether this event is displays as a break. A break can be visually " "distinguished from \"real\" conference sessions, such as keynotes, talks, " @@ -411,71 +411,71 @@ msgstr "" "Whether this event is displays as a break. A break can be visually " "distinguished from “real” conference sessions, such as keynotes, talks, etc." -#: events/models.py:200 +#: events/models.py:187 msgid "event description" msgstr "event description" -#: events/models.py:203 +#: events/models.py:190 msgid "link path" msgstr "link path" -#: events/models.py:208 +#: events/models.py:195 msgid "custom event" msgstr "custom event" -#: events/models.py:209 +#: events/models.py:196 msgid "custom events" msgstr "custom events" -#: events/models.py:218 users/models.py:116 +#: events/models.py:205 users/models.py:116 msgid "speaker name" msgstr "speaker name" -#: events/models.py:223 +#: events/models.py:210 msgid "speaker bio" msgstr "speaker bio" -#: events/models.py:227 +#: events/models.py:214 msgid "speaker photo" msgstr "speaker photo" -#: events/models.py:231 +#: events/models.py:218 msgid "Raster format of the speaker's photo, e.g. PNG, JPEG." msgstr "Raster format of the speaker's photo, e.g. PNG, JPEG." -#: events/models.py:235 +#: events/models.py:222 msgid "keynote session title" msgstr "keynote session title" -#: events/models.py:240 +#: events/models.py:227 msgid "keynote session description" msgstr "keynote session description" -#: events/models.py:244 +#: events/models.py:231 msgid "session slides" msgstr "session slides" -#: events/models.py:248 +#: events/models.py:235 msgid "slido" msgstr "Slido" -#: events/models.py:257 +#: events/models.py:244 msgid "social linkedin" msgstr "Linkedin" -#: events/models.py:261 +#: events/models.py:248 msgid "social twitter" msgstr "Twitter" -#: events/models.py:265 +#: events/models.py:252 msgid "social github" msgstr "Github" -#: events/models.py:269 events/models.py:354 +#: events/models.py:256 events/models.py:341 msgid "slug" msgstr "slug" -#: events/models.py:271 +#: events/models.py:258 #, python-brace-format msgid "" "This is used to link to the speaker's introduction on the Keynote page, e.g. " @@ -484,81 +484,77 @@ msgstr "" "This is used to link to the speaker's introduction on the Keynote page, e.g. " "'liang2' will link to '{link}#keynote-speaker-liang2'." -#: events/models.py:278 events/models.py:397 events/models.py:433 +#: events/models.py:265 events/models.py:384 events/models.py:420 msgid "is remote" msgstr "is remote" -#: events/models.py:282 events/models.py:357 events/models.py:401 -#: events/models.py:437 +#: events/models.py:269 events/models.py:344 events/models.py:388 +#: events/models.py:424 msgid "youtube id" msgstr "youtube id" -#: events/models.py:288 +#: events/models.py:275 msgid "keynote event" msgstr "keynote event" -#: events/models.py:289 +#: events/models.py:276 msgid "keynote events" msgstr "keynote events" -#: events/models.py:292 +#: events/models.py:279 #, python-brace-format msgid "Keynote: {speaker}" msgstr "Keynote: {speaker}" -#: events/models.py:331 sponsors/models.py:97 sponsors/models.py:113 +#: events/models.py:318 sponsors/models.py:97 sponsors/models.py:113 msgid "sponsor" msgstr "sponsor" -#: events/models.py:336 events/models.py:337 +#: events/models.py:323 events/models.py:324 #: templates/pycontw-2020/_includes/menu.html:104 #: templates/pycontw-2020/contents/_default/events/job-listings.html:33 -#: templates/pycontw-2021/contents/_default/events/job-listings.html:33 -#: templates/pycontw-2022/contents/_default/events/job-listings.html:33 -#: templates/pycontw-2023/contents/_default/events/job-listings.html:33 -#: templates/pycontw-2024/contents/_default/events/job-listings.html:33 msgid "Job Listings" msgstr "Job Listings" -#: events/models.py:340 +#: events/models.py:327 #, python-brace-format msgid "Open Role of Sponsor: {sponsor}" msgstr "Open Role of Sponsor: {sponsor}" -#: events/models.py:349 +#: events/models.py:336 msgid "host" msgstr "host" -#: events/models.py:363 +#: events/models.py:350 msgid "sponsored event" msgstr "sponsored event" -#: events/models.py:364 +#: events/models.py:351 msgid "sponsored events" msgstr "sponsored events" -#: events/models.py:392 events/models.py:423 reviews/models.py:75 +#: events/models.py:379 events/models.py:410 reviews/models.py:75 #: reviews/models.py:196 msgid "proposal" msgstr "proposal" -#: events/models.py:409 +#: events/models.py:396 msgid "talk event" msgstr "talk event" -#: events/models.py:410 +#: events/models.py:397 msgid "talk events" msgstr "talk events" -#: events/models.py:428 +#: events/models.py:415 msgid "registration link" msgstr "registration link" -#: events/models.py:445 +#: events/models.py:432 msgid "tutorial event" msgstr "tutorial event" -#: events/models.py:446 +#: events/models.py:433 msgid "tutorial events" msgstr "tutorial events" @@ -1153,45 +1149,45 @@ msgstr "Talk proposal {title} updated." msgid "Tutorial proposal {title} updated." msgstr "Tutorial proposal {title} updated." -#: pycontw2016/settings/base.py:306 +#: pycontw2016/settings/base.py:305 msgid "PyCon Taiwan 2016" msgstr "PyCon Taiwan 2016" -#: pycontw2016/settings/base.py:307 templates/pycontw-2017/index.html:6 +#: pycontw2016/settings/base.py:306 templates/pycontw-2017/index.html:6 msgid "PyCon Taiwan 2017" msgstr "PyCon Taiwan 2017" -#: pycontw2016/settings/base.py:308 templates/pycontw-2018/index.html:14 +#: pycontw2016/settings/base.py:307 templates/pycontw-2018/index.html:14 msgid "PyCon Taiwan 2018" msgstr "PyCon Taiwan 2018" -#: pycontw2016/settings/base.py:309 templates/pycontw-2019/index.html:14 +#: pycontw2016/settings/base.py:308 templates/pycontw-2019/index.html:14 msgid "PyCon Taiwan 2019" msgstr "PyCon Taiwan 2019" -#: pycontw2016/settings/base.py:310 templates/pycontw-2020/index.html:14 +#: pycontw2016/settings/base.py:309 templates/pycontw-2020/index.html:14 msgid "PyCon Taiwan 2020" msgstr "PyCon Taiwan 2020" -#: pycontw2016/settings/base.py:311 templates/pycontw-2021/index.html:14 +#: pycontw2016/settings/base.py:310 templates/pycontw-2021/index.html:14 #: templates/pycontw-2022/index.html:14 templates/pycontw-2023/index.html:14 #: templates/pycontw-2024/index.html:14 msgid "PyCon Taiwan 2021" msgstr "PyCon Taiwan 2021" -#: pycontw2016/settings/base.py:312 +#: pycontw2016/settings/base.py:311 msgid "PyCon Taiwan 2022" msgstr "PyCon Taiwan 2022" -#: pycontw2016/settings/base.py:313 +#: pycontw2016/settings/base.py:312 msgid "PyCon Taiwan 2023" msgstr "PyCon Taiwan 2023" -#: pycontw2016/settings/base.py:314 +#: pycontw2016/settings/base.py:313 msgid "PyCon Taiwan 2024" msgstr "PyCon Taiwan 2024" -#: pycontw2016/settings/base.py:327 +#: pycontw2016/settings/base.py:326 #: pycontw2016/settings/production/pycontw2016.py:16 #: pycontw2016/settings/production/pycontw2021.py:16 #: pycontw2016/settings/production/pycontw2022.py:16 @@ -1204,7 +1200,7 @@ msgstr "PyCon Taiwan 2024" msgid "No preference" msgstr "No preference" -#: pycontw2016/settings/base.py:328 +#: pycontw2016/settings/base.py:327 #: pycontw2016/settings/production/pycontw2021.py:17 #: pycontw2016/settings/production/pycontw2022.py:17 #: pycontw2016/settings/production/pycontw2023.py:17 @@ -1216,7 +1212,7 @@ msgstr "No preference" msgid "Prefer 15min" msgstr "Prefer 15min" -#: pycontw2016/settings/base.py:329 +#: pycontw2016/settings/base.py:328 #: pycontw2016/settings/production/pycontw2021.py:18 #: pycontw2016/settings/production/pycontw2022.py:18 #: pycontw2016/settings/production/pycontw2023.py:18 @@ -1228,13 +1224,13 @@ msgstr "Prefer 15min" msgid "Prefer 30min" msgstr "Prefer 30min" -#: pycontw2016/settings/base.py:333 +#: pycontw2016/settings/base.py:332 #: pycontw2016/settings/production/pycontw2016.py:22 #: templates/pycontw-2016/events/schedule.html:42 msgid "Day 1" msgstr "Day 1" -#: pycontw2016/settings/base.py:334 +#: pycontw2016/settings/base.py:333 #: pycontw2016/settings/production/pycontw2016.py:23 #: templates/pycontw-2016/events/schedule.html:45 msgid "Day 2" @@ -1507,7 +1503,7 @@ msgid "open role name" msgstr "open role name" #: sponsors/models.py:123 -msgid "open role descsription" +msgid "open role description" msgstr "open role description" #: sponsors/models.py:127 @@ -1523,8 +1519,8 @@ msgid "open role" msgstr "open role" #: sponsors/models.py:138 -msgid "open Roles" -msgstr "open Roles" +msgid "open roles" +msgstr "open roles" #: templates/default/_includes/character_counter_template.html:4 msgid "Text unit count: " @@ -2255,10 +2251,10 @@ msgstr "We screwed up. It’s not your fault." #: templates/pycontw-2018/_includes/menu.html:29 #: templates/pycontw-2019/_includes/menu.html:31 #: templates/pycontw-2020/_includes/menu.html:42 -#: templates/pycontw-2021/_includes/menu.html:41 -#: templates/pycontw-2022/_includes/menu.html:41 -#: templates/pycontw-2023/_includes/menu.html:41 -#: templates/pycontw-2024/_includes/menu.html:41 +#: templates/pycontw-2021/_includes/menu.html:39 +#: templates/pycontw-2022/_includes/menu.html:39 +#: templates/pycontw-2023/_includes/menu.html:39 +#: templates/pycontw-2024/_includes/menu.html:39 msgid "About" msgstr "About" @@ -3166,10 +3162,10 @@ msgstr "Registration" #: templates/pycontw-2018/_includes/menu.html:89 #: templates/pycontw-2019/_includes/menu.html:94 #: templates/pycontw-2020/_includes/menu.html:138 -#: templates/pycontw-2021/_includes/menu.html:150 -#: templates/pycontw-2022/_includes/menu.html:150 -#: templates/pycontw-2023/_includes/menu.html:150 -#: templates/pycontw-2024/_includes/menu.html:150 +#: templates/pycontw-2021/_includes/menu.html:143 +#: templates/pycontw-2022/_includes/menu.html:143 +#: templates/pycontw-2023/_includes/menu.html:143 +#: templates/pycontw-2024/_includes/menu.html:143 msgid "My PyCon" msgstr "My PyCon" @@ -3461,16 +3457,16 @@ msgstr "" "%(proposal_title)s by %(speaker_names)s" #: templates/pycontw-2018/index.html:32 templates/pycontw-2019/index.html:39 -#: templates/pycontw-2020/index.html:60 templates/pycontw-2021/index.html:87 -#: templates/pycontw-2022/index.html:87 templates/pycontw-2023/index.html:87 -#: templates/pycontw-2024/index.html:87 +#: templates/pycontw-2020/index.html:60 templates/pycontw-2021/index.html:63 +#: templates/pycontw-2022/index.html:63 templates/pycontw-2023/index.html:63 +#: templates/pycontw-2024/index.html:63 msgid "What is PyCon" msgstr "What is PyCon" #: templates/pycontw-2018/index.html:33 templates/pycontw-2019/index.html:40 -#: templates/pycontw-2020/index.html:61 templates/pycontw-2021/index.html:88 -#: templates/pycontw-2022/index.html:88 templates/pycontw-2023/index.html:88 -#: templates/pycontw-2024/index.html:88 +#: templates/pycontw-2020/index.html:61 templates/pycontw-2021/index.html:64 +#: templates/pycontw-2022/index.html:64 templates/pycontw-2023/index.html:64 +#: templates/pycontw-2024/index.html:64 msgid "" "

The original PyCon was formed in North America in 2003, and now there are " "many other conferences being run in the PyCon spirit around the world.

" @@ -3479,16 +3475,16 @@ msgstr "" "many other conferences being run in the PyCon spirit around the world.

" #: templates/pycontw-2018/index.html:39 templates/pycontw-2019/index.html:46 -#: templates/pycontw-2020/index.html:68 templates/pycontw-2021/index.html:95 -#: templates/pycontw-2022/index.html:95 templates/pycontw-2023/index.html:95 -#: templates/pycontw-2024/index.html:95 +#: templates/pycontw-2020/index.html:68 templates/pycontw-2021/index.html:71 +#: templates/pycontw-2022/index.html:71 templates/pycontw-2023/index.html:71 +#: templates/pycontw-2024/index.html:71 msgid "What is PyCon Taiwan" msgstr "What is PyCon Taiwan" #: templates/pycontw-2018/index.html:40 templates/pycontw-2019/index.html:47 -#: templates/pycontw-2020/index.html:69 templates/pycontw-2021/index.html:96 -#: templates/pycontw-2022/index.html:96 templates/pycontw-2023/index.html:96 -#: templates/pycontw-2024/index.html:96 +#: templates/pycontw-2020/index.html:69 templates/pycontw-2021/index.html:72 +#: templates/pycontw-2022/index.html:72 templates/pycontw-2023/index.html:72 +#: templates/pycontw-2024/index.html:72 msgid "" "

PyCon Taiwan is an annual convention in Taiwan for the discussion and " "promotion of the Python programming language. It is held by enthusiasts and " @@ -3520,10 +3516,6 @@ msgstr "Program Book" #: templates/pycontw-2019/_includes/sponsors.html:53 #: templates/pycontw-2020/_includes/sponsors.html:57 -#: templates/pycontw-2021/_includes/sponsors.html:57 -#: templates/pycontw-2022/_includes/sponsors.html:57 -#: templates/pycontw-2023/_includes/sponsors.html:57 -#: templates/pycontw-2024/_includes/sponsors.html:57 msgid "Redirect to official website" msgstr "Redirect to official website" @@ -4335,10 +4327,10 @@ msgid "Warm-Up Session" msgstr "Warm-Up Session" #: templates/pycontw-2020/_includes/menu.html:132 -#: templates/pycontw-2021/_includes/menu.html:144 -#: templates/pycontw-2022/_includes/menu.html:144 -#: templates/pycontw-2023/_includes/menu.html:144 -#: templates/pycontw-2024/_includes/menu.html:144 +#: templates/pycontw-2021/_includes/menu.html:137 +#: templates/pycontw-2022/_includes/menu.html:137 +#: templates/pycontw-2023/_includes/menu.html:137 +#: templates/pycontw-2024/_includes/menu.html:137 msgctxt "COVID-19 Guidelines" msgid "COVID-19 Guidelines" msgstr "COVID-19 Guidelines" @@ -4360,10 +4352,6 @@ msgid "Open space" msgstr "Open space" #: templates/pycontw-2020/_includes/sponsors.html:5 -#: templates/pycontw-2021/_includes/sponsors.html:5 -#: templates/pycontw-2022/_includes/sponsors.html:5 -#: templates/pycontw-2023/_includes/sponsors.html:5 -#: templates/pycontw-2024/_includes/sponsors.html:5 msgid "Sponsor Partners" msgstr "Sponsor Partners" @@ -4413,14 +4401,6 @@ msgstr "" #: templates/pycontw-2020/contents/_default/events/job-listings.html:53 #: templates/pycontw-2020/contents/_default/events/job-listings.html:58 -#: templates/pycontw-2021/contents/_default/events/job-listings.html:53 -#: templates/pycontw-2021/contents/_default/events/job-listings.html:58 -#: templates/pycontw-2022/contents/_default/events/job-listings.html:53 -#: templates/pycontw-2022/contents/_default/events/job-listings.html:58 -#: templates/pycontw-2023/contents/_default/events/job-listings.html:53 -#: templates/pycontw-2023/contents/_default/events/job-listings.html:58 -#: templates/pycontw-2024/contents/_default/events/job-listings.html:53 -#: templates/pycontw-2024/contents/_default/events/job-listings.html:58 msgid "Open Roles" msgstr "Open Roles" diff --git a/src/locale/zh_Hant/LC_MESSAGES/django.po b/src/locale/zh_Hant/LC_MESSAGES/django.po index 2cd23cbca..645976e65 100644 --- a/src/locale/zh_Hant/LC_MESSAGES/django.po +++ b/src/locale/zh_Hant/LC_MESSAGES/django.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: PyCon TW\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-15 16:57+0800\n" +"POT-Creation-Date: 2024-04-15 17:45+0800\n" "PO-Revision-Date: 2022-07-11 02:25+0800\n" "Last-Translator: Tom Chen \n" "Language-Team: Chinese Traditional (http://www.transifex.com/pycon-taiwan/" @@ -56,32 +56,32 @@ msgstr "會眾" msgid "attendees" msgstr "會眾" -#: ccip/views.py:210 +#: ccip/views.py:209 msgctxt "CCIP event type" msgid "event" msgstr "活動" -#: ccip/views.py:218 +#: ccip/views.py:217 msgctxt "CCIP event type" msgid "break" msgstr "休息" -#: ccip/views.py:226 +#: ccip/views.py:225 msgctxt "CCIP event type" msgid "keynote" msgstr "基調演講" -#: ccip/views.py:232 +#: ccip/views.py:231 msgctxt "CCIP event type" msgid "sponsored" msgstr "贊助" -#: ccip/views.py:240 +#: ccip/views.py:239 msgctxt "CCIP event type" msgid "tutorial" msgstr "專業課程" -#: ccip/views.py:252 +#: ccip/views.py:251 msgctxt "CCIP event type" msgid "talk" msgstr "演講" @@ -90,7 +90,7 @@ msgstr "演講" msgid "Current" msgstr "" -#: core/admin.py:15 core/choices.py:24 events/models.py:151 +#: core/admin.py:15 core/choices.py:24 events/models.py:138 msgid "Other" msgstr "其他" @@ -239,7 +239,7 @@ msgstr "建立 {model_name_cap} 需要一個 request 物件。" msgid "conference" msgstr "會議" -#: core/models.py:93 events/models.py:187 +#: core/models.py:93 events/models.py:174 msgid "title" msgstr "題目" @@ -283,7 +283,7 @@ msgstr "投影片連結" msgid "slido embed link" msgstr "Slido 嵌入連結" -#: core/models.py:156 events/models.py:252 +#: core/models.py:156 events/models.py:239 msgid "HackMD embed link" msgstr "HackMD 嵌入連結" @@ -324,11 +324,11 @@ msgstr "驗證碼" msgid "time value" msgstr "時間值" -#: events/admin.py:108 events/models.py:167 +#: events/admin.py:108 events/models.py:154 msgid "begin time" msgstr "開始時間" -#: events/admin.py:114 events/models.py:176 +#: events/admin.py:114 events/models.py:163 msgid "end time" msgstr "結束時間" @@ -349,67 +349,67 @@ msgstr "時間" msgid "times" msgstr "時間" -#: events/models.py:138 +#: events/models.py:125 msgid "All rooms" msgstr "全體會議" -#: events/models.py:139 +#: events/models.py:126 msgid "R0, R1, R2" msgstr "R1、R2、R3" -#: events/models.py:140 +#: events/models.py:127 msgid "R0" msgstr "" -#: events/models.py:141 +#: events/models.py:128 msgid "R0_1" msgstr "" -#: events/models.py:142 +#: events/models.py:129 msgid "R0_2" msgstr "" -#: events/models.py:143 +#: events/models.py:130 msgid "R1" msgstr "R1" -#: events/models.py:144 +#: events/models.py:131 msgid "R1_1" msgstr "" -#: events/models.py:145 +#: events/models.py:132 msgid "R1_2" msgstr "" -#: events/models.py:146 +#: events/models.py:133 msgid "R2" msgstr "R2" -#: events/models.py:147 +#: events/models.py:134 msgid "R2_1" msgstr "" -#: events/models.py:148 +#: events/models.py:135 msgid "R2_2" msgstr "" -#: events/models.py:149 +#: events/models.py:136 msgid "R3" msgstr "R3" -#: events/models.py:150 +#: events/models.py:137 msgid "Open Space" msgstr "開放空間" -#: events/models.py:159 +#: events/models.py:146 msgid "location" msgstr "地點" -#: events/models.py:191 +#: events/models.py:178 msgid "is break event" msgstr "休息" -#: events/models.py:194 +#: events/models.py:181 msgid "" "Whether this event is displays as a break. A break can be visually " "distinguished from \"real\" conference sessions, such as keynotes, talks, " @@ -418,71 +418,71 @@ msgstr "" "此活動是否應該被顯示為休息時間。休息時間的顯示會與「真的」會議時段,例如基調" "演講、一般演講不同。" -#: events/models.py:200 +#: events/models.py:187 msgid "event description" msgstr "活動說明" -#: events/models.py:203 +#: events/models.py:190 msgid "link path" msgstr "連結路徑" -#: events/models.py:208 +#: events/models.py:195 msgid "custom event" msgstr "自訂活動" -#: events/models.py:209 +#: events/models.py:196 msgid "custom events" msgstr "自訂活動" -#: events/models.py:218 users/models.py:116 +#: events/models.py:205 users/models.py:116 msgid "speaker name" msgstr "演講者" -#: events/models.py:223 +#: events/models.py:210 msgid "speaker bio" msgstr "演講者介紹" -#: events/models.py:227 +#: events/models.py:214 msgid "speaker photo" msgstr "演講者照片" -#: events/models.py:231 +#: events/models.py:218 msgid "Raster format of the speaker's photo, e.g. PNG, JPEG." msgstr "演講者照片使用點陣格式,例如PNG, JPEG" -#: events/models.py:235 +#: events/models.py:222 msgid "keynote session title" msgstr "演講標題" -#: events/models.py:240 +#: events/models.py:227 msgid "keynote session description" msgstr "演講介紹" -#: events/models.py:244 +#: events/models.py:231 msgid "session slides" msgstr "演講投影片" -#: events/models.py:248 +#: events/models.py:235 msgid "slido" msgstr "Slido" -#: events/models.py:257 +#: events/models.py:244 msgid "social linkedin" msgstr "Linkedin" -#: events/models.py:261 +#: events/models.py:248 msgid "social twitter" msgstr "Twitter" -#: events/models.py:265 +#: events/models.py:252 msgid "social github" msgstr "Github" -#: events/models.py:269 events/models.py:354 +#: events/models.py:256 events/models.py:341 msgid "slug" msgstr "網址文字" -#: events/models.py:271 +#: events/models.py:258 #, python-brace-format msgid "" "This is used to link to the speaker's introduction on the Keynote page, e.g. " @@ -491,81 +491,77 @@ msgstr "" "用來連結至基調演講頁面上的講者簡介,如「liang2」可連結至「{link}#keynote-" "speaker-liang2」。" -#: events/models.py:278 events/models.py:397 events/models.py:433 +#: events/models.py:265 events/models.py:384 events/models.py:420 msgid "is remote" msgstr "遠端演講" -#: events/models.py:282 events/models.py:357 events/models.py:401 -#: events/models.py:437 +#: events/models.py:269 events/models.py:344 events/models.py:388 +#: events/models.py:424 msgid "youtube id" msgstr "youtube id" -#: events/models.py:288 +#: events/models.py:275 msgid "keynote event" msgstr "基調演講" -#: events/models.py:289 +#: events/models.py:276 msgid "keynote events" msgstr "基調演講" -#: events/models.py:292 +#: events/models.py:279 #, python-brace-format msgid "Keynote: {speaker}" msgstr "基調演講:{speaker}" -#: events/models.py:331 sponsors/models.py:97 sponsors/models.py:113 +#: events/models.py:318 sponsors/models.py:97 sponsors/models.py:113 msgid "sponsor" msgstr "贊助" -#: events/models.py:336 events/models.py:337 +#: events/models.py:323 events/models.py:324 #: templates/pycontw-2020/_includes/menu.html:104 #: templates/pycontw-2020/contents/_default/events/job-listings.html:33 -#: templates/pycontw-2021/contents/_default/events/job-listings.html:33 -#: templates/pycontw-2022/contents/_default/events/job-listings.html:33 -#: templates/pycontw-2023/contents/_default/events/job-listings.html:33 -#: templates/pycontw-2024/contents/_default/events/job-listings.html:33 msgid "Job Listings" msgstr "徵才資訊" -#: events/models.py:340 +#: events/models.py:327 #, python-brace-format msgid "Open Role of Sponsor: {sponsor}" msgstr "徵才中贊助商: {sponsor}" -#: events/models.py:349 +#: events/models.py:336 msgid "host" msgstr "主持人" -#: events/models.py:363 +#: events/models.py:350 msgid "sponsored event" msgstr "贊助演講" -#: events/models.py:364 +#: events/models.py:351 msgid "sponsored events" msgstr "贊助演講" -#: events/models.py:392 events/models.py:423 reviews/models.py:75 +#: events/models.py:379 events/models.py:410 reviews/models.py:75 #: reviews/models.py:196 msgid "proposal" msgstr "提案" -#: events/models.py:409 +#: events/models.py:396 msgid "talk event" msgstr "演講" -#: events/models.py:410 +#: events/models.py:397 msgid "talk events" msgstr "演講" -#: events/models.py:428 +#: events/models.py:415 msgid "registration link" msgstr "報名連結" -#: events/models.py:445 +#: events/models.py:432 msgid "tutorial event" msgstr "專業課程" -#: events/models.py:446 +#: events/models.py:433 msgid "tutorial events" msgstr "專業課程" @@ -1115,45 +1111,45 @@ msgstr "已完成更新《{title}》演講提案。" msgid "Tutorial proposal {title} updated." msgstr "已完成更新《{title}》專業課程提案。" -#: pycontw2016/settings/base.py:306 +#: pycontw2016/settings/base.py:305 msgid "PyCon Taiwan 2016" msgstr "PyCon Taiwan 2016" -#: pycontw2016/settings/base.py:307 templates/pycontw-2017/index.html:6 +#: pycontw2016/settings/base.py:306 templates/pycontw-2017/index.html:6 msgid "PyCon Taiwan 2017" msgstr "PyCon Taiwan 2017" -#: pycontw2016/settings/base.py:308 templates/pycontw-2018/index.html:14 +#: pycontw2016/settings/base.py:307 templates/pycontw-2018/index.html:14 msgid "PyCon Taiwan 2018" msgstr "PyCon Taiwan 2018" -#: pycontw2016/settings/base.py:309 templates/pycontw-2019/index.html:14 +#: pycontw2016/settings/base.py:308 templates/pycontw-2019/index.html:14 msgid "PyCon Taiwan 2019" msgstr "PyCon Taiwan 2019" -#: pycontw2016/settings/base.py:310 templates/pycontw-2020/index.html:14 +#: pycontw2016/settings/base.py:309 templates/pycontw-2020/index.html:14 msgid "PyCon Taiwan 2020" msgstr "PyCon Taiwan 2020" -#: pycontw2016/settings/base.py:311 templates/pycontw-2021/index.html:14 +#: pycontw2016/settings/base.py:310 templates/pycontw-2021/index.html:14 #: templates/pycontw-2022/index.html:14 templates/pycontw-2023/index.html:14 #: templates/pycontw-2024/index.html:14 msgid "PyCon Taiwan 2021" msgstr "PyCon Taiwan 2021" -#: pycontw2016/settings/base.py:312 +#: pycontw2016/settings/base.py:311 msgid "PyCon Taiwan 2022" msgstr "PyCon Taiwan 2022" -#: pycontw2016/settings/base.py:313 +#: pycontw2016/settings/base.py:312 msgid "PyCon Taiwan 2023" msgstr "PyCon Taiwan 2023" -#: pycontw2016/settings/base.py:314 +#: pycontw2016/settings/base.py:313 msgid "PyCon Taiwan 2024" msgstr "PyCon Taiwan 2024" -#: pycontw2016/settings/base.py:327 +#: pycontw2016/settings/base.py:326 #: pycontw2016/settings/production/pycontw2016.py:16 #: pycontw2016/settings/production/pycontw2021.py:16 #: pycontw2016/settings/production/pycontw2022.py:16 @@ -1166,7 +1162,7 @@ msgstr "PyCon Taiwan 2024" msgid "No preference" msgstr "無偏好" -#: pycontw2016/settings/base.py:328 +#: pycontw2016/settings/base.py:327 #: pycontw2016/settings/production/pycontw2021.py:17 #: pycontw2016/settings/production/pycontw2022.py:17 #: pycontw2016/settings/production/pycontw2023.py:17 @@ -1178,7 +1174,7 @@ msgstr "無偏好" msgid "Prefer 15min" msgstr "偏好 15 分鐘" -#: pycontw2016/settings/base.py:329 +#: pycontw2016/settings/base.py:328 #: pycontw2016/settings/production/pycontw2021.py:18 #: pycontw2016/settings/production/pycontw2022.py:18 #: pycontw2016/settings/production/pycontw2023.py:18 @@ -1190,13 +1186,13 @@ msgstr "偏好 15 分鐘" msgid "Prefer 30min" msgstr "偏好 30 分鐘" -#: pycontw2016/settings/base.py:333 +#: pycontw2016/settings/base.py:332 #: pycontw2016/settings/production/pycontw2016.py:22 #: templates/pycontw-2016/events/schedule.html:42 msgid "Day 1" msgstr "第 1 天" -#: pycontw2016/settings/base.py:334 +#: pycontw2016/settings/base.py:333 #: pycontw2016/settings/production/pycontw2016.py:23 #: templates/pycontw-2016/events/schedule.html:45 msgid "Day 2" @@ -1461,7 +1457,7 @@ msgid "open role name" msgstr "職缺名稱" #: sponsors/models.py:123 -msgid "open role descsription" +msgid "open role description" msgstr "職缺說明" #: sponsors/models.py:127 @@ -1477,7 +1473,7 @@ msgid "open role" msgstr "職缺" #: sponsors/models.py:138 -msgid "open Roles" +msgid "open roles" msgstr "職缺" #: templates/default/_includes/character_counter_template.html:4 @@ -2193,10 +2189,10 @@ msgstr "我們搞砸了,這不是你的問題。" #: templates/pycontw-2018/_includes/menu.html:29 #: templates/pycontw-2019/_includes/menu.html:31 #: templates/pycontw-2020/_includes/menu.html:42 -#: templates/pycontw-2021/_includes/menu.html:41 -#: templates/pycontw-2022/_includes/menu.html:41 -#: templates/pycontw-2023/_includes/menu.html:41 -#: templates/pycontw-2024/_includes/menu.html:41 +#: templates/pycontw-2021/_includes/menu.html:39 +#: templates/pycontw-2022/_includes/menu.html:39 +#: templates/pycontw-2023/_includes/menu.html:39 +#: templates/pycontw-2024/_includes/menu.html:39 msgid "About" msgstr "關於" @@ -3091,10 +3087,10 @@ msgstr "報到" #: templates/pycontw-2018/_includes/menu.html:89 #: templates/pycontw-2019/_includes/menu.html:94 #: templates/pycontw-2020/_includes/menu.html:138 -#: templates/pycontw-2021/_includes/menu.html:150 -#: templates/pycontw-2022/_includes/menu.html:150 -#: templates/pycontw-2023/_includes/menu.html:150 -#: templates/pycontw-2024/_includes/menu.html:150 +#: templates/pycontw-2021/_includes/menu.html:143 +#: templates/pycontw-2022/_includes/menu.html:143 +#: templates/pycontw-2023/_includes/menu.html:143 +#: templates/pycontw-2024/_includes/menu.html:143 msgid "My PyCon" msgstr "My PyCon" @@ -3382,16 +3378,16 @@ msgstr "" "%(proposal_title)s — %(speaker_names)s" #: templates/pycontw-2018/index.html:32 templates/pycontw-2019/index.html:39 -#: templates/pycontw-2020/index.html:60 templates/pycontw-2021/index.html:87 -#: templates/pycontw-2022/index.html:87 templates/pycontw-2023/index.html:87 -#: templates/pycontw-2024/index.html:87 +#: templates/pycontw-2020/index.html:60 templates/pycontw-2021/index.html:63 +#: templates/pycontw-2022/index.html:63 templates/pycontw-2023/index.html:63 +#: templates/pycontw-2024/index.html:63 msgid "What is PyCon" msgstr "何謂 PyCon" #: templates/pycontw-2018/index.html:33 templates/pycontw-2019/index.html:40 -#: templates/pycontw-2020/index.html:61 templates/pycontw-2021/index.html:88 -#: templates/pycontw-2022/index.html:88 templates/pycontw-2023/index.html:88 -#: templates/pycontw-2024/index.html:88 +#: templates/pycontw-2020/index.html:61 templates/pycontw-2021/index.html:64 +#: templates/pycontw-2022/index.html:64 templates/pycontw-2023/index.html:64 +#: templates/pycontw-2024/index.html:64 msgid "" "

The original PyCon was formed in North America in 2003, and now there are " "many other conferences being run in the PyCon spirit around the world.

" @@ -3400,16 +3396,16 @@ msgstr "" "

" #: templates/pycontw-2018/index.html:39 templates/pycontw-2019/index.html:46 -#: templates/pycontw-2020/index.html:68 templates/pycontw-2021/index.html:95 -#: templates/pycontw-2022/index.html:95 templates/pycontw-2023/index.html:95 -#: templates/pycontw-2024/index.html:95 +#: templates/pycontw-2020/index.html:68 templates/pycontw-2021/index.html:71 +#: templates/pycontw-2022/index.html:71 templates/pycontw-2023/index.html:71 +#: templates/pycontw-2024/index.html:71 msgid "What is PyCon Taiwan" msgstr "何謂 PyCon Taiwan" #: templates/pycontw-2018/index.html:40 templates/pycontw-2019/index.html:47 -#: templates/pycontw-2020/index.html:69 templates/pycontw-2021/index.html:96 -#: templates/pycontw-2022/index.html:96 templates/pycontw-2023/index.html:96 -#: templates/pycontw-2024/index.html:96 +#: templates/pycontw-2020/index.html:69 templates/pycontw-2021/index.html:72 +#: templates/pycontw-2022/index.html:72 templates/pycontw-2023/index.html:72 +#: templates/pycontw-2024/index.html:72 msgid "" "

PyCon Taiwan is an annual convention in Taiwan for the discussion and " "promotion of the Python programming language. It is held by enthusiasts and " @@ -3439,10 +3435,6 @@ msgstr "大會手冊" #: templates/pycontw-2019/_includes/sponsors.html:53 #: templates/pycontw-2020/_includes/sponsors.html:57 -#: templates/pycontw-2021/_includes/sponsors.html:57 -#: templates/pycontw-2022/_includes/sponsors.html:57 -#: templates/pycontw-2023/_includes/sponsors.html:57 -#: templates/pycontw-2024/_includes/sponsors.html:57 msgid "Redirect to official website" msgstr "導回官方網站" @@ -4221,10 +4213,10 @@ msgid "Warm-Up Session" msgstr "暖身活動" #: templates/pycontw-2020/_includes/menu.html:132 -#: templates/pycontw-2021/_includes/menu.html:144 -#: templates/pycontw-2022/_includes/menu.html:144 -#: templates/pycontw-2023/_includes/menu.html:144 -#: templates/pycontw-2024/_includes/menu.html:144 +#: templates/pycontw-2021/_includes/menu.html:137 +#: templates/pycontw-2022/_includes/menu.html:137 +#: templates/pycontw-2023/_includes/menu.html:137 +#: templates/pycontw-2024/_includes/menu.html:137 msgctxt "COVID-19 Guidelines" msgid "COVID-19 Guidelines" msgstr "COVID-19 防疫守則" @@ -4246,10 +4238,6 @@ msgid "Open space" msgstr "Open space 揪團" #: templates/pycontw-2020/_includes/sponsors.html:5 -#: templates/pycontw-2021/_includes/sponsors.html:5 -#: templates/pycontw-2022/_includes/sponsors.html:5 -#: templates/pycontw-2023/_includes/sponsors.html:5 -#: templates/pycontw-2024/_includes/sponsors.html:5 msgid "Sponsor Partners" msgstr "贊助夥伴" @@ -4299,14 +4287,6 @@ msgstr "即將公佈" #: templates/pycontw-2020/contents/_default/events/job-listings.html:53 #: templates/pycontw-2020/contents/_default/events/job-listings.html:58 -#: templates/pycontw-2021/contents/_default/events/job-listings.html:53 -#: templates/pycontw-2021/contents/_default/events/job-listings.html:58 -#: templates/pycontw-2022/contents/_default/events/job-listings.html:53 -#: templates/pycontw-2022/contents/_default/events/job-listings.html:58 -#: templates/pycontw-2023/contents/_default/events/job-listings.html:53 -#: templates/pycontw-2023/contents/_default/events/job-listings.html:58 -#: templates/pycontw-2024/contents/_default/events/job-listings.html:53 -#: templates/pycontw-2024/contents/_default/events/job-listings.html:58 msgid "Open Roles" msgstr "職缺" diff --git a/src/proposals/tests/api/test_proposals_summary.py b/src/proposals/tests/api/test_proposals_summary.py index b9f2f6f97..1afa5cc1b 100644 --- a/src/proposals/tests/api/test_proposals_summary.py +++ b/src/proposals/tests/api/test_proposals_summary.py @@ -1,19 +1,19 @@ +from rest_framework.test import APIClient + endpoint = "/api/proposals/summary/" def test_proposals_summary( - user, - drf_api_client, + api_client, # authorized talk_proposal, tutorial_proposal, stage_1_review, stage_2_review, ): - response = drf_api_client.get(endpoint) + response = APIClient().get(endpoint) assert response.status_code == 401 - drf_api_client.force_authenticate(user=user) - response = drf_api_client.get(endpoint) + response = api_client.get(endpoint) data = response.data assert data["num_proposed_talk"] == 1 diff --git a/src/pycontw2016/settings/base.py b/src/pycontw2016/settings/base.py index e4f61fde9..d86119642 100644 --- a/src/pycontw2016/settings/base.py +++ b/src/pycontw2016/settings/base.py @@ -44,7 +44,6 @@ 'django.template.context_processors.request', 'core.context_processors.script_prefix', 'core.context_processors.pycontw', - 'core.context_processors.sponsors', 'core.context_processors.frontend_host', ], 'debug': True, diff --git a/src/sponsors/api/serializers.py b/src/sponsors/api/serializers.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/sponsors/migrations/0032_fix_verbose_typo.py b/src/sponsors/migrations/0032_fix_verbose_typo.py new file mode 100644 index 000000000..6f7252cd4 --- /dev/null +++ b/src/sponsors/migrations/0032_fix_verbose_typo.py @@ -0,0 +1,32 @@ +# Generated by Django 3.2.25 on 2024-04-15 09:30 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('sponsors', '0031_auto_20240127_1104'), + ] + + operations = [ + migrations.AlterModelOptions( + name='openrole', + options={'verbose_name': 'open role', 'verbose_name_plural': 'open roles'}, + ), + migrations.AlterField( + model_name='openrole', + name='description', + field=models.TextField(verbose_name='open role description'), + ), + migrations.AlterField( + model_name='openrole', + name='description_en_us', + field=models.TextField(null=True, verbose_name='open role description'), + ), + migrations.AlterField( + model_name='openrole', + name='description_zh_hant', + field=models.TextField(null=True, verbose_name='open role description'), + ), + ] diff --git a/src/sponsors/models.py b/src/sponsors/models.py index c339cdcca..9691af375 100644 --- a/src/sponsors/models.py +++ b/src/sponsors/models.py @@ -120,7 +120,7 @@ class OpenRole(ConferenceRelated): ) description = models.TextField( - verbose_name=_('open role descsription'), + verbose_name=_('open role description'), ) requirements = models.TextField( @@ -135,7 +135,7 @@ class OpenRole(ConferenceRelated): class Meta: verbose_name = _('open role') - verbose_name_plural = _('open Roles') + verbose_name_plural = _('open roles') def __str__(self): return self.name diff --git a/src/sponsors/templatetags/sponsors.py b/src/sponsors/templatetags/sponsors.py deleted file mode 100644 index 4a2de2c26..000000000 --- a/src/sponsors/templatetags/sponsors.py +++ /dev/null @@ -1,32 +0,0 @@ -import collections -import json - -from django.core.serializers.json import DjangoJSONEncoder -from django.template import Library -from django.utils.html import linebreaks - -from sponsors.models import Sponsor - -register = Library() - - -@register.filter -def sponsor_jsonize(sponsors): - sponsor_lists = {level: [] for level, _ in Sponsor.LEVEL_CHOICES} - sponsor_info_dict = collections.OrderedDict( - (f'level-{level}', { - 'name': name, - 'sponsors': sponsor_lists[level], - }) - for (level, name) in Sponsor.LEVEL_CHOICES - ) - for sponsor in sponsors: - sponsor_info = { - 'name': sponsor.name, - 'website_url': sponsor.website_url, - 'intro_html': linebreaks(sponsor.intro), - } - if sponsor.logo: - sponsor_info['logo'] = sponsor.logo.url - sponsor_lists[sponsor.level].append(sponsor_info) - return json.dumps({'sponsors': sponsor_info_dict}, cls=DjangoJSONEncoder) diff --git a/src/sponsors/tests.py b/src/sponsors/tests.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/sponsors/templatetags/__init__.py b/src/sponsors/tests/__init__.py similarity index 100% rename from src/sponsors/templatetags/__init__.py rename to src/sponsors/tests/__init__.py diff --git a/src/sponsors/tests/test_api.py b/src/sponsors/tests/test_api.py new file mode 100644 index 000000000..169188988 --- /dev/null +++ b/src/sponsors/tests/test_api.py @@ -0,0 +1,72 @@ +import pytest + +from sponsors.models import OpenRole, Sponsor + + +@pytest.fixture(autouse=True, scope='function') +def test_data(): + # sponsors + # platinum + sponsor_1 = Sponsor.objects.create(name='1', level=1) + # gold + sponsor_2 = Sponsor.objects.create(name='2', level=2, order=2) + sponsor_3 = Sponsor.objects.create(name='3', level=2, order=None) # noqa + sponsor_4 = Sponsor.objects.create(name='4', level=2, order=1) # noqa + + # roles + OpenRole.objects.create(sponsor=sponsor_1, name='11', description='...') + OpenRole.objects.create(sponsor=sponsor_2, name='21', description='...') + OpenRole.objects.create(sponsor=sponsor_2, name='22', description='...') + + +@pytest.mark.django_db +class TestSponsorAPIView: + def test_should_get_sponsor_data(self, api_client): + # arrange: test_data fixture + # action + resp = api_client.get('/api/sponsors/') + + # assert + assert resp.status_code == 200 + + data = {level_data['level_name']: level_data['sponsors'] for level_data in resp.data['data']} + assert list(data.keys()) == ['platinum', 'gold'] + + # assert: should have correct sponsor count + platinum_sponsors = data['platinum'] + assert len(platinum_sponsors) == 1 + + gold_sponsors = data['gold'] + assert len(gold_sponsors) == 3 + + # assert: gold sponsors should be in correct sequence + # small-order > large-order > null-order + gold_sponsor_names = [s['name_en_us'] for s in gold_sponsors] + assert gold_sponsor_names == ['4', '2', '3'] + + def test_should_get_role_data(self, api_client): + # arrange: test_data fixture + # action + resp = api_client.get('/api/sponsors/jobs/') + + # assert + assert resp.status_code == 200 + + data = resp.json()['data'] + assert len(data) == 2 + + # assert: sponsor 1 + assert data[0]['sponsor_name'] == '1' + + jobs_1 = data[0]['jobs'] + assert len(jobs_1) == 1 + assert jobs_1[0]['job_name_en_us'] == '11' + + # assert: sponsor 2 + assert data[1]['sponsor_name'] == '2' + + jobs_2 = data[1]['jobs'] + assert len(jobs_2) == 2 + + job_names = [j['job_name_en_us'] for j in jobs_2] + assert set(job_names) == {'21', '22'} diff --git a/src/static/css/main.scss b/src/static/css/main.scss index 4656ab34a..962ffb4d4 100644 --- a/src/static/css/main.scss +++ b/src/static/css/main.scss @@ -29,7 +29,6 @@ @import "pages/keynotes"; @import "pages/reviews"; @import "pages/sprints"; -@import "pages/sponsors"; @import "pages/talks"; @import "pages/venue"; @@ -263,63 +262,7 @@ body { } -.section.sponsorship { - margin-top: 6em; - margin-bottom: 2em; -} - -.sponsorship { - background-color: $theme-color; - background-repeat: no-repeat; - background-image: url(static('images/bg_section-sponsorship.svg')); - background-size: contain; - background-position: center; - background-origin: content-box; - padding-left: 4em; - padding-right: 4em; - text-align: center; - color: white; - font-size: 18px; - a { - color: white; - text-decoration: underline; - } - > .container { - max-width: 100%; - } -} - -@media (max-width: $screen-md) { - .sponsorship { - background-image: none; - } -} - -.sponsorship__call { - @include make-sm-column(10); - @include make-sm-column-offset(1); - @include make-md-column(8); - @include make-md-column-offset(2); - @include make-lg-column(6); - @include make-lg-column-offset(3); - padding: .3em 1em; - margin-top: .5em; - margin-bottom: 1.5em; - border-radius: 400px; // large number for capsule shape - font-size: 36px; - color: $theme-color; - background-color: white; -} - - @media (max-width: $screen-xs) { - .sponsorship__call{ - font-size: 28px; - } - .sponsorship { - padding-left: 2em; - padding-right: 2em; - } .intro__pycontw { margin-top: -4em; margin-bottom: 4em; @@ -348,8 +291,6 @@ body { } } - - .conf { background: url(static('images/bg_section-conf.svg')) no-repeat; background-size: 50% auto; @@ -357,7 +298,6 @@ body { } - .footer { background-color: $footer-bg; color: $footer-color; @@ -366,12 +306,6 @@ body { line-height: 40px; } -.sponsors__logo { - > a img{ - margin: 2em auto 4em; - max-height: 80px; - } -} .social-btn { color: $theme-color; diff --git a/src/static/css/pages/_sponsors.scss b/src/static/css/pages/_sponsors.scss deleted file mode 100644 index 3b56506ba..000000000 --- a/src/static/css/pages/_sponsors.scss +++ /dev/null @@ -1,164 +0,0 @@ -$sponsor-img-height: 75px; - -@mixin sponsor-decoration($color, $size: 20px) { - border:5px solid $color; - &:before { - display: block; - position: absolute; - top: 20px; - left: 20px; - content: ""; - width: $size; - height: $size; - background-color: $color; - border-radius: 100%; - } -} - -.sponsor-page { - background-color: $sponsor-bg; - - .content-container { - max-width: none; - } -} - -.sponsor-section { - @include make-row(); - margin-bottom: 20px; - &__title { - @include make-md-column(12); - color: #fff; - } -} - - -.sponsor-wrapper { - &--partner, &--platinum, &--gold { - @include make-xs-column(12); - } - &--silver { - //@include make-xs-column(12); - @include make-md-column(6); - } - - &--special, &--bronze { - @include make-md-column(4); - } -} - -.sponsor { - padding: 30px; - margin-bottom: 30px; - background-color: #fff; - border-radius: 3px; - position: relative; - - &__logo-wrapper { - @include make-xs-column(12); - height: $sponsor-img-height; - display: flex; - align-items: center; - margin-bottom: 30px; - - a { - margin: 0 auto; - max-width: 100%; - } - } - - &__logo { - max-height: $sponsor-img-height; - - } - - &__title { - text-align: center; - font-size: 20px; - color: $theme-color; - margin-bottom: 20px; - } - - &__intro { - line-height: 22px; - overflow: auto; - } - - &.sponsor--platinum, &.sponsor--partner{ - @include sponsor-decoration($sponsor-platinum-color, 30px); - background: white; - background: - linear-gradient(135deg, $sponsor-platinum-color 0px, white 0) top left, - linear-gradient(225deg, $sponsor-platinum-color 30px, white 0) top right, - linear-gradient(-45deg, $sponsor-platinum-color 30px, white 0) bottom right, - linear-gradient(45deg, $sponsor-platinum-color 30px, white 0) bottom left; - background-size: 51% 51%; - background-repeat: no-repeat; - } - - &.sponsor--gold { - @include sponsor-decoration($sponsor-gold-color); - } - - &.sponsor--silver { - @include sponsor-decoration($sponsor-silver-color); - max-height: 500px; - } - - &.sponsor--bronze { - @include sponsor-decoration($sponsor-bronze-color); - } - - // intro height - &.sponsor--partner &__intro { - height: 150px; - } - - &.sponsor--platinum &__intro { - height: 200px; - } - - &.sponsor--silver &__intro { - height: 200px; - } - - &.sponsor--bronze &__intro { - height: 250px; - } - - &.sponsor--special &__intro { - height: 235px; - } -} - -.sponsor.sponsor--gold, -.sponsor.sponsor--platinum, -.sponsor.sponsor--partner{ - @include clearfix(); - .sponsor { - &__logo-wrapper { - @include make-md-column(4); - } - - &__title, &__intro { - @include make-md-column(8); - } - } -} - - -@media (min-width: $screen-md-min) { - .sponsor.sponsor--gold, - .sponsor.sponsor--platinum, - .sponsor.sponsor--partner{ - .sponsor__logo-wrapper { - height: 200px; - } - - .sponsor__title { - text-align: left; - } - } -} - - diff --git a/src/static/images/bg_section-sponsorship.svg b/src/static/images/bg_section-sponsorship.svg deleted file mode 100644 index 72ed3e948..000000000 --- a/src/static/images/bg_section-sponsorship.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - sponsorship copy - Created with Sketch. - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/static/pycontw-2021/_includes/base/_variables.scss b/src/static/pycontw-2021/_includes/base/_variables.scss index d52a722a0..7f4dde440 100644 --- a/src/static/pycontw-2021/_includes/base/_variables.scss +++ b/src/static/pycontw-2021/_includes/base/_variables.scss @@ -34,15 +34,7 @@ $sprint-event-bg: #fff; $sprint-event__url-color: #3C3C3C; $sprint-event__info-color: #4A4A4A; -// sponsors -$sponsor-bg: $theme-color; -$sponsor-bronze-color: #c37141; -$sponsor-silver-color: #a1a1a1; -$sponsor-gold-color: #ffc525; -$sponsor-platinum-color: #eddcad; - // Buttons - $btn-primary-bg: $ultramarine-blue; $btn-primary-hover-bg: lighter($ultramarine-blue); diff --git a/src/static/pycontw-2021/styles/ccip-sponsors.scss b/src/static/pycontw-2021/styles/ccip-sponsors.scss deleted file mode 100644 index 5fa6a85e8..000000000 --- a/src/static/pycontw-2021/styles/ccip-sponsors.scss +++ /dev/null @@ -1,9 +0,0 @@ -@import "site"; - -@import "index-mixins"; -@import "index-hero"; -@import "index-partners"; - -body { - background-color: $brick; -} diff --git a/src/static/pycontw-2021/styles/index.scss b/src/static/pycontw-2021/styles/index.scss index f50a91036..f819d37b1 100644 --- a/src/static/pycontw-2021/styles/index.scss +++ b/src/static/pycontw-2021/styles/index.scss @@ -161,7 +161,6 @@ footer { @include big-button-icon(speaking); @include big-button-icon(volunteering); - @include big-button-icon(sponsor); } .index-introduction { diff --git a/src/static/pycontw-2021/styles/page.scss b/src/static/pycontw-2021/styles/page.scss index 0c57b6300..a32c74a15 100644 --- a/src/static/pycontw-2021/styles/page.scss +++ b/src/static/pycontw-2021/styles/page.scss @@ -331,7 +331,6 @@ main { @include big-button-icon(speaking); @include big-button-icon(venue); @include big-button-icon(registration); - @include big-button-icon(sponsor); @include big-button-icon(volunteering); @include big-button-icon(about); } @@ -362,7 +361,6 @@ main { @include big-button-icon(speaking); @include big-button-icon(venue); @include big-button-icon(registration); - @include big-button-icon(sponsor); @include big-button-icon(volunteering); @include big-button-icon(about); } @@ -409,7 +407,6 @@ ul.custom_ul { @import "pages/venue"; @import "pages/staff"; @import "pages/portal"; -@import "pages/sponsorship-prospectus"; @import "pages/live"; @import "pages/community-track"; @import "pages/job-listings"; diff --git a/src/static/pycontw-2021/styles/pages/_sponsorship-prospectus.scss b/src/static/pycontw-2021/styles/pages/_sponsorship-prospectus.scss deleted file mode 100644 index a56a5d60d..000000000 --- a/src/static/pycontw-2021/styles/pages/_sponsorship-prospectus.scss +++ /dev/null @@ -1,41 +0,0 @@ -// -// Basic Bootstrap table -// - -.table-sponsorship-prospectus { - width: 130%; - word-wrap: break-word; - position: relative; - border-spacing: 0; - border-collapse: collapse; - - th, td { - text-indent: 0; - text-align: left; - - line-height: 1.2; - padding-top: 10px; - vertical-align: top; - - border-top: 1px solid #999; - padding: 10px 5px; - } - - th { - font-weight: 500; - } - - tbody { - tr:first-child { - td, th { - border-top: 2px solid #999; - } - } - } - - thead { - th { - border-top: none; - } - } -} diff --git a/src/static/pycontw-2022/_includes/base/_variables.scss b/src/static/pycontw-2022/_includes/base/_variables.scss index e297dde3b..a5079519d 100644 --- a/src/static/pycontw-2022/_includes/base/_variables.scss +++ b/src/static/pycontw-2022/_includes/base/_variables.scss @@ -34,15 +34,7 @@ $sprint-event-bg: #fff; $sprint-event__url-color: #3C3C3C; $sprint-event__info-color: #4A4A4A; -// sponsors -$sponsor-bg: $theme-color; -$sponsor-bronze-color: #c37141; -$sponsor-silver-color: #a1a1a1; -$sponsor-gold-color: #ffc525; -$sponsor-platinum-color: #eddcad; - // Buttons - $btn-primary-bg: $ultramarine-blue; $btn-primary-hover-bg: lighter($ultramarine-blue); diff --git a/src/static/pycontw-2022/styles/ccip-sponsors.scss b/src/static/pycontw-2022/styles/ccip-sponsors.scss deleted file mode 100644 index 5fa6a85e8..000000000 --- a/src/static/pycontw-2022/styles/ccip-sponsors.scss +++ /dev/null @@ -1,9 +0,0 @@ -@import "site"; - -@import "index-mixins"; -@import "index-hero"; -@import "index-partners"; - -body { - background-color: $brick; -} diff --git a/src/static/pycontw-2022/styles/index.scss b/src/static/pycontw-2022/styles/index.scss index f50a91036..f819d37b1 100644 --- a/src/static/pycontw-2022/styles/index.scss +++ b/src/static/pycontw-2022/styles/index.scss @@ -161,7 +161,6 @@ footer { @include big-button-icon(speaking); @include big-button-icon(volunteering); - @include big-button-icon(sponsor); } .index-introduction { diff --git a/src/static/pycontw-2022/styles/page.scss b/src/static/pycontw-2022/styles/page.scss index 0c57b6300..a32c74a15 100644 --- a/src/static/pycontw-2022/styles/page.scss +++ b/src/static/pycontw-2022/styles/page.scss @@ -331,7 +331,6 @@ main { @include big-button-icon(speaking); @include big-button-icon(venue); @include big-button-icon(registration); - @include big-button-icon(sponsor); @include big-button-icon(volunteering); @include big-button-icon(about); } @@ -362,7 +361,6 @@ main { @include big-button-icon(speaking); @include big-button-icon(venue); @include big-button-icon(registration); - @include big-button-icon(sponsor); @include big-button-icon(volunteering); @include big-button-icon(about); } @@ -409,7 +407,6 @@ ul.custom_ul { @import "pages/venue"; @import "pages/staff"; @import "pages/portal"; -@import "pages/sponsorship-prospectus"; @import "pages/live"; @import "pages/community-track"; @import "pages/job-listings"; diff --git a/src/static/pycontw-2022/styles/pages/_sponsorship-prospectus.scss b/src/static/pycontw-2022/styles/pages/_sponsorship-prospectus.scss deleted file mode 100644 index a56a5d60d..000000000 --- a/src/static/pycontw-2022/styles/pages/_sponsorship-prospectus.scss +++ /dev/null @@ -1,41 +0,0 @@ -// -// Basic Bootstrap table -// - -.table-sponsorship-prospectus { - width: 130%; - word-wrap: break-word; - position: relative; - border-spacing: 0; - border-collapse: collapse; - - th, td { - text-indent: 0; - text-align: left; - - line-height: 1.2; - padding-top: 10px; - vertical-align: top; - - border-top: 1px solid #999; - padding: 10px 5px; - } - - th { - font-weight: 500; - } - - tbody { - tr:first-child { - td, th { - border-top: 2px solid #999; - } - } - } - - thead { - th { - border-top: none; - } - } -} diff --git a/src/static/pycontw-2023/_includes/base/_variables.scss b/src/static/pycontw-2023/_includes/base/_variables.scss index be9d2ed16..eb3e9db63 100644 --- a/src/static/pycontw-2023/_includes/base/_variables.scss +++ b/src/static/pycontw-2023/_includes/base/_variables.scss @@ -34,15 +34,7 @@ $sprint-event-bg: #fff; $sprint-event__url-color: #3C3C3C; $sprint-event__info-color: #4A4A4A; -// sponsors -$sponsor-bg: $theme-color; -$sponsor-bronze-color: #c37141; -$sponsor-silver-color: #a1a1a1; -$sponsor-gold-color: #ffc525; -$sponsor-platinum-color: #eddcad; - // Buttons - $btn-primary-bg: $ultramarine-blue; $btn-primary-hover-bg: lighter($ultramarine-blue); diff --git a/src/static/pycontw-2023/styles/ccip-sponsors.scss b/src/static/pycontw-2023/styles/ccip-sponsors.scss deleted file mode 100644 index 5fa6a85e8..000000000 --- a/src/static/pycontw-2023/styles/ccip-sponsors.scss +++ /dev/null @@ -1,9 +0,0 @@ -@import "site"; - -@import "index-mixins"; -@import "index-hero"; -@import "index-partners"; - -body { - background-color: $brick; -} diff --git a/src/static/pycontw-2023/styles/index.scss b/src/static/pycontw-2023/styles/index.scss index f50a91036..f819d37b1 100644 --- a/src/static/pycontw-2023/styles/index.scss +++ b/src/static/pycontw-2023/styles/index.scss @@ -161,7 +161,6 @@ footer { @include big-button-icon(speaking); @include big-button-icon(volunteering); - @include big-button-icon(sponsor); } .index-introduction { diff --git a/src/static/pycontw-2023/styles/page.scss b/src/static/pycontw-2023/styles/page.scss index 3261152c0..2af9063dc 100644 --- a/src/static/pycontw-2023/styles/page.scss +++ b/src/static/pycontw-2023/styles/page.scss @@ -331,7 +331,6 @@ main { @include big-button-icon(speaking); @include big-button-icon(venue); @include big-button-icon(registration); - @include big-button-icon(sponsor); @include big-button-icon(volunteering); @include big-button-icon(about); } @@ -362,7 +361,6 @@ main { @include big-button-icon(speaking); @include big-button-icon(venue); @include big-button-icon(registration); - @include big-button-icon(sponsor); @include big-button-icon(volunteering); @include big-button-icon(about); } @@ -409,7 +407,6 @@ ul.custom_ul { @import "pages/venue"; @import "pages/staff"; @import "pages/portal"; -@import "pages/sponsorship-prospectus"; @import "pages/live"; @import "pages/job-listings"; @import "pages/discord"; diff --git a/src/static/pycontw-2023/styles/pages/_sponsorship-prospectus.scss b/src/static/pycontw-2023/styles/pages/_sponsorship-prospectus.scss deleted file mode 100644 index a56a5d60d..000000000 --- a/src/static/pycontw-2023/styles/pages/_sponsorship-prospectus.scss +++ /dev/null @@ -1,41 +0,0 @@ -// -// Basic Bootstrap table -// - -.table-sponsorship-prospectus { - width: 130%; - word-wrap: break-word; - position: relative; - border-spacing: 0; - border-collapse: collapse; - - th, td { - text-indent: 0; - text-align: left; - - line-height: 1.2; - padding-top: 10px; - vertical-align: top; - - border-top: 1px solid #999; - padding: 10px 5px; - } - - th { - font-weight: 500; - } - - tbody { - tr:first-child { - td, th { - border-top: 2px solid #999; - } - } - } - - thead { - th { - border-top: none; - } - } -} diff --git a/src/static/pycontw-2024/_includes/base/_variables.scss b/src/static/pycontw-2024/_includes/base/_variables.scss index e899cb95d..b39cfa669 100644 --- a/src/static/pycontw-2024/_includes/base/_variables.scss +++ b/src/static/pycontw-2024/_includes/base/_variables.scss @@ -34,15 +34,7 @@ $sprint-event-bg: #fff; $sprint-event__url-color: #3C3C3C; $sprint-event__info-color: #4A4A4A; -// sponsors -$sponsor-bg: $theme-color; -$sponsor-bronze-color: #c37141; -$sponsor-silver-color: #a1a1a1; -$sponsor-gold-color: #ffc525; -$sponsor-platinum-color: #eddcad; - // Buttons - $btn-primary-bg: $ultramarine-blue; $btn-primary-hover-bg: lighter($ultramarine-blue); diff --git a/src/static/pycontw-2024/styles/ccip-sponsors.scss b/src/static/pycontw-2024/styles/ccip-sponsors.scss deleted file mode 100644 index 5fa6a85e8..000000000 --- a/src/static/pycontw-2024/styles/ccip-sponsors.scss +++ /dev/null @@ -1,9 +0,0 @@ -@import "site"; - -@import "index-mixins"; -@import "index-hero"; -@import "index-partners"; - -body { - background-color: $brick; -} diff --git a/src/static/pycontw-2024/styles/index.scss b/src/static/pycontw-2024/styles/index.scss index f50a91036..f819d37b1 100644 --- a/src/static/pycontw-2024/styles/index.scss +++ b/src/static/pycontw-2024/styles/index.scss @@ -161,7 +161,6 @@ footer { @include big-button-icon(speaking); @include big-button-icon(volunteering); - @include big-button-icon(sponsor); } .index-introduction { diff --git a/src/static/pycontw-2024/styles/page.scss b/src/static/pycontw-2024/styles/page.scss index 3261152c0..2af9063dc 100644 --- a/src/static/pycontw-2024/styles/page.scss +++ b/src/static/pycontw-2024/styles/page.scss @@ -331,7 +331,6 @@ main { @include big-button-icon(speaking); @include big-button-icon(venue); @include big-button-icon(registration); - @include big-button-icon(sponsor); @include big-button-icon(volunteering); @include big-button-icon(about); } @@ -362,7 +361,6 @@ main { @include big-button-icon(speaking); @include big-button-icon(venue); @include big-button-icon(registration); - @include big-button-icon(sponsor); @include big-button-icon(volunteering); @include big-button-icon(about); } @@ -409,7 +407,6 @@ ul.custom_ul { @import "pages/venue"; @import "pages/staff"; @import "pages/portal"; -@import "pages/sponsorship-prospectus"; @import "pages/live"; @import "pages/job-listings"; @import "pages/discord"; diff --git a/src/static/pycontw-2024/styles/pages/_sponsorship-prospectus.scss b/src/static/pycontw-2024/styles/pages/_sponsorship-prospectus.scss deleted file mode 100644 index a56a5d60d..000000000 --- a/src/static/pycontw-2024/styles/pages/_sponsorship-prospectus.scss +++ /dev/null @@ -1,41 +0,0 @@ -// -// Basic Bootstrap table -// - -.table-sponsorship-prospectus { - width: 130%; - word-wrap: break-word; - position: relative; - border-spacing: 0; - border-collapse: collapse; - - th, td { - text-indent: 0; - text-align: left; - - line-height: 1.2; - padding-top: 10px; - vertical-align: top; - - border-top: 1px solid #999; - padding: 10px 5px; - } - - th { - font-weight: 500; - } - - tbody { - tr:first-child { - td, th { - border-top: 2px solid #999; - } - } - } - - thead { - th { - border-top: none; - } - } -} diff --git a/src/templates/pycontw-2021/_includes/menu.html b/src/templates/pycontw-2021/_includes/menu.html index ab336e69a..cb7d39182 100644 --- a/src/templates/pycontw-2021/_includes/menu.html +++ b/src/templates/pycontw-2021/_includes/menu.html @@ -6,8 +6,6 @@ {% url 'page' path='about/community' as about_community_url %} {% url 'page' path='about/staff' as about_staff_url %} -{% url 'page' path='sponsor/sponsor' as sponsor_url %} - {% url 'page' path='speaking/cfp' as speaking_cfp_url %} {% url 'page' path='speaking/talk' as speaking_talk_url %} {% url 'page' path='speaking/tutorial' as speaking_tutorial_url %} @@ -42,11 +40,6 @@ -

  • - - {% trans 'Sponsor' %} - -
  • {# Ordering matters here. input must be ahead of label and .submenu for styling to work! See code in .menu-navbar-desktop .menu > li. #} diff --git a/src/templates/pycontw-2021/_includes/sponsors.html b/src/templates/pycontw-2021/_includes/sponsors.html deleted file mode 100644 index a571169e0..000000000 --- a/src/templates/pycontw-2021/_includes/sponsors.html +++ /dev/null @@ -1,71 +0,0 @@ -{% load i18n static %} - -
    -

    - {% trans 'Sponsor Partners' %} -

    -
    - - {% for name, section in sponsor_sections %} -
    - {% for sponsor in section %} -
    - {{ name }} - - {% if sponsor.logo %} - - {% else %} - {{ sponsor.name }} - {% endif %} - - -
    - {% endfor %} -
    - - {% endfor %} -
    -
    diff --git a/src/templates/pycontw-2021/ccip/sponsors.html b/src/templates/pycontw-2021/ccip/sponsors.html deleted file mode 100644 index d8a346da3..000000000 --- a/src/templates/pycontw-2021/ccip/sponsors.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends 'base.html' %} - -{% load i18n static %} - -{% block styles %} - -{% endblock %} - -{% block extra_css %} - -{% endblock extra_css %} - -{% block titletag %} -PyCon Taiwan 2020 -{% endblock titletag %} - -{% block nav %}{% endblock nav %} - -{% block content_full %} -{% language 'en-us' %} -{% include '_includes/sponsors.html' %} -{% endlanguage %} -{% endblock content_full %} - -{% block footer %} -
    -{% endblock footer %} diff --git a/src/templates/pycontw-2021/contents/_default/events/job-listings.html b/src/templates/pycontw-2021/contents/_default/events/job-listings.html deleted file mode 100644 index ba9a250f9..000000000 --- a/src/templates/pycontw-2021/contents/_default/events/job-listings.html +++ /dev/null @@ -1,76 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n static %} -{% load sponsors %} -{% load events %} - -{% block titletag %} -【2020年Python工作職缺】Python知名企業職缺一覽表 -{% endblock titletag %} -{% block meta_seo %} - - - - - -{% endblock meta_seo %} -{% block meta_og %} - - - - - - -{% endblock meta_og%} - - -{% block body_class %}job-listings-page{% endblock body_class %} - -{% block content %} - - -
    -

    {% trans 'Job Listings' %}

    -
    - - -{% get_open_roles_of_sponsors as open_roles_of_sponsors %} -{% get_open_roles as open_roles %} - -{% for sponsor in open_roles_of_sponsors %} -
    -
    -
    - {% if sponsor.logo.url %} - - {% endif %} -
    {{ sponsor.name }}
    -
    -
    -
    -
      -
    • - {% trans 'Open Roles' %} -
    • -
    -
    -
    -

    {% trans 'Open Roles' %}

    - {% for open_role in open_roles %} - {% if open_role.sponsor.name == sponsor.name %} -
      - {% if open_role.url %} -
    • {{ open_role.name }}{{ open_role.description|linebreaks }}
    • - {% else %} -
    • {{ open_role.name }} {{ open_role.description|linebreaks }}
    • - {% endif %} -
    - {% endif %} - {% endfor %} -
    -
    -
    -
    -{% endfor %} - -{% endblock content %} diff --git a/src/templates/pycontw-2021/contents/en/sponsor/prospectus.html b/src/templates/pycontw-2021/contents/en/sponsor/prospectus.html deleted file mode 100644 index 41afcdf32..000000000 --- a/src/templates/pycontw-2021/contents/en/sponsor/prospectus.html +++ /dev/null @@ -1,339 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block body_class %}scroll-x{% endblock %} -{% block content %} - -{% url 'page' path='sponsor/community-tracks' as community_track_url %} - -
    -

    Sponsorship Prospectus

    -
    - -

    - - Contact: - - sponsorship@pycon.tw - to Sponsorship Team of PyCon Taiwan 2020 - -

    -

    - PyCon Taiwan 2020 Chair, Chun-Yu Tseng -
    - PyCon Taiwan 2020 Program Chair, Wei Lee -
    - PyCon Taiwan 2020 Sponsorship Director, You-Hao Chang -
    -

    -

    - PyCon Taiwan is the largest annual gathering for the community using and developing the open-source Python programming language in Taiwan. - "PyCon Taiwan" is a trademark authorized according to "PSF PyCon Trademark Usage Policy", and is organized by the Taiwan Python community and Open Culture Foundation (OCF, GUI 38552170) for growing the local community. -
    - PyCon Taiwan continues to connect with new community members locally, nationally, and globally. - Your sponsorship keeps PyCon Taiwan affordable and accessible to the widest potential audience. Having your support, we are able to provide financial aid to needed attendences. -
    - We have several sponsor packages including but not limited to the list below: -

    - -

    - We are eager to hear from you! Only you know your business and what your are looking for the best. We do provide cutomized sponsor packages and are more than willing to take your suggestions into build suitable packages. -

    -

    -Estimated attendance: 400+ (The first PyCon Taiwan in southern Taiwan!) -

    -

    -Quick stats from 2019: -

    -

    -

    -Conference Schedule (Taiwan timezone (UTC+8) if not specified) -

    -

    -

    Sponsor Packages

    - - -Notes -
      -
    1. - Job Fair Introduction, restricted to 5 minutes per organization. -
    2. -
    3. - PyCon TW 2020 will not produce a digital brochure, all information will be posted on our website and app. -
    4. -
    5. - PyCon TW 2020 do not provide tote bag and physical brochure to our participants. However, sponsors have the liberty to design, print and provide copies of their own handbook. -
    6. -
    7. - PyCon TW 2020 community track is currently divided into 5 sectors. The PyCon TW organization holds the final right to decide the location of each sponsor. Diamond and Platinum sponsors have the highest priority for venue selection (already included in the sponsorship plan). Gold sponsors have the option to select subscriptions (right after Diamond and Platinum). The total amount is limited, so the first-come-first-served is adopted. Priorities can pre-subscribe and choose venue. -
    8. -
    9. - The sponsoring talk in the community track is limited to 30 minutes, and 1 talk per community track. -
    10. -
    11. - Regarding the purchase restrictions on technical speeches, one sponsor can only have one of them basically. But if a sponsor has special needs, then the official will discuss and decide on it. Besides, If a sponsor above the gold level claims a community track, the selection order will take priority over the single purchase of technical speeches. -
    12. -
    13. - Diamond Sponsorship includes title rights, the company logo will be displayed with PyCon TW 2020. However, PyCon TW 2020 reserves the right to further evaluate such action. -
    14. -
    15. - Diamond Sponsorship includes the title right of the main meeting room, set sponsor can name the meeting room. Nevertheless, PyCon TW 2020 reserves the right to evaluate such action. -
    16. -
    17. - Transportation sponsorship includes the title right for PyCon TW 2020 shuttle bus. However, PyCon TW 2020 reserves the right to evaluate such action. -
    18. -
    19. - To further promote diversity of PyCon TW 2020, company (group/sponsoring) tickets will not exceeded 1/3 of the total pass sold. Thus, such group passes are sold in a first come first served manner, please order ASAP. -
    20. -
    21. - To ensure the quality of your speech, those who long to speak at the PyCon TW 2020 conference must be aware of Call for Proposal (CFP) deadlines. -
    22. -
    23. - In response to the impact of the COVID-19 epidemic, the sponsorship plan will be slightly modified and will be released in mid-June with the final meeting details. -
    24. -
    -{% endblock content %} diff --git a/src/templates/pycontw-2021/contents/en/sponsor/sponsor.html b/src/templates/pycontw-2021/contents/en/sponsor/sponsor.html deleted file mode 100644 index b06389232..000000000 --- a/src/templates/pycontw-2021/contents/en/sponsor/sponsor.html +++ /dev/null @@ -1,33 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block content %} -{% url 'page' path='sponsor/prospectus' as prospectus_url %} - -
    -

    Why Sponsorship

    - -
    - -

    PyCon Taiwan is driven both by our hardcore community members and, YOU, our awesome sponsor partners!

    - -

    Your generous support is the engine for us to move forward. Ever since PyCon Taiwan was first held in 2012, the conference has expend its visibility, accessibility, and varieties with a goal to continuously provide a platform for developers, new contributors, organizations, and companies to share knowledge and ideas and to strengthen Python communities in Taiwan.

    - -

    PyCon Taiwan calls for your sponsorship in order to create more possibilities for all this to happen. Our sponsorship packages make sure your benefits:

    - - - -

    Our sponsorship partners are what makes PyCon Taiwan possible! We work closely with our partners in order to optimize what PyCon Taiwan can offer. Look for your participation!

    - -

    See our full prospectus for Sponsorship Package

    -

    Talk us about sponsorship

    - -{% endblock content %} - diff --git a/src/templates/pycontw-2021/contents/zh/sponsor/prospectus.html b/src/templates/pycontw-2021/contents/zh/sponsor/prospectus.html deleted file mode 100644 index 15e0e50ba..000000000 --- a/src/templates/pycontw-2021/contents/zh/sponsor/prospectus.html +++ /dev/null @@ -1,336 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block body_class %}scroll-x{% endblock %} -{% block content %} - -{% url 'page' path='sponsor/community-tracks' as community_track_url %} - -
    -

    贊助方案

    -
    - -

    - - 聯絡方式:電子信箱 - - sponsorship@pycon.tw - 致「台灣 Python 年會贊助組」收 - -

    -

    - 台灣 Python 年會 2020 大會主席 曾君宇 -
    - 台灣 Python 年會 2020 議程主席 李唯 -
    - 台灣 Python 年會 2020 贊助總監 張祐豪 -
    -

    -

    - 台灣 Python 年會,是每年在台灣舉辦、並且聚集了最多的在地的使用、開發 Python 的社群技術研討會。 - 台灣 Python 年會是在 Python Software Foundation 授權下,由 Python 社群與財團法人開放文化基金會(統一編號 38552170)合作,自發性地為了 Python 社群自身所舉辦的年度技術研討會。 -
    - 台灣 Python 年會歷年來持續促進台灣的 Python 社群彼此之間,與台灣與國際上的 Python 社群彼此之間,有更多、更好、更緊密的交流,以期促進 Python 語言的成長與茁壯。 - 您的贊助會使得台灣 Python 年會能夠持續運作,並且盡可能觸及更多的會眾前往交流。我們不只舉辦年會,也透過財務補助的方式,鼓勵更多人前往參與台灣 Python 年會。 -
    - 我們期待您的來訊洽詢,請隨時透過上方的聯繫方式與我們聯繫、洽談最適合您的贊助方式,以達到您想要在 Python 社群曝光、徵才或是單純回饋 Python 社群的初衷與期待。 -

    - -

    -本次年會估計出席人數: 400+ (首次於濁水溪以南舉辦年會) -

    -

    -2019 快速綜覽: -

    -

    -

    -大會重要時間點 -

    -

    -

    各級贊助方案

    - - -備註 -
      -
    1. - 徵才介紹 (Job Fair), 每組 5 分鐘為限 -
    2. -
    3. - PyCon TW 2020 無電子版大會手冊,所有內容整合至網站以及 APP -
    4. -
    5. - PyCon TW 2020 無迎賓袋以及實體文宣,贊助商可自行自作發放。 -
    6. -
    7. - PyCon TW 2020 社群軌共有 5 個場地,PyCon TW 2020 主辦方擁有社群軌場地最終決定權,鑽石級以及白金級贊助商擁有最優先場地選擇權 (已包含在贊助方案中),金級贊助商則擁有選擇認購權 (次於鑽石級以及白金級),數量有限故採先搶先贏制度,優先者可預先認購以及選擇場地。若金級以上方案皆額滿且仍有社群軌空間尚未被認領,則開放至特別贊助方案。 -
    8. -
    9. - 贊助商方案中已包含之社群軌技術演講,或是加購之社群軌技術演講,以 30 分鐘為上限,且每個社群軌上限為 1 組。 -
    10. -
    11. - 關於技術演講的購買限制,基本上一個贊助商限制買一個,若廠商有特殊需求,則由主辦方討論與決定。此外,若有金級以上贊助商認領社群軌,則選擇順序會優先於單購買技術演講者。 -
    12. -
    13. - 鑽石級贊助方案包含之冠名贊助權,表示贊助者的標誌會與 PyCon TW 2020 同時出現,但 PyCon TW 2020 主辦方保留解釋權利。 -
    14. -
    15. - 鑽石級贊助方案包含之主場地會議室冠名權,表示贊助者可命名該會議室,但 PyCon TW 2020 主辦方保留審核權利。 -
    16. -
    17. - 特別贊助方案中的交通車認養方案包含之交通車冠名權,表示贊助者可命名該交通車,但 PyCon TW 2020 主辦方保留審核權利。 -
    18. -
    19. - 為求會眾多樣性,企業團購優惠票總量不會超過總報名會眾的三分之一。如有意購買此票種,請即早訂購,以免向隅。 -
    20. -
    21. - 目前僅接受社群軌時段的技術演講。 -
    22. -
    23. - 因應 COVID-19 - 疫情影響,贊助方案內容會有些許細部更動,會在六月中旬連同最終會議細節一起發佈。 -
    24. -
    -{% endblock content %} diff --git a/src/templates/pycontw-2021/contents/zh/sponsor/sponsor.html b/src/templates/pycontw-2021/contents/zh/sponsor/sponsor.html deleted file mode 100644 index 2aa425b1d..000000000 --- a/src/templates/pycontw-2021/contents/zh/sponsor/sponsor.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block content %} -{% url 'page' path='sponsor/prospectus' as prospectus_url %} - -
    -

    贊助召集令

    - -
    - -

    「您」的支持是推進 PyCon Taiwan 的強大動力!

    -

    PyCon Taiwan 在此召集「您」的加入,透過贊助以具體行動支持 python 社群的成長!

    -

    透過參與 PyCon Taiwan ,我們也提供贊助廠商以下的服務:

    - - - -

    歡迎參考 2020 PyCon Taiwan 贊助書,以了解 2020 PyCon Taiwan 贊助方案,或是聯絡我們,讓我們了解貴單位的需求!

    - -{% endblock content %} diff --git a/src/templates/pycontw-2021/index.html b/src/templates/pycontw-2021/index.html index 52cf3dfde..40479d85e 100644 --- a/src/templates/pycontw-2021/index.html +++ b/src/templates/pycontw-2021/index.html @@ -54,27 +54,7 @@
    {% trans 'Call for Proposals' %}
    - - {% comment %} - - -
    {% trans 'Sponsor PyCon TW' %}
    -
    - {% endcomment %} - {% comment %} - - -
    {% trans 'Sponsor PyCon TW' %}
    -
    - {% endcomment %} - {% comment %} - - -
    {% trans 'Sponsor PyCon TW' %}
    -
    - {% endcomment %} -{% comment %} {% include '_includes/sponsors.html' %} {% endcomment %}
    diff --git a/src/templates/pycontw-2022/_includes/menu.html b/src/templates/pycontw-2022/_includes/menu.html index ab336e69a..cb7d39182 100644 --- a/src/templates/pycontw-2022/_includes/menu.html +++ b/src/templates/pycontw-2022/_includes/menu.html @@ -6,8 +6,6 @@ {% url 'page' path='about/community' as about_community_url %} {% url 'page' path='about/staff' as about_staff_url %} -{% url 'page' path='sponsor/sponsor' as sponsor_url %} - {% url 'page' path='speaking/cfp' as speaking_cfp_url %} {% url 'page' path='speaking/talk' as speaking_talk_url %} {% url 'page' path='speaking/tutorial' as speaking_tutorial_url %} @@ -42,11 +40,6 @@
  • -
  • - - {% trans 'Sponsor' %} - -
  • {# Ordering matters here. input must be ahead of label and .submenu for styling to work! See code in .menu-navbar-desktop .menu > li. #} diff --git a/src/templates/pycontw-2022/_includes/sponsors.html b/src/templates/pycontw-2022/_includes/sponsors.html deleted file mode 100644 index a571169e0..000000000 --- a/src/templates/pycontw-2022/_includes/sponsors.html +++ /dev/null @@ -1,71 +0,0 @@ -{% load i18n static %} - -
    -

    - {% trans 'Sponsor Partners' %} -

    -
    - - {% for name, section in sponsor_sections %} -
    - {% for sponsor in section %} -
    - {{ name }} - - {% if sponsor.logo %} - - {% else %} - {{ sponsor.name }} - {% endif %} - - -
    - {% endfor %} -
    - - {% endfor %} -
    -
    diff --git a/src/templates/pycontw-2022/ccip/sponsors.html b/src/templates/pycontw-2022/ccip/sponsors.html deleted file mode 100644 index d8a346da3..000000000 --- a/src/templates/pycontw-2022/ccip/sponsors.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends 'base.html' %} - -{% load i18n static %} - -{% block styles %} - -{% endblock %} - -{% block extra_css %} - -{% endblock extra_css %} - -{% block titletag %} -PyCon Taiwan 2020 -{% endblock titletag %} - -{% block nav %}{% endblock nav %} - -{% block content_full %} -{% language 'en-us' %} -{% include '_includes/sponsors.html' %} -{% endlanguage %} -{% endblock content_full %} - -{% block footer %} -
    -{% endblock footer %} diff --git a/src/templates/pycontw-2022/contents/_default/events/job-listings.html b/src/templates/pycontw-2022/contents/_default/events/job-listings.html deleted file mode 100644 index ba9a250f9..000000000 --- a/src/templates/pycontw-2022/contents/_default/events/job-listings.html +++ /dev/null @@ -1,76 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n static %} -{% load sponsors %} -{% load events %} - -{% block titletag %} -【2020年Python工作職缺】Python知名企業職缺一覽表 -{% endblock titletag %} -{% block meta_seo %} - - - - - -{% endblock meta_seo %} -{% block meta_og %} - - - - - - -{% endblock meta_og%} - - -{% block body_class %}job-listings-page{% endblock body_class %} - -{% block content %} - - -
    -

    {% trans 'Job Listings' %}

    -
    - - -{% get_open_roles_of_sponsors as open_roles_of_sponsors %} -{% get_open_roles as open_roles %} - -{% for sponsor in open_roles_of_sponsors %} -
    -
    -
    - {% if sponsor.logo.url %} - - {% endif %} -
    {{ sponsor.name }}
    -
    -
    -
    -
      -
    • - {% trans 'Open Roles' %} -
    • -
    -
    -
    -

    {% trans 'Open Roles' %}

    - {% for open_role in open_roles %} - {% if open_role.sponsor.name == sponsor.name %} -
      - {% if open_role.url %} -
    • {{ open_role.name }}{{ open_role.description|linebreaks }}
    • - {% else %} -
    • {{ open_role.name }} {{ open_role.description|linebreaks }}
    • - {% endif %} -
    - {% endif %} - {% endfor %} -
    -
    -
    -
    -{% endfor %} - -{% endblock content %} diff --git a/src/templates/pycontw-2022/contents/en/sponsor/prospectus.html b/src/templates/pycontw-2022/contents/en/sponsor/prospectus.html deleted file mode 100644 index 41afcdf32..000000000 --- a/src/templates/pycontw-2022/contents/en/sponsor/prospectus.html +++ /dev/null @@ -1,339 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block body_class %}scroll-x{% endblock %} -{% block content %} - -{% url 'page' path='sponsor/community-tracks' as community_track_url %} - -
    -

    Sponsorship Prospectus

    -
    - -

    - - Contact: - - sponsorship@pycon.tw - to Sponsorship Team of PyCon Taiwan 2020 - -

    -

    - PyCon Taiwan 2020 Chair, Chun-Yu Tseng -
    - PyCon Taiwan 2020 Program Chair, Wei Lee -
    - PyCon Taiwan 2020 Sponsorship Director, You-Hao Chang -
    -

    -

    - PyCon Taiwan is the largest annual gathering for the community using and developing the open-source Python programming language in Taiwan. - "PyCon Taiwan" is a trademark authorized according to "PSF PyCon Trademark Usage Policy", and is organized by the Taiwan Python community and Open Culture Foundation (OCF, GUI 38552170) for growing the local community. -
    - PyCon Taiwan continues to connect with new community members locally, nationally, and globally. - Your sponsorship keeps PyCon Taiwan affordable and accessible to the widest potential audience. Having your support, we are able to provide financial aid to needed attendences. -
    - We have several sponsor packages including but not limited to the list below: -

    - -

    - We are eager to hear from you! Only you know your business and what your are looking for the best. We do provide cutomized sponsor packages and are more than willing to take your suggestions into build suitable packages. -

    -

    -Estimated attendance: 400+ (The first PyCon Taiwan in southern Taiwan!) -

    -

    -Quick stats from 2019: -

    -

    -

    -Conference Schedule (Taiwan timezone (UTC+8) if not specified) -

    -

    -

    Sponsor Packages

    - - -Notes -
      -
    1. - Job Fair Introduction, restricted to 5 minutes per organization. -
    2. -
    3. - PyCon TW 2020 will not produce a digital brochure, all information will be posted on our website and app. -
    4. -
    5. - PyCon TW 2020 do not provide tote bag and physical brochure to our participants. However, sponsors have the liberty to design, print and provide copies of their own handbook. -
    6. -
    7. - PyCon TW 2020 community track is currently divided into 5 sectors. The PyCon TW organization holds the final right to decide the location of each sponsor. Diamond and Platinum sponsors have the highest priority for venue selection (already included in the sponsorship plan). Gold sponsors have the option to select subscriptions (right after Diamond and Platinum). The total amount is limited, so the first-come-first-served is adopted. Priorities can pre-subscribe and choose venue. -
    8. -
    9. - The sponsoring talk in the community track is limited to 30 minutes, and 1 talk per community track. -
    10. -
    11. - Regarding the purchase restrictions on technical speeches, one sponsor can only have one of them basically. But if a sponsor has special needs, then the official will discuss and decide on it. Besides, If a sponsor above the gold level claims a community track, the selection order will take priority over the single purchase of technical speeches. -
    12. -
    13. - Diamond Sponsorship includes title rights, the company logo will be displayed with PyCon TW 2020. However, PyCon TW 2020 reserves the right to further evaluate such action. -
    14. -
    15. - Diamond Sponsorship includes the title right of the main meeting room, set sponsor can name the meeting room. Nevertheless, PyCon TW 2020 reserves the right to evaluate such action. -
    16. -
    17. - Transportation sponsorship includes the title right for PyCon TW 2020 shuttle bus. However, PyCon TW 2020 reserves the right to evaluate such action. -
    18. -
    19. - To further promote diversity of PyCon TW 2020, company (group/sponsoring) tickets will not exceeded 1/3 of the total pass sold. Thus, such group passes are sold in a first come first served manner, please order ASAP. -
    20. -
    21. - To ensure the quality of your speech, those who long to speak at the PyCon TW 2020 conference must be aware of Call for Proposal (CFP) deadlines. -
    22. -
    23. - In response to the impact of the COVID-19 epidemic, the sponsorship plan will be slightly modified and will be released in mid-June with the final meeting details. -
    24. -
    -{% endblock content %} diff --git a/src/templates/pycontw-2022/contents/en/sponsor/sponsor.html b/src/templates/pycontw-2022/contents/en/sponsor/sponsor.html deleted file mode 100644 index b06389232..000000000 --- a/src/templates/pycontw-2022/contents/en/sponsor/sponsor.html +++ /dev/null @@ -1,33 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block content %} -{% url 'page' path='sponsor/prospectus' as prospectus_url %} - -
    -

    Why Sponsorship

    - -
    - -

    PyCon Taiwan is driven both by our hardcore community members and, YOU, our awesome sponsor partners!

    - -

    Your generous support is the engine for us to move forward. Ever since PyCon Taiwan was first held in 2012, the conference has expend its visibility, accessibility, and varieties with a goal to continuously provide a platform for developers, new contributors, organizations, and companies to share knowledge and ideas and to strengthen Python communities in Taiwan.

    - -

    PyCon Taiwan calls for your sponsorship in order to create more possibilities for all this to happen. Our sponsorship packages make sure your benefits:

    - - - -

    Our sponsorship partners are what makes PyCon Taiwan possible! We work closely with our partners in order to optimize what PyCon Taiwan can offer. Look for your participation!

    - -

    See our full prospectus for Sponsorship Package

    -

    Talk us about sponsorship

    - -{% endblock content %} - diff --git a/src/templates/pycontw-2022/contents/zh/sponsor/prospectus.html b/src/templates/pycontw-2022/contents/zh/sponsor/prospectus.html deleted file mode 100644 index 15e0e50ba..000000000 --- a/src/templates/pycontw-2022/contents/zh/sponsor/prospectus.html +++ /dev/null @@ -1,336 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block body_class %}scroll-x{% endblock %} -{% block content %} - -{% url 'page' path='sponsor/community-tracks' as community_track_url %} - -
    -

    贊助方案

    -
    - -

    - - 聯絡方式:電子信箱 - - sponsorship@pycon.tw - 致「台灣 Python 年會贊助組」收 - -

    -

    - 台灣 Python 年會 2020 大會主席 曾君宇 -
    - 台灣 Python 年會 2020 議程主席 李唯 -
    - 台灣 Python 年會 2020 贊助總監 張祐豪 -
    -

    -

    - 台灣 Python 年會,是每年在台灣舉辦、並且聚集了最多的在地的使用、開發 Python 的社群技術研討會。 - 台灣 Python 年會是在 Python Software Foundation 授權下,由 Python 社群與財團法人開放文化基金會(統一編號 38552170)合作,自發性地為了 Python 社群自身所舉辦的年度技術研討會。 -
    - 台灣 Python 年會歷年來持續促進台灣的 Python 社群彼此之間,與台灣與國際上的 Python 社群彼此之間,有更多、更好、更緊密的交流,以期促進 Python 語言的成長與茁壯。 - 您的贊助會使得台灣 Python 年會能夠持續運作,並且盡可能觸及更多的會眾前往交流。我們不只舉辦年會,也透過財務補助的方式,鼓勵更多人前往參與台灣 Python 年會。 -
    - 我們期待您的來訊洽詢,請隨時透過上方的聯繫方式與我們聯繫、洽談最適合您的贊助方式,以達到您想要在 Python 社群曝光、徵才或是單純回饋 Python 社群的初衷與期待。 -

    - -

    -本次年會估計出席人數: 400+ (首次於濁水溪以南舉辦年會) -

    -

    -2019 快速綜覽: -

    -

    -

    -大會重要時間點 -

    -

    -

    各級贊助方案

    - - -備註 -
      -
    1. - 徵才介紹 (Job Fair), 每組 5 分鐘為限 -
    2. -
    3. - PyCon TW 2020 無電子版大會手冊,所有內容整合至網站以及 APP -
    4. -
    5. - PyCon TW 2020 無迎賓袋以及實體文宣,贊助商可自行自作發放。 -
    6. -
    7. - PyCon TW 2020 社群軌共有 5 個場地,PyCon TW 2020 主辦方擁有社群軌場地最終決定權,鑽石級以及白金級贊助商擁有最優先場地選擇權 (已包含在贊助方案中),金級贊助商則擁有選擇認購權 (次於鑽石級以及白金級),數量有限故採先搶先贏制度,優先者可預先認購以及選擇場地。若金級以上方案皆額滿且仍有社群軌空間尚未被認領,則開放至特別贊助方案。 -
    8. -
    9. - 贊助商方案中已包含之社群軌技術演講,或是加購之社群軌技術演講,以 30 分鐘為上限,且每個社群軌上限為 1 組。 -
    10. -
    11. - 關於技術演講的購買限制,基本上一個贊助商限制買一個,若廠商有特殊需求,則由主辦方討論與決定。此外,若有金級以上贊助商認領社群軌,則選擇順序會優先於單購買技術演講者。 -
    12. -
    13. - 鑽石級贊助方案包含之冠名贊助權,表示贊助者的標誌會與 PyCon TW 2020 同時出現,但 PyCon TW 2020 主辦方保留解釋權利。 -
    14. -
    15. - 鑽石級贊助方案包含之主場地會議室冠名權,表示贊助者可命名該會議室,但 PyCon TW 2020 主辦方保留審核權利。 -
    16. -
    17. - 特別贊助方案中的交通車認養方案包含之交通車冠名權,表示贊助者可命名該交通車,但 PyCon TW 2020 主辦方保留審核權利。 -
    18. -
    19. - 為求會眾多樣性,企業團購優惠票總量不會超過總報名會眾的三分之一。如有意購買此票種,請即早訂購,以免向隅。 -
    20. -
    21. - 目前僅接受社群軌時段的技術演講。 -
    22. -
    23. - 因應 COVID-19 - 疫情影響,贊助方案內容會有些許細部更動,會在六月中旬連同最終會議細節一起發佈。 -
    24. -
    -{% endblock content %} diff --git a/src/templates/pycontw-2022/contents/zh/sponsor/sponsor.html b/src/templates/pycontw-2022/contents/zh/sponsor/sponsor.html deleted file mode 100644 index 2aa425b1d..000000000 --- a/src/templates/pycontw-2022/contents/zh/sponsor/sponsor.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block content %} -{% url 'page' path='sponsor/prospectus' as prospectus_url %} - -
    -

    贊助召集令

    - -
    - -

    「您」的支持是推進 PyCon Taiwan 的強大動力!

    -

    PyCon Taiwan 在此召集「您」的加入,透過贊助以具體行動支持 python 社群的成長!

    -

    透過參與 PyCon Taiwan ,我們也提供贊助廠商以下的服務:

    - - - -

    歡迎參考 2020 PyCon Taiwan 贊助書,以了解 2020 PyCon Taiwan 贊助方案,或是聯絡我們,讓我們了解貴單位的需求!

    - -{% endblock content %} diff --git a/src/templates/pycontw-2022/index.html b/src/templates/pycontw-2022/index.html index 52cf3dfde..40479d85e 100644 --- a/src/templates/pycontw-2022/index.html +++ b/src/templates/pycontw-2022/index.html @@ -54,27 +54,7 @@
    {% trans 'Call for Proposals' %}
    - - {% comment %} - - -
    {% trans 'Sponsor PyCon TW' %}
    -
    - {% endcomment %} - {% comment %} - - -
    {% trans 'Sponsor PyCon TW' %}
    -
    - {% endcomment %} - {% comment %} - - -
    {% trans 'Sponsor PyCon TW' %}
    -
    - {% endcomment %} -{% comment %} {% include '_includes/sponsors.html' %} {% endcomment %}
    diff --git a/src/templates/pycontw-2023/_includes/menu.html b/src/templates/pycontw-2023/_includes/menu.html index ab336e69a..cb7d39182 100644 --- a/src/templates/pycontw-2023/_includes/menu.html +++ b/src/templates/pycontw-2023/_includes/menu.html @@ -6,8 +6,6 @@ {% url 'page' path='about/community' as about_community_url %} {% url 'page' path='about/staff' as about_staff_url %} -{% url 'page' path='sponsor/sponsor' as sponsor_url %} - {% url 'page' path='speaking/cfp' as speaking_cfp_url %} {% url 'page' path='speaking/talk' as speaking_talk_url %} {% url 'page' path='speaking/tutorial' as speaking_tutorial_url %} @@ -42,11 +40,6 @@
  • -
  • - - {% trans 'Sponsor' %} - -
  • {# Ordering matters here. input must be ahead of label and .submenu for styling to work! See code in .menu-navbar-desktop .menu > li. #} diff --git a/src/templates/pycontw-2023/_includes/sponsors.html b/src/templates/pycontw-2023/_includes/sponsors.html deleted file mode 100644 index a571169e0..000000000 --- a/src/templates/pycontw-2023/_includes/sponsors.html +++ /dev/null @@ -1,71 +0,0 @@ -{% load i18n static %} - -
    -

    - {% trans 'Sponsor Partners' %} -

    -
    - - {% for name, section in sponsor_sections %} -
    - {% for sponsor in section %} -
    - {{ name }} - - {% if sponsor.logo %} - - {% else %} - {{ sponsor.name }} - {% endif %} - - -
    - {% endfor %} -
    - - {% endfor %} -
    -
    diff --git a/src/templates/pycontw-2023/ccip/sponsors.html b/src/templates/pycontw-2023/ccip/sponsors.html deleted file mode 100644 index d8a346da3..000000000 --- a/src/templates/pycontw-2023/ccip/sponsors.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends 'base.html' %} - -{% load i18n static %} - -{% block styles %} - -{% endblock %} - -{% block extra_css %} - -{% endblock extra_css %} - -{% block titletag %} -PyCon Taiwan 2020 -{% endblock titletag %} - -{% block nav %}{% endblock nav %} - -{% block content_full %} -{% language 'en-us' %} -{% include '_includes/sponsors.html' %} -{% endlanguage %} -{% endblock content_full %} - -{% block footer %} -
    -{% endblock footer %} diff --git a/src/templates/pycontw-2023/contents/_default/events/job-listings.html b/src/templates/pycontw-2023/contents/_default/events/job-listings.html deleted file mode 100644 index ba9a250f9..000000000 --- a/src/templates/pycontw-2023/contents/_default/events/job-listings.html +++ /dev/null @@ -1,76 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n static %} -{% load sponsors %} -{% load events %} - -{% block titletag %} -【2020年Python工作職缺】Python知名企業職缺一覽表 -{% endblock titletag %} -{% block meta_seo %} - - - - - -{% endblock meta_seo %} -{% block meta_og %} - - - - - - -{% endblock meta_og%} - - -{% block body_class %}job-listings-page{% endblock body_class %} - -{% block content %} - - -
    -

    {% trans 'Job Listings' %}

    -
    - - -{% get_open_roles_of_sponsors as open_roles_of_sponsors %} -{% get_open_roles as open_roles %} - -{% for sponsor in open_roles_of_sponsors %} -
    -
    -
    - {% if sponsor.logo.url %} - - {% endif %} -
    {{ sponsor.name }}
    -
    -
    -
    -
      -
    • - {% trans 'Open Roles' %} -
    • -
    -
    -
    -

    {% trans 'Open Roles' %}

    - {% for open_role in open_roles %} - {% if open_role.sponsor.name == sponsor.name %} -
      - {% if open_role.url %} -
    • {{ open_role.name }}{{ open_role.description|linebreaks }}
    • - {% else %} -
    • {{ open_role.name }} {{ open_role.description|linebreaks }}
    • - {% endif %} -
    - {% endif %} - {% endfor %} -
    -
    -
    -
    -{% endfor %} - -{% endblock content %} diff --git a/src/templates/pycontw-2023/contents/en/sponsor/prospectus.html b/src/templates/pycontw-2023/contents/en/sponsor/prospectus.html deleted file mode 100644 index 41afcdf32..000000000 --- a/src/templates/pycontw-2023/contents/en/sponsor/prospectus.html +++ /dev/null @@ -1,339 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block body_class %}scroll-x{% endblock %} -{% block content %} - -{% url 'page' path='sponsor/community-tracks' as community_track_url %} - -
    -

    Sponsorship Prospectus

    -
    - -

    - - Contact: - - sponsorship@pycon.tw - to Sponsorship Team of PyCon Taiwan 2020 - -

    -

    - PyCon Taiwan 2020 Chair, Chun-Yu Tseng -
    - PyCon Taiwan 2020 Program Chair, Wei Lee -
    - PyCon Taiwan 2020 Sponsorship Director, You-Hao Chang -
    -

    -

    - PyCon Taiwan is the largest annual gathering for the community using and developing the open-source Python programming language in Taiwan. - "PyCon Taiwan" is a trademark authorized according to "PSF PyCon Trademark Usage Policy", and is organized by the Taiwan Python community and Open Culture Foundation (OCF, GUI 38552170) for growing the local community. -
    - PyCon Taiwan continues to connect with new community members locally, nationally, and globally. - Your sponsorship keeps PyCon Taiwan affordable and accessible to the widest potential audience. Having your support, we are able to provide financial aid to needed attendences. -
    - We have several sponsor packages including but not limited to the list below: -

    - -

    - We are eager to hear from you! Only you know your business and what your are looking for the best. We do provide cutomized sponsor packages and are more than willing to take your suggestions into build suitable packages. -

    -

    -Estimated attendance: 400+ (The first PyCon Taiwan in southern Taiwan!) -

    -

    -Quick stats from 2019: -

    -

    -

    -Conference Schedule (Taiwan timezone (UTC+8) if not specified) -

    -

    -

    Sponsor Packages

    - - -Notes -
      -
    1. - Job Fair Introduction, restricted to 5 minutes per organization. -
    2. -
    3. - PyCon TW 2020 will not produce a digital brochure, all information will be posted on our website and app. -
    4. -
    5. - PyCon TW 2020 do not provide tote bag and physical brochure to our participants. However, sponsors have the liberty to design, print and provide copies of their own handbook. -
    6. -
    7. - PyCon TW 2020 community track is currently divided into 5 sectors. The PyCon TW organization holds the final right to decide the location of each sponsor. Diamond and Platinum sponsors have the highest priority for venue selection (already included in the sponsorship plan). Gold sponsors have the option to select subscriptions (right after Diamond and Platinum). The total amount is limited, so the first-come-first-served is adopted. Priorities can pre-subscribe and choose venue. -
    8. -
    9. - The sponsoring talk in the community track is limited to 30 minutes, and 1 talk per community track. -
    10. -
    11. - Regarding the purchase restrictions on technical speeches, one sponsor can only have one of them basically. But if a sponsor has special needs, then the official will discuss and decide on it. Besides, If a sponsor above the gold level claims a community track, the selection order will take priority over the single purchase of technical speeches. -
    12. -
    13. - Diamond Sponsorship includes title rights, the company logo will be displayed with PyCon TW 2020. However, PyCon TW 2020 reserves the right to further evaluate such action. -
    14. -
    15. - Diamond Sponsorship includes the title right of the main meeting room, set sponsor can name the meeting room. Nevertheless, PyCon TW 2020 reserves the right to evaluate such action. -
    16. -
    17. - Transportation sponsorship includes the title right for PyCon TW 2020 shuttle bus. However, PyCon TW 2020 reserves the right to evaluate such action. -
    18. -
    19. - To further promote diversity of PyCon TW 2020, company (group/sponsoring) tickets will not exceeded 1/3 of the total pass sold. Thus, such group passes are sold in a first come first served manner, please order ASAP. -
    20. -
    21. - To ensure the quality of your speech, those who long to speak at the PyCon TW 2020 conference must be aware of Call for Proposal (CFP) deadlines. -
    22. -
    23. - In response to the impact of the COVID-19 epidemic, the sponsorship plan will be slightly modified and will be released in mid-June with the final meeting details. -
    24. -
    -{% endblock content %} diff --git a/src/templates/pycontw-2023/contents/en/sponsor/sponsor.html b/src/templates/pycontw-2023/contents/en/sponsor/sponsor.html deleted file mode 100644 index b06389232..000000000 --- a/src/templates/pycontw-2023/contents/en/sponsor/sponsor.html +++ /dev/null @@ -1,33 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block content %} -{% url 'page' path='sponsor/prospectus' as prospectus_url %} - -
    -

    Why Sponsorship

    - -
    - -

    PyCon Taiwan is driven both by our hardcore community members and, YOU, our awesome sponsor partners!

    - -

    Your generous support is the engine for us to move forward. Ever since PyCon Taiwan was first held in 2012, the conference has expend its visibility, accessibility, and varieties with a goal to continuously provide a platform for developers, new contributors, organizations, and companies to share knowledge and ideas and to strengthen Python communities in Taiwan.

    - -

    PyCon Taiwan calls for your sponsorship in order to create more possibilities for all this to happen. Our sponsorship packages make sure your benefits:

    - - - -

    Our sponsorship partners are what makes PyCon Taiwan possible! We work closely with our partners in order to optimize what PyCon Taiwan can offer. Look for your participation!

    - -

    See our full prospectus for Sponsorship Package

    -

    Talk us about sponsorship

    - -{% endblock content %} - diff --git a/src/templates/pycontw-2023/contents/zh/sponsor/prospectus.html b/src/templates/pycontw-2023/contents/zh/sponsor/prospectus.html deleted file mode 100644 index 15e0e50ba..000000000 --- a/src/templates/pycontw-2023/contents/zh/sponsor/prospectus.html +++ /dev/null @@ -1,336 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block body_class %}scroll-x{% endblock %} -{% block content %} - -{% url 'page' path='sponsor/community-tracks' as community_track_url %} - -
    -

    贊助方案

    -
    - -

    - - 聯絡方式:電子信箱 - - sponsorship@pycon.tw - 致「台灣 Python 年會贊助組」收 - -

    -

    - 台灣 Python 年會 2020 大會主席 曾君宇 -
    - 台灣 Python 年會 2020 議程主席 李唯 -
    - 台灣 Python 年會 2020 贊助總監 張祐豪 -
    -

    -

    - 台灣 Python 年會,是每年在台灣舉辦、並且聚集了最多的在地的使用、開發 Python 的社群技術研討會。 - 台灣 Python 年會是在 Python Software Foundation 授權下,由 Python 社群與財團法人開放文化基金會(統一編號 38552170)合作,自發性地為了 Python 社群自身所舉辦的年度技術研討會。 -
    - 台灣 Python 年會歷年來持續促進台灣的 Python 社群彼此之間,與台灣與國際上的 Python 社群彼此之間,有更多、更好、更緊密的交流,以期促進 Python 語言的成長與茁壯。 - 您的贊助會使得台灣 Python 年會能夠持續運作,並且盡可能觸及更多的會眾前往交流。我們不只舉辦年會,也透過財務補助的方式,鼓勵更多人前往參與台灣 Python 年會。 -
    - 我們期待您的來訊洽詢,請隨時透過上方的聯繫方式與我們聯繫、洽談最適合您的贊助方式,以達到您想要在 Python 社群曝光、徵才或是單純回饋 Python 社群的初衷與期待。 -

    - -

    -本次年會估計出席人數: 400+ (首次於濁水溪以南舉辦年會) -

    -

    -2019 快速綜覽: -

    -

    -

    -大會重要時間點 -

    -

    -

    各級贊助方案

    - - -備註 -
      -
    1. - 徵才介紹 (Job Fair), 每組 5 分鐘為限 -
    2. -
    3. - PyCon TW 2020 無電子版大會手冊,所有內容整合至網站以及 APP -
    4. -
    5. - PyCon TW 2020 無迎賓袋以及實體文宣,贊助商可自行自作發放。 -
    6. -
    7. - PyCon TW 2020 社群軌共有 5 個場地,PyCon TW 2020 主辦方擁有社群軌場地最終決定權,鑽石級以及白金級贊助商擁有最優先場地選擇權 (已包含在贊助方案中),金級贊助商則擁有選擇認購權 (次於鑽石級以及白金級),數量有限故採先搶先贏制度,優先者可預先認購以及選擇場地。若金級以上方案皆額滿且仍有社群軌空間尚未被認領,則開放至特別贊助方案。 -
    8. -
    9. - 贊助商方案中已包含之社群軌技術演講,或是加購之社群軌技術演講,以 30 分鐘為上限,且每個社群軌上限為 1 組。 -
    10. -
    11. - 關於技術演講的購買限制,基本上一個贊助商限制買一個,若廠商有特殊需求,則由主辦方討論與決定。此外,若有金級以上贊助商認領社群軌,則選擇順序會優先於單購買技術演講者。 -
    12. -
    13. - 鑽石級贊助方案包含之冠名贊助權,表示贊助者的標誌會與 PyCon TW 2020 同時出現,但 PyCon TW 2020 主辦方保留解釋權利。 -
    14. -
    15. - 鑽石級贊助方案包含之主場地會議室冠名權,表示贊助者可命名該會議室,但 PyCon TW 2020 主辦方保留審核權利。 -
    16. -
    17. - 特別贊助方案中的交通車認養方案包含之交通車冠名權,表示贊助者可命名該交通車,但 PyCon TW 2020 主辦方保留審核權利。 -
    18. -
    19. - 為求會眾多樣性,企業團購優惠票總量不會超過總報名會眾的三分之一。如有意購買此票種,請即早訂購,以免向隅。 -
    20. -
    21. - 目前僅接受社群軌時段的技術演講。 -
    22. -
    23. - 因應 COVID-19 - 疫情影響,贊助方案內容會有些許細部更動,會在六月中旬連同最終會議細節一起發佈。 -
    24. -
    -{% endblock content %} diff --git a/src/templates/pycontw-2023/contents/zh/sponsor/sponsor.html b/src/templates/pycontw-2023/contents/zh/sponsor/sponsor.html deleted file mode 100644 index 2aa425b1d..000000000 --- a/src/templates/pycontw-2023/contents/zh/sponsor/sponsor.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block content %} -{% url 'page' path='sponsor/prospectus' as prospectus_url %} - -
    -

    贊助召集令

    - -
    - -

    「您」的支持是推進 PyCon Taiwan 的強大動力!

    -

    PyCon Taiwan 在此召集「您」的加入,透過贊助以具體行動支持 python 社群的成長!

    -

    透過參與 PyCon Taiwan ,我們也提供贊助廠商以下的服務:

    - - - -

    歡迎參考 2020 PyCon Taiwan 贊助書,以了解 2020 PyCon Taiwan 贊助方案,或是聯絡我們,讓我們了解貴單位的需求!

    - -{% endblock content %} diff --git a/src/templates/pycontw-2023/index.html b/src/templates/pycontw-2023/index.html index f8bc05283..de85a0b9e 100644 --- a/src/templates/pycontw-2023/index.html +++ b/src/templates/pycontw-2023/index.html @@ -54,27 +54,7 @@
    {% trans 'Call for Proposals' %}
    - - {% comment %} - - -
    {% trans 'Sponsor PyCon TW' %}
    -
    - {% endcomment %} - {% comment %} - - -
    {% trans 'Sponsor PyCon TW' %}
    -
    - {% endcomment %} - {% comment %} - - -
    {% trans 'Sponsor PyCon TW' %}
    -
    - {% endcomment %} -{% comment %} {% include '_includes/sponsors.html' %} {% endcomment %}
    diff --git a/src/templates/pycontw-2024/_includes/menu.html b/src/templates/pycontw-2024/_includes/menu.html index ab336e69a..cb7d39182 100644 --- a/src/templates/pycontw-2024/_includes/menu.html +++ b/src/templates/pycontw-2024/_includes/menu.html @@ -6,8 +6,6 @@ {% url 'page' path='about/community' as about_community_url %} {% url 'page' path='about/staff' as about_staff_url %} -{% url 'page' path='sponsor/sponsor' as sponsor_url %} - {% url 'page' path='speaking/cfp' as speaking_cfp_url %} {% url 'page' path='speaking/talk' as speaking_talk_url %} {% url 'page' path='speaking/tutorial' as speaking_tutorial_url %} @@ -42,11 +40,6 @@
  • -
  • - - {% trans 'Sponsor' %} - -
  • {# Ordering matters here. input must be ahead of label and .submenu for styling to work! See code in .menu-navbar-desktop .menu > li. #} diff --git a/src/templates/pycontw-2024/_includes/sponsors.html b/src/templates/pycontw-2024/_includes/sponsors.html deleted file mode 100644 index a571169e0..000000000 --- a/src/templates/pycontw-2024/_includes/sponsors.html +++ /dev/null @@ -1,71 +0,0 @@ -{% load i18n static %} - -
    -

    - {% trans 'Sponsor Partners' %} -

    -
    - - {% for name, section in sponsor_sections %} -
    - {% for sponsor in section %} -
    - {{ name }} - - {% if sponsor.logo %} - - {% else %} - {{ sponsor.name }} - {% endif %} - - -
    - {% endfor %} -
    - - {% endfor %} -
    -
    diff --git a/src/templates/pycontw-2024/ccip/sponsors.html b/src/templates/pycontw-2024/ccip/sponsors.html deleted file mode 100644 index d8a346da3..000000000 --- a/src/templates/pycontw-2024/ccip/sponsors.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends 'base.html' %} - -{% load i18n static %} - -{% block styles %} - -{% endblock %} - -{% block extra_css %} - -{% endblock extra_css %} - -{% block titletag %} -PyCon Taiwan 2020 -{% endblock titletag %} - -{% block nav %}{% endblock nav %} - -{% block content_full %} -{% language 'en-us' %} -{% include '_includes/sponsors.html' %} -{% endlanguage %} -{% endblock content_full %} - -{% block footer %} -
    -{% endblock footer %} diff --git a/src/templates/pycontw-2024/contents/_default/events/job-listings.html b/src/templates/pycontw-2024/contents/_default/events/job-listings.html deleted file mode 100644 index ba9a250f9..000000000 --- a/src/templates/pycontw-2024/contents/_default/events/job-listings.html +++ /dev/null @@ -1,76 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n static %} -{% load sponsors %} -{% load events %} - -{% block titletag %} -【2020年Python工作職缺】Python知名企業職缺一覽表 -{% endblock titletag %} -{% block meta_seo %} - - - - - -{% endblock meta_seo %} -{% block meta_og %} - - - - - - -{% endblock meta_og%} - - -{% block body_class %}job-listings-page{% endblock body_class %} - -{% block content %} - - -
    -

    {% trans 'Job Listings' %}

    -
    - - -{% get_open_roles_of_sponsors as open_roles_of_sponsors %} -{% get_open_roles as open_roles %} - -{% for sponsor in open_roles_of_sponsors %} -
    -
    -
    - {% if sponsor.logo.url %} - - {% endif %} -
    {{ sponsor.name }}
    -
    -
    -
    -
      -
    • - {% trans 'Open Roles' %} -
    • -
    -
    -
    -

    {% trans 'Open Roles' %}

    - {% for open_role in open_roles %} - {% if open_role.sponsor.name == sponsor.name %} -
      - {% if open_role.url %} -
    • {{ open_role.name }}{{ open_role.description|linebreaks }}
    • - {% else %} -
    • {{ open_role.name }} {{ open_role.description|linebreaks }}
    • - {% endif %} -
    - {% endif %} - {% endfor %} -
    -
    -
    -
    -{% endfor %} - -{% endblock content %} diff --git a/src/templates/pycontw-2024/contents/en/sponsor/prospectus.html b/src/templates/pycontw-2024/contents/en/sponsor/prospectus.html deleted file mode 100644 index 41afcdf32..000000000 --- a/src/templates/pycontw-2024/contents/en/sponsor/prospectus.html +++ /dev/null @@ -1,339 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block body_class %}scroll-x{% endblock %} -{% block content %} - -{% url 'page' path='sponsor/community-tracks' as community_track_url %} - -
    -

    Sponsorship Prospectus

    -
    - -

    - - Contact: - - sponsorship@pycon.tw - to Sponsorship Team of PyCon Taiwan 2020 - -

    -

    - PyCon Taiwan 2020 Chair, Chun-Yu Tseng -
    - PyCon Taiwan 2020 Program Chair, Wei Lee -
    - PyCon Taiwan 2020 Sponsorship Director, You-Hao Chang -
    -

    -

    - PyCon Taiwan is the largest annual gathering for the community using and developing the open-source Python programming language in Taiwan. - "PyCon Taiwan" is a trademark authorized according to "PSF PyCon Trademark Usage Policy", and is organized by the Taiwan Python community and Open Culture Foundation (OCF, GUI 38552170) for growing the local community. -
    - PyCon Taiwan continues to connect with new community members locally, nationally, and globally. - Your sponsorship keeps PyCon Taiwan affordable and accessible to the widest potential audience. Having your support, we are able to provide financial aid to needed attendences. -
    - We have several sponsor packages including but not limited to the list below: -

    - -

    - We are eager to hear from you! Only you know your business and what your are looking for the best. We do provide cutomized sponsor packages and are more than willing to take your suggestions into build suitable packages. -

    -

    -Estimated attendance: 400+ (The first PyCon Taiwan in southern Taiwan!) -

    -

    -Quick stats from 2019: -

    -

    -

    -Conference Schedule (Taiwan timezone (UTC+8) if not specified) -

    -

    -

    Sponsor Packages

    - - -Notes -
      -
    1. - Job Fair Introduction, restricted to 5 minutes per organization. -
    2. -
    3. - PyCon TW 2020 will not produce a digital brochure, all information will be posted on our website and app. -
    4. -
    5. - PyCon TW 2020 do not provide tote bag and physical brochure to our participants. However, sponsors have the liberty to design, print and provide copies of their own handbook. -
    6. -
    7. - PyCon TW 2020 community track is currently divided into 5 sectors. The PyCon TW organization holds the final right to decide the location of each sponsor. Diamond and Platinum sponsors have the highest priority for venue selection (already included in the sponsorship plan). Gold sponsors have the option to select subscriptions (right after Diamond and Platinum). The total amount is limited, so the first-come-first-served is adopted. Priorities can pre-subscribe and choose venue. -
    8. -
    9. - The sponsoring talk in the community track is limited to 30 minutes, and 1 talk per community track. -
    10. -
    11. - Regarding the purchase restrictions on technical speeches, one sponsor can only have one of them basically. But if a sponsor has special needs, then the official will discuss and decide on it. Besides, If a sponsor above the gold level claims a community track, the selection order will take priority over the single purchase of technical speeches. -
    12. -
    13. - Diamond Sponsorship includes title rights, the company logo will be displayed with PyCon TW 2020. However, PyCon TW 2020 reserves the right to further evaluate such action. -
    14. -
    15. - Diamond Sponsorship includes the title right of the main meeting room, set sponsor can name the meeting room. Nevertheless, PyCon TW 2020 reserves the right to evaluate such action. -
    16. -
    17. - Transportation sponsorship includes the title right for PyCon TW 2020 shuttle bus. However, PyCon TW 2020 reserves the right to evaluate such action. -
    18. -
    19. - To further promote diversity of PyCon TW 2020, company (group/sponsoring) tickets will not exceeded 1/3 of the total pass sold. Thus, such group passes are sold in a first come first served manner, please order ASAP. -
    20. -
    21. - To ensure the quality of your speech, those who long to speak at the PyCon TW 2020 conference must be aware of Call for Proposal (CFP) deadlines. -
    22. -
    23. - In response to the impact of the COVID-19 epidemic, the sponsorship plan will be slightly modified and will be released in mid-June with the final meeting details. -
    24. -
    -{% endblock content %} diff --git a/src/templates/pycontw-2024/contents/en/sponsor/sponsor.html b/src/templates/pycontw-2024/contents/en/sponsor/sponsor.html deleted file mode 100644 index b06389232..000000000 --- a/src/templates/pycontw-2024/contents/en/sponsor/sponsor.html +++ /dev/null @@ -1,33 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block content %} -{% url 'page' path='sponsor/prospectus' as prospectus_url %} - -
    -

    Why Sponsorship

    - -
    - -

    PyCon Taiwan is driven both by our hardcore community members and, YOU, our awesome sponsor partners!

    - -

    Your generous support is the engine for us to move forward. Ever since PyCon Taiwan was first held in 2012, the conference has expend its visibility, accessibility, and varieties with a goal to continuously provide a platform for developers, new contributors, organizations, and companies to share knowledge and ideas and to strengthen Python communities in Taiwan.

    - -

    PyCon Taiwan calls for your sponsorship in order to create more possibilities for all this to happen. Our sponsorship packages make sure your benefits:

    - - - -

    Our sponsorship partners are what makes PyCon Taiwan possible! We work closely with our partners in order to optimize what PyCon Taiwan can offer. Look for your participation!

    - -

    See our full prospectus for Sponsorship Package

    -

    Talk us about sponsorship

    - -{% endblock content %} - diff --git a/src/templates/pycontw-2024/contents/zh/sponsor/prospectus.html b/src/templates/pycontw-2024/contents/zh/sponsor/prospectus.html deleted file mode 100644 index 15e0e50ba..000000000 --- a/src/templates/pycontw-2024/contents/zh/sponsor/prospectus.html +++ /dev/null @@ -1,336 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block body_class %}scroll-x{% endblock %} -{% block content %} - -{% url 'page' path='sponsor/community-tracks' as community_track_url %} - -
    -

    贊助方案

    -
    - -

    - - 聯絡方式:電子信箱 - - sponsorship@pycon.tw - 致「台灣 Python 年會贊助組」收 - -

    -

    - 台灣 Python 年會 2020 大會主席 曾君宇 -
    - 台灣 Python 年會 2020 議程主席 李唯 -
    - 台灣 Python 年會 2020 贊助總監 張祐豪 -
    -

    -

    - 台灣 Python 年會,是每年在台灣舉辦、並且聚集了最多的在地的使用、開發 Python 的社群技術研討會。 - 台灣 Python 年會是在 Python Software Foundation 授權下,由 Python 社群與財團法人開放文化基金會(統一編號 38552170)合作,自發性地為了 Python 社群自身所舉辦的年度技術研討會。 -
    - 台灣 Python 年會歷年來持續促進台灣的 Python 社群彼此之間,與台灣與國際上的 Python 社群彼此之間,有更多、更好、更緊密的交流,以期促進 Python 語言的成長與茁壯。 - 您的贊助會使得台灣 Python 年會能夠持續運作,並且盡可能觸及更多的會眾前往交流。我們不只舉辦年會,也透過財務補助的方式,鼓勵更多人前往參與台灣 Python 年會。 -
    - 我們期待您的來訊洽詢,請隨時透過上方的聯繫方式與我們聯繫、洽談最適合您的贊助方式,以達到您想要在 Python 社群曝光、徵才或是單純回饋 Python 社群的初衷與期待。 -

    - -

    -本次年會估計出席人數: 400+ (首次於濁水溪以南舉辦年會) -

    -

    -2019 快速綜覽: -

    -

    -

    -大會重要時間點 -

    -

    -

    各級贊助方案

    - - -備註 -
      -
    1. - 徵才介紹 (Job Fair), 每組 5 分鐘為限 -
    2. -
    3. - PyCon TW 2020 無電子版大會手冊,所有內容整合至網站以及 APP -
    4. -
    5. - PyCon TW 2020 無迎賓袋以及實體文宣,贊助商可自行自作發放。 -
    6. -
    7. - PyCon TW 2020 社群軌共有 5 個場地,PyCon TW 2020 主辦方擁有社群軌場地最終決定權,鑽石級以及白金級贊助商擁有最優先場地選擇權 (已包含在贊助方案中),金級贊助商則擁有選擇認購權 (次於鑽石級以及白金級),數量有限故採先搶先贏制度,優先者可預先認購以及選擇場地。若金級以上方案皆額滿且仍有社群軌空間尚未被認領,則開放至特別贊助方案。 -
    8. -
    9. - 贊助商方案中已包含之社群軌技術演講,或是加購之社群軌技術演講,以 30 分鐘為上限,且每個社群軌上限為 1 組。 -
    10. -
    11. - 關於技術演講的購買限制,基本上一個贊助商限制買一個,若廠商有特殊需求,則由主辦方討論與決定。此外,若有金級以上贊助商認領社群軌,則選擇順序會優先於單購買技術演講者。 -
    12. -
    13. - 鑽石級贊助方案包含之冠名贊助權,表示贊助者的標誌會與 PyCon TW 2020 同時出現,但 PyCon TW 2020 主辦方保留解釋權利。 -
    14. -
    15. - 鑽石級贊助方案包含之主場地會議室冠名權,表示贊助者可命名該會議室,但 PyCon TW 2020 主辦方保留審核權利。 -
    16. -
    17. - 特別贊助方案中的交通車認養方案包含之交通車冠名權,表示贊助者可命名該交通車,但 PyCon TW 2020 主辦方保留審核權利。 -
    18. -
    19. - 為求會眾多樣性,企業團購優惠票總量不會超過總報名會眾的三分之一。如有意購買此票種,請即早訂購,以免向隅。 -
    20. -
    21. - 目前僅接受社群軌時段的技術演講。 -
    22. -
    23. - 因應 COVID-19 - 疫情影響,贊助方案內容會有些許細部更動,會在六月中旬連同最終會議細節一起發佈。 -
    24. -
    -{% endblock content %} diff --git a/src/templates/pycontw-2024/contents/zh/sponsor/sponsor.html b/src/templates/pycontw-2024/contents/zh/sponsor/sponsor.html deleted file mode 100644 index 2aa425b1d..000000000 --- a/src/templates/pycontw-2024/contents/zh/sponsor/sponsor.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends 'contents/_base.html' %} - -{% load i18n %} - -{% block title %}Sponsor{% endblock title %} -{% block content %} -{% url 'page' path='sponsor/prospectus' as prospectus_url %} - -
    -

    贊助召集令

    - -
    - -

    「您」的支持是推進 PyCon Taiwan 的強大動力!

    -

    PyCon Taiwan 在此召集「您」的加入,透過贊助以具體行動支持 python 社群的成長!

    -

    透過參與 PyCon Taiwan ,我們也提供贊助廠商以下的服務:

    - - - -

    歡迎參考 2020 PyCon Taiwan 贊助書,以了解 2020 PyCon Taiwan 贊助方案,或是聯絡我們,讓我們了解貴單位的需求!

    - -{% endblock content %} diff --git a/src/templates/pycontw-2024/index.html b/src/templates/pycontw-2024/index.html index f8bc05283..de85a0b9e 100644 --- a/src/templates/pycontw-2024/index.html +++ b/src/templates/pycontw-2024/index.html @@ -54,27 +54,7 @@
    {% trans 'Call for Proposals' %}
    - - {% comment %} - - -
    {% trans 'Sponsor PyCon TW' %}
    -
    - {% endcomment %} - {% comment %} - - -
    {% trans 'Sponsor PyCon TW' %}
    -
    - {% endcomment %} - {% comment %} - - -
    {% trans 'Sponsor PyCon TW' %}
    -
    - {% endcomment %} -{% comment %} {% include '_includes/sponsors.html' %} {% endcomment %}