(Forked from The Hacker Within, Berkeley)
We love sessions that have example code! If you have example code, please place it in an appropriately named directory in the master branch of this GitHub repository. Make a pull request or push your branch to the thehackerwithin/berkeley fork. If you know how to do that, please go right ahead. If you aren't sure about forks and pull requests, here are some detailed instructions:
- Go here: https://github.com/thehackerwithin/berkeley
- Press the Fork button (you'll need a github account)
- In your terminal, execute
git clone https://github.com/YOURUSERNAME/berkeley.git
- Enter the new directory with
cd berkeley
- Add the THW remote with
git remote add thw https://github.com/thehackerwithin/berkeley.git
- Fetch information about the THW remote with
git fetch thw
- Now, you need to check what branch you're in
git branch
- If you're in the master branch, move the important files to an appropriately named directory there. (Browse the directory for examples of other's additions.)
- Add the files to the repo:
git add <path to your new files>
- Commit them.
git commit -am "I added files for the tutorial on my topic.."
- Git push to your origin with
git push origin master
- Navigate in your browser to https://github.com/YOURUSERNAME/berkeley and press the pull request button
Now you're done adding code example files! You'll need to edit the post related to your talk.
Rather than preparing a slideshow, please consider leading as interactive a session as possible. This is often done by leading the audience through whatever code examples you pushed to the master branch. Supportive text can be added to the markdown file holding the blog post for your talk. To add text to that file and to edit your bio, switch branches to the gh-pages branch, where the website it held. There, you may need to both create and modify the post.
- Navigate in your repository to the gh-pages branch with
git checkout gh-pages
- Then, create and modify the post as in the sections below.
In the directory that you just cloned (berkeley), you'll notice a _posts
directory. The post related to the day and topic of your talk may already
exist. If so, skip ahead to "Modifying a Post."
If not, you'll need to create it. Thankfully, you'll also notice a
_drafts
directory. In the drafts directory, you'll find an empty template for
meeting minutes YYYY-MM-DD-subject.markdown
. If you're preparing for a
special holiday meeting on March 1, 2015, then the proper name for the file
you're creating should be something like 2015-03-01-katysbirthday.markdown.
- In the berkeley directory, execute
cp _drafts/YYYY-MM-DD-subject.markdown _posts/2015-03-01-katysbirthday.markdown
- Then, edit that file as you see fit
- Add that file to the repository
git add _posts/2015-03-01-katysbirthday.markdown
- Commit it:
git commit -am "adds a post for march 1"
- Push it to your fork
git push origin gh-pages
- Check if it worked at https://YOUR-USER.github.io/berkeley .
- Iterate on this until you're happy
- and then either push to the upstream gh-pages remote branch or make a pull request.
This is very similar to creating a post:
- if the file for your date is YYYY-MM-DD-tbd.markdown, rename the file replacing "tbd" with your topic
- edit the post
- Commit it: `git commit -am "adds a post for march 1"
- Push it to your fork
git push origin gh-pages
- Check if it worked at https://YOUR-USER.github.io/berkeley .
- Iterate on this until you're happy
- and then either push to the upstream gh-pages remote branch or make a pull request.
If you'd like to test the post before pushing or making a PR, you can build the site locally:
- Install Jekyll:
gem install jekyll
- Run the jekyll server:
jekyll --server
You should have a server up and running locally at http://localhost:4000.
It's all based on something @katyhuff forked. It's called Left. It uses jekyll. It was extracted from zachholman.com. That is, we use Left to lay out this jekyll.
Left is a clean, whitespace-happy layout for Jekyll.
The Left layout is MIT with no added caveats. Left is the work of Zach Holman @holman.