summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorCamil Staps2015-10-25 00:19:11 +0200
committerCamil Staps2015-10-25 00:33:40 +0200
commitc60d9793834ab10bdd6dc373f47c2206d39d5663 (patch)
tree3e22336544a13787b91e256dbdfa7b273e170370
Initial commit
-rw-r--r--.gitignore5
-rw-r--r--bower.json16
-rw-r--r--gulpfile.js58
-rw-r--r--package.json14
-rw-r--r--resources/img/papercut.pngbin0 -> 1172043 bytes
-rw-r--r--resources/img/profile-300x300.pngbin0 -> 157775 bytes
-rw-r--r--resources/jade/include/foot.jade0
-rw-r--r--resources/jade/include/head.jade8
-rw-r--r--resources/jade/include/layout.jade20
-rw-r--r--resources/jade/index.jade98
-rw-r--r--resources/sass/style.scss32
11 files changed, 251 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..15d17a5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+.sass-cache/
+bower_components/
+build/
+node_modules/
+
diff --git a/bower.json b/bower.json
new file mode 100644
index 0000000..b8e84e7
--- /dev/null
+++ b/bower.json
@@ -0,0 +1,16 @@
+{
+ "name": "camilstaps.nl",
+ "version": "0.1",
+ "homepage": "https://camilstaps.nl",
+ "authors": ["Camil Staps <info@camilstaps.nl>"],
+ "private": true,
+ "ignore": [
+ "**/.*",
+ "node_modules",
+ "bower_components",
+ "build"
+ ],
+ "dependencies": {
+ "bootstrap-sass-official": "~3.3.2"
+ }
+}
diff --git a/gulpfile.js b/gulpfile.js
new file mode 100644
index 0000000..7726186
--- /dev/null
+++ b/gulpfile.js
@@ -0,0 +1,58 @@
+var gulp = require('gulp'),
+ bower = require('gulp-bower'),
+ changed = require('gulp-changed'),
+ jade = require('gulp-jade'),
+ minifyhtml = require('gulp-minify-html'),
+ notify = require('gulp-notify'),
+ sass = require('gulp-ruby-sass');
+
+var config = {
+ sassPath: './resources/sass',
+ jadePath: './resources/jade',
+ bowerDir: './bower_components'
+}
+
+gulp.task('watch', function() {
+ gulp.watch(config.sassPath + '/**/*.scss', ['css']);
+ gulp.watch(config.jadePath + '/**/*.jade', ['jade']);
+});
+
+gulp.task('default', ['bower', 'css', 'jade', 'img']);
+
+gulp.task('bower', function() {
+ return bower()
+ .pipe(gulp.dest(config.bowerDir));
+});
+
+gulp.task('css', function() {
+ return gulp.src(config.sassPath + '/style.scss')
+ .pipe(sass({
+ style: 'compressed',
+ loadPath: [
+ './resources/sass',
+ config.bowerDir + '/bootstrap-sass-official/assets/stylesheets'
+ ]
+ })
+ .on('error', notify.onError(function (error) {
+ return "Error: " + error.message;
+ }))
+ )
+ .pipe(gulp.dest('./build/assets/css'));
+});
+
+gulp.task('jade', function() {
+ var src = './resources/jade/*.jade',
+ dst = './build';
+
+ return gulp.src(src)
+ .pipe(changed(dst, {extension: 'html'}))
+ .pipe(jade())
+ .pipe(minifyhtml())
+ .pipe(gulp.dest(dst));
+});
+
+gulp.task('img', function() {
+ return gulp.src('./resources/img/*')
+ .pipe(gulp.dest('./build/assets/img'));
+});
+
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..db2ad95
--- /dev/null
+++ b/package.json
@@ -0,0 +1,14 @@
+{
+ "name": "camilstaps.nl",
+ "version": "0.1.0",
+ "devDependencies": {
+ "gulp": "^3.8.11",
+ "gulp-bower": "0.0.10",
+ "gulp-changed": "~1.2.1",
+ "gulp-jade": "~1.0.0",
+ "gulp-minify-html": "~1.0.2",
+ "gulp-notify": "^2.2.0",
+ "gulp-ruby-sass": "^0.7.1",
+ "markdown-js": "0.0.3"
+ }
+}
diff --git a/resources/img/papercut.png b/resources/img/papercut.png
new file mode 100644
index 0000000..edc186d
--- /dev/null
+++ b/resources/img/papercut.png
Binary files differ
diff --git a/resources/img/profile-300x300.png b/resources/img/profile-300x300.png
new file mode 100644
index 0000000..1a0c0f1
--- /dev/null
+++ b/resources/img/profile-300x300.png
Binary files differ
diff --git a/resources/jade/include/foot.jade b/resources/jade/include/foot.jade
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/resources/jade/include/foot.jade
diff --git a/resources/jade/include/head.jade b/resources/jade/include/head.jade
new file mode 100644
index 0000000..95b36cb
--- /dev/null
+++ b/resources/jade/include/head.jade
@@ -0,0 +1,8 @@
+title Camil Staps
+
+meta(charset='utf-8')
+meta(http-equiv='X-UA-Compatible', content='IE=edge')
+meta(name='viewport', content='width=device-width, initial-scale=1')
+
+link(rel='stylesheet', href='/assets/css/style.css', type='text/css')
+
diff --git a/resources/jade/include/layout.jade b/resources/jade/include/layout.jade
new file mode 100644
index 0000000..b6b6819
--- /dev/null
+++ b/resources/jade/include/layout.jade
@@ -0,0 +1,20 @@
+doctype html
+html(lang="en")
+ head
+ include ./head.jade
+
+ body
+ .container
+ block content
+
+ - var date = new Date()
+ footer.footer
+ hr
+ p.text-center
+ | Copyright &copy; Camil Staps 2015 &nbsp;&bull;&nbsp;
+ = "Last updated " + date.toDateString()
+
+ include ./foot.jade
+
+ block js
+
diff --git a/resources/jade/index.jade b/resources/jade/index.jade
new file mode 100644
index 0000000..128b186
--- /dev/null
+++ b/resources/jade/index.jade
@@ -0,0 +1,98 @@
+extends ./include/layout.jade
+
+block content
+ h1 Camil Staps
+ img#profile(alt="Camil Staps", style="float:left;", src="/assets/img/profile-300x300.png", width="170")
+ p Bachelor student #[a(href="http://www.ru.nl/opleidingen/bachelor/informatica/") Computing Science] and #[a(href="http://www.ru.nl/opleidingen/bachelor/theologie/") Theology]; #[a(href="https://vivisoft.nl") freelance programmer]
+ p(style='white-space:pre;')
+ span.tt info@camilstaps.nl
+ br
+ | GPG ID: #[a(href="http://pgp.mit.edu/pks/lookup?op=get&amp;search=0x4A9BFD4F6A415F83") 6A315F83]
+ br
+ | Fingerprint: #[span.tt 7F41 677C FA51 D2AE 8A4A C47D 4A9B FD4F 6A41 5F83]
+ p
+ a(href="https://github.com/camilstaps") GitHub
+ br
+ a(href="https://nl.linkedin.com/in/camilstaps") LinkedIn
+ br
+ a(href="http://stackexchange.com/users/1679769/camil-staps") StackExchange
+ br
+ a(href="http://careers.stackoverflow.com/camilstaps") Stack Overflow Careers
+
+ hr
+
+ table
+ tr
+ td I like:
+ td Functional programming (#[a(href="http://clean.cs.ru.nl/Clean") Clean]), Linux (Debian; Ubuntu Server), Python, crypto, LaTeX (TikZ), PIC microcontrollers, CoffeeScript, regular expressions, Git, PHP (Laravel), API development (Dingo; REST), Bash
+ tr
+ td I know:
+ td The above, (X)HTML(5), CSS(3), JavaScript (jQuery), Bootstrap 3, WordPress, C(++), (My)SQL
+ tr
+ td I dislike:
+ td Ubuntu Desktop, C#, Objective C, any Windows version above XP, Apple, MS Office, computer games
+ tr
+ td My wishlist:
+ td R, more functional programming, Node.js, Docker, LXC, functional programming on microcontrollers, data mining, gamification
+
+ h2 Work
+ table
+ tr
+ td 2015 - present
+ td
+ p Student assistant at the #[a(href="http://www.ru.nl/science") Faculty of Science] at the Radboud University Nijmegen
+ ul
+ li Autumn 2015, #[a(href="http://www.cs.ru.nl/~hubbers/courses/ms_1516/") Mathematical Structures]
+ li Autumn 2015, #[a(href="http://www.cs.ru.nl/~hubbers/courses/co_1516/") Combinatorics]
+ tr
+ td 2013 - present
+ td Owner of #[a(href="https://vivisoft.nl") ViviSoft]
+
+ h2 Education
+ table
+ tr
+ td 2014-2017
+ td BSc. #[a(href="http://www.ru.nl/opleidingen/bachelor/informatica/") Computing Science &amp; Cyber Security], Radboud University Nijmegen (see #[a(href="http://cs.camilstaps.nl") cs.camilstaps.nl] for some of my courses)
+ tr
+ td 2015-2017
+ td BA. #[a(href="http://www.ru.nl/opleidingen/bachelor/theologie/") Theology], Radboud University Nijmegen
+
+ h2 Software projects &amp; libraries
+ table
+ tr
+ td: a(href="https://github.com/camilstaps/ESP8266_PIC") ESP8266_PIC
+ td ESP8266 library for PIC microcontrollers
+ tr
+ td: a(href="https://github.com/camilstaps/pypride") pypride
+ td Python implementation of the #[a(href="https://eprint.iacr.org/2014/453") PRIDE] cipher
+ tr
+ td: a(href="http://bingo.camilstaps.nl/") Bingo forms
+ td Simple PHP script to create bingo forms with customised text
+
+ p Find more on #[a(href="https://github.com/camilstaps") GitHub] and #[a(href="https://git.camilstaps.nl/") git.camilstaps.nl].
+
+ h2 Other interests
+ ul
+ li I have been a volunteer in the #[a(href="http://www.taize.fr/") Taiz&eacute;] community in 2013-14. I'm regularly going to the #[a(href="http://www.ru.nl/studentenkerk/vieringen-0/taizeviering/") Taiz&eacute; prayer] in the student chaplaincy of Nijmegen.
+ li Making paper cuts, such as #[a(href="/assets/img/papercut.png") this one].
+
+ h2 Contact details
+ p +31 6 4045 1121
+ p(style='white-space:pre;')
+ span.tt info@camilstaps.nl
+ br
+ | GPG ID: #[a(href="http://pgp.mit.edu/pks/lookup?op=get&amp;search=0x4A9BFD4F6A415F83") 6A315F83]
+ br
+ | Fingerprint: #[span.tt 7F41 677C FA51 D2AE 8A4A C47D 4A9B FD4F 6A41 5F83]
+ p
+ | #[a(href="https://github.com/camilstaps") GitHub], #[a(href="https://nl.linkedin.com/in/camilstaps") LinkedIn], #[a(href="http://stackexchange.com/users/1679769/camil-staps") StackExchange], #[a(href="http://careers.stackoverflow.com/camilstaps") Stack Overflow Careers]
+ p
+ | KvK: 57363145
+ br
+ | BTW: NL223923096B01
+ p
+ | IBAN: NL68 ASNB 0707 8177 65
+ br
+ | BIC: ASNBNL21
+
+
diff --git a/resources/sass/style.scss b/resources/sass/style.scss
new file mode 100644
index 0000000..5e25f52
--- /dev/null
+++ b/resources/sass/style.scss
@@ -0,0 +1,32 @@
+//@import url(http://fonts.googleapis.com/css?family=Raleway:400,700,300);
+//$font-family-base: 'Raleway', sans-serif;
+// Import bootstrap and fontawesome
+@import "bootstrap";
+
+img#profile {
+ margin-right: 1em;
+}
+
+table {
+ tr {
+ td {
+ vertical-align: top;
+
+ &:first-child {
+ min-width: 120px;
+ padding-right: 1em;
+ }
+ }
+ }
+
+ margin-bottom: 6px;
+}
+
+span.tt {
+ font-family: monospace;
+}
+
+footer {
+ padding-bottom: 10px;
+}
+