Initial commit

This commit is contained in:
Adam Goldsmith 2016-08-03 02:36:43 -04:00
commit 430ab1fadc
52 changed files with 988 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
/__pycache__/
/output/
.tramp_history

62
Makefile Normal file
View File

@ -0,0 +1,62 @@
PY?=python3
PELICAN?=pelican
PELICANOPTS=
PORT=8000
BASEDIR=$(CURDIR)
INPUTDIR=$(BASEDIR)/content
OUTPUTDIR=$(BASEDIR)/output
CONFFILE=$(BASEDIR)/pelicanconf.py
PUBLISHCONF=$(BASEDIR)/publishconf.py
SSH_HOST=ag
SSH_TARGET_DIR=/home/adam/blag/output
DEBUG ?= 0
ifeq ($(DEBUG), 1)
PELICANOPTS += -D
endif
RELATIVE ?= 0
ifeq ($(RELATIVE), 1)
PELICANOPTS += --relative-urls
endif
help:
@echo 'Makefile for a pelican Web site '
@echo ' '
@echo 'Usage: '
@echo ' make html (re)generate the web site '
@echo ' make clean remove the generated files '
@echo ' make regenerate regenerate files upon modification '
@echo ' make publish generate using production settings '
@echo ' make serve [PORT=8000] serve site at http://localhost:8000'
@echo ' make ssh_upload upload the web site via SSH '
@echo ' make rsync_upload upload the web site via rsync+ssh '
@echo ' '
@echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html '
@echo 'Set the RELATIVE variable to 1 to enable relative urls '
@echo ' '
html:
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
clean:
[ ! -d $(OUTPUTDIR) ] || rm -rf $(OUTPUTDIR)
regenerate:
$(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
serve:
cd $(OUTPUTDIR) && $(PY) -m pelican.server $(PORT)
publish:
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS)
ssh_upload: publish
scp -P -r $(OUTPUTDIR)/* $(SSH_HOST):$(SSH_TARGET_DIR)
rsync_upload: publish
rsync -P -rvzc --delete $(OUTPUTDIR)/ $(SSH_HOST):$(SSH_TARGET_DIR) --cvs-exclude
.PHONY: html help clean regenerate serve serve-global devserver publish ssh_upload rsync_upload

View File

@ -0,0 +1,9 @@
Title: A week of broken electronics...
Date: 2014-10-08 03:15
Author: adam
Category: Uncategorized
Tags: electronics, pebble
Slug: a-week-of-broken-electronics
Status: published
I sent an RMA request for my pebble a few days ago because its screen has been acting up, and today my Nook Simple Touch decided it didn't want to have a functional screen. It is way out of warranty, and getting a new screen seems to cost about the same as a full one. Perhaps I can find a better android e-book reader (e-ink, with a back/front light) around the same price...

View File

@ -0,0 +1,17 @@
Title: Apperently I am bad at consistantly writing things
Date: 2015-01-26 16:29
Author: adam
Category: Uncategorized
Tags: FRC, kobo, Robotics
Slug: apperently-i-am-bad-at-consistantly-writing-things
Status: published
Sooooo... Robotics (FRC) started on the 3rd, and a lot has happened there. I am lead-programmer(ish) this year, so that is interesting.
I switched both of my computers (Surface Pro (1) and Mid-2012 Macbook Pro 15", the one that I accidentally wiped the Linux Mint partion of (see [my previous post]({filename}/articles/note-to-self-do-not-format-hard-drives-while-sleepy-or-at-least-make-a-backup.md))) to Arch Linux, and am loving it. I also switched to using Syncthing (network of peers) instead of Seafile (server-client) for file syncing. It seems to use more CPU time, but other than that I really like it.
I finally got a new eReader, (a Kobo Aura HD), and have been using [koreader](https://github.com/koreader/koreader) instead of the default reader. Since I got it, I (finally) finished *Cryptonomicon* and *Ao No Exorcist*, read all of *Little Brother*, and started *Snow Crash* and *Hacking the Xbox*. For reading manga more easily, I was working on [this bug/feature request](https://github.com/koreader/koreader/issues/1235), and wrote up [a really terrible version](https://github.com/ad1217/koreader/tree/nextBook) that I hope to work on more at some point.
Mostly I have been watching anime, reading manga, working on Robotics, and failing miserably to work on English papers. Also, I applied to all of the colleges I plan to apply to except WPI, since it both had a later deadline (2015.02.01) and also required an essay.
Tomorrow is a snow day (apperently only the second one in seven years), so I don't really have anything due tomorrow.

View File

@ -0,0 +1,7 @@
Title: Blag Update
Date: 2016-04-03 02:36
Author: adam
Category: Uncategorized
Status: published
So I finally updated this site. I am no longer using Wordpress, as it was really overkill, and not really what I wanted. I am now using [Pelican](http://getpelican.com), which is a Python based static site generator. So that's nice. I'll probably be fiddling with it for a while.

28
content/articles/break.md Normal file
View File

@ -0,0 +1,28 @@
Title: Break, and things since.
Date: 2014-11-04 22:17
Author: adam
Category: Uncategorized
Tags: leap, programming, rift, sailing
Slug: break
Status: published
There was a break a week ago, and I stopped updating for a bit. So here are some new things: <!--more-->
### Programming
- We got a Leap Motion, which is pretty cool. It is like a Kinect, but built specifically for measuring hands, meaning it is much more accurate. We plan to integrate this into some Rift stuff later
- I started learning OpenGL! I haven't done anything interesting yet, though I do have some integration with the Leap SDK. I will post a link to the repository at some point
- ARChon (running android apps in chrome on x86) suddenly started working! Hopefully I can find some useful apps that will work nicely on my Surface Pro
- I switched to XFCE-panel instead of mate-panel. It is a little more glitchy, but I like the config better, and more people seem to develop for it.
### Sports
- Sailing is finally over (as of either today or tomorrow), meaning robotics starts soon!
- I got first in our home regatta (vs Brewster), and last in our away regatta (at Brewster). I blame the change in crew, as I was with the one whom I had sailed with a lot for the home one, but with someone I rarely sailed with for the away one. (But really, I was probably just less enthusiastic for the second one.)
### Other
- Astronomy Club went on a field trip to Harvard yesterday! I will probably write more about this later.
- I brought my Othermill back to school with me, and have it set up in the woodshop. I will probably make some cool stuff and post the pictures at some point.
- On a related note, Mr. Cox (my CS teacher) told me that we (some other students, him, and me) are planning to build a larger CNC mill for robotics. That should also be pretty cool.
- At home, we got furniture (tables and cabinets) for the basement electronics area, and build most of the big stuff. I will probably put up a picture once I get back home and all the drawers/shelves are assembled and installed.

View File

@ -0,0 +1,11 @@
Title: Emacs cat mode
Date: 2015-11-06 00:30
Author: adam
Category: Programming
Tags: emacs, github, lisp, programming
Slug: emacs-cat-mode
Status: published
So I wrote a minor mode for buffer management in Emacs. It works surprisingly well. [Here it is](https://github.com/ad1217/emacs-cat-mode). Also my most starred project on Github (although that isn't that hard), so that's nice. As of now, three whole people liked it!
Lisp is pretty cool.

8
content/articles/hi.md Normal file
View File

@ -0,0 +1,8 @@
Title: Hi!
Date: 2014-10-05 18:35
Author: adam
Category: Uncategorized
Slug: hi
Status: published
I have a website. I might write about things here at some point.

View File

@ -0,0 +1,9 @@
Title: Homework.txt
Date: 2014-10-14 20:57
Author: adam
Category: School
Tags: programming
Slug: homework-txt
Status: published
[This](http://github.com/ad1217/homework.txt) is a project I have been working on for a while (since the start of the school year). It is a script, written in bash, to manage homework. I think it is pretty cool, but definitely needs more work.

View File

@ -0,0 +1,11 @@
Title: I drew a hand
Date: 2014-10-05 18:39
Author: adam
Category: Drawing
Tags: art, drawing
Slug: i-drew-a-hand
Status: published
I drew a hand for Drawing 1 (in the first week):
![Hand Drawing]({filename}/images/2014/10/IMG_20140923_082804.jpg)

View File

@ -0,0 +1,18 @@
Title: New Pebble!
Date: 2014-10-14 20:51
Author: adam
Category: Uncategorized
Tags: pebble
Slug: new-pebble
Status: published
I had to RMA my Kickstarter Pebble, so they shipped me a new one. Here are some pictures of the two: <!--more-->
![Fronts]({filename}/images/2014/10/IMG_20141014_201524-e1413332786872.jpg)
![Backs]({filename}/images/2014/10/IMG_20141014_201449-e1413332655124.jpg)
I am using [PebbleBits](http://pebblebits.com/) firmware with all firmware watchfaces as well the music and watchfaces apps disabled. With new QuickLaunch shortcuts and PebbleBits' BackLaunchBank14, I can run all of my apps without entering the menu (except alarms, notifications, and settings, which are now at the top).
In terms of hardware, the new one has much better feeling buttons, and has torx screws in the back. A bit of research reveals that while there is still some glue, the screen is now actually replaceable! I would start using it now, but I need to get another screen protector first.
While I rather like the new hardware, I am sad to see the old one go (they asked me to return it :( )...

View File

@ -0,0 +1,15 @@
Title: Note to self: Do not format hard drives while sleepy (or at least make a backup)
Date: 2014-11-16 14:26
Author: adam
Category: Uncategorized
Tags: computer, linux, stupid
Slug: note-to-self-do-not-format-hard-drives-while-sleepy-or-at-least-make-a-backup
Status: published
Sooo... I was installing Arch Linux, and resized my Linux Mint partition with `parted` (which is apparently not good at shrinking partitions). <!--more--> This lead to an issue where the partition thought it was bigger than it was. In trying to fix this, I ended up accidentally
reformatting the partition, and can't seem to recover it.
This is why I should probably back things up. Luckily, the only things on that partition that are not redundant or easily replaceable are video game saves, a project I was working on in Advanced Computer Programming,
and some pictures (or at least I hope that's all).
My plan now is to back up the whole drive, and continue trying from there, while just moving on with this one. I suspect that I might be able to get the pictures with some other software (PhotoRec), but I have little hope for most everything else.
I really wish I would stop doing thing that are likely to destructive right before important events (like, for instance, exams this week)...

View File

@ -0,0 +1,13 @@
Title: Oculus Rift DK2s are here!
Date: 2014-10-05 20:47
Author: adam
Category: Programming
Tags: games, oculus, programming, rift, vr
Slug: oculus-rift-dk2s-are-here
Status: published
We got our DK2s last week, and I have been messing with demos and setting up the SDK for development on my macbook.<!--more--> I have to use OSX becuase there is no Linux support yet :( (Hopefully coming Soon^tm^). So far, the best demo was either [Senza Peso](http://senzapeso.com/) or [SightLine: The Chair](http://sightlinevr.com/index.html). Both are mostly passive: Senza Peso just moves you through the environment while you look around, while SightLine is based on head movement. However, there doesn't appear to be any effect on the outcome/course of the demo. Sound is very important to the experience for both of them, but more so for Senza Peso, as it is an opera.
The best game was, by far, [Elite: Dangerous](http://elitedangerous.com/). For controls, we used the two Logitech Extreme 3D Pro joysticks from Robotics season (which caused some issues because ED thought they were the same device. I filed a bug report, but I don't know if it will be fixed). I haven't been able to play very much because other people want to try out the Rift (it is quite entertaining to see people's first reactions), and I was having problems that took about an hour to solve. In terms of gameplay, some of the smaller text is a bit hard to read, but otherwise it works rather well. There is some stuttering in more complicated environments, but that should be fixed when we get a new graphics card (hopefully on Monday (tomorrow!)). We tried to play Star Citizen, but with the wimpy graphics card we have, it was far too laggy to play.
More updates to come!

View File

@ -0,0 +1,32 @@
Title: Robotics Tournament and exam week
Date: 2015-03-01 21:33
Author: adam
Category: Robotics
Tags: exams, FRC, rant, Robotics
Slug: robotics-tournament-and-exam-week
Status: published
Attachments: images/2015/03/DSC00171.jpg, images/2015/03/DSC00314.jpg
Soooooo... Yeah. Writing things...
The robotics competition started on Thursday (just for setup), and went until Saturday. We (team 1786) were 21st seed at the end of the qualifiers, and were picked by our old team, 1729 (who were the 7th seed), along with 131 (CHAOS, who was in our alliance us last year) for the elimination rounds. We didn't do so well in the elims, and didn't make it past the quarter finals.
<!--more-->
My thoughts on the game/competition:
- the noodles were much more important than I had anticipated. There were many matches where throwing them earned the majority of the points. (up to 40. for reference, our final qualifying average was somewhere around 20, while the first seed (1519)'s was around 80)
- I am not really fond of this: human players shouldn't be that important. The robot it the important part.
- Autonomous rarely scored many points (since it basically required all of the robots to work/have an autonomous), with the exception of 1519, who could do a 3 tote stack.
- Also pretty annoying, since that meant that programming didn't really have any oportunity to show off.
- Using average points was a bit weird, and I don't think I liked that much either (even though it helped us a bit).
- Being paired with a top team meant that you could have a very high scoring match, drastically rasing your average (and therefore your rank). The reverse is also true; a poor alliance can quickly decrease your score/rank. I saw one match where a team got raised 11 ranks, and in one of ours, we got raised 9.
- Previously each mach could only affect your team by adding or subtracting 1 from your "score," whereas here the change was much more significant
- Overall, it was a lot more fun as a spectator sport than I was expecting. Each match played out quite differently, even when we did the basically the same things
I have a bunch of stuff written down (in [todo.txt](https://github.com/ginatrapani/todo.txt-cli/), more on this <del>later</del> whenever I get around to it) for what needs to be done before our next competition (in Massachusetts, after break). Since robotics season (the winter trimester) is over, I can only hope things actually get done.
Here is a picture my dad took of our robot picking things up: [![Pick Up]({filename}/images/2015/03/DSC00171.jpg)]({filename}/images/2015/03/DSC00171.jpg)
And here is one of it putting things down: [![Put Down]({filename}/images/2015/03/DSC00314.jpg)]({filename}/images/2015/03/DSC00171.jpg)
Anyway, so this week is exam week (since robotics is always right before exams), and I am pretty tired/apathetic. I have three exams this time, up from one last trimester, meaning I should probably study, and this post is really just a way to procrastinate on that.

View File

@ -0,0 +1,15 @@
Title: Sailing Rant
Date: 2014-10-11 00:01
Author: adam
Category: Sailing
Tags: rant, sailing, sports
Slug: sailing-rant
Status: published
Up until this year, sailing at my high school was fun.<!--more--> We had the same partner and boat most of the time, so we could refine our skills together. I was with a good friend, so we could always talk about something (mostly recent developments in technology), and he was good enough as a crew that I didn't have to pay constant attention to how he was doing his job.
This year, however, has not been very fun. We switch partners and boats every day, meaning that we never really develop skills together. I teach the same things to whoever I am with every day, yet regardless of how well they understand it, I know that the next day I will have to teach it to someone else all over again. By the time I get any of them again, they tend to have forgotten whatever it was. Since I need to constantly play attention to what my crew is doing and continually correct them, I can't focus on things that I need to practice, such as starts, or fun things, such as using the rules to mess with people.
In addition to the pairing changes, our head coach is being increasingly insistent on longer practices. Since it takes 10-15 minutes to walk down to (and back from) the boathouse every day, our practices are already about 20-30 minutes longer than most. We also tend to not get out quite on time since we don't go in with enough time to de-rig and take off our drysuits. In addition to this, we also have an extra half hour on Wednesdays and Saturdays, the reasoning being that most sports have games then.
I would be mostly okay with the extra time, except that this year, sailing has been the event I least look forward to. This is a major change from previous years, when it was my favorite part of the day. It is so bad that it is even worse than my English class, which is traditionally my least favorite part of the day. Obviously, something is very, very wrong.

View File

@ -0,0 +1,8 @@
Title: SATs today
Date: 2014-11-08 18:14
Author: adam
Category: School
Slug: sats-today
Status: published
I took the SATs today. They went much better than last time I took them, probably due to actually getting to sleep last night! Also, during the test, I knocked my phone off of the little pile of stuff under my desk, and the screen cracked... :(

View File

@ -0,0 +1,11 @@
Title: Showing off the DK2s
Date: 2014-10-12 14:14
Author: adam
Category: School
Tags: community, games, oculus, rift, vr
Slug: showing-off-the-dk2s
Status: published
We're showing off the Oculus Rift DK2s today. It's really fun to see people's reactions to SightLine: The Chair. 7 people have come through so far!<!--more-->
Earlier this week, we got a GTX 970, so games are actually playable! Elite: Dangerous is still the best game. Star Citizen has much better graphics (which now run smoothly), but Elite is much more complete. I tried Half-Life 2, which works pretty well, though guns are a bit glitchy, and the control scheme is a bit weird.

View File

@ -0,0 +1,8 @@
Title: Snow Day!
Date: 2015-01-27 17:10
Author: adam
Category: Uncategorized
Slug: snow-day
Status: published
Today was a snow day, appently the first in 7 years. The whole dorm transported a pile of wood up the ski hill next to my dorm to the tiny house. That was rather a lot of work, so I am quite tired, and my shoes are soaked. At noon I shoveled around the dorm, which I will be doing again at 5:30. I went to Robotics around 13:00 and finished mounting most of the electronics.

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

15
content/pages/about.md Normal file
View File

@ -0,0 +1,15 @@
Title: About Me
Date: 2014-10-05 18:38
Author: adam
Slug: about
Status: published
I am a college student at WPI who is into computer programming, electronics, sci-fi, anime, and some other stuff.
#### Me, in other places:
- [Github](https://github.com/ad1217)
- [Hackaday.io](http://hackaday.io/hacker/14006-adam-goldsmith)
- User ad1217 in most places
Here is my PGP pubkey: [pubkey.gpg](/pubkey.gpg)

35
pelicanconf.py Normal file
View File

@ -0,0 +1,35 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*- #
from __future__ import unicode_literals
AUTHOR = "Adam Goldsmith"
SITENAME = "Adam Goldsmith's Blag"
SITESUBTITLE = "There might be things here some day"
SITEURL = ''
TIMEZONE = "America/New_York"
DEFAULT_LANG = 'en'
THEME = "./theme-fred"
DISPLAY_CATEGORIES_ON_MENU = False
ARTICLE_URL = 'posts/{date:%Y}/{date:%b}/{date:%d}/{slug}.html'
ARTICLE_SAVE_AS = 'posts/{date:%Y}/{date:%b}/{date:%d}/{slug}.html'
PAGE_URL = 'pages/{slug}.html'
PAGE_SAVE_AS = 'pages/{slug}.html'
STATIC_PATHS = ['images']
DEFAULT_PAGINATION = 10
PATH = 'content'
# Feed generation is usually not desired when developing
FEED_ALL_ATOM = None
CATEGORY_FEED_ATOM = None
TRANSLATION_FEED_ATOM = None
AUTHOR_FEED_ATOM = None
AUTHOR_FEED_RSS = None
# Uncomment following line if you want document-relative URLs when developing
RELATIVE_URLS = True

19
publishconf.py Normal file
View File

@ -0,0 +1,19 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*- #
from __future__ import unicode_literals
# This file is only used if you use `make publish` or
# explicitly specify it as your config file.
import os
import sys
sys.path.append(os.curdir)
from pelicanconf import *
SITEURL = 'https://adamgoldsmith.name'
RELATIVE_URLS = False
FEED_ALL_ATOM = 'feeds/all.atom.xml'
CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml'
DELETE_OUTPUT_DIRECTORY = True

3
theme-fred/LICENSE Normal file
View File

@ -0,0 +1,3 @@
This theme is uncopyrighted and is an adaptation from (http://mathieu.agopian.info/mnmlist/theme.html), which is itself an adaptation of the mnmlist theme for wordpress, which is also uncopyrighted (http://mnmlist.com/theme/).
This theme is also free, and offered as is.

28
theme-fred/README.rst Normal file
View File

@ -0,0 +1,28 @@
nmnlist
#######
This is an inverted colors (white on black) variant of the `mnmlist theme <http://mnmlist.com/theme>`_.
Settings
~~~~~~~~
There's one additional setting used by this theme, if present:
::
HIDE_DATE = False
If ``HIDE_DATE`` is set to ``True``, dates won't be displayed under the blog post titles.
Compass
~~~~~~~
The ``main.css`` file is generated from the ``compass/src/main.scss`` sass file, using http://compass-style.org/.
Screenshot
----------
.. image:: screenshot.png
:alt: Screenshot of the theme

BIN
theme-fred/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

View File

@ -0,0 +1,184 @@
/*
Theme Name: mnmlist
Theme URI: http://mathieu.agopian.info/mnmlist/theme.html
Description: Theme adapted from http://mnmlist.com/theme/ from Leo Babauta, a very clean minimalist theme, without comments, search, archives or other features.
Author: Mathieu Agopian
Autor URI: http://mathieu.agopian.info
This theme is uncopyrighted, free, and offered as is.
Update (inverted colors, minor changes) by Tastalian, 2013-03-20.
*/
@import url("pygment.css");
body {
background: #1E1E1E;
color: #EEE;
font: 15px Hoefler Text, bodyfont, serif;
max-width: 50em;
margin: 20px 20px 0 64px;
}
h1 {
color: #F00;
font-family: Helvetica, sans-serif;
font-size: 1.5em;
font-weight: normal;
margin-bottom: 0;
}
h2 {
color: #DDD;
font-family: Helvetica, sans-serif;
font-size: 1.3em;
}
h3 {
color: #CCC;
font-family: Helvetica, sans-serif;
font-size: 1em;
}
h4 {
color: #CCC;
font-family: Helvetica, sans-serif;
font-size: 0.9em;
}
time {
color: #c0c0c0;
font-size: 75%;
font-variant: small-caps;
}
#site-title, #site-title:visited{
color: #ddd;
font-size: 150%;
}
#site-title:hover{
color: #fff;
background-color: transparent;
font-size: 150%;
}
#sitesubtitle {
color: #aaa;
font-size: 80%;
}
img {
display: block;
margin: auto;
max-width: 75%;
height: auto;
border: none;
}
blockquote {
border-left: 1px solid #A5ABAB;
margin: 0px;
padding: 0 12px 0 12px;
}
p {
line-height: 30px;
margin: auto;
text-indent: 0px;
}
p.caption {
font-size: 80%;
margin-top: 0;
}
a {
color: #a47815;
text-decoration: none;
}
a:hover {
color: #fff;
color: white;
}
a:visited {
color: #6F6144;
}
a:visited:hover {
background-color: #F60;
color: white;
}
ul, ol {
padding: .5em 0em 1em 3.2em;
}
ul li, ol li {
line-height: 30px;
padding: 6px 0 0 0;
}
strong {
color: #999;
font-family: Georgia, "Times New Roman", Times, serif;
font-weight: bold;
}
tt, pre {
background-color: #2A2A2A;
font-family: Inconsolata, Monaco, monospace;
line-height: 1.2em;
}
pre {
font-size: 0.8em;
overflow: auto;
padding: 10px;
}
header {
padding-bottom: 15px;
}
header a {
border-bottom: none;
}
header a#page-title {
font-weight: bold;
}
#article-list {
margin-top: 100px;
}
#article-list ol li {
line-height: 1.2em;
list-style-type: none;
padding-bottom: 10px;
}
footer {
background: #2A2A2A;
color: #CCC;
font-family: helvetica, sans-serif;
font-size: 13px;
letter-spacing: 4px;
margin-left: 20px;
}
footer li {
display: inline;
}
footer p {
text-align: right;
}
#cat-tags {
font-size: 75%;
color: #999;
}

