Giter Club home page Giter Club logo

2017.pyconuk.org's Introduction

PyCon UK 2017 website

image

This is the website for PyCon UK. It is hosted via GitHub Pages and will be available at http://pyconuk.org/.

If you have a suggestion to make, please feel free to create an issue.

We welcome pull requests for improvements! (Please see CONTRIBUTING.rst for details.)

Development

Using Python

This site uses django-amber. To install django-amber and other dependencies, run pip install -r requirements.txt. django-amber is only known to work with Python 3.5+.

You must also install less, and ensure that lessc is available in your PATH. The version of lessc packaged in Ubuntu 16.04 is not sufficient (it's probably too old). Instead, use apt-get to install npm and type: sudo npm install -g less

django-amber builds the site by assembling several components:

  • Pages are found in pages/. News articles are in news/. Other types of content may be added later. Pages may be HTML or Markdown, and contain some YAML metadata. Look at existing pages for examples.
  • Static files are found in media/.
  • Django template for all pages are found in templates/

To build the site, run python manage.py buildsite. This pulls together all the components into a set of HTML files in output/.

Alternatively, if you run python manage.py serve, django-amber will build the site, serve the built site on port 8000, and watch for changes.

Using Docker

You can also build the website using Docker:

$ docker build -t pyconuk/2017.pyconuk.org .
$ docker run -v $(pwd):/site -p 8000:8000 pyconuk/2017.pyconuk.org

This will serve the build site on port 8000 and watch for changes.

Testing

You can test that the site contains no broken links and that the conference name is capitalised correctly (hint, it's "PyCon UK") by running make test.

Travis will test branches, and branches won't get merged without review and passing tests, so dive right in!

Deployment

The site is hosted as a Project Page on GitHub Pages, and so it is the gh-pages branch of the repository that gets served. django-amber generates the site in the output/ directory, and Travis is configured to push any changes to the output/ directory to this branch. See deploy.sh for details.

This should be done automatically by Travis after it has built the master branch, but in case this does not happen, somebody with commit access to the repository can run make deploy.

When setting up Travis to run this initially you must provide an OAuth token for authentication in the GH_TOKEN env var. To do this create a Personal Access Token on GitHub then create the GH_TOKEN key pair on the Travis settings page.

Note: this is tied to a single user on GitHub, however any other GitHub user with valid permissions can replace the key on Travis.

2017.pyconuk.org's People

Contributors

alexwlchan avatar amos1969 avatar bennuttall avatar clozinski avatar drvinceknight avatar evildmp avatar ghickman avatar graingert avatar hjwp avatar inglesp avatar jezhalford avatar kirknorthrop avatar lgiordani avatar lukasa avatar meatballs avatar nanuxbe avatar ntoll avatar qirky avatar tibs avatar timvg80 avatar tjguk avatar

Watchers

 avatar  avatar  avatar

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.