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

19d03ecc1ff5da1a5e63a3ddaa2d84c2?s=47 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.

19d03ecc1ff5da1a5e63a3ddaa2d84c2?s=128

Ben Balter

October 01, 2015
Tweet

Transcript

  1. ! 10 ways people are (mis)using GitHub Pages for fun

    and profit @benbalter
  2. ! GitHub Pages is three things

  3. User pages

  4. Project pages

  5. Organization pages

  6. ! Not Geocities for our generation

  7. ! Static is the new PHP

  8. ! Every website produces 
 the same three things HTML

    Javascript CSS
  9. ! CMSs generate bespoke pages

  10. ! The only way to scale a dynamic site is

    to add more complexity
  11. ! Treat content with the same respect that developers give

    to code
  12. ! Collaborative content

  13. ! Open source content

  14. ! Publishing with GitHub Pages

  15. ! 1. Push content to GitHub

  16. ! 2. Content is published

  17. ! the `gh-pages` branch

  18. None
  19. ! Template, meet content

  20. ! How (not) to use GitHub Pages

  21. 1. Collaborative content

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

  23. None
  24. None
  25. None
  26. 2. Continuous Integration

  27. The GitHub blog

  28. None
  29. None
  30. None
  31. ! Pedantic robots > pedantic humans

  32. 3. Collections

  33. ! Not everything in the world 
 is a post

    or a page
  34. None
  35. None
  36. 4. Data

  37. ! Most restful APIs have predictable queries

  38. ! GET /puppies/rover.json

  39. None
  40. ! _data YAML JSON CSV

  41. ! _data/puppies.csv

  42. ! site.data.puppies

  43. ! for puppy in site.data.puppies

  44. 5. Collaborative policymaking

  45. None
  46. None
  47. None
  48. None
  49. None
  50. None
  51. 6. Branded profiles

  52. Startups twitter.github.io yelp.github.io

  53. netflix.github.io adobe.github.io

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

  55. ! {% for repository in site.github.public_repositories %} * [{{ repository.name

    }}]({{ repository.html_url }}) {% endfor %}
  56. 7. Private sites

  57. None
  58. None
  59. 8. Documentation

  60. ! 140 contributors 
 (~300 GitHubbers)

  61. None
  62. ! https://help.github.com/ search/search.json

  63. None
  64. 9. Automated publishing

  65. None
  66. ! `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”
  67. 10. Client-side applications

  68. None
  69. None
  70. Getting started pages.github.com help.github.com/pages github.com/showcases/open-source-organizations

  71. ! 10 ways people are (mis)using GitHub Pages for fun

    and profit @benbalter