From 2a224f746b57d313a79b71e9a5028dbe7ca5c26e Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Sat, 7 Feb 2015 11:50:07 -0800 Subject: [PATCH] Add more projects to the list --- static/img/projects/cod.png | Bin 0 -> 28317 bytes static/img/projects/tetra.png | Bin 0 -> 4608 bytes views/projects.moon | 26 ++++++++++++++++++++++++-- 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 static/img/projects/cod.png create mode 100644 static/img/projects/tetra.png diff --git a/static/img/projects/cod.png b/static/img/projects/cod.png new file mode 100644 index 0000000000000000000000000000000000000000..ebf75dd00e3d3924285c74d6ccc0ce20c7dabcc9 GIT binary patch literal 28317 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 literal 0 HcmV?d00001 diff --git a/static/img/projects/tetra.png b/static/img/projects/tetra.png new file mode 100644 index 0000000000000000000000000000000000000000..05e25d06d1c1a05ae6eb8dfd589f9f03eb6a25c0 GIT binary patch literal 4608 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�o(r~q+=9&!2nl&yK#O`+E~1nQ7>Dykvr*xs%i<>Hov6;^WnKuigyE@oj~L+~FAjSOM6$7YVR ziJ2hV!#Ba7(xH(a9!K*zm$mMDKBLL9+w_P-U8eL))O|3G9-cERMVLCulK zcv=zCiJpb;Gc^c;3G|h7!$ZC5u*ukaffv7aYD2SjCUSTJVKXLQrpojrH+3VF2hf9x zKAPg6V4T%+_O5a^Hr!!fE*hsyfEnE)l@U||Y%u9y)NsxoC1u}w&9U%D*9>6*A*l4F z0w5~)YqleoVJmxAeL0N=5;i`F827{N!*lOV06%=}49S&=Afl+*cyI6M5T~ts{`5Id z-4ZZNP)O)up7w7=ot(h?zlAM*^0rDunWI50$-|_x9rHgOX5I=43KA;^C~4ADFc^!> zxE-36=;&2(jvV@Sg*gRS60RYJ;SvXjZ69_tX{X-%_A&BJwUG5B$#wg8bgbpKcND*u zW8P5_g`sjhOO_YgK$HVqJ2DZO9w{zIvX_k4)vbRx8y1pz<)JZw`xzbN>?_b`8~N={ zb2XdK8ci%ds_7Qllkh-CFDnhx?l)4@EVnx7o;x12-O!bjd*&XwnIl+P(}MgG3rLE&ba3#uOW}r`NDIx%!Ku7^3kU!z4S8)-i41M>1Oy1b*wmS^Hj5{ zdH08kmezz1Ct)aA1=#2d#}53QvF-Dl;~n4$NGh}zPh=d7@wLqx5BmKL3DTThRX0e! z#^9Bv0tQ2(*SFNLcUPJWa1%b(pbmFG+eY)wCzm;lA?mhXjLS;frr*ok1sf9_tA-_?G8x?&|0Wg2Pi_Joi@8(K#9Idq%T5z3 zV-Sr#DMLbaJKmubS-2A*}|(ECZ+4%32*)RRw<8QqI6@A_3!6A$S-`^|L?h zScdD!q3(>4MA`u8Ic`PMEo9foTC>SG%s`ZJ>7@=YIi zIl|%rUF7#o;@(sJvxG<|IN{|T?6G^%bNX9fF)AP;s=pTY@v8l)Mm0NMPu) z(ZK2EfJ3OR3cU@z&HxPfySLQDHqfGvKY@%0BiT)L=sm zWqU68O^gioUy#6RZ@Wl`p?oJn1Qv{jbrY1qX^k4=1w3Kwo%s)U#`s67m<5A0#F5-G z++67YnN0leT@21|;M)HKD&k0--~YiMGoNdE3~WHJ5KXi5FI>>$NC%)O2a&COZyxer Dqkb1t literal 0 HcmV?d00001 diff --git a/views/projects.moon b/views/projects.moon index 7675cdf..f751091 100644 --- a/views/projects.moon +++ b/views/projects.moon @@ -16,7 +16,7 @@ class Portfolio extends Widget div class: "info", -> h4 class: "text-center", "Flitter" - p "Flitter is an experimental platform-as-a-service implementation from scratch in Go. It uses mostly handrolled tools and Vulcand for HTTP proxying to applications. It is currently not being maintained but it is currently able to deploy applications with a Dockerfile via a heroku-style git push." + p "Flitter is an experimental platform-as-a-service implementation from scratch in Go. It uses mostly handrolled tools and Vulcand for HTTP proxying to applications. It is currently not being maintained but it is able to deploy applications with a Dockerfile via a heroku-style git push." a href: "/projects/flitter", class: "btn", "Learn More" div class: "col-xs-12 col-sm-6 col-md-6 col-lg-6", -> @@ -30,7 +30,29 @@ class Portfolio extends Widget text "This site and a few others I host are deployed inside Docker containers and are updated using " code "git push" text ". The code for this site is available to the public at the link below. This is a simple Lapis application inside nginx and deployed using my docker-lapis image." - a href: "http://git.xeserv.us/xena/site", class: "btn", "Learn More" + a href: "http://github.com/Xe/christine.website", class: "btn", "Learn More" + + div class: "col-xs-12 col-sm-6 col-md-6 col-lg-6", -> + div class: "box", -> + div class: "box-icon", -> + center -> + img src: "/static/img/projects/cod.png", width: 70, height: 70, style: "position: relative; top: 50%; transform: translateY(25%);" + + div class: "info", -> + h4 class: "text-center", "Cod" + p "Cod is an opinionated set of extended services for IRC networks. It's written from scratch in Python and currently is in active use on a network with over 250 users daily. It works with any Charybdis family IRC daemon but will work best with Elemental-IRCd." + a href: "https://github.com/cod-services/cod", class: "btn", "Learn More" + + div class: "col-xs-12 col-sm-6 col-md-6 col-lg-6", -> + div class: "box", -> + div class: "box-icon", -> + center -> + img src: "/static/img/projects/tetra.png", width: 70, height: 70, style: "position: relative; top: 50%; transform: translateY(25%);" + + div class: "info", -> + h4 class: "text-center", "Tetra" + p "Tetra is the successor to Cod. It is rewritten from the ground up with the core in Go and all plugins in either Moonscript or Lua. It is in development but master is considered stable. Any active development that could break things is done in feature branches that will PR to master." + a href: "/projects/Tetra", class: "btn", "Learn More" div class: "col-xs-12 col-sm-6 col-md-6 col-lg-6", -> div class: "box", ->