From c90daec5f4a91cf1041a5a61411d860ea4329ece Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Thu, 21 Jun 2012 21:24:54 +0200 Subject: [PATCH] Initial commit --- .dir-locals.el | 44 +++++++ .gitignore | 1 + blog/.gitignore | 2 + blog/blog-2012-04-24-0052.org | 21 ++++ blog/blog-2012-04-24-0127.org | 14 +++ blog/blog-2012-04-24-1551.org | 44 +++++++ blog/blog-2012-05-02-2109.org | 41 +++++++ blog/blog-2012-05-02-2136.org | 21 ++++ blog/blog-2012-05-02-2152.org | 19 +++ blog/blog-2012-05-03-1004.org | 25 ++++ blog/blog-2012-05-10-0130.org | 25 ++++ blog/blog-2012-05-13-1041.org | 6 + blog/blog-2012-06-03-2318.org | 15 +++ blog/blog-2012-06-09-0119.org | 25 ++++ site/articles/emacs.org | 127 ++++++++++++++++++++ site/code_vault.org | 49 ++++++++ site/favicon.png | Bin 0 -> 974 bytes site/header.org | 7 ++ site/ideas/orgtpl.org | 7 ++ site/index.org | 45 +++++++ site/projects/bint.org | 18 +++ site/projects/clever-mode.org | 31 +++++ site/projects/dispass.el.org | 1 + site/projects/dlmenu.inc | 4 + site/projects/eye-on-manga.org | 38 ++++++ site/projects/git-auto-commit-mode.org | 90 ++++++++++++++ site/projects/org-blog.org | 83 +++++++++++++ site/projects/org.org | 85 +++++++++++++ site/projects/ryuslash.org | 75 ++++++++++++ site/stylesheet.css | 157 +++++++++++++++++++++++++ site/windowmanagers.org | 10 ++ 31 files changed, 1130 insertions(+) create mode 100644 .dir-locals.el create mode 100644 .gitignore create mode 100644 blog/.gitignore create mode 100644 blog/blog-2012-04-24-0052.org create mode 100644 blog/blog-2012-04-24-0127.org create mode 100644 blog/blog-2012-04-24-1551.org create mode 100644 blog/blog-2012-05-02-2109.org create mode 100644 blog/blog-2012-05-02-2136.org create mode 100644 blog/blog-2012-05-02-2152.org create mode 100644 blog/blog-2012-05-03-1004.org create mode 100644 blog/blog-2012-05-10-0130.org create mode 100644 blog/blog-2012-05-13-1041.org create mode 100644 blog/blog-2012-06-03-2318.org create mode 100644 blog/blog-2012-06-09-0119.org create mode 100644 site/articles/emacs.org create mode 100644 site/code_vault.org create mode 100644 site/favicon.png create mode 100644 site/header.org create mode 100644 site/ideas/orgtpl.org create mode 100644 site/index.org create mode 100644 site/projects/bint.org create mode 100644 site/projects/clever-mode.org create mode 100644 site/projects/dispass.el.org create mode 100644 site/projects/dlmenu.inc create mode 100644 site/projects/eye-on-manga.org create mode 100644 site/projects/git-auto-commit-mode.org create mode 100644 site/projects/org-blog.org create mode 100644 site/projects/org.org create mode 100644 site/projects/ryuslash.org create mode 100644 site/stylesheet.css create mode 100644 site/windowmanagers.org 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 "") + ("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 "") + ("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 ~~ key, this turned it into, for example ~ +ryu~ and ~ 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 ~ r~ or ~ 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_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 `(("(?\\(\\\\)[ :]" + (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 0000000000000000000000000000000000000000..4a82e51a413cd36b89e3e35e59caacded3ac9884 GIT binary patch literal 974 zcmV;<12O!GP)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyY- z00<9Z?;N}U0013nR9JLFZ*6U5Zgc_CX>@2HM@dakWG-a~0009e zNkl7Z<|B)%!ShRN!O?75d7Yx1t=PtW^y-HX?{+q6@3J1l-U z-0^gE#gXatNmmBuf?P<@PTMj%^m%|rNrJLrKgSt#5_kM)8IyCmt z#rgAdOa8f(Mom*EkR%EA28W?h)^$K_=-jV@N5Z*0V3(OfB9(`~3Trab1;IX(^~Sm~yhaO~Z*pI#fndKV7S6qm%A}8}Q2%06uvt)6}+`U3{!l z?|HJv#D>f5k@5O2rjTrVtD55+;X*lZ_UuZSrbeZ)8E>LyPH`yj&W;Y&rwe)St5>qMdTBsZzi5wZvjgIrGfiS*IPaAw1_ReB z|MA}Ol!Ws~^n833Y% zK>&cxVg>+fRUQLC6w5vUcy{^L*7eBloH8V<<~jfnMXdpVRf{(Puo?hB)-3?YWe5cT zCDpk8kN1tj;5q=YQtTJoSG+r#4*`ffH~T{XBG|BoAB^y~NfcfE`nBAvi^UOper&{E wFO4moZeg#xjx}_qHQ5+*-iJ-<%9a4&FIpFbr=LSLi2wiq07*qoM6N<$f|O>(x&QzG literal 0 HcmV?d00001 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 +
+#+END_HTML + +#+BEGIN_HTML +
+#+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: +#+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 + +@
+[[http://ryuslash.org/][Front page]] || [[file:blog/index.org][Blog]] +@
+ +* 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_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 -*- +@
+[[src][Browse Source]] || [[tar_gz][Download tar.gz]] || [[zip][Download zip]] +@
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_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_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_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_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? |