Skip to content

Commit

Permalink
projects page (loading the project details from a YAML data file)
Browse files Browse the repository at this point in the history
--HG--
branch : jekyll
  • Loading branch information
christianspecht committed Dec 29, 2013
1 parent 5a404d4 commit 9e65b9a
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 207 deletions.
22 changes: 22 additions & 0 deletions src/_data/projects.yml
@@ -0,0 +1,22 @@
- name: Bitbucket Backup
url: /bitbucket-backup/
logo: https://bitbucket.org/christianspecht/bitbucket-backup/raw/tip/img/logo35x35.png
whatineeded: Automate creating local backups of all my private and public <a href="https://bitbucket.org">Bitbucket</a> repositories, running without user interaction after being set up once.
whatilearned:
- Calling <a href="https://api.bitbucket.org/">Bitbucket's API</a> with <a href="http://restsharp.org/">RestSharp</a> and <a href="http://json.codeplex.com/">Json.NET</a>
- Cloning/pulling <a href="http://mercurial.selenic.com/">Mercurial</a> and <a href="http://git-scm.com/">Git</a> repositories with C#
- Dependency Injection with <a href="http://ninject.org/">Ninject</a>
- Setting assembly version from build script with <a href="https://github.com/loresoft/msbuildtasks">MSBuild Community Tasks</a>

- name: RoboShell Backup
url: /roboshell-backup/
logo: https://bitbucket.org/christianspecht/roboshell-backup/raw/tip/img/head35x35.png
whatineeded: Convert existing batch files for <a href="http://en.wikipedia.org/wiki/Robocopy">Robocopy</a> backups (<i>computer&rarr;NAS</i> and <i>NAS&rarr;USB disk</i>) to a more comfortable tool, with all settings in a config file.
whatilearned:
- <a href="http://en.wikipedia.org/wiki/Windows_PowerShell">Windows PowerShell</a> basics
- <a href="http://wixtoolset.org/">Building a setup with WiX</a>
- Using <a href="http://www.truecrypt.org/">TrueCrypt</a> and <a href="/2012/04/30/roboshell-backup-1-1-now-with-truecrypt-integration">integrating it into RoboShell Backup</a>

# Uncomment the following line to get an additional list item (when the number of items above is odd)
#- name :

9 changes: 9 additions & 0 deletions src/_includes/projectdetails.html
@@ -0,0 +1,9 @@
<div class="span4">
{% if project.name %}<h2><a href="{{ project.url }}"><img src="{{ project.logo }}" class="img-polaroid" /> {{ project.name }}</a></h2>
<p><strong>What I needed:</strong><br>{{ project.whatineeded }}</p>
<p><strong>What I learned:</strong><ul>
{% for item in project.whatilearned %}
<li>{{ item }}</li>
{% endfor %}
</ul></p>{% endif %}
</div><!--/span-->
207 changes: 0 additions & 207 deletions src/projects/index.html.mako

This file was deleted.

41 changes: 41 additions & 0 deletions src/projects/index.md
@@ -0,0 +1,41 @@
---
layout: default
title: Projects
---

<h1>{{ page.title }}</h1>

<div class="row spacer25"></div>

Like many other developers, I have been creating small tools and tryout projects in my spare time for years, but I didn't ever publish one until 2011. Most of them were either not in a state to be published, or not of any practical use. Or both.

After seeing more and more people linking their personal GitHub/Bitbucket/CodePlex projects in their blogs and Stack Overflow profiles, I thought: I can do this, too! After all, having actual projects viewable online [can't hurt](https://twitter.com/jeresig/status/33968704983138304).

The projects listed here were created either because of an actual problem that I had *(like [taking backups of my personal stuff](/roboshell-backup/))* or just because I found something cool that I wanted to play around with *(like [controlling an USB Missile Launcher](/missilesharp/))*.

I also try to use some new libraries/tools/technologies in each project that I'm not familiar with, for [learning purposes](http://norvig.com/21-days.html). And I've seen too many projects that look interesting, but [lack even the simplest "how to get started" example](http://www.codinghorror.com/blog/2007/01/if-it-isnt-documented-it-doesnt-exist.html)...so I always create full documentation, installers etc. for my projects whenever possible.

Here is everything I created so far, in reverse chronologial order (newest first):

<div class="row spacer25"></div>

<div class="container">
{% for project in site.data.projects %}
{% assign loopindex = forloop.index | modulo:2 %}
{% if loopindex == 1 %}
<div class="row">

{% include projectdetails.html %}

<div class="row visible-phone spacer25"></div>
{% else %}
{% include projectdetails.html %}

</div><!--/row-->

<div class="row spacer25"></div>
{% endif %}
{% endfor %}
</div><!--/container-->

<div class="row visible-phone spacer25"></div>

0 comments on commit 9e65b9a

Please sign in to comment.