- 
++	 foreach($entries as $entry): ?>
++    
 - ++ — = $entry['title']; ?> ++ ++ endforeach; ?> ++
 
From: Gabriel Dunne  
++aero
++ 
++bodyneg
++ 
++
++Human generated tones are rendered with lines. The software manipulates these tones via random visual noise, making both audio and visual more chaotic of time. Tones start rigid and rhythmic, slowly degenerating into an organic, complex and chaotic system of overlapping frequencies and polyrhythms.
++
++
++
++
++ 
++medium: software
++ 
++egg 
++icarus and deadalus
++ 
++obsession 
++rattle
++ 
++sempernull
++ 
++synonymovement
++ 
++tessellated group
++
++
++
++
++
++
++
++
++
++
diff --cc content/journal/2011-09-28_sriyantra
index 0000000,e2fc30a..2fe3e17
mode 000000,100644..100644
--- a/content/journal/2011-09-28_sriyantra
+++ b/content/journal/2011-09-28_sriyantra
@@@ -1,0 -1,55 +1,55 @@@
+ date = 2011-09-28
+ title = sri yantra
+ --
+ 
 -
 -
  
++
++
  
+ 
+ Shri Yantra
+ 
 -
    
 -Kali → goddess of eternal energy. "She who destroys all". The goddess of time and change. The ultimate reality.
++
    
++Kali → goddess of eternal energy. The goddess of time and change. The ultimate reality.
+ 
+ 
+ > The Sri Chakra or Shri Yantra of Tripura Sundari is a yantra or mandala formed by nine interlocking triangles surrounding the bindu. Four of these triangles are orientated upright representing Shiva or the Masculine. Five of these triangles are inverted triangles represent Shakti or the Feminine. Because it is composed of nine triangles, it is also known as the Navayoni Chakra.[1]
+ 
 -
  
++
  
+ sri yantra guides  
+ 
+ > Together the nine triangles are interlaced in such a way as to form 43 smaller triangles in a web symbolic of the entire cosmos or a womb symbolic of creation. Together they express Advaita or non-duality. This is surrounded by a lotus of eight petals, a lotus of sixteen petals, and an earth square resembling a temple with four doors.[1]
+ 
+ > The Shri Chakra is also known as the nava chakra because it can also be seen as having nine levels. Each level corresponds to a mudra, a yogini, and a specific form of the deity Tripura Sundari along with her mantra. These levels starting from the outside or bottom layer are:[1]
+ 
+ 1. Trailokya Mohana or Bhupara, a square of three lines with four portals
+ 2. Sarvasa Paripuraka, a sixteen-petal lotus
+ 3. Sarva Sankshobahana, an eight-petal lotus
+ 4. Sarva Saubhagyadayaka, composed of fourteen small triangles
+ 5. Sarvarthasadhaka, composed of ten small triangles
+ 6. Sarva Rakshakara, composed of ten small triangles
+ 7. Sarva Rohahara, composed of eight small triangles
+ 8. Sarva siddhi prada, composed of 1 small triangle
+ 9. Sarvanandamaya, composed of a point or bindu 
+ 
+ > The Sri Chakra (called the Shri Yantra) is the symbol of Hindu tantra, which is based on the Hindu philosophy of Kashmir Shaivism.
+ 
+ 
+ Vijnanamaya — spiritual body composed of prayer and fortified by meditation
+ 
+ Anandamaya — body of the joy of union with god
+ 
+ > —he who realizes the truth of the body can then come to tknow the truth of the universe
+ 
+ Payodhi-jala — primordial waters, force of the manifested universe
+ 
+ > A fourth dimension of aesthetic sense, where all is in ourselves, ourselves in all —Aurobindo
+ 
+ Tantra: analogies between the individual and the cosmos, and the life forces which govern them
+ 
+ > reflections of what is taking place in real life and reminding thought visions of our true nature
+ 
+ 
+ 
+ 
+ 
 -
++
+ 
diff --cc content/journal/2011-10 16 _beg
index 0000000,0000000..987e618
new file mode 100644
--- /dev/null
+++ b/content/journal/2011-10 16 _beg
@@@ -1,0 -1,0 +1,11 @@@
++title = beg
++date = Oct 16 2011, 15:34:03
++--
++
++
++
++
++
++
++
++They move their mouths into a sad frown, they use their eyes, they tap on the windows. 
diff --cc content/journal/2011-10-04_dreams
index 0000000,62e1f08..661b0d7
mode 000000,100644..100644
--- a/content/journal/2011-10-04_dreams
+++ b/content/journal/2011-10-04_dreams
@@@ -1,0 -1,4 +1,4 @@@
+ title = dreams
 -date = Tue, Oct 4 2011, 12:46:34; IST 