View File

@ -0,0 +1,205 @@
.hll {
background-color:#FFFFCC;
}
.c {
color:#408090;
font-style:italic;
}
.err {
border:1px solid #FF0000;
}
.k {
color:#007020;
font-weight:bold;
}
.o {
color:#666666;
}
.cm {
color:#408090;
font-style:italic;
}
.cp {
color:#007020;
}
.c1 {
color:#408090;
font-style:italic;
}
.cs {
background-color:#FFF0F0;
color:#408090;
}
.gd {
color:#A00000;
}
.ge {
font-style:italic;
}
.gr {
color:#FF0000;
}
.gh {
color:#000080;
font-weight:bold;
}
.gi {
color:#00A000;
}
.go {
color:#303030;
}
.gp {
color:#C65D09;
font-weight:bold;
}
.gs {
font-weight:bold;
}
.gu {
color:#800080;
font-weight:bold;
}
.gt {
color:#0040D0;
}
.kc {
color:#007020;
font-weight:bold;
}
.kd {
color:#007020;
font-weight:bold;
}
.kn {
color:#007020;
font-weight:bold;
}
.kp {
color:#007020;
}
.kr {
color:#007020;
font-weight:bold;
}
.kt {
color:#902000;
}
.m {
color:#208050;
}
.s {
color:#4070A0;
}
.na {
color:#4070A0;
}
.nb {
color:#007020;
}
.nc {
color:#0E84B5;
font-weight:bold;
}
.no {
color:#60ADD5;
}
.nd {
color:#555555;
font-weight:bold;
}
.ni {
color:#D55537;
font-weight:bold;
}
.ne {
color:#007020;
}
.nf {
color:#10D0E0;
}
.nl {
color:#002070;
font-weight:bold;
}
.nn {
color:#0E84B5;
font-weight:bold;
}
.nt {
color:#062873;
font-weight:bold;
}
.nv {
color:#BB60D5;
}
.ow {
color:#007020;
font-weight:bold;
}
.w {
color:#BBBBBB;
}
.mf {
color:#208050;
}
.mh {
color:#208050;
}
.mi {
color:#208050;
}
.mo {
color:#208050;
}
.sb {
color:#4070A0;
}
.sc {
color:#4070A0;
}
.sd {
color:#4070A0;
font-style:italic;
}
.s2 {
color:#4070A0;
}
.se {
color:#4070A0;
font-weight:bold;
}
.sh {
color:#4070A0;
}
.si {
color:#70A0D0;
font-style:italic;
}
.sx {
color:#C65D09;
}
.sr {
color:#235388;
}
.s1 {
color:#4070A0;
}
.ss {
color:#517918;
}
.bp {
color:#007020;
}
.vc {
color:#BB60D5;
}
.vg {
color:#BB60D5;
}
.vi {
color:#BB60D5;
}
.il {
color:#208050;
}

