Initial commit

This commit is contained in:
Tom Willemsen 2012-06-21 21:24:54 +02:00
commit c90daec5f4
31 changed files with 1130 additions and 0 deletions

44
.dir-locals.el Normal file
View file

@ -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")))))))

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
*.html

2
blog/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
unfinished
index.org

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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~.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

127
site/articles/emacs.org Normal file
View file

@ -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...

49
site/code_vault.org Normal file
View file

@ -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

BIN
site/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 974 B

7
site/header.org Normal file
View file

@ -0,0 +1,7 @@
#+BEGIN_HTML
<div class="content">
#+END_HTML
#+BEGIN_HTML
</div>
#+END_HTML

7
site/ideas/orgtpl.org Normal file
View file

@ -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.

45
site/index.org Normal file
View file

@ -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]]

18
site/projects/bint.org Normal file
View file

@ -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

View file

@ -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"

View file

@ -0,0 +1 @@
#+TITLE: Dispass.el

4
site/projects/dlmenu.inc Normal file
View file

@ -0,0 +1,4 @@
# -*- mode: org -*-
@<div class="dlmenu">
[[src][Browse Source]] || [[tar_gz][Download tar.gz]] || [[zip][Download zip]]
@</div>

View file

@ -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"

View file

@ -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"

View file

@ -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"

85
site/projects/org.org Normal file
View file

@ -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.

View file

@ -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.

157
site/stylesheet.css Normal file
View file

@ -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;
}

10
site/windowmanagers.org Normal file
View file

@ -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? |