Giter Site home page Giter Site logo

pycon / pycon2019 Goto Github PK

View Code? Open in Web Editor NEW
157.0 157.0 95.0 29.54 MB

Website for PyCon 2019

License: BSD 3-Clause "New" or "Revised" License

Shell 0.90% Python 63.21% CSS 5.15% JavaScript 10.26% HTML 19.92% Makefile 0.09% Smarty 0.47% Dockerfile 0.01%

pycon2019's Introduction

PyCon 2019 Web Site

Built by the Python Community atop the Django web framework.

Rather than use this as the basis for your conference site directly, you should instead look at https://github.com/pinax/symposion which was designed for reuse.

PyCon 2019 is built on top of Pinax Symposion but may have customizations that will just make things more difficult for you.

Installation instructions are in this README. There's more documentation at https://readthedocs.org/projects/pycon/.

Build status for develop branch:

image

Running the PyCon site locally

Before you get started, you'll need a Docker environment, and docker-compose available, see https://www.docker.com/community-edition for the easiest way to get that setup for your platform!

Developers can easily run the PyCon web application inside an isolated environemnt by using Docker. Once you have Docker and Docker Compose installed on your computer, simply check out this project from GitHub and spin up the site:

$ git clone https://github.com/PyCon/pycon.git
$ cd pycon
$ make up

On this first call to up that creates the containers, make will go ahead and automatically perform all of the provisioning steps that the application needs. You can later reset the environment using make reset. Bootstrapping may take a few minutes to complete, since it downloads Django and all of the libraries it needs.

When docker-compose finishes, the PyCon application is running with some sample content!

Finally, you should see the development version of the PyCon web site when you visit http://localhost:8000/ in your browser!

Two logins are created during the automated setup!

To login as a Django superuser, use the email address [email protected] and the password None.

To login as a general user, use the email address [email protected] and the password None.