View File

@ -0,0 +1,11 @@
{% if GOOGLE_ANALYTICS %}
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("{{GOOGLE_ANALYTICS}}");
pageTracker._trackPageview();
} catch(err) {}</script>
{% endif %}

View File

@ -0,0 +1,13 @@
{% extends "base.html" %}
{% block content %}
<section id="content" class="body">
<h1>Archives for {{ SITENAME }}</h1>
<dl>
{% for article in dates %}
<dt>{{ article.locale_date }}</dt>
<dd><a href='{{ article.url }}'>{{ article.title }}</a></dd>
{% endfor %}
</dl>
</section>
{% endblock %}

View File

@ -0,0 +1,17 @@
{% extends "base.html" %}
{% block title %}{{ super() }} : {{ article.title }}{% endblock %}
{% block content %}
{% include 'article_infos.html' %}
<article>
{{ article.content }}
<p id="cat-tags"> category: <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>
{% if article.tags %}
tags:
{% for tag in article.tags %}
<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag | escape }}</a>
{% endfor %}
{% endif %}
</p>
</article>
{% endblock %}

View File

@ -0,0 +1,4 @@
<header>
<h1><a href="{{ SITEURL }}/{{ article.url }}" id="page-title">{{ article.title }}</a></h1>
{% if not HIDE_DATE %}<time datetime="{{ article.date.isoformat() }}">{{ article.locale_date }}</time>{% endif %}
</header>