++date = Oct 4 2011, 12:46:34
+ --
 -My dreams have been incredibly vivid. probably due to the heat. sleeping at odd hours. been working in the studio most of the day at Vishal's house, so I haven't been going out as much as I would like. It's also incredibly hot outside, averaging about 36 degrees C, which is about 95 F.
++My dreams have been incredibly vivid. probably due to the heat. sleeping at odd hours. been working in the studio most of the day at Vishal's house, so I haven't been going out as much as I would like. It's also incredibly hot outside, averaging about 36 degrees C, which is about 95 F.
diff --cc content/journal/2011-10-05_islands
index 0000000,a762a2e..e3fd573
mode 000000,100644..100644
--- a/content/journal/2011-10-05_islands
+++ b/content/journal/2011-10-05_islands
@@@ -1,0 -1,7 +1,7 @@@
+ title = islands
 -date = Wed, Oct 05 2011, 03:53:55 PM; IST
++date = Oct 05 2011, 03:53:55 PM
+ --
+ 
+ > Imagine that every man's mind is an island, surrounded by ocean. Each seems isolated, yet in reality all are linked by the bedrock from which they spring. If the ocean were to vanish, that would be the end of the islands. They would all be part of one continent, but their individuality would be gone.
+ 
+ > —"The Inspector" Overlord. Childhoods End, Arthur C. Clark. p.176
diff --cc content/journal/2011-10-06_alphabet
index 0000000,0000000..de750a9
new file mode 100644
--- /dev/null
+++ b/content/journal/2011-10-06_alphabet
@@@ -1,0 -1,0 +1,18 @@@
++date = 2011-10-06
++title = alphabet
++--
++
++consanants
++
++
++
++
++vowels
++
++
++
++
++numbers
++
++
++
diff --cc content/journal/2011-10-06_dushera
index 0000000,0000000..a753cc2
new file mode 100644
--- /dev/null
+++ b/content/journal/2011-10-06_dushera
@@@ -1,0 -1,0 +1,10 @@@
++title = dushera
++date = Oct 06 2011, 06:00:16 PM
++draft = true
++--
++
++
++
++
++
++dushera
diff --cc content/journal/2011-10-06_overlords
index 0000000,3ba9abb..a8a052c
mode 000000,100644..100644
--- a/content/journal/2011-10-06_overlords
+++ b/content/journal/2011-10-06_overlords
@@@ -1,0 -1,7 +1,7 @@@
+ title = childhoods end
 -date = Wed, Oct 05 2011, 03:17:57 PM; IST