Running the PyCon web site in production

  • You will want to run the application on an Ubuntu 12.04 or 14.04 host.
  • Create a new virtualenv and activate it:

    $ virtualenv env/pycon
    $ . env/pycon/bin/activate
  • Install the requirements for running and testing locally:

    $ pip install --trusted-host dist.pinaxproject.com -r requirements/project.txt
  • Copy pycon/settings/local.py-example to pycon/settings/local.py.
  • Edit pycon/settings/local.py according to the comments. Note that you will have to edit it; by default everything there is commented out.
  • If you have ssh access to the staging server, copy the database and media:

    $ fab staging get_db_dump:pycon
    $ fab staging get_media

    Change pycon in that first command to the name of your local database.

    If you get Postgres authorization errors when trying the get_db_dump, find another developer who has access already and copy the ~/.pgpass file from their account on that server to your own account; it has the userids and passwords for the databases.

  • Otherwise, ask someone for help. We don't have a good way currently to get a new system running from scratch.
  • Create a user account:

    $ ./manage.py createsuperuser
  • Edit pycon/settings/local.py to make sure DEBUG=False.
  • Add an appropriate ALLOWED_HOSTS setting (https://docs.djangoproject.com/en/1.5/ref/settings/#std:setting-ALLOWED_HOSTS)
  • Install lessc (Go to http://lesscss.org and search for "Server-side usage")
  • Pre-compress everything by running:

    python manage.py compress --force

    That will write compressed css and js files under site_media

  • Gather the static files:

    python manage.py collectstatic --noinput
  • Arrange to serve the site_media directory as /2018/site_media/whatever. E.g. site_media/foo.html would be at /2018/site_media/foo.html.
  • Arrange to serve the wsgi application in symposion/wsgi.py at /, running with the same virtualenv (or equivalent). It will only handle URLs starting with /2018 though, so you don't have to pass it any other requests.

To run tests

Tests won't run from /vagrant inside the vagrant system due to shortcomings of the way Vagrant makes the host system's files available there. It's probably simplest to just do development directly on any Ubuntu 14 system.

python manage.py test

or try running make test or tox. (Yes, we have too many ways to run tests.)

Also, Travis (https://travis-ci.org/PyCon/pycon) automatically runs the tests against pull requests.

More documentation

There's more documentation under docs/.

LICENSE

image

pycon2019's People

Contributors

alex avatar azkarmoulana avatar bcostlow avatar brandon-rhodes avatar brosner avatar calebsmith avatar copelco avatar daaray avatar doobeh avatar dpoirier avatar ericmjl avatar ewdurbin avatar imnikkilee avatar jacobian avatar jnoller avatar jtauber avatar jwm avatar lukeman avatar lukesneeringer avatar mlhamel avatar njl avatar nlhkabu avatar paltman avatar poirier avatar rayt86 avatar replaceafill avatar sonoflilit avatar taavi avatar wolever avatar zerok 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  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

pycon2019's Issues

[Home Page] Announcements Issues

  • Reconcile Teaser/Content editing and rendering
  • Verify that (un)publish flag works as intended
  • Ensure blog post date is rendering correct information (publish date, most likely)

Links in breadcrumbs go to /2013

Go to e.g.

/2014/about/what-is-pycon/

Just under the title is a breadcrumb trail:

About /   What is PyCon?

"About" is a link, but it doesn't work. It tries to go to /2013/about/what-is-pycon/ but we're /2014 now.

We need to fix this before /2013 works again but has last year's pages !

Expunge deleted accounts

It looks like there's a management command we need to run, probably nightly, to expunge deleted accounts after 48 hours:

  python manage.py expunge_deleted

We'll need to get this set up on the server.

Remove/Hide

From Mattheiu

Sections to removes in the templates
I'm working with the Montreal's team on the "Venue" section. There's a lot of
informations to put there mostly about the "Venue" but also about the city.

For now, i would prefer to remove a couple of subsections from the subnav of the "Venue" section.

For that i can  do it myself but i would prefer if you can do it and follow your own workflow.

I think it is in :

"/symposion/templates/venue/_subnav.html"

The following sections should be temporarily removed:

* Getting Around Santa Clara
* Explore Santa Clara
* Restaurants
* Bars
* Shopping
* Need to share a room?

The following section should be renamed:

* "Traveling to Santa Clara" -> "Traveling to Montréal"

Thanks a lot and let me know if you have any question

Financial aid app

This is a big section in the estimate. Let's open individual issues for the line items that make sense, and track the overall status with this issue.

Two more fields - expected audience, perceived value

From Luke S.:

Hi Dan,
Is it too late to ask for a slight alteration in talk (and probably tutorial, if Stuart agrees) proposal fields?

I'd like to add the following:

  • Who is the intended audience for your talk? (Single-line short-answer; CharField(max_length=150) or similar)
  • What do you hope that attendees will get out of your talk? (Multi-line short answer, limit to 500 characters.)

To be clear, I know I'm past the deadline, and if it's too late, no big deal.

The reason I am asking for these is because I just wrote the Proposal Advice page (http://staging-pycon.python.org/2014/speaking/proposal_advice/), and one of my first points is that presenters should explicitly answer these questions. It seems if I want presenters to answer them specifically and explicitly, I should make them fields on the form.

Markdown Editor Issues

Consolidating known issues; feel free to break out as needed:

  • Preview pane was proposed to be side by side. Out of the box we have above and below support. Resolution: let's leave it below

  • CSS tweaks to align toolbar with bootstrapped textareas

  • Admin CSS tweaks to live preview (default admin CSS bleeds into the markdown preview)

  • Bring back h1-h6 support? Markedit has a single heading tool, whereas MarkItUp supported h1 (#) through h6~ish

  • I'm seeing the text box where I edit as narrower than the toolbar above it and the preview below it. Partial resolution: #21

  • The help underneath links to a Markdown cheatsheet that demonstrates a bunch of "markdown plus" and "markdown extra" features that our tool doesn't appear to implement. Maybe we can see if there's a switch to turn those on; otherwise, we can add our own help page that only shows the features we implement. resolution: #19 link to standard markdown page

  • Displayed content not matching preview. E.g. I put in something like:

    Headline

    Text

and in the preview the Headline shows up like an H1, but when I save, the page displays # Headline. This was in a "box". It looks like we'll need to update this template to render using the same engine: symposion/templates/boxes/box.html. resolution: Fixed in #16.

  • HTML in CMS pages was being displayed literally. Fixed in #26
  • When JS is disabled, raw markdown is rendered. The old editor stored and rendered the calculated HTML

Improve editing of speakers for posters

Related to making users more easily selectable?

Maybe change to django-selectable with autocompletion instead of trying to select a speaker from a dropdown with every speaker in it. Or at least make it a raw id field.

Refactor settings files

Right now, settings.py imports local_settings.py. Which means none of the values in settings.py are in scope for local_settings.py to modify. We should change so local_settings.py imports settings.py, and can then change anything it needs to.

Mass email targeted groups

From the RFP:

You should be able to mass email the following targeted groups:

◦ All accepted poster presenters

◦ All accepted talk presenters

◦ All accepted tutorial presenters

◦ All tutorial attendees (scoped to a particular tutorial)

Dependency not 1.5 compliant

pinax-theme-bootstrap-account URL template tag failing on dashboard --> Delete Account action.

Looks as though there is an untouched PR: https://github.com/pinax/pinax-theme-bootstrap-account/pull/8. There appears to only be on deprecated URL in the app.


Error during template rendering

In template /home/daaray/.virtualenvs/pycon/src/pinax-theme-bootstrap-account/pinax_theme_bootstrap_account/templates/account/delete.html, error at line 13
'url' requires a non-empty first argument. The syntax changed in Django 1.5, see the docs.
3   {% load i18n %}
4   {% load bootstrap_tags %}
5   
6   {% block head_title %}Delete Account{% endblock %}
7   
8   {% block body %}
9   <h1>Delete Account</h1>
10  
11  <p>If you go ahead and delete your account, your information will be <b>expunged within {{ ACCOUNT_DELETION_EXPUNGE_HOURS }} hours</b>.</p>
12  
13  <form method="post" action="{% url account_delete %}" autocapitalize="off">
14  {% csrf_token %}
15  <button type="submit" class="btn btn-danger">Delete My Account</button>
16  </form>
17  
18  {% endblock %}
19  

Switch to South

Currently using Nashvegas, but South is typically our (and the community's) preference for migrations. I think the only reason we might want to stick to Nashvegas would be if our hosting provider needs it for some reason.

Markdown doesn't do tables

E.g. at /2014/about/volunteers/ there's a table made using markdown "|" etc, and it's not being rendered as a table.

Remove Gondor settings file

The project is no longer deployed on Gondor; settings_gondor.py file should be removed; seting DEFAULT_MAIL_FROM in settings.py

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.