View File

@ -0,0 +1,2 @@
{% extends "index.html" %}
{% block title %}{{ SITENAME }} - {{ author }}{% endblock %}

View File

View File

@ -0,0 +1,54 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>{% block title %}{{ SITENAME }}{%endblock%}</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/{{ CSS_FILE }}" type="text/css" />
<link href="{{ SITEURL }}/{{ FEED_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} ATOM Feed" />
{% if FEED_RSS %}
<link href="{{ SITEURL }}/{{ FEED_RSS }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
{% endif %}
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<!--[if lte IE 7]>
<link rel="stylesheet" type="text/css" media="all" href="{{ SITEURL }}/css/ie.css"/>
<script src="{{ SITEURL }}/js/IE8.js" type="text/javascript"></script><![endif]-->
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" media="all" href="{{ SITEURL }}/css/ie6.css"/><![endif]-->
</head>
<body>
{% include 'github.html' %}
<a href="{{ SITEURL }}" id="site-title">{{ SITENAME }}</a>
<br/>
<span id="sitesubtitle">{% if SITESUBTITLE %} {{ SITESUBTITLE }}{% endif %}</span>
{% block content %}
{% endblock %}
<footer>
<nav>
<ul>
{% for page in PAGES %}
<li><a href="{{ SITEURL }}/{{ page.url }}">{{ page.title }}</a>{% if not loop.last %} ::{% endif %}</li>
{% endfor %}
{% if categories|length > 1 %}
<li>:: <a href="{{ SITEURL }}/categories.html">Categories</a></li>
{% endif %}
{% if tags|length > 1 %}
<li>:: <a href="{{ SITEURL }}/tags.html">Tags</a></li>
{% endif %}
</ul>
</nav>
</footer>
{% include 'analytics.html' %}
{% include 'piwik.html' %}
{% include 'disqus_script.html' %}
</body>
</html>

