What the ...?!?
Welcome to Exquisite Source! This is an ongoing "story" open to all contributors. The point of this story is for you to learn and become more comfortable with making pull requests! Many codenewbies (including me) find it intimidating to make changes to an existing codebase. "What if I break something? What if my change is not wanted?" Well, fear no more, because the french surrealists are here to help.
In the early 1900's, a bunch of artsy types invented a game called exquisite corpse. There are many forms the game can take, but one way you can play it is to take a clean sheet of paper and write a line of beautiful prose or poetry on it, as well as the first word of the next line. Then you fold the piece of paper over so that only the last word is showing and pass it to the person sitting next to you. That person must now finish the line you started and begin the next line with a new word. He/she will then fold the paper over exposing only that last word and pass it on. The process is repeated until the work of art is completed, or everyone has had too much absinthe to drink.
That's just one text-based way to play it. There are many ways you can play it, and the photo on the right is an example of how you can play it with images/drawing.
The idea behind this repo is very similar! You can see the website here and view the source on Github. It's not much yet, but soon it will be. As you can see, everything is only half finished. What we need you to do is to make a pull request. Here are the rules:
Ideas to get you started
- finish a sentence, but only if you start a new unfinished sentence
- add any page element (image, heading, bulleted list, external link, etc.)
- change any existing word, sentence, punctuation, or page element (image, heading, etc.)
- add a link to a new internal page (and create that blank page so that others can starting adding to it too)
- add a style to the css
- add a script to the js
- add a new js or css file
- feel free to add new tech... Sass would be cool, for example
- basically anything else you can think of to change or add to the content and/or style and/or behavior of the page(s). No change is "wrong" since this page's purpose is purely educational. All pages in the repository are fair game except this about page (see below on editing the about page).
- make your git commit messages as descriptive as possible. This will be useful practice for when you're making changes to real code later on. It's also useful for us to track changes made to this page for historical / fun purposes.
Some ground rules
- please keep all material PG or PG-13
- don't be racist, sexist, mean, or unwelcoming in any other way
- don't link to or add anything remotely resembling an advertisement, this is not a place for self promotion
- feel free to submit pull requests to change this about page, but only to explain things more clearly and present the information more beautifully. The rest of the site is like a playground but the about page is more like an information center, so let's not make it too wild.
What's up with the PHP?
It's just there to load common headers and footers. If you don't have PHP set up on your local machine, you can edit the homepage.html file (or the css files!) without having to worry about the PHP stuff. If you do have PHP installed and wish to add to the PHP code, go right ahead.
But what is a pull request?
A pull request is a way of contributing to a public repository. The pull request is central to the idea of open source software. Here are a few links to learn more about pull requests and open source software:
- What is Open Source?
good background and contextual information
- How to Make a Pull Request
good step by step tutorial on the technical process
- Healthy Hacker podcast: How to make the perfect pull request
good guide on the conventions and etiquette surrounding making a pull request the best it can be, goes beyond the technical and into more subjective areas. Highly recommended, once you've mastered the technical part.