Upgrade to Pro — share decks privately, control downloads, hide ads and more …

10 ways people are (mis)using GitHub Pages for fun and profit

Ben Balter
October 01, 2015

10 ways people are (mis)using GitHub Pages for fun and profit

GitHub Pages may not quite be the Geocities of our generation, but that doesn't mean it's only used for technical documentation. With nearly a million sites, today, Github Pages hosts everything from APIs to White House policy. Hear from the GitHub Pages team about some of the more unique uses, and walk away with ten advanced tricks that can help improve your own content publishing workflow. No technical background necessary, but some familiarity with Jekyll and GitHub Pages recommended.

Ben Balter

October 01, 2015
Tweet

More Decks by Ben Balter

Other Decks in Technology

Transcript

  1. !
    10 ways people are (mis)using
    GitHub Pages for fun and profit
    @benbalter

    View full-size slide

  2. !
    GitHub Pages is three things

    View full-size slide

  3. Project pages

    View full-size slide

  4. Organization pages

    View full-size slide

  5. !
    Not Geocities for our generation

    View full-size slide

  6. !
    Static is the new PHP

    View full-size slide

  7. !
    Every website produces 

    the same three things
    HTML Javascript CSS

    View full-size slide

  8. !
    CMSs generate bespoke pages

    View full-size slide

  9. !
    The only way to scale a dynamic
    site is to add more complexity

    View full-size slide

  10. !
    Treat content with the same respect
    that developers give to code

    View full-size slide

  11. !
    Collaborative content

    View full-size slide

  12. !
    Open source content

    View full-size slide

  13. !
    Publishing with GitHub Pages

    View full-size slide

  14. !
    1. Push content to GitHub

    View full-size slide

  15. !
    2. Content is published

    View full-size slide

  16. !
    the `gh-pages` branch

    View full-size slide

  17. !
    Template, meet content

    View full-size slide

  18. !
    How (not) to use GitHub Pages

    View full-size slide

  19. 1. Collaborative content

    View full-size slide

  20. !
    https://github.com/
    {{ site.github.repository_nwo }}/
    edit/gh-pages/{{ page.path }}

    View full-size slide

  21. 2. Continuous Integration

    View full-size slide

  22. The GitHub blog

    View full-size slide

  23. !
    Pedantic robots > pedantic humans

    View full-size slide

  24. 3. Collections

    View full-size slide

  25. !
    Not everything in the world 

    is a post or a page

    View full-size slide

  26. !
    Most restful APIs have
    predictable queries

    View full-size slide

  27. !
    GET /puppies/rover.json

    View full-size slide

  28. !
    _data
    YAML JSON CSV

    View full-size slide

  29. !
    _data/puppies.csv

    View full-size slide

  30. !
    site.data.puppies

    View full-size slide

  31. !
    for puppy in site.data.puppies

    View full-size slide

  32. 5. Collaborative policymaking

    View full-size slide

  33. 6. Branded profiles

    View full-size slide

  34. Startups
    twitter.github.io
    yelp.github.io

    View full-size slide

  35. netflix.github.io
    adobe.github.io

    View full-size slide

  36. Tech Giants
    sap.github.io ibm.github.io microsoft.github.io

    View full-size slide

  37. !
    {% for repository in site.github.public_repositories %}
    * [{{ repository.name }}]({{ repository.html_url }})
    {% endfor %}

    View full-size slide

  38. 7. Private sites

    View full-size slide

  39. 8. Documentation

    View full-size slide

  40. !
    140 contributors 

    (~300 GitHubbers)

    View full-size slide

  41. !
    https://help.github.com/
    search/search.json

    View full-size slide

  42. 9. Automated publishing

    View full-size slide

  43. !
    `git add && git commit && git push`
    GitHub CRUD API
    benbalter/change_agent
    PUT api.github.com/repos/users/benbalter/contents/some-file.md
    agent.set “foo”, “bar”

    View full-size slide

  44. 10. Client-side applications

    View full-size slide

  45. Getting started
    pages.github.com
    help.github.com/pages
    github.com/showcases/open-source-organizations

    View full-size slide

  46. !
    10 ways people are (mis)using
    GitHub Pages for fun and profit
    @benbalter

    View full-size slide