summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-06-21 21:24:54 +0200
committerGravatar Tom Willemsen2012-06-21 21:24:54 +0200
commitc90daec5f4a91cf1041a5a61411d860ea4329ece (patch)
treecd8932e1dd5dacdc183a91b55ca4d5c7580e9d36
downloadorgweb-c90daec5f4a91cf1041a5a61411d860ea4329ece.tar.gz
orgweb-c90daec5f4a91cf1041a5a61411d860ea4329ece.zip
Initial commit
-rw-r--r--.dir-locals.el44
-rw-r--r--.gitignore1
-rw-r--r--blog/.gitignore2
-rw-r--r--blog/blog-2012-04-24-0052.org21
-rw-r--r--blog/blog-2012-04-24-0127.org14
-rw-r--r--blog/blog-2012-04-24-1551.org44
-rw-r--r--blog/blog-2012-05-02-2109.org41
-rw-r--r--blog/blog-2012-05-02-2136.org21
-rw-r--r--blog/blog-2012-05-02-2152.org19
-rw-r--r--blog/blog-2012-05-03-1004.org25
-rw-r--r--blog/blog-2012-05-10-0130.org25
-rw-r--r--blog/blog-2012-05-13-1041.org6
-rw-r--r--blog/blog-2012-06-03-2318.org15
-rw-r--r--blog/blog-2012-06-09-0119.org25
-rw-r--r--site/articles/emacs.org127
-rw-r--r--site/code_vault.org49
-rw-r--r--site/favicon.pngbin0 -> 974 bytes
-rw-r--r--site/header.org7
-rw-r--r--site/ideas/orgtpl.org7
-rw-r--r--site/index.org45
-rw-r--r--site/projects/bint.org18
-rw-r--r--site/projects/clever-mode.org31
-rw-r--r--site/projects/dispass.el.org1
-rw-r--r--site/projects/dlmenu.inc4
-rw-r--r--site/projects/eye-on-manga.org38
-rw-r--r--site/projects/git-auto-commit-mode.org90
-rw-r--r--site/projects/org-blog.org83
-rw-r--r--site/projects/org.org85
-rw-r--r--site/projects/ryuslash.org75
-rw-r--r--site/stylesheet.css157
-rw-r--r--site/windowmanagers.org10
31 files changed, 1130 insertions, 0 deletions
diff --git a/.dir-locals.el b/.dir-locals.el
new file mode 100644
index 0000000..68a6c48
--- /dev/null
+++ b/.dir-locals.el
@@ -0,0 +1,44 @@
+((nil
+ . ((org-export-html-inline-images . t)
+ (org-export-htmlize-output-type . css)
+ (org-publish-project-alist
+ . (("oni-blog"
+ :base-directory "~/code/projects/orgweb/blog/"
+ ;; :publishing-directory "/ssh:ryuslash@ninthfloor.org:public_html/blog/"
+ :publishing-directory "/ssh:ryuslash@ssh.alwaysdata.com:www/org/blog/"
+ :base-extension "org"
+ :publishing-function org-publish-org-to-blog
+ :blog-title "oni blog"
+ :blog-description "Another org blog test"
+ :blog-export-rss t
+ :blog-url "http://ryuslash.ninth.su/blog/"
+ :index-title "oni blog"
+ :recursive nil
+ :table-of-contents nil
+ :section-numbers nil
+ :style-include-default nil
+ :author-info nil
+ :creator-info nil
+ :style "<link rel=\"stylesheet\" type=\"text/css\" href=\"/stylesheet.css\" />")
+ ("oni-files"
+ :base-directory "~/code/projects/orgweb/site/"
+ ;; :publishing-directory "/ssh:ryuslash@ninthfloor.org:public_html/"
+ :publishing-directory "/ssh:ryuslash@ssh.alwaysdata.com:www/org/"
+ :recursive t
+ :base-extension "css\\|png"
+ :publishing-function org-publish-attachment)
+ ("oni-org"
+ :base-directory "~/code/projects/orgweb/site/"
+ ;; :publishing-directory "/ssh:ryuslash@ninthfloor.org:public_html/"
+ :publishing-directory "/ssh:ryuslash@ssh.alwaysdata.com:www/org/"
+ :recursive t
+ :table-of-contents nil
+ :base-extension "org"
+ :publishing-function org-publish-org-to-html
+ :section-numbers nil
+ :style-include-default nil
+ :author-info nil
+ :creator-info nil
+ :style "<link rel=\"stylesheet\" type=\"text/css\" href=\"/stylesheet.css\" />")
+ ("oni"
+ :components ("oni-org" "oni-files" "oni-blog")))))))
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2d19fc7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*.html
diff --git a/blog/.gitignore b/blog/.gitignore
new file mode 100644
index 0000000..87fa6fd
--- /dev/null
+++ b/blog/.gitignore
@@ -0,0 +1,2 @@
+unfinished
+index.org
diff --git a/blog/blog-2012-04-24-0052.org b/blog/blog-2012-04-24-0052.org
new file mode 100644
index 0000000..bc5a381
--- /dev/null
+++ b/blog/blog-2012-04-24-0052.org
@@ -0,0 +1,21 @@
+#+TITLE: A new org-blog
+#+DESCRIPTION: Going for another org blogging module
+
+I've taken it upon myself to update the ~org-blog.el~ that was written
+a long time ago. I want something other than an extra layer over some
+other system, ~org-mode~ has everything a blog needs, but it doesn't
+generate an RSS feed or a special index page.
+
+There was the ~org-blog.el~, but that uses some old functions that
+don't exist anymore, so I thought I'd try to update it.
+
+I just barely got it working, as you can see from this post. It
+generates an RSS feed, but the links don't work. It generates an index
+page, but no links to the individual pages (not that it needs it,
+really). It doesn't listen to some of the settings (toc, sections) the
+rest of the publishing projects do.
+
+I'd also like to have all posts in a single file and use things like a
+post's category and tags and such.
+
+It'll be interesting to see what else I can fix.
diff --git a/blog/blog-2012-04-24-0127.org b/blog/blog-2012-04-24-0127.org
new file mode 100644
index 0000000..4026304
--- /dev/null
+++ b/blog/blog-2012-04-24-0127.org
@@ -0,0 +1,14 @@
+#+TITLE: Quick org-blog update
+#+DESCRIPTION: just a quick update
+
+Apparently there are some things it does seem to do, and some it
+doesn't, that I didn't realize.
+
+* Generate index html
+
+ It only generates an ~index.org~ file, which it then doesn't convert
+ to HTML. That should be fixable.
+
+* Generate links
+
+ It seems to generate links correctly after all.
diff --git a/blog/blog-2012-04-24-1551.org b/blog/blog-2012-04-24-1551.org
new file mode 100644
index 0000000..3d9c7b2
--- /dev/null
+++ b/blog/blog-2012-04-24-1551.org
@@ -0,0 +1,44 @@
+#+TITLE: Silly django confusion
+#+DESCRIPTION: Think about this next time...
+
+I'm setting up a testing environment for work, using fixtures to save
+and load test data and I got a little stumped by something I ran into.
+
+I had exported one of the database tables we use to a json file that I
+was going to import into a fresh new database to test with. When I
+imported it everything seemed fine, except when looking at the actual
+page. So this is what I found:
+
+#+BEGIN_SRC sql
+SELECT * FROM app_table;
+ => 3 rows of data
+#+END_SRC
+
+#+BEGIN_SRC python
+from app.models import Table
+
+Table.objects.count()
+ => 3
+
+Table.objects.all()
+ => []
+#+END_SRC
+
+This is weird. So I looked at the ~django.db.connection.queries~
+property and I realized that it was doing a join since the model
+subclasses another:
+
+#+BEGIN_SRC python
+from django.db import models
+
+from app.models import SuperTable
+
+class Table(SuperTable):
+ field1 = models.CharField(max_lenth=200)
+#+END_SRC
+
+Which, of course, means that in order to get the complete ~Table~
+instance, the related ~SuperTable~ instance is also required, but in
+order to do a ~COUNT~ of ~app_table~ it isn't necessary. And that's
+where the inconsistency came from, now that I've also copied the
+contents of ~SuperTable~ everything is fine again.
diff --git a/blog/blog-2012-05-02-2109.org b/blog/blog-2012-05-02-2109.org
new file mode 100644
index 0000000..defa8dd
--- /dev/null
+++ b/blog/blog-2012-05-02-2109.org
@@ -0,0 +1,41 @@
+#+TITLE: Ask for selection in emacs
+#+DESCRIPTION: Something I came across
+
+I came across an email on one of the emacs mailing lists today, where
+someone asked how to ask a user for input whilst providing
+completions. The first answer he got was to try ~tmm-prompt~, so I
+looked into it a little.
+
+I use ~mu4e~ as my primary email program, but since it isn't designed
+(seemingly) for use with multiple accounts I've got some wrapper
+functions that set some variables according to my liking and then
+start ~mu4e~. This works very well, but it's a pain to have to use
+~M-x view-ryu-mail~ or ~M-x view-ninthfloor-mail~ and such, so I wrote
+a function to read a string from the minibuffer, which I then bound to
+the ~<XF86Mail>~ key, this turned it into, for example ~<XF86Mail>
+ryu~ and ~<XF86Mail> ninthfloor~ and so on, but this doesn't have any
+completion or notification of my options.
+
+So after looking at ~tmm-prompt~ I came up with the following:
+
+#+BEGIN_SRC emacs-lisp
+(defvar oni:mailbox-map
+ '(("ryulash.org" . "ryu")
+ ("ninthfloor" . "ninthfloor"))
+ "A mailbox map for use with `tmm-prompt'.")
+
+(defun view-ryu-mail ()...)
+(defun view-ninthfloor-mail ()...)
+
+(defun view-mu ()
+ (interactive)
+ (let* ((tmm-completion-prompt "Choose a mailbox\n")
+ (inbox (tmm-prompt oni:mailbox-map)))
+ (funcall (intern (concat "view-" inbox "-mail")))))
+#+END_SRC
+
+I've left out the definitions and some mail accounts for brevity.
+
+~tmm-prompt~ is usually used when using the text-mode menu with ~M-`~,
+but it works very well here too. This changes mailbox selection to,
+for example ~<XF86Mail> r~ or ~<XF86Mail> n~.
diff --git a/blog/blog-2012-05-02-2136.org b/blog/blog-2012-05-02-2136.org
new file mode 100644
index 0000000..8ea8b36
--- /dev/null
+++ b/blog/blog-2012-05-02-2136.org
@@ -0,0 +1,21 @@
+#+TITLE: Show identica icon with new dents
+#+DESCRIPTION: I kinda like it
+
+I've written this a while ago after I found out how images can be
+added to the emacs modeline. I like being notified of things that go
+on, and new dents is a good example of this, though ~notify-send~ and
+an urgency hint don't always work for that.
+
+This works:
+
+#+BEGIN_SRC emacs-lisp
+(add-to-list
+ 'global-mode-string
+ '(:eval
+ (unless (zerop identica-new-dents-count)
+ (propertize " " 'display identica-active-indicator-image))))
+#+END_SRC
+
+This will show an icon in your modeline whenever there are new dents,
+at this time there dents will not have been loaded into the buffer, so
+you'll have to refresh it, after which the icon disappears.
diff --git a/blog/blog-2012-05-02-2152.org b/blog/blog-2012-05-02-2152.org
new file mode 100644
index 0000000..1cd01a9
--- /dev/null
+++ b/blog/blog-2012-05-02-2152.org
@@ -0,0 +1,19 @@
+#+TITLE: Ask for selection in emacs, addendum
+#+DESCRIPTION: Oops, I forgot this
+
+I erroneously assumed (and thought I tested) that using ~tmm-prompt~
+could be done the way I described before. The ~oni:mailbox-map~
+variable needs to be a little different from what I'd shown before,
+namely:
+
+#+BEGIN_SRC emacs-lisp
+(defvar oni:mailbox-map
+ '("top" ("menu" ("ryulash.org" . "ryu")
+ ("ninthfloor" . "ninthfloor")
+ ("gmail" . "gmail")
+ ("aethon" . "aethon")))
+ "A mailbox map for use with `tmm-prompt'.")
+#+END_SRC
+
+Without the /top/ and /menu/ items it will complain about wrong
+arguments.
diff --git a/blog/blog-2012-05-03-1004.org b/blog/blog-2012-05-03-1004.org
new file mode 100644
index 0000000..3e10b00
--- /dev/null
+++ b/blog/blog-2012-05-03-1004.org
@@ -0,0 +1,25 @@
+#+TITLE: Another way to get a selection
+#+DESCRIPTION: Another thing I came across
+
+When I was first looking into improving my mailbox selection function
+I was looking at how to just ask the user for input with
+completions. Though now that I came across ~tmm-prompt~ I really
+prefer this way of working, at least in this case.
+
+However, today another function was mentioned, in response to someone
+pointing out ~org-completing-read~: ~completing-read~. Wow that's a
+far leap.
+
+Anyway:
+
+#+BEGIN_SRC emacs-lisp
+(completing-read "Your favorite color: "
+ '("red" "green" "blue" "yellow"))
+#+END_SRC
+
+This will ask for user input and provide these options as completions,
+but it won't show a list of options, of provide shortcuts, like
+~tmm-prompt~ does.
+
+It's good to know these things, and I really should read both the
+emacs manual and the emacs lisp reference manual at some point.
diff --git a/blog/blog-2012-05-10-0130.org b/blog/blog-2012-05-10-0130.org
new file mode 100644
index 0000000..379c20d
--- /dev/null
+++ b/blog/blog-2012-05-10-0130.org
@@ -0,0 +1,25 @@
+#+TITLE: Testing org-blog fix
+#+DESCRIPTION: Let's see if it works
+
+I've just adjusted just a little bit of code in org-blog, and now I
+want to see if it works correctly.
+
+I was getting the following error message when I would try and export
+an ~org-blog~ project:
+
+#+BEGIN_EXAMPLE
+Selecting deleted buffer
+#+END_EXAMPLE
+
+It turns out that this is because of this little piece of code:
+
+#+BEGIN_SRC emacs-lisp
+;; if buffer is already open, kill it
+(if index-buffer
+ (kill-buffer index-buffer))
+#+END_SRC
+
+I'm guessing it wasn't originally meant as a function for
+~org-publish~, well it was meant as an index function, but that
+feature seems to have changed over time. Let's see what can be made of
+it.
diff --git a/blog/blog-2012-05-13-1041.org b/blog/blog-2012-05-13-1041.org
new file mode 100644
index 0000000..0b8e87a
--- /dev/null
+++ b/blog/blog-2012-05-13-1041.org
@@ -0,0 +1,6 @@
+#+TITLE: Testing out an RSS fix
+#+DESCRIPTION: Oopsie
+
+I was working on [[http://ryuslash.org][my website]] yesterday and I noticed that the RSS feed
+doesn't generate links correctly. So I've changed it, and now I'm
+trying it out.
diff --git a/blog/blog-2012-06-03-2318.org b/blog/blog-2012-06-03-2318.org
new file mode 100644
index 0000000..a8a6b47
--- /dev/null
+++ b/blog/blog-2012-06-03-2318.org
@@ -0,0 +1,15 @@
+#+TITLE: Website update
+
+As you can [[http://ryuslash.org][see]] I finally updated my website again. It's the same basic
+idea as before, except this time I try to make the posts look more
+lisp-y, since I'm writing a lot more ~emacs-lisp~ as of late I've
+grown fond of all the parentheses.
+
+I've also moved my [[http://org.ryuslash.org][static website]] from ninthfloor to my own domain in
+the hopes it will become more a part of my website than it was before,
+although the beauty of static websites generated by things like
+~org-mode~, ~jekyll~ and such is of course that they can pretty much
+be placed on any public web space, and they're fast.
+
+Anyway, perhaps I'll post more, but for now I'm happy to have changed
+things a little again.
diff --git a/blog/blog-2012-06-09-0119.org b/blog/blog-2012-06-09-0119.org
new file mode 100644
index 0000000..8373a65
--- /dev/null
+++ b/blog/blog-2012-06-09-0119.org
@@ -0,0 +1,25 @@
+#+TITLE: Literate emacs init
+
+A little while back I saw [[http://sachachua.com/blog/2012/05/where-i-am-in-terms-of-emacs/][Sacha Chua]] mention using ~org-mode~ for
+literate programming. I'd heard of literate programming, but its use
+escaped me. Still, reading that and looking at what ~noweb~ is I
+started thinking that it would indeed be a great way of documenting
+code, especially something my emacs init file, since that is not a
+serious software project ans some weird stuff goes on in there.
+
+I still didn't really get the hang of it. It seemed like a lot of work
+to get into it and how exactly it fit together with using ~org-mode~
+didn't really hit me so I pushed it aside for the moment.
+
+Today I see her [[http://sachachua.com/blog/2012/06/literate-programming-emacs-configuration-file/][presenting]] her new literately programming init file
+with some links to other resources and I just had to try it too.
+
+I haven't gotten very far yet, but what I have so far I have put
+[[http://ryuslash.org/inittest.html][here]]. It's just the generated HTML file, no org source, and I'm still
+messing around with the colors and stuff, but it's fun to see the
+result already.
+
+I don't know if I'm actually going to use it, since my init file's
+sloc count is 1038 and its total line count is 1280 lines I fear that
+adding even more documentation (= lines) would make my init file
+*very* bulky. It is still fun to see and experiment with, though.
diff --git a/site/articles/emacs.org b/site/articles/emacs.org
new file mode 100644
index 0000000..f76a51a
--- /dev/null
+++ b/site/articles/emacs.org
@@ -0,0 +1,127 @@
+#+TITLE: Emacs
+#+STYLE: <link rel="stylesheet" type="text/css" href="../../stylesheet.css" />
+#+LINK_UP: ../index.html
+#+LINK_HOME: ../index.html
+#+OPTIONS: H:5
+
+* General Emacs Tips
+
+ Tips might be the wrong word here, but the way I use Emacs has
+ resulted into looking at some things that others might not think of
+ or see.
+
+** Emacs Init File
+
+ Your Emacs init file can be any of the following:
+
+ - ~$HOME/.emacs~
+ - ~$HOME/.emacs.el~
+ - ~$HOME/.emacs.d/init.el~
+
+ I personally use ~$HOME/.emacs.d/init.el~ because that way I can
+ keep *everything* Emacs related in a single directory
+ (~$HOME/.emacs.d~).
+
+** Displaying time
+
+ I've seriously minimized the use of my window manager's task
+ bar. It only shows which tags there are, some important daemons'
+ status (running or not) and whether or not I have mail. This makes
+ it difficult to tell time when I need it. That why it's useful to
+ see what time it is in Emacs, since that is on 99.99% of the time
+ I'm behind my computer, and it's very easy:
+
+ #+BEGIN_SRC emacs-lisp
+ (display-time-mode t)
+ #+END_SRC
+
+ That is all. When you have that in your [[Emacs Init File]], you will
+ always have the time in your modeline.
+
+** Automatically compile startup files
+
+ I know that for 99% of the things you might have in your having a
+ compiled init files won't make much of a difference, but still I
+ like having my init files compiled. This gets messy when you share
+ your init files across multiple PCs and the source files become
+ newer than the compiled ones.
+
+ To fix this I've put only a very little bit of code in my actual
+ [[Emacs Init File]]:
+
+ #+BEGIN_SRC emacs-lisp
+ (require 'bytecomp)
+
+ (defvar startup-files
+ (directory-files "~/.emacs.d/startup/" t "^[^.].*\\.el$")
+ "A list of the files that should be loaded during startup.")
+
+ (while startup-files
+ (let ((filename (car startup-files))
+ (byte-compile-warnings nil))
+ (if (not (eq (byte-recompile-file filename nil 0) nil))
+ (load (substring filename 0 -3))))
+ (setq startup-files (cdr startup-files)))
+ #+END_SRC
+
+ It gets all the files in the ~$HOME/.emacs.d/startup/~ directory
+ that end with ~.el~. It loops through all these files and compiles
+ them, and then loads them. I use ~byte-recompile-file~ instead of
+ ~byte-recompile-directory~ because the directory one didn't work
+ quite right. It doesn't recompile anything if the source file is
+ still up to date, so it only slows down when you have a lot of new
+ files in the ~startup~ directory. It also disables warnings so
+ that you're not bothered by them during startup.
+
+* Emacs as...
+
+ There are *many* things Emacs[fn:emacs] is useful for, not just
+ coding and writing, but certainly very much for these uses as well.
+
+** ... An IDE...
+
+ Emacs features many modes for a lot of different languages.
+
+# *** ... For PHP
+
+# Coming soon...
+
+# *** ... For Python
+
+# Coming soon...
+
+# **** ... With django
+
+# Coming soon...
+
+# *** ... For C
+
+# Coming soon...
+
+# *** ... For Java on Android
+
+# Coming soon...
+
+# *** ... For Go
+
+# Coming soon...
+
+# *** ... For Guile (Scheme)
+
+# Coming soon...
+
+# ** ... A web authoring tool
+
+# Coming soon...
+
+# ** ... An organizational tool
+
+# Coming soon...
+
+# ** ... A social network interface
+
+# Coming soon...
+
+# ** ... A notifier
+
+# Coming soon...
diff --git a/site/code_vault.org b/site/code_vault.org
new file mode 100644
index 0000000..394bee1
--- /dev/null
+++ b/site/code_vault.org
@@ -0,0 +1,49 @@
+#+TITLE: Code Vault
+
+Here we have some code snippets that I no longer (intend to) use, but
+might still need (to look at) at some point in time.
+
+* Jabber urgency and libnotify
+
+ This piece of code sends a message through ~libnotify~ and sets a
+ window urgency hint when a new message is received.
+
+ #+BEGIN_SRC emacs-lisp
+(defvar jabber-activity-jids-count 0)
+
+(defun jabber-urgency-hint ()
+ (let ((count (length jabber-activity-jids)))
+ (unless (= jabber-activity-jids-count count)
+ (if (zerop count)
+ (x-urgency-hint (selected-frame) nil)
+ (x-urgency-hint (selected-frame) t))
+ (setq jabber-activity-jids-count count))))
+
+(defun libnotify-jabber-notify (from buf text proposed-alert)
+ "(jabber.el hook) Notify of new Jabber chat messages via libnotify"
+ (when (or jabber-message-alert-same-buffer
+ (not (memq (selected-window) (get-buffer-window-list buf))))
+ (if (jabber-muc-sender-p from)
+ (notify-send (format "(PM) %s"
+ (jabber-jid-displayname
+ (jabber-jid-user from)))
+ (format "%s: %s" (jabber-jid-resource from) text)))
+ (notify-send (format "%s: " (jabber-jid-displayname from))
+ (format "%.20s" text))))
+
+(add-hook 'jabber-activity-update-hook 'jabber-urgency-hint)
+(add-hook 'jabber-alert-message-hooks 'libnotify-jabber-notify)
+ #+END_SRC
+
+* Show symbol instead of ~lambda~
+
+ #+BEGIN_SRC emacs-lisp
+(defun oni:pretty-lambdas ()
+ "Show a lambda sign where the world `lambda' is found."
+ (font-lock-add-keywords
+ nil `(("(?\\(\\<lambda\\>\\)[ :]"
+ (0 (progn
+ (compose-region (match-beginning 1)
+ (match-end 1)
+ ?λ)))))))
+ #+END_SRC
diff --git a/site/favicon.png b/site/favicon.png
new file mode 100644
index 0000000..4a82e51
--- /dev/null
+++ b/site/favicon.png
Binary files differ
diff --git a/site/header.org b/site/header.org
new file mode 100644
index 0000000..46d7f1b
--- /dev/null
+++ b/site/header.org
@@ -0,0 +1,7 @@
+#+BEGIN_HTML
+<div class="content">
+#+END_HTML
+
+#+BEGIN_HTML
+</div>
+#+END_HTML
diff --git a/site/ideas/orgtpl.org b/site/ideas/orgtpl.org
new file mode 100644
index 0000000..816a793
--- /dev/null
+++ b/site/ideas/orgtpl.org
@@ -0,0 +1,7 @@
+#+TITLE: Orgtpl
+
+* What
+
+ Since we already create both HTML *and* XML templates in django, why
+ shouldn't we be able to do the same with org. Create a template that
+ creates an org file that can easily be viewed in emacs.
diff --git a/site/index.org b/site/index.org
new file mode 100644
index 0000000..a28ae76
--- /dev/null
+++ b/site/index.org
@@ -0,0 +1,45 @@
+#+TITLE: oni org
+#+STYLE: <link rel="stylesheet" type="text/css" href="stylesheet.css" />
+#+OPTIONS: toc:nil num:nil author:nil email:nil creator:nil
+#+LANGUAGE: en
+#+LINK_HOME: http://ryuslash.org
+#+LINK_UP: http://ryuslash.org
+#+STARTUP: showall
+
+@<div class="dlmenu">
+[[http://ryuslash.org/][Front page]] || [[file:blog/index.org][Blog]]
+@</div>
+
+* About
+
+ I'm a programming, free software and GNU/Linux enthusiast. I'm also
+ a programmer professionally, so that works out well.
+
+ I was born in the Netherlands, live in Belgium and work for a dutch
+ company. I have been using GNU/Linux since 2008, having settled on
+ [[http://www.archlinux.org][Archlinux]] after trying [[http://www.ubuntu.com][Ubuntu]], [[http://fedoraproject.org][Fedora]] and [[http://zenwalk.org][Zenwalk]]. I have been using
+ [[http://www.gnu.org][GNU Emacs]] since not long after switching over to GNU/Linux.
+
+ I can be contacted through email (tom at ryuslash dot org) or any
+ other place you can find me, really.
+
+** Other places to find me
+
+ - [[https://diasp.org/u/ryuslash][Diasp*]]
+ - [[http://gitorious.org/%7Eryuslash][Gitorious]]
+ - [[http://identi.ca/ryuslash][identi.ca]]
+ - [[http://www.emacswiki.org][EmacsWiki]]
+
+* Configuration files
+
+ I'm working on putting all of my configuration files (dotfiles) in
+ ~org-mode~, with ~org-babel~'s literate programming support. [[http://org.ryuslash.org/dotfiles/][Here]] is
+ what I have so far.
+
+* Projects
+
+ - [[file:projects/git-auto-commit-mode.org][git-auto-commit-mode]]
+ - [[file:projects/ryuslash.org][ryuslash.org]]
+ - [[file:projects/eye-on-manga.org][eye-on-manga]]
+ - [[file:projects/org-blog.org][org-blog]]
+ - [[file:projects/org.org][org]]
diff --git a/site/projects/bint.org b/site/projects/bint.org
new file mode 100644
index 0000000..e8c28af
--- /dev/null
+++ b/site/projects/bint.org
@@ -0,0 +1,18 @@
+* About
+** bint -- Bad Image Naming Tool
+ marijn_a:
+ dit is wat ik wil dat het doet
+
+ * ik selecteer een map met plaatjes erin.
+ * programma scant alle mappen in die map voor plaatjes
+ * nadat ie klar is, laat ie filepath zien en het 1ste plaatje
+ * vraagt om de naam van het plaatje
+ * ik type een naam in en druk enter
+ * volgende plaatje in beeld
+ * ik typ naam en enter
+ * etc
+
+ zie het als een image renamer
+ dus eerst heet het plaatje 35y6795634.jpg
+ dan type je in de balk: THE ALIENS INVADED!!
+ en dan renamed ie naar THE ALIENS INVADED!!.jpg
diff --git a/site/projects/clever-mode.org b/site/projects/clever-mode.org
new file mode 100644
index 0000000..f773ac2
--- /dev/null
+++ b/site/projects/clever-mode.org
@@ -0,0 +1,31 @@
+#+TITLE: clever-mode
+#+STYLE: <link rel="stylesheet" type="text/css" href="../../stylesheet.css" />
+#+LINK_UP: ../index.html
+#+LINK_HOME: ../index.html
+
+#+INCLUDE: "../header.org" :lines "1-4"
+
+* About
+
+ ~clever-mode~ is a GNU Emacs[fn:emacs:http://gnu.org/software/emacs/]
+ major mode for editing Smarty[fn:smarty:http://www.smarty.net] templates.
+
+** Why
+
+ The only modes for editing Smarty[fn:smarty] templates are either
+ outdated or need MuMaMo, and I seriously dislike MuMaMo.
+
+ Also, I have some Emacs[fn:emacs] projects now, but no major mode
+ yet, and I want to learn.
+
+** Features
+
+ ~clever-mode~ is based on HTML mode, although Smarty[fn:smarty] is
+ not limited to HTML, that is what it is used for most (at least by me).
+
+* Usage
+
+ Since it only has some syntax highlighting at the moment usage only
+ consists of getting it, installing it and enabling it.
+
+#+INCLUDE: "../header.org" :lines "5-8"
diff --git a/site/projects/dispass.el.org b/site/projects/dispass.el.org
new file mode 100644
index 0000000..b64a4ed
--- /dev/null
+++ b/site/projects/dispass.el.org
@@ -0,0 +1 @@
+#+TITLE: Dispass.el
diff --git a/site/projects/dlmenu.inc b/site/projects/dlmenu.inc
new file mode 100644
index 0000000..618d3ad
--- /dev/null
+++ b/site/projects/dlmenu.inc
@@ -0,0 +1,4 @@
+# -*- mode: org -*-
+@<div class="dlmenu">
+[[src][Browse Source]] || [[tar_gz][Download tar.gz]] || [[zip][Download zip]]
+@</div>
diff --git a/site/projects/eye-on-manga.org b/site/projects/eye-on-manga.org
new file mode 100644
index 0000000..e7c52de
--- /dev/null
+++ b/site/projects/eye-on-manga.org
@@ -0,0 +1,38 @@
+#+TITLE: eye-on-manga
+#+STYLE: <link rel="stylesheet" type="text/css" href="../../stylesheet.css" />
+#+LINK_UP: ../index.html
+#+LINK_HOME: ../index.html
+#+LINK: src https://github.com/ryuslash/eye-on-manga
+#+LINK: tar_gz https://github.com/ryuslash/eye-on-manga/tarball/master
+#+LINK: zip https://github.com/ryuslash/eye-on-manga/zipball/master
+
+#+INCLUDE: "../header.org" :lines "1-4"
+#+INCLUDE: "dlmenu.inc"
+
+* About
+
+ ~eye-on-manga~ is a manga collection management application for the
+ Nokia N900.
+
+** Why
+
+ I was always either standing in the shop, or at the
+ F.A.C.T.S. event, looking at and for manga, and I'd completely
+ forget which ones I needed to get and which ones I'd already read.
+
+** How
+
+ ~eye-on-manga~ is a simple application for the N900, it keeps a
+ list of manga in a SQLite database and makes it possible to edit
+ this data through a UI. You can tell it how many volumes a manga
+ should have and then it makes it easy to select which ones you've
+ aquired and which ones you've read.
+
+** Features
+
+ - Create a list of manga.
+ - Keep track of which volumes have been acquired and read.
+ - Edit wrongfully entered entries.
+ - Easily mark a volume as acquired or read.
+
+#+INCLUDE: "../header.org" :lines "5-8"
diff --git a/site/projects/git-auto-commit-mode.org b/site/projects/git-auto-commit-mode.org
new file mode 100644
index 0000000..3542217
--- /dev/null
+++ b/site/projects/git-auto-commit-mode.org
@@ -0,0 +1,90 @@
+#+TITLE: git-auto-commit-mode
+#+STYLE: <link rel="stylesheet" type="text/css" href="../../stylesheet.css" />
+#+LINK_UP: ../index.html
+#+LINK_HOME: ../index.html
+#+LINK: src https://github.com/ryuslash/git-auto-commit-mode
+#+LINK: tar_gz https://github.com/ryuslash/git-auto-commit-mode/tarball/master
+#+LINK: zip https://github.com/ryuslash/git-auto-commit-mode/zipball/master
+
+#+INCLUDE: "../header.org" :lines "1-4"
+#+INCLUDE: "dlmenu.inc"
+
+* About
+
+ ~git-auto-commit-mode~ is a minor mode for GNU Emacs[fn::
+ http://gnu.org/software/emacs/] that, when enabled, adds and commits
+ a file after every save.
+
+** Why
+
+ I thought of it when I was editing my configuration files. Most of
+ my changes in my configuration files are fairly simple and I would
+ like them immediately committed, I don't want to have to sift
+ through all the changes at a later point to figure out what I want
+ to commit when.
+
+** How
+
+ ~git-auto-commit-mode~ blindly calls
+
+ #+BEGIN_SRC bash
+ git add FILE
+ git commit -m "RELATIVE-FILE-PATH"
+ #+END_SRC
+
+ setting up the git repository correctly is the responsibility of
+ the user.
+
+** Features
+
+ ~git-auto-commit-mode~ only really has one feature:
+
+ - Automatically commit file to current git repository after saving.
+
+* Usage
+
+ To be able to use it you need to put it somewhere in your
+ ~load-path~ and load it, for example:
+
+ #+NAME: .emacs.d
+ #+BEGIN_SRC emacs-lisp
+ (add-to-list 'load-path "~/path/to/git-auto-commit-mode.el")
+ (autoload 'git-auto-commit-mode "git-auto-commit-mode")
+ #+END_SRC
+
+ There are a few ways this could be used:
+
+** As file-local variable
+
+ This is the way I use it and I wanted to use it. Any file that you
+ would like to have automatically committed upon saving gets this
+ prop-line:
+
+ #+BEGIN_SRC emacs-lisp
+ ;; -*- eval: (git-auto-commit-mode 1) -*-
+ #+END_SRC
+
+ Or, if you're in anything older than emacs 24:
+
+ #+BEGIN_SRC emacs-lisp
+ ;; -*- mode: git-auto-commit -*-
+ #+END_SRC
+
+** As a directory-local variable
+
+ Put the following in a ~.dir-locals.el~ file in any directory where
+ you want to enable ~git-auto-commit-mode~ for *all* files:
+
+ #+BEGIN_SRC emacs-lisp
+ ((nil . ((git-auto-commit-mode . t))))
+ #+END_SRC
+
+** As a hook
+
+ I doubt this will ever really be useful, but it is possible:
+
+ #+BEGIN_SRC emacs-lisp
+ (add-hook 'some-hook 'git-auto-commit-mode)
+ #+END_SRC
+
+#+INCLUDE: "../header.org" :lines "5-8"
diff --git a/site/projects/org-blog.org b/site/projects/org-blog.org
new file mode 100644
index 0000000..251e877
--- /dev/null
+++ b/site/projects/org-blog.org
@@ -0,0 +1,83 @@
+#+TITLE: git-auto-commit-mode
+#+LINK_UP: ../index.html
+#+LINK_HOME: ../index.html
+#+LINK: src https://github.com/ryuslash/org-blog
+#+LINK: tar_gz https://github.com/ryuslash/org-blog/tarball/master
+#+LINK: zip https://github.com/ryuslash/org-blog/zipball/master
+
+#+INCLUDE: "../header.org" :lines "1-4"
+#+INCLUDE: "dlmenu.inc"
+
+* About
+
+ ~org-blog~ is a blog exporter for ~org-mode~ written by David
+ O'Toole in 2006. ~org-mode~ has since then changed a bit and it
+ seemed that it no longer worked. It also seems to be the only
+ viable/acceptable pure-org solution for me, so I'm trying to revive
+ it.
+
+** Why
+
+ As stated, it seemed to be out-of-date and packages like [[http://renard.github.com/o-blog/][o-blog]] and
+ [[http://www.emacswiki.org/emacs/Blorg][blorg]] didn't work for me, and many others require some external
+ tool to work.
+
+* Setup
+
+ Since I've adapted it to work as a normal publishing function for
+ org, setting it up is a lot like any other publishing project as
+ well:
+
+ #+BEGIN_SRC emacs-lisp
+ (setq org-publish-project-alist
+ '(("myblog"
+ :base-directory "~/location/to/org/files/"
+ :publishing-directory "/place/to/export/to/"
+ :base-extension "org"
+ :publishing-function org-publish-org-to-blog
+ :blog-title "some title"
+ :blog-description "some description"
+ :blog-export-rss t
+ :index-title "oni blog"
+ :recursive nil
+ :table-of-contents nil)))
+ #+END_SRC
+
+ Most of these options are very normal project settings and can be
+ read about in the documentation for the variable
+ ~org-publish-project-alist~. The ~blog-title~, ~blog-description~,
+ ~blog-export-rss~ and ~index-title~, however, are used by
+ ~org-blog~.
+
+ - ~blog-title~
+
+ This setting is used when exporting RSS. It sets the ~title~ in
+ the XML output.
+
+ - ~blog-description~
+
+ This setting is also used when exporting RSS. It sets the
+ ~description~ in the XML output.
+
+ - ~blog-export-rss~
+
+ Whether or not you would like an RSS feed to be exported.
+
+ - ~index-title~
+
+ This is used as the title of the blog's index page.
+
+ Apart from these there are also 2 other settings that need your
+ attention:
+
+ #+BEGIN_SRC emacs-lisp
+ (setq org-blog-directory "~/path/to/blog/org/files/")
+ (setq org-blog-unfinished-directory "~/path/to/drafts/")
+ #+END_SRC
+
+ These don't have any relevance to the exporting and publishing
+ functions, but they're used by the ~org-blog-new-post~ and
+ ~org-blog-finish-post~ functions, which help with creating new
+ posts.
+
+#+INCLUDE: "../header.org" :lines "5-8"
diff --git a/site/projects/org.org b/site/projects/org.org
new file mode 100644
index 0000000..c8b3adc
--- /dev/null
+++ b/site/projects/org.org
@@ -0,0 +1,85 @@
+#+TITLE: org
+#+STYLE: <link rel="stylesheet" type="text/css" href="../../stylesheet.css" />
+#+LINK_UP: ../index.html
+#+LINK_HOME: ../index.html
+#+OPTIONS: H:5
+
+* About
+
+ No I don't mean that I have anything to do with [[http://orgmode.org][org-mode]], but trying
+ to find a nice and effective structure to my org files is an ongoing
+ project for me.
+
+* Organizational
+
+** inbox.org
+
+ The ~inbox.org~ file is used as, surprise surprise, an
+ inbox. Whenever ~org-capture~ is used to create a new task,
+ appointment or note, it is placed in this file, from here it should
+ be distributed to one of the other org files.
+
+ - appointments
+
+ New appointments that should be placed in one of the other files
+ are first placed here.
+
+ - notes
+
+ New notes that should be placed in one of the other files are
+ first placed here.
+
+ - tasks
+
+ New tasks that should be placed in one of the other files are
+ first placed here.
+
+** personal.org
+
+ The ~personal.org~ file is used for private tasks, appointments and
+ notes. Not specifically actually private, just not belonging to any
+ of the other org files.
+
+ - appointments
+
+ Appointments of a personal nature, not specifically about any of
+ the other org files.
+
+ - birthdays
+
+ Birthdays of friends and family are noted here.
+
+ - bookmarks
+
+ Some very interesting links that I should keep an eye on.
+
+ - notes
+
+ Notes about personal things should be placed here.
+
+ - rss
+
+ I have a single RSS feed that I load with org, this is a feed
+ from [[http://www.myepisodes.com][MyEpisodes]] which tells me when new episodes of shows I
+ watch air.
+
+ - tasks
+
+ Tasks of a personal nature, not belonging to any of the other
+ files/categories.
+
+** contacts.org
+
+ Just keeps my contacts.
+
+** projects
+
+ Org files about projects I work on.
+
+*** any org files
+
+
+
+** work
+
+ Org files about work-related things.
diff --git a/site/projects/ryuslash.org b/site/projects/ryuslash.org
new file mode 100644
index 0000000..ccc6475
--- /dev/null
+++ b/site/projects/ryuslash.org
@@ -0,0 +1,75 @@
+#+TITLE: ryuslash.org
+#+STYLE: <link rel="stylesheet" type="text/css" href="../../stylesheet.css" />
+#+LINK_UP: ../index.html
+#+LINK_HOME: ../index.html
+#+LINK: python http://www.python.org
+#+LINK: django http://djangoproject.com
+#+LINK: feedparser http://code.google.com/p/feedparser/
+#+LINK: south http://south.aeracode.org/
+#+LINK: markdown http://packages.python.org/Markdown/
+#+LINK: src https://github.com/ryuslash/ryuslash.org
+#+LINK: tar_gz https://github.com/ryuslash/ryuslash.org/tarball/master
+#+LINK: zip https://github.com/ryuslash/ryuslash.org/zipball/master
+
+#+INCLUDE: "../header.org" :lines "1-4"
+#+INCLUDE: "dlmenu.inc"
+
+* About
+ :PROPERTIES:
+ :hosted_at: github
+ :END:
+
+ ~ryuslash.org~ is the project of the front page of [[http://ryuslash.org][my website]]. I
+ have noticed, though, that apart from the /design/ and the initial
+ data[fn:: The configured feeds], there is nothing really specific to
+ my about this project.
+
+ Right now all it really does is show a bunch of feeds on a page.
+
+** Why
+
+ I've been trying out different kinds of ways to manage/run a
+ website/blog for a long time now, and I can't seem to keep using
+ just one thing. This annoys me.
+
+ With ~ryuslash.org~ I'm trying it in a different way, gather
+ everything I do elsewhere and present it in a single place. I
+ *must* be generating content /somewhere/, and if that's true, and
+ friends or other interested people might want to know about this,
+ then it's nice to have it all in one place.
+
+** How
+
+ ~ryuslash.org~ uses the [[python][Python]] web framework [[django][django]] and the [[python][Python]]
+ module [[feedparser][feedparser]]. It uses a management command ~loadfeeds~ to go
+ through all the configured feeds and check them for new items.
+
+** Features
+
+ - Define multiple RSS feeds to load news items from.
+ - Define relative paths for the xml and profile linked to a feed.
+ - Group feeds in categories.
+ - Add comments to any post that comes in.
+ - Generate feeds: One for all posts, one for all comments.
+
+** Requirements
+
+ ~ryuslash.org~ uses the following modules and applications:
+
+ - [[python][Python]] 2.6.x or 2.7.x
+ - [[django][Django]] 1.3
+ - [[south][South]] 0.7.4
+ - [[feedparser][Feedparser]] 5.1.1
+ - [[markdown][Markdown]] 2.1.1
+
+* Installation
+
+ Must write...
+
+* Configuration
+
+ The feeds that are loaded are defined in the database, through the
+ ~Feed~ model. Now when you want to run your own instance, it might
+ be preferable *not* to load my feeds, so you should remove (part of)
+ or change ~aggregator/fixtures/initial_data.json~, otherwise your
+ feeds will be overwritten by my feeds every time you migrate.
diff --git a/site/stylesheet.css b/site/stylesheet.css
new file mode 100644
index 0000000..b23ad2d
--- /dev/null
+++ b/site/stylesheet.css
@@ -0,0 +1,157 @@
+* {
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+a {
+ color: orange;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+body {
+ background-color: #262a2b;
+ color: #ffffff;
+ font-family: "DejaVu Sans", sans-serif;
+ padding-left: 10px;
+}
+
+code {
+ padding: 1px 3px;
+ border-radius: 5px;
+ margin: 0 2px;
+}
+
+code, pre {
+ font-family: "DejaVu Sans Mono", mono;
+ background-color: #181818;
+ color: #eeeeec;
+}
+
+h1 {
+ border-bottom: 2px solid #839496;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ margin: 20px 0;
+}
+
+h1.title {
+ border-bottom: none;
+}
+
+h2 {
+ border-bottom: 2px dotted #839496;
+}
+
+h3 {
+ border-bottom: 2px dashed #839496;
+}
+
+h4 {
+ border-bottom: 1px solid #839496;
+}
+
+h5 {
+ border-bottom: 1px dotted #839496;
+}
+
+h6 {
+ border-bottom: 1px dashed #839496;
+}
+
+ul {
+ margin: 20px;
+}
+
+ul ul {
+ margin: 5px 20px;
+}
+
+p {
+ margin: 20px 0;
+}
+
+pre {
+ margin: 20px 0 20px 40px;
+ border-radius: 10px;
+ padding: 5px;
+}
+
+#content {
+ width: 750px;
+ margin: 0 auto;
+}
+
+.dlmenu {
+ text-align: center;
+}
+
+.title {
+ text-align: center;
+}
+
+#postamble {
+ margin-top: 40px;
+}
+
+#org-div-home-and-up a {
+ text-decoration: none;
+ margin: 10px;
+}
+
+/* Org font-locking */
+.src {
+ background-color: #002b36;
+ color: #839496;
+}
+
+.org-keyword {
+ color: #859900;
+}
+
+.org-string {
+ color: #2aa198;
+}
+
+.org-function-name {
+ color: #268bd2;
+}
+
+.org-doc {
+ color: #586e75;
+ font-style: italic;
+}
+
+.org-constant {
+ color: #2aa198;
+ font-style: normal;
+}
+
+.org-type {
+ color: #b58900;
+}
+
+.org-regexp-grouping-backslash {
+ color: #b58900;
+}
+
+.org-regexp-grouping-construct {
+ color: #cb4b16;
+}
+
+.org-builtin {
+ color: #859900;
+}
+
+.org-negation-char {
+ color: #dc322f;
+}
+
+.org-variable-name {
+ color: #268bd2;
+}
diff --git a/site/windowmanagers.org b/site/windowmanagers.org
new file mode 100644
index 0000000..de3f9bb
--- /dev/null
+++ b/site/windowmanagers.org
@@ -0,0 +1,10 @@
+| herbstluftwm | c | manual | IPC (anything) |
+| awesomewm | c | automatic | lua |
+| wmx | ? | N/A | N/A |
+| wm2 | ? | ? | N/A |
+| dwm | c | automatic | c |
+| spectrwm | c | automatic | text |
+| kde | ? | N/A | graphical |
+| gnome | ? | N/A | graphical |
+| openbox | ? | N/A | xml |
+| adwm | c | automatic | c? |