View File

@ -0,0 +1,8 @@
{% extends "base.html" %}
{% block content %}
<ul>
{% for category, articles in categories %}
<li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -0,0 +1,2 @@
{% extends "index.html" %}
{% block title %}{{ SITENAME }} - {{ category }}{% endblock %}

View File

@ -0,0 +1 @@
{% if DISQUS_SITENAME %}<p>There are <a href="{{ SITEURL }}/{{ article.url }}#disqus_thread">comments</a>.</p>{% endif %}

View File

@ -0,0 +1,11 @@
{% if DISQUS_SITENAME %}
<script type="text/javascript">
var disqus_shortname = '{{ DISQUS_SITENAME }}';
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>
{% endif %}

View File

@ -0,0 +1,9 @@
{% if GITHUB_URL %}
<a href="{{ GITHUB_URL }}">
{% if GITHUB_POSITION != "left" %}
<img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub" />
{% else %}
<img style="position: absolute; top: 0; left: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_left_white_ffffff.png" alt="Fork me on GitHub" />
{% endif %}
</a>
{% endif %}

View File

@ -0,0 +1,19 @@
{% extends "base.html" %}
{% block content %}
{% if articles %}
{% for article in articles_page.object_list %}
{% include 'article_infos.html' %}
<article>
{{ article.summary }}
<a class="readmore" href="{{ SITEURL }}/{{ article.url }}">read more</a>
</article>
{% endfor %}
{% if articles_page.has_other_pages() %}
{% include 'pagination.html' %}
{% endif %}
{% else %}
No articles.
{% endif %}
{% endblock content %}

View File

@ -0,0 +1,10 @@
{% extends "base.html" %}
{% block title %}{{ page.title }}{% endblock %}
{% block content %}
<header>
<h1><a href="{{ SITEURL }}/{{ page.slug }}" id="page-title">{{ page.title }}</a></h1>
</header>
<article>
{{ page.content }}
</article>
{% endblock %}

View File

@ -0,0 +1,15 @@
{% if DEFAULT_PAGINATION %}
<p class="paginator">
{% if articles_page.has_previous() %}
{% if articles_page.previous_page_number() == 1 %}
<a href="{{ SITEURL }}/{{ page_name }}.html">&laquo;</a>
{% else %}
<a href="{{ SITEURL }}/{{ page_name }}{{ articles_page.previous_page_number() }}.html">&laquo;</a>
{% endif %}
{% endif %}
Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}
{% if articles_page.has_next() %}
<a href="{{ SITEURL }}/{{ page_name }}{{ articles_page.next_page_number() }}.html">&raquo;</a>
{% endif %}
</p>
{% endif %}

View File

@ -0,0 +1,16 @@
{% if PIWIK_URL and PIWIK_SITE_ID %}
<script type="text/javascript">
{% if PIWIK_SSL_URL %}
var pkBaseURL = (("https:" == document.location.protocol) ? "https://{{ PIWIK_SSL_URL }}/" : "http://{{ PIWIK_URL }}/");
{% else %}
var pkBaseURL = (("https:" == document.location.protocol) ? "https://{{ PIWIK_URL }}/" : "http://{{ PIWIK_URL }}/");
{% endif %}
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", {{ PIWIK_SITE_ID }});
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://{{ PIWIK_URL }}/piwik.php?idsite={{ PIWIK_SITE_ID }}" style="border:0" alt="" /></p></noscript>
{% endif %}

View File

@ -0,0 +1,2 @@
{% extends "index.html" %}
{% block title %}{{ SITENAME }} - {{ tag }}{% endblock %}

View File

@ -0,0 +1,2 @@
{% if article.tags %}<p>tags: {% for tag in article.tags %}<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a>{% endfor %}</p>{% endif %}
{% if PDF_PROCESSOR %}<p><a href="{{ SITEURL }}/pdf/{{ article.slug }}.pdf">get the pdf</a></p>{% endif %}

View File

@ -0,0 +1,9 @@
{% extends "base.html" %}
{% block content %}
<ul>
{% for tag, articles in tags %}
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -0,0 +1,6 @@
{% if article.translations %}
Translations:
{% for translation in article.translations %}
<a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a>
{% endfor %}
{% endif %}

View File

@ -0,0 +1,3 @@
{% if TWITTER_USERNAME %}
<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="{{TWITTER_USERNAME}}">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
{% endif %}