commit f7e6ce0ba6df63f491e012a68e94745d842546c0 Author: nik gaffney Date: Sat Jan 19 21:03:39 2019 +0000 innit Prisoner of Ice, Restorffs Bryggjarí, Lajos Hevesi, National Register of Historic Places listings in Channel Islands National Park & Merion Botanical Park. diff --git a/README.org b/README.org new file mode 100644 index 0000000..39bd54c --- /dev/null +++ b/README.org @@ -0,0 +1,16 @@ + +** Latour Litanizer + +"When writing Alien Phenomenology I found myself wondering, what would happen if we put ontography, Latour Litany, and carpentry together? Here’s one simple take, a 'Latour Litanizer.' It uses Wikipedia’s random page API to generate lists of things [...] Like all Latour Litanies, this little gadget underscores the rich diversity of things. It also reminds us that human beings are among them, since a large number of Wikipedia articles describe living and historical persons." —Ian Bogost + +This is a simple version of Ian Bogost's method of generating "Latour Litanies" in emacs as a further (or furthering) exercise in ontography, metaphorism, and carpentry. + +** Litanizing + +~M-x litanize~ will generate a litany in a new buffer + +~M-x insert-litany~ will generate a litany at the point + +** Further + + - http://bogost.com/writing/blog/latour_litanizer/ diff --git a/litanize.el b/litanize.el new file mode 100644 index 0000000..3899555 --- /dev/null +++ b/litanize.el @@ -0,0 +1,94 @@ +;;; litanize.el --- generate "Latour Litanies" + +;; Copyright 2019 FoAM oü +;; +;; AUTHOR: nik gaffney +;; Created: 2019-01-19 +;; Version: 0.1 +;; Keywords: Latour Litany, alien phenomenology, ontography, metaphorism, carpentry +;; X-URL: https://github.com/zzkt/litanize + +;; This file is not part of GNU Emacs. + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. +;; +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program; if not, write to the Free Software +;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + + +;;; Commentary: + +;; a simple version of Ian Bogost's method of generating "Latour Litanies" +;; from random wikipedia titles as an exercise in ontography, metaphorism, +;; and carpentry +;; +;; currently uses random wikipedia titles as elements. might be extended to +;; use other lists in other futures. +;; +;; 'M-x litanize' will generate a litany in a new buffer +;; +;; 'M-x insert-litany' will generate a litany at the point +;; +;; further -> http://bogost.com/writing/blog/latour_litanizer/ + +;;; Code: + +(provide 'litanize) +(eval-when-compile + (require 'cl)) + +(require 'enlive) +;; enlive can be installed via melpa or from https://github.com/zweifisch/enlive + + +(defun random-wp-title () + (s-chop-suffix + " - Wikipedia" + (nth 2 (enlive-query + (enlive-fetch "https://en.wikipedia.org/wiki/Special:Random") + [title])))) + +(defun litanize () + "Create a Latour Litany in it's own buffer" + (interactive) + (with-current-buffer (get-buffer-create "*latour litany*") + (erase-buffer) + (dotimes (i 5) + (insert (random-wp-title)) + (cond ((<= i 2) (insert ", ")) + ((= i 3) (insert " & ")) + ((= i 4) (insert ".")))))) + + +(defun insert-litany () + "Create a Latour Litany at the current point" + (interactive) + (dotimes (i 5) + (insert (random-wp-title)) + (cond ((<= i 2) (insert ", ")) + ((= i 3) (insert " & ")) + ((= i 4) (insert "."))))) + +(defun latour-litany (length) + "generate an arbitary (or random) length litany as a string" +) + + + +;;;;########################################################################## +;;;; User Options, Variables +;;;;########################################################################## + + +;;; litanize.el ends here +