++date = Oct 05 2011, 03:17:57 PM
+ --
+ 
+ > The case of India is particularly instructive. The main difference between us and the British in India was that they had no real motives for going there—no conscious objectives, that is, except such trivial and temporary ones as trade or hostility to other European powers. They found themselves possessors of an empire before they knew what to do with it, and were never really happy until they had got rid of it again.
+ 
+ > —"The Inspector" Overlord. Childhoods End, Arthur C. Clark. p.161
diff --cc content/journal/2011-10-20_smog
index 0000000,0000000..0cb9c3e
new file mode 100644
--- /dev/null
+++ b/content/journal/2011-10-20_smog
@@@ -1,0 -1,0 +1,7 @@@
++title = sun
++date = Oct 23 2011, 06:06:33 PM
++--
++
++
++
++
diff --cc content/journal/2011-10-23_water_is_life
index 0000000,0000000..035deca
new file mode 100644
--- /dev/null
+++ b/content/journal/2011-10-23_water_is_life
@@@ -1,0 -1,0 +1,8 @@@
++title = Water Is Life
++date = Oct 23 2011 06:04:38 PM
++draft = true
++--
++
++
++
++near Quotar Minar in Dadabari.
diff --cc content/projects/aero
index 0000000,0000000..ff7c060
new file mode 100644
--- /dev/null
+++ b/content/projects/aero
@@@ -1,0 -1,0 +1,12 @@@
++title = aero
++date = 2007
++thumb = http://portfolio.quilime.com/2008/aero/thumb.png
++--
++
++
++
++
++ceramic. 6" x 3" x 3"
++
++
++Soundscape to be accompanied by visual software. Audio is improvised with custom software and traditional instruments. All audio has a visual component in the form of the visual software instruments and tools used in its creation.
++
++
++
++*medium: software, synthesizer, ableton live*
diff --cc content/projects/boat
index 0000000,0000000..3f5776c
new file mode 100644
--- /dev/null
+++ b/content/projects/boat
@@@ -1,0 -1,0 +1,23 @@@
++title = boat
++date = 2007
++--
++
++
++
++
++
++boat
++*photo timelapse*
diff --cc content/projects/bodyneg
index 0000000,0000000..276b85e
new file mode 100644
--- /dev/null
+++ b/content/projects/bodyneg
@@@ -1,0 -1,0 +1,12 @@@
++title = bodyneg
++date = 2008
++thumb = http://portfolio.quilime.com/2008/bodyneg/thumb.png
++--
++
++
++
++
++ink press, 5 wall-mounted panels. 8' x 4' x 2'
++
++
++
++
++
++
++
++
++
++
++
++
++
++
diff --cc content/projects/egg
index 0000000,0000000..b58df02
new file mode 100644
--- /dev/null
+++ b/content/projects/egg
@@@ -1,0 -1,0 +1,11 @@@
++title = egg
++date = 2007
++thumb = http://portfolio.quilime.com/2008/egg/thumb.png
++--
++
++
++
++
++marker, wire. 4" x 2.5"
++
++
++
++balsa wood. 16" x 16" x 4"
++
++
++Organic forms react to the user and each other. Their motions and position in space create and/or affect audio. A tenticles depth in space is correlated to volume, while its color is linked to a tone in the audio spectrum. Interaction with the tentacle instrument is smooth, undulating, jellyfish-like.
++
++
++
++
++*medium: software*
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
diff --cc content/projects/light
index 0000000,0000000..f2aa8bd
new file mode 100644
--- /dev/null
+++ b/content/projects/light
@@@ -1,0 -1,0 +1,12 @@@
++title = spacelamp
++date = 2007
++thumb = http://portfolio.quilime.com/2008/spacelamp/thumb.png
++--
++
++
++
++
++
++found plexi (street find by ss). Added lights, hung with wire. The beginnings of exploring interactive sculpture.
++
++*medium: incandescent lights, acrylic*
diff --cc content/projects/mask
index 0000000,0000000..69acae8
new file mode 100644
--- /dev/null
+++ b/content/projects/mask
@@@ -1,0 -1,0 +1,8 @@@
++title = mask
++date = 2007
++thumb = http://portfolio.quilime.com/2008/mask/thumb.png
++--
++
++
++
++graphite on plywood. 12" x 12"
diff --cc content/projects/obsession
index 0000000,0000000..f28f27c
new file mode 100644
--- /dev/null
+++ b/content/projects/obsession
@@@ -1,0 -1,0 +1,10 @@@
++title = obsession
++date = 203
++thumb = http://portfolio.quilime.com/2008/obsession/thumb.png
++--
++
++
++
++copper wire, masonite. 3.5' x 4.5'
++
++
++oil on canvas. 4' x 3'
++
diff --cc content/projects/rattle
index 0000000,0000000..c31c4ec
new file mode 100644
--- /dev/null
+++ b/content/projects/rattle
@@@ -1,0 -1,0 +1,26 @@@
++title = rattle
++date = 2008
++--
++
++
++
++
++
++
++synthesiser (interactive)
++
++
++
++Particles are jostled and shaken as in a rattle. The sonic possibilities of their collisions and movement are given freedom and sonic depth via software.
++Rattles and shakers can be embedded into one another, allowing for more sensitivity, sonic subtlety, and layers when making music. Interaction with the digital rattle is as simple and dynamic as its physical counterpart.
++
++
++
++*medium: software*
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
diff --cc content/projects/sempernull
index 0000000,0000000..a304ce5
new file mode 100644
--- /dev/null
+++ b/content/projects/sempernull
@@@ -1,0 -1,0 +1,26 @@@
++title = sempernull
++date = 2007
++thumb = http://portfolio.quilime.com/2008/sempernull/thumb.png
++--
++
++
++
++
++
++video installation
++
++
++
++An exploration of infinite/finite space. The user transitions between macro and micro environments of mathematically infinite scale, limited only by computer processing power. As the viewer moves through multiple spaces, their scope and perspective widends and transcends while space becoms infinitely big and infinitely small simultaneously.
++
++*medium: software*
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
diff --cc content/projects/swimtank
index 0000000,0000000..b84c324
new file mode 100644
--- /dev/null
+++ b/content/projects/swimtank
@@@ -1,0 -1,0 +1,62 @@@
++title = Swimtank
++date = 2007
++--
++
++
++
++A form follows an infinite path drawn by you, 
++and then reacts to its own trail. You can control the form on two axis, while the depth of the path follows a sinusoidal rhythm that is affected by paths previously drawn.
++
++
++
++*medium: software*
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
diff --cc content/projects/synony
index 0000000,0000000..d5f5b9a
new file mode 100644
--- /dev/null
+++ b/content/projects/synony
@@@ -1,0 -1,0 +1,27 @@@
++title = synonymovement
++date = 2007
++thumb = http://portfolio.quilime.com/2008/synonymovement/thumb.png
++--
++
++
++
++
++
++
++video installation
++
++
++
++identity design, installation design
++
++
++
++A network of dots and lines interacts with itself in a single mesh. Depth determines audio volume. Intersections, connections and line-length determine tones. Similar tones and chord groups are designated with additional web lines and connections. You are able to interact with each web line as the strings of an instrument, each tone resonating through its connections.
++
++*medium: software*
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
diff --cc css/style.css
index a6c520c,f10980a..415effb
--- a/css/style.css
+++ b/css/style.css
@@@ -1,198 -1,83 +1,154 @@@
 +body {
-     margin: 20px 100px 50px 30px;
-     background:#eee;
++    background:#f4f4f4;
++}
++body, table {
++    font-size: 12px;
++    font-family: sans-serif;
++    line-height:1.5em;
 +}
 +
