Giter Club home page Giter Club logo

pycon.tw's Introduction

codecov.io travis-ci status

PyCon TW

This repository serves the website of PyCon TW, Python Conference Taiwan. This project is open source and the license can be found in LICENSE.

Getting Started

Requirements

  • Git 1.8+
  • Python 3.10.x
  • Yarn 1.0+
  • Node.js 8.0+

Set up a Development Environment & Run Server

Method 1 : Quick Start

Method 2 : Step by step

Run Tests

Tests are managed with pytest-django. You can run tests in your local environment:

  • Run the following command inside src:

      pytest
    
  • To run tests with coverage report:

      pytest --cov=.
    

How to Contribute

Follow the GitHub Flow, please DO NOT push the commits into master directly. Always create branch by the feature you want to update. You are encouraged to submit a pull request for reviewing before merging things into master.

We strongly recommend you configure your editor to match our coding styles. You can do this manually, or use an EditorConfig plugin if your editor supports it. An .editorconfig file has already been attached to the repository.

Deployment

For site administrators, please refer to document/deploy_docker_prod.md.

pycon.tw's People

Contributors

adrianliaw avatar alice6373 avatar ccwang002 avatar chairco avatar daikeren avatar dependabot[bot] avatar erik1110 avatar flynnhou avatar flywindy avatar gtbcoding avatar jneo8 avatar josix avatar kaka-lin avatar keitheis avatar lee-w avatar linmic avatar madrex2000 avatar maliaotw avatar mattwang44 avatar setmao avatar shunghsiyu avatar sivanyeh avatar starwilly avatar tai271828 avatar timtan avatar tomatoprinx avatar uranusjr avatar yaoyy16 avatar yuhow avatar yychen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pycon.tw's Issues

Speaker photo

目前應該沒有限制尺寸、自動裁切,也沒有 preview 吧?

email 帳號

我們在 email activation 的時候要用個官方帳號吧?現在有嗎?

簡化 CfP 流程

周末開會討論提到要的填的欄位還是太多,而且重覆性高。

目前打算整合 Objective 和 Target Audience 兩個欄位。

Add type="email" to login form

不知為何內建的 login form 好像只是普通的 char field (在手機上看得出來因為鍵盤不同)。看是要換掉 form 還是用 Django Cripsy Form 的 form helper 把 HTML 換掉就好。

塞 GA Code

好像 PR 組的人應該會有需求才對,還是直接塞個 GTM 讓 PR 組看要塞什麼 code 自己搞?

Page content styles

landingpage_sponsor_callforproposals
Grid 版本:
landingpage_sponsor_callforproposals_grid

第一波確定會上線的頁面:
About

  • PyCon TW 2016
  • Code of Conduct

Speaking

  • Call for Proposal
  • Proposing a Talk
  • Proposing a Tutorial

多國語系

  1. 開 Transifex 專案
  2. 繁體中文翻譯
  3. 設定 hooks
  4. 其他語言?

Official CfP Jan 9

Todo:

  • Speaker photo #35
  • Additional speaker #15
  • New UI #39
  • Content navbar #79
  • 認證 email #49
  • UI/UX with designer #63
  • 簡化 CfP 流程 #64

有需要在 CfP 做出來的就一併列出吧。

New UI by designer

signup page:

artboard

verify email:

(這一頁現在被 Dashboard 取代,可能不會做 )
artboard

login page:

artboard

認證 email 的內容

之前講的好像沒下文,但這也是得在 CfP 之前出現吧。

是誰要做?

Templates 套 Bootstrap

主要修改:

templates
├── _includes
│   └── nav.html
├── proposals
│   ├── talk_proposal_create.html
│   └── talk_proposal_update.html
├── registration
│   ├── login.html
│   └── signup.html
└── users
    ├── user_dashboard.html
    └── user_profile_update.html

Reference:

Better fix for django.views.i18n.set_language redirection

在 production 上似乎無法正確在設定語言後導向到正確的頁面。看起來 session 是有正確被設定,因為如果使用不含語言碼的網址可以正確導向到新的語言。所以問題應該是出在 Django 不知為何在 translate_url 無法獲得正確的新網址。

奇怪的是這在本機上毫無問題。可能必須在 set_langauge view 與 translate_url 函式上下個斷點來仔細研究。目前傾向是環境設定的問題(可能和 SCRIPT_NAME 有關?),但沒有實際 trace 一次也不知道到底原因是什麼。

django.views.i18n.set_language
django.core.urlresolvers.translate_url

目前用了一個很廢的方法:手動在切換語言的 form 裡 supply 一個 next field,指向目前網址的無語言碼版本。這樣假設在 /en-us/123/456/ 切選語言到繁體中文時:

POST /set-language/     302
GET  /123/456/          302
GET  /zh-hant/123/456/  200

就可以抵達正確的頁面。不過這樣會多一個 redirect,而且這明明不該發生,所以還是需要有 server 權限的人看一下究竟是怎麼回事。

帳號設定

Migrated from #7.

  • 修改密碼
  • 連結 KKTIX(HOW?)← 交給 @flywindy
  • 連結 Facebook(不知道能用來做什麼)
  • 連結 Twitter(同上)
  • 連結 GitHub

Slack 機器人

有空會想來做做看,可以代替之前的投稿戰報,目前想到的有:

  1. 在有人投稿的時候叫一下:XX 投了一篇叫做 OO 的題目
  2. 每天定期發投稿戰報
  3. 在連續 5 天都沒人投稿的時候,notify @ccwang002 說:已經連續 5 天都沒人投稿了,議程組要加油啊!

可以想想還有啥其他能拿來亂搞的東西 ...

PyCon Talk Proposal

收集一些開發時遇到的題材,到時候投稿的時候可以參考。有其他覺得值得放的也歡迎提出~

TODO: 決定誰要上去講。

  • Email as username
    • Model and manager
    • Login form field (#28)
  • Database-less 註冊認證 (#3)
  • pytest 與 pytest-django
  • UI testing with lxml
  • Markdown in proposal (457e4ee and #20)
  • Proposal withdraw (#16)
    • 直接刪掉?
    • Wording
    • 按鈕放哪裡
  • Catch-all template views (7264a56) + 多語系支援 (#19)
  • Transifex 整合 (#29)
  • .mo 檔是否該放入 .gitignore (#29 (comment))
  • Travis CI 整合
  • 把 Fabric task 當成 helper script
  • URL-based 語系選擇 (#31)
    • en-us in Django
    • Smart quotes/dashes (別名:英文需要翻譯嗎?)
  • Additional speakers
    • UI 怎麼做
    • Cancelling
    • Playing with generic relations
    • Optimise database queries with relations (and generic ones!)
  • Testing by mocking behavior (#108)
    • monkeypatch by pytest
    • unittest.mock

Keynote Speaker 介紹

  • about/keynote speakers 英文內容
  • about/keynote speakers 中文內容
  • keynote 照片

Speaker photo upload button

似乎是用有點暴力的方法寫的(把 input 透明度設為 0),所以有可能會出問題。
另外 @daikeren 覺得點選完上傳後應該要顯示點什麼(之前會顯示檔案名稱)

取消 proposal

Migrated from #7.

應該要在 proposal 加一個 bool 欄位 cancelled。比較麻煩的是要在 UI 有個合理的方式來 cancel。或許就直接做個紅色 button,post 到一個獨立的 view 來 cancel?

在 dashboard 的 proposal 列表也要有個方式標示某個 proposal 已被取消。半透明之類的。被取消的 proposal 還是可以點進去,但唯一的功能是 re-submit,必須完成(cancelled 重設為 False)之後才能繼續修改。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.