- html,
- body,
- table {
+ body { 
+     padding:0;
+     margin:0;
 -    font-size: 0.8em;
 -    font-family: sans-serif;
 -    line-height:1.5em;
 -    color: rgb(83, 104, 112);
++    color: #555;
+ }
  
-   font-family: arial;
-   color: #000;
-     line-height:1.3em;
+ a { 
 -    color:rgb(198, 28, 111);
 -    text-decoration:none;
++    font-weight:bold;
++    color:#000;
++/*    color: #22f;*/
+ }
+ a img { 
+     border:0; 
+ }
+ a.visited {
+     
  }
- ::-moz-selection,
- ::selection {
-   background: #08f !important;
-   color: #ff0;
+ a.mute { 
+     font-weight:normal;
+     color:rgb(129, 144, 144);
+ }
+ a:hover, a.mute:hover { 
+     color:rgb(209, 28, 36);
  }
  
++h1 {
++    padding-top:0;
++    margin-top:0;
++    margin-bottom:30px;
++}
+ h1, h2, h3, h4, h5, h6 { 
 -    font-size:1em; 
++    
+ }
+ h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { 
++text-decoration:none;
+ }
  
- a {
-   color: #22f;
+ ul, li { 
+     margin:0; padding:0; list-style-type:none; 
+ }
+ ol { 
+     margin:0;
+ }
+ ol li { 
+     list-style-type:decimal; 
+ }
+ blockquote { 
+     font-family:serif;
+     font-style:italic;
+     font-size:1.2em;  
+     line-height:1.3em;
+     margin:0;
+     padding:0;
+ }
 -pre {
++pre, code {
++    color:#f08;
 +    font-weight:bold;
-     text-decoration:none;
-   border: 0;
-   padding: 0.2em 0.1em 0 0;
- }
- a img {  border: 0 }
- a.mute {
-   text-decoration: none !important;
-   font-weight: normal;
- }
- a:hover,
- a.mute:hover {
-   color: #d15;
-   text-decoration: none;
- }
- 
- 
- h1,
- h2,
- h3,
- h4,
- h5,
- h6 {
-   color:#338;
- }
- h1 a,
- h2 a,
- h3 a,
- h4 a,
- h5 a,
- h6 a { }
- h1 {  margin: 0 0 1em 0; }
- h2 {  margin: 2em 0 1em 0; }
- h3 {  margin: 0 0 0 0 }
- h4 {  margin-top: 0 }
- ul, li { }
- ol {  margin: 0 }
- ol li {  }
- blockquote {
-   font-family: times;
-   background: #000;
-   color: #aaa;
-   margin: 0;
-   line-height: 1.4em;
-   padding: 2em 4em;
-   font-style: italic;
-   line-height: 1.45em;
-   max-width: 600px;
- }
- code {  }
+     line-height:1.3em;
++    font-size:12px;
+ }
+ 
  #content {
-   padding-left: 100px;
-   min-width: 500px;
 -    padding:50px;
 -    background:#fff;
++  padding-left: 150px;
++  padding-top:30px;
++  padding-right:10px;
 +  padding-bottom: 200px;
-   z-index: 10;
+ }
 +
+ #nextprev {
 -    padding:0 50px 10px 50px;
++    padding:0 50px 10px 150px;
  }
- #content p:first-child {  margin-top: 0 }
- p {   }
 +
 +
- .nav {
-   top: 25px;
-   left: 20px;
++
+ #nav {
 -    padding:30px 50px;
 -    border-top:1px dotted #aaa;
 +  position:absolute;
++  top: 30px;
++  left: 20px;
 +}
- .nav a {
-   text-decoration: none;
-   font-weight: bold;
++#nav a {
  }
- .nav a.mute {  font-weight: normal }
- .nav li, ul.nav {
 -.archive li {
 -    font-weight:bold; 
++#nav a.mute {  font-weight: normal }
++#nav li, ul.nav {
 +  list-style-type:none;
 +  padding:0 !important;
 +  margin:0 !important ;
  }
  
  
- .index {
-   padding: 0;
-   margin: 0;
++
++
++
++
+ .entry {
++  width:auto;
++  padding-bottom:20px;
++  border-radius:3px;
++  margin-bottom:70px;
++  background:#fff;
++  padding:20px;
  }
- .index li {
-   line-height: 1.1em;
-   margin-bottom: 0.4em;
+ .entry h2 {
+     margin-bottom:20px;
  }
- .index li a {
-   font-weight: normal;
+ .entry .metadata { 
+     margin-top:30px;
+     font-style:italic; color:#777; font-size:12px;
  }
- .entry, .entry_b, .column {
-   margin-bottom: 50px;
-   background:#fff;
-   padding:30px;
-   border-radius:5px;
-   box-shadow:inset 1px 1px 1px #ddd;
-   max-width:720px;
+ .entry .metadata .tags li { 
+     display:inline-block; 
+     margin-right:0.3em; 
 -}
 +}
- .entry_b {
-   background:#eee;
-   box-shadow:none;
- }
- .entry .metadata {
-     margin-top:3em;
-   font-style: italic;
-   color: #999;
- }
- .entry .metadata a {  color: #999 }
- .entry .metadata a:hover {  color: #000 }
- .tags {
- margin:0;
- padding:0;
- }
- .entry .metadata .tags li {
-   display: inline-block;
-   margin-right: 0.3em;
- }
- .more,
- .home {
-   text-decoration: none;
-   color: #000;
-   font-weight: bold;
- }
- table {
-   margin: 0;
-   padding: 0;
-   border: 0;
- }
- table .column {
-   min-width: 120px;
-   max-width: 400px;
- }
- table .column h2 a {  text-decoration: none }
- table h2,
- table h3 {  margin-bottom: 2em }
- table .video li,
- table .image li {  margin-bottom: 2em }
- table .reader li,
- table .bookmarks li {
-   margin-bottom: 1em;
-   padding-bottom: 1em;
-   border-bottom: 1px dotted #ddd;
- }
- .reader_links li,
- .bookmark_links li {
-   padding-top: .75em;
-   margin-bottom: .75em;
- }
- .bookmark_links li a {  display: block }
- .bookmark_links li span {
-   font-style: italic;
-   color: #444;
- }
- .image li a {  background: none }
- #footer {  margin-top: 120px }
- #footer .copy a {  text-decoration: none }
- a.rss {
- /*  background: url("/img/rss-icon.png") no-repeat scroll right center transparent;
-   padding: 0 1.3em 0 0;  
- */
- }
- a.external {
-   background: url("/img/external-icon.png") no-repeat scroll right center transparent;
-   padding: 0 1.3em 0 0;
- }
- 
- 
- 
- 
- .thumb_elem {
++.entry p {
++     max-width:720px;   
++}
++
++
++
++.project {
 +    display:inline-block;
++    margin-right:10px;
++    margin-bottom:40px;
 +}
 +.thumb {
 +  width:100px;
 +  height:100px;
 +  border:1px dotted #000;
++  overflow:hidden;
++  background:#eee;
++}
++
++
++
++.column {
++  padding-right:100px;
++}
++
++.image li, .bookmarks li {
++    margin-bottom:40px;
++}
++
++ul.image {
++    background:#fff;
++    padding:20px;
 +}
diff --cc index.php
index 6791652,62b7c6d..b16eaa3
--- a/index.php
+++ b/index.php
@@@ -1,60 -1,21 +1,44 @@@
  response_format = $response_format;
-     $t->assign('view', isset($_GET['v']) ? $_GET['v'] : null);
- 
-     $content_request = LOCAL_ROOT . CONTENT_DIR . $url['dirname'] . '/' . $url['filename'];
-     $page_request =  LOCAL_ROOT . PAGE_DIR . DIRECTORY_SEPARATOR . $url['filename'];
-     $total = 0;
- 
-     # content exists, and is a folder
- 
-     if (is_dir($content_request)) {
-         # get config in folder, if exists
-         if (is_file($content_request . '/' . CONFIG_FILE )) {
-             $config = parse_entry(new SplFileInfo($content_request . '/' . CONFIG_FILE));
-             $template = $config['config']['template'] . '.' . $response_format . '.tpl' ;
-         }
-         list($data, $total) = get_entries($url['dirname'] . '/' . $url['filename']);
- 
-         if ($url['filename'] == '') {
-             $template = 'index.html.tpl';
-         }
-             
-         $t->assign('data', $data);
-         $t->assign('page_title', preg_replace('{^/|/$}', '', $url['url']));
-     }
- 
-     # content exists, and is a single entry
-     else if (is_file($content_request)) {
-         $t->assign('data', parse_entry(new SplFileInfo($content_request)));
-         $t->assign('single', true);
-         $template = 'single.'.$response_format.'.tpl';
-     }
- 
-     # content exists, and is a page
-     else if (is_file($page_request)) {
-         $page = parse_entry(new SplFileInfo($page_request), 1);
-         $t->assign('data', $page);
-         $template = $page['config']['template'] ? $page['config']['template'] . '.' . $response_format . '.tpl' : 'page.' . $response_format . '.tpl';
-     }
- 
-     # 404
-     else {
-         $template = '404.html.tpl';
-     }
- 
-     # render
-     $t->assign('total', $total);
-     header("Content-Type: {$response_mime_type}; charset=UTF-8");
-     $t->render($template);
- 
- ?>
+ require 'lib/init.php';
+ 
++
++
++
++
+ $request = get_request();
+ 
+ $v = new View  ($request);
+ $m = new Model ($request);
+ 
+ 
++
++
++
++
+ if ($m->is_single())
+ 	$v->assign('entry', $m->entry);
+ 
+ else if ($m->is_page())
+ 	$v->assign('page', $m->page);
+ 
+ else if ($m->is_multiple())
+ 	$v->assign('entries', $m->entries);
+ 
++
++
++
++
++
+ header("Content-Type: {$m->response_mime_type}; charset=UTF-8"); 
+ $v->render( $m->template );
++
++
++
++
++
++
++
++
++
++exit;
diff --cc lib/init.php
index b340c1f,8c030eb..c0d3849
--- a/lib/init.php
+++ b/lib/init.php
@@@ -1,28 -1,43 +1,82 @@@
  ');
 +	define ('TITLE_DELIMITER', ': ');
 +	define ('CONFIG_FILE', 'config');
 +
 +    require_once 'data.php';
 +    require_once 'output.php';
 +    require_once 'markdown.php';
 +    require_once 'template.php';
 +
 +
 +	//error_reporting(E_ALL);
 +	//ini_set("display_errors", 1);
 +
- ?>
++?>
++=======
++*/
+ /**
+  *		SETUP
+  *
+  *		update variables specific to your server
+  *
+  *		note: PHP short tags must be enabled
+  */
+ 
+ 
 -# error reporting
++# error reporting (turn this off for production)
+ error_reporting(E_ALL);
+ ini_set("display_errors", 1);
+ 
+ # timezone
+ putenv('TZ=Asia/Calcutta');
+ 
+ # include path
+ ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . dirname(realpath(__FILE__)));
+ 
++
++
++
++
++
+ # settings
 -define ('CLEAN_URLS', 		 false);
 -define ('SITE_TITLE', 		 'india 2011');
 -define ('LOCAL_ROOT', 		 '/Users/gdunne/Sites/india/');
 -define ('WEB_ROOT', 		 '/~gdunne/india/');
++define ('CLEAN_URLS', 		 true);
++define ('SITE_TITLE', 		 'quilime');
++define ('LOCAL_ROOT', 		 '/home/quilime/quilime.com/');
++define ('WEB_ROOT', 		 '/');
+ define ('CONTENT_DIR', 		 'content/');
+ define ('TEMPLATE_DIR', 	 'templates/');
+ define ('PAGE_DIR', 		 'pages/');
+ define ('CONFIG_DELIMITER',  '--');
+ define ('CONFIG_FILE', 		 'config');
+ define ('MORE_DELIM', 		 '');
+ define ('TITLE_DELIMITER', 	 ' — ');
+ define ('ENTRY_DATE_FORMAT', 'M d Y, h:i:s A T');
+ 
+ $_FILE_IGNORES = array(CONFIG_FILE, '.DS_Store');
+ 
++
++
++
++
++
+ # includes
+ require_once 'data.php';
+ require_once 'output.php';
+ require_once 'markdown.php';
+ require_once 'model.php';
 -require_once 'view.php';
++require_once 'view.php';
diff --cc lib/output.php
index ec48186,6afa477..efac82e
--- a/lib/output.php
+++ b/lib/output.php
@@@ -1,18 -1,5 +1,6 @@@
  template_dir = join(DIRECTORY_SEPARATOR, array(dirname(__FILE__), '..', TEMPLATE_DIR));
- 	$t->template_cache_dir = join(DIRECTORY_SEPARATOR, array(dirname(__FILE__), '..', TEMPLATE_DIR, 'cache'));
- 
-     return $t;
- }
- 
  /**
   *	@param format
   *  @param default format
@@@ -175,12 -148,25 +149,25 @@@ function get_url_parts(
  }
  
  
- function get_url()
- {
-     $path_info = pathinfo($_SERVER['SCRIPT_URL']);
-     $path_info['url'] = preg_match("/\.\.\//", $_SERVER['SCRIPT_URL']) ? '/' : $_SERVER['SCRIPT_URL'];
-     //$path_info['extension'] = null;
-     return $path_info; //substr($_SERVER['SCRIPT_URL'], strlen(get_base_dir() . '/'));
+ function get_request()
+ {   
 -    if (!CLEAN_URLS && isset($_GET['p'])) {
++    if (isset($_GET['p'])) {
+         $path = $_GET['p'];
+     } else {
+         // TODO
+         // this is fudged
+         if ($_SERVER['REQUEST_URI'] == WEB_ROOT) {
+             $path = '/';
+         }
+     }
+ 
+     $path_info = pathinfo( $path );
+     $path_info['path'] = preg_match("/\.\.\//", $path) ? '/' : $path;
+     $path_info['extension'] = null;
+     if ($path_info['dirname'] == '.')
+         $path_info['dirname'] = '';
+ 
+     return $path_info;
  }
  
  
diff --cc pages/about
index e5e9e72,483451b..903998b
--- a/pages/about
+++ b/pages/about
@@@ -1,20 -1,7 +1,17 @@@
  title = about
  --
- ###about
++#about
  
- quilime is a codification of process, resource, and code by **gabriel dunne** ([www](http://gabrieldunne.com), [email](mailto:gdunne@quilime.com))
++quilime is a codification of projects, process and resources by **gabriel dunne** ([www](http://gabrieldunne.com), [email](mailto:gdunne@quilime.com))
 +
elsewhere:
 +[github](http://github.com/quilime/),
 +[vimeo](http://vimeo.com/quilime/),
 +[clmpr](http://clmpr.com/quilime/),
 +[flickr](http://flickr.com/photos/quilime/),
 +[delicious](http://delicious.com/quilime/),
 +[ffffound](http://ffffound.com/home/quilime/found/),
 +[@quilime](http://twitter.com/quilime/)
  
- quilime.com has taken many forms: archive
- 
- site update rss
- 
- quilime is powered by plog (project+log), a static-file CMS.
 -INDIA 2011 is a journal by Gabriel L Dunne, documenting a self-initiated 3mo residiency in Delhi, India with fellow artist Vishal K Dar.
++
  
 -all content © 2011
++quilime is powered by plog (project+log) engine.
diff --cc pages/links
index 8039284,8a3369e..bdf2e9c
--- a/pages/links
+++ b/pages/links
@@@ -2,29 -2,33 +2,31 @@@ title = link
  type = page
  markdown = true
  --
 -people
 -------
 -+ gabriel dunne [gabrieldunne.com](http://gabrieldunne.com)
 -+ stephanie sherriff [ssherriff.com](http://ssherriff.com)
 -+ ryan alexander [onecm.com](http://onecm.com)
 -+ joshua nimoy [jtnimoy.net](http://jtnimoy.net)
 -+ daniel massey [oddsympathy.com](http://oddsympathy.com)
 -+ keith pasko [keithpasko.com](http://keithpasko.com)
 -+ jeff lubow [dabkitsch.com/jml/](http://dabkitsch.com/jml/)
 -+ michael chang [ghost-hack.com](http://ghost-hack.com)  
 -+ carbon workshop [carbonworkshop.com](http://carbonworkshop.com)
 -+ sascha pohflep [pohflepp.com](http://pohflepp.com)
 -+ mylinh trieu [mylinhtrieu.com](http://mylinhtrieu.com)
 -+ aaron meyers [universaloscillation.com](http://universaloscillation.com)
 -+ tom carden [tom-carden.co.uk](http://tom-carden.co.uk)
 -+ michal migurski [mike.teczno.co](http://mike.teczno.com)
 -+ adam roth [ripevessel.com](http://ripevessel.com)
 -+ david rager [davidrager.org](http://davidrager.org)
 -+ marc nimoy [digitanalog.net](http://digitanalog.net)
 -+ matthew gale [makaga.com](http://makaga.com)
 -+ frédéric eyl [fredericeyl.de](http://fredericeyl.de)
 -+ the green eyl [thegreeneyl.com](http://thegreeneyl.com)
  
- ###links
 -
 -
++###people
 ++ [gabrieldunne.com](http://gabrieldunne.com) gabriel dunne 
 ++ [ssherriff.com](http://ssherriff.com) stephanie sherriff
 ++ [onecm.com](http://onecm.com) ryan alexander
 ++ [jtnimoy.net](http://jtnimoy.net) joshua nimoy 
 ++ [oddsympathy.com](http://oddsympathy.com) daniel massey
 ++ [keithpasko.com](http://keithpasko.com) keith pasko
 ++ [dabkitsch.com/jml/](http://dabkitsch.com/jml/) jeff lubow
 ++ [carbonworkshop.com](http://carbonworkshop.com) gustavo huber, shelly brown
 ++ [ghost-hack.com](http://ghost-hack.com) michael chang
 ++ [pohflepp.com](http://pohflepp.com) sascha pohflep
 ++ [mylinhtrieu.com](http://mylinhtrieu.com) mylinh trieu
 ++ [universaloscillation.com](http://universaloscillation.com) aaron meyers
 ++ [tom-carden.co.uk](http://tom-carden.co.uk) tom carden
 ++ [mike.teczno.co](http://mike.teczno.com) michal migurski
 ++ [ripevessel.com](http://ripevessel.com) adam roth
 ++ [davidrager.org](http://davidrager.org) david rager
 ++ [digitanalog.net](http://digitanalog.net) marc nimoy
 ++ [makaga.com](http://makaga.com) matthew gale
 ++ [fredericeyl.de](http://fredericeyl.de) frédéric eyl
 ++ [thegreeneyl.com](http://thegreeneyl.com) the green eyl
  
- ####places
 -places
 -------
 -+ gray area foundation for the arts [gaffta.org](http://gaffta.org)
 -+ bay area video coalition [bavc.org](http://bavc.org)
++
++
++###places
 ++ [gaffta.org](http://gaffta.org) gray area foundation for the arts
 ++ [bavc.org](http://bavc.org) bay area video coalition
diff --cc templates/404.html.tpl
index a0ed8af,3cdbab2..3447b6c
--- a/templates/404.html.tpl
+++ b/templates/404.html.tpl
@@@ -17,6 -14,9 +14,8 @@@
  	
  
  
+      $this->include_template('nav.html.tpl') ?>
+ 
 -
  	 $this->include_template('footer.html.tpl') ?>
  
  
diff --cc templates/archive.html.tpl index 0000000,0000000..6ba5573 new file mode 100644 --- /dev/null +++ b/templates/archive.html.tpl @@@ -1,0 -1,0 +1,28 @@@ ++ ++
++ ++ $this->include_template('head-inc.html.tpl') ?> ++ ++
++ ++ ++
++