]> git.quilime.com - plog.git/commitdiff
merge from master branch
authorGabriel Dunne <gdunne@quilime.com>
Sun, 11 Jul 2010 07:35:28 +0000 (00:35 -0700)
committerGabriel Dunne <gdunne@quilime.com>
Sun, 11 Jul 2010 07:35:28 +0000 (00:35 -0700)
16 files changed:
content/log/2010-07-01_icosi [new file with mode: 0644]
lib/data.php
lib/init.php
lib/output.php
lib/template.php
public/css/style.css
public/index.php
templates/404.html.tpl [new file with mode: 0644]
templates/default.html.tpl
templates/entry.html.tpl
templates/head-inc.html.tpl
templates/index.html.tpl [new file with mode: 0644]
templates/nav.html.tpl
templates/page.html.tpl
templates/single.html.tpl
templates/test.html.tpl [new file with mode: 0644]

diff --git a/content/log/2010-07-01_icosi b/content/log/2010-07-01_icosi
new file mode 100644 (file)
index 0000000..ef966c3
--- /dev/null
@@ -0,0 +1,5 @@
+title = icosi fabrication progress
+date = 2010-07-07
+tags = icosi fabrication 
+--
+[![img](http://farm5.static.flickr.com/4140/4773799092_75e68e4e66.jpg)](http://www.flickr.com/photos/quilime/4773799092/)
\ No newline at end of file
index e20e40274b29bbadc54905efacb3f7afa0396524..9bee7eaebffe9ec0d5e941d65fe0c3c07b8d5add 100644 (file)
@@ -19,9 +19,10 @@ function get_entries( $path = "", $args = array())
        else {
                $dir_iterator = new DirectoryIterator($path);
        }
+       
        $entries = array();
        foreach ($dir_iterator as $file => $info) {
-               if (!$info->isDir()) {
+               if (!$info->isDir() && $info->getFilename() != CONFIG_FILE) {
                        $entries[] = parse_entry($info);
                }
        }
@@ -77,7 +78,10 @@ function get_dirs( $path = "", $args = array())
        $dirs = array();
        foreach ($dir_iterator as $dir => $info) {
                if ($info->isDir() && $info->getFilename() != '.' && $info->getFilename() != '..') {
-                       $dirs[] = str_replace($path, "",  $info->getRealPath());
+            $d = array();
+            $d['url'] = str_replace($path, "",  $info->getRealPath()) . '/';
+            $d['name'] = substr(str_replace($path, "",  $info->getRealPath()),1);
+                       $dirs[] = $d;
                }
        }
        return $dirs;           
@@ -108,14 +112,14 @@ function parse_entry($fileInfo, $page = 0)
 
        $file = array();
        $file['config'] = parse_ini_string($config);
-               
        $file['title'] = $file['config']['title'];
        $file['timestamp'] = $file['config']['date'] ? date('U', strtotime( $file['config']['date'])) : $fileInfo->getCTime();
        $file['tags'] = $file['config']['tags'] ? explode(" ", $file['config']['tags']) : null;
        $file['content'] = Markdown($content);
-       $file['cat'] = $page? null : substr(clean_slashes(str_replace(LOCAL_ROOT . CONTENT_DIR, "", $fileInfo->getPath())),1);
+       $cat = clean_slashes(str_replace(LOCAL_ROOT . CONTENT_DIR, "", $fileInfo->getPath()));
+       $file['cat'] = $page ? null : array('name' => substr($cat,1), 'url' => $cat.'/' );
        $file['path'] = $fileInfo->getRealPath();
-       $file['url'] = WEB_ROOT . ($page ? '' : $file['cat'] . '/' ) . $fileInfo->getFilename();
+       $file['url'] = WEB_ROOT . ($page ? '' : substr($file['cat']['url'],1)) . $fileInfo->getFilename() . '/';
 
        return $file;
 }
index fdb82c01704c1cdcdb078b840b2ee39a67e43297..0dd8647c1d705e02266d941acae4bf210587032f 100644 (file)
@@ -5,13 +5,15 @@
        ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . dirname(realpath(__FILE__)));
 
        define ('SITE_TITLE', 'quilime');
-       define ('LOCAL_ROOT', '/home/quilime/quilime-site/' );
-       define ('WEB_ROOT', 'http://quilime.com/' );
+       define ('LOCAL_ROOT', '/home/quilime/plog/plog/');
+       define ('WEB_ROOT', 'http://dev.quilime.com/');
        
        define ('CONTENT_DIR', 'content');
-       define ('PAGE_DIR', 'pages');           
        define ('TEMPLATE_DIR', 'templates');
+       define ('PAGE_DIR', 'pages');   
        define ('CONFIG_DELIMITER', '--');      
+       define ('TITLE_DELIMITER', ': ');
+       define ('CONFIG_FILE', 'config');       
        
     require_once 'data.php';
     require_once 'output.php';
index 6866c6c43365bb2b69daf0275aacbdf369c727ed..a7e88e698c393a57ce8746001e8ef8ddca7221b2 100644 (file)
@@ -60,7 +60,7 @@ if( !function_exists('parse_ini_string') ) {
 
 
 /**
- * removes double slashes
+ * removes double slashes in path
  * @param path
  */
 function clean_slashes($path)
@@ -69,6 +69,15 @@ function clean_slashes($path)
 }
 
 
+/**
+ *  makes sure path is valid
+ */
+function validate_path()
+{
+
+}
+
+
 /**
 * @param    int     $seconds    Number of seconds to convert into a human-readable timestamp
 * @return   tring   Human-readable approximate timestamp like "2 hours"
@@ -148,8 +157,8 @@ function get_url_parts()
 
 function get_url()
 {
-$path_info = pathinfo($_SERVER['SCRIPT_URL']);
-$path_info['url'] = $_SERVER['SCRIPT_URL'];
+    $path_info = pathinfo($_SERVER['SCRIPT_URL']);
+    $path_info['url'] = preg_match("/\.\.\//", $_SERVER['SCRIPT_URL']) ? '/' : $_SERVER['SCRIPT_URL'];    
     return $path_info; //substr($_SERVER['SCRIPT_URL'], strlen(get_base_dir() . '/'));
 }
 
index a4558e9a9256847135d8c882e587b01631bef0e1..c470488eb9e758331df48b12d3f5e5f4ddeec867 100644 (file)
@@ -39,20 +39,17 @@ class Template
        public function render( $template )
        {
                extract( $this->_tpl_vars );
-               
-               
+
                if (is_file( $this->template_dir . DIRECTORY_SEPARATOR . $template ))
                        include( $this->template_dir . DIRECTORY_SEPARATOR . $template );
                else
                        include( $this->template_dir . DIRECTORY_SEPARATOR . 'default.' . $this->response_format . '.tpl');
-                       
-
        }
        
        
        public function page_title($delim)
        {
-               return SITE_TITLE . (isset($this->_tpl_vars['page_title']) ? $delim . $this->_tpl_vars['page_title'] : "");
+               return isset($this->_tpl_vars['page_title']) ? $delim . $this->_tpl_vars['page_title'] : "";
        }
 }
 
index 94881751d3afd599e66b40c3204cbb970cd5d4c3..bc8109a1176ffff60cc481bfa228810c48e63ca0 100644 (file)
@@ -21,7 +21,7 @@ a:hover, a.mute:hover { color:#d15; text-decoration:none; }
 h1, h2, h3, h4, h5, h6 {  font-size:1em; }
 h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { }
 h1 { margin:0 0 3em 0; }
-h2 { margin:0 0 0.5em 0;  }
+h2 { margin:0 0 0.5em 0; }
 h3 { margin:0 0 0 0; }
 
 ol li { list-style-type:decimal; }
@@ -80,7 +80,7 @@ table.archive td {padding-right:20px; }
     .indent { text-indent:3em; }
     
 .entry { margin-bottom:100px; }
-.entry h2 { border-bottom:1px solid #ddd; padding-bottom:4px; }
+.entry h2 { padding-bottom:4px; font-size:1.3em; }
 .entry h2 .title-date { font-weight:normal; color:#bbb; }
 .entry .metadata { margin-top:20px; font-style:italic; color:#aaa; }
 .entry .metadata .tags li { display:inline-block; margin-right:1em; }
index e8b9d9f674e314bfc4f69ee80c4861f9b5138c16..fbb2931c88e26da17245ea0716697b9e72f52644 100644 (file)
@@ -2,42 +2,52 @@
 
     require_once '../lib/init.php';
 
-    $url_parts = get_url();
+    $url = get_url();
+
+    list($response_format, $response_mime_type) = parse_format($url['extension'], 'html');
 
-    list($response_format, $response_mime_type) = parse_format($url_parts['extension'], 'html');    
-    
     # setup template
-    $t = get_template_instance();    
+    $t = get_template_instance();
     $t->response_format = $response_format;
     $t->assign('view', $_GET['v']);
-        
-    # is folder
-    if (is_dir(LOCAL_ROOT . CONTENT_DIR . $url_parts['url']) && $url_parts['url'] != "/") {
-        list($data, $total) = get_entries($url_parts['url']);
-        $t->assign('page_title', preg_replace('{^/|/$}', '', $url_parts['url']));        
-        $t->assign('data', $data);        
+
+    $content_request = LOCAL_ROOT . CONTENT_DIR . $url['dirname'] . '/' . $url['filename'];
+    $page_request =  LOCAL_ROOT . PAGE_DIR . DIRECTORY_SEPARATOR . $url['filename'];
+
+    # 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']);
+        $t->assign('data', $data);
+        $t->assign('page_title', preg_replace('{^/|/$}', '', $url['url']));
     }
-    # is file
-    else if (is_file( LOCAL_ROOT . CONTENT_DIR . $url_parts['url'])) {
-        $t->assign('single', true);        
-        $t->assign('data', parse_entry(new SplFileInfo(LOCAL_ROOT . CONTENT_DIR . $url_parts['url'])));
-        $template = 'single.'.$response_format.'.tpl';        
+    
+    # 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';
     }
-    # is page
-    else if (is_file( LOCAL_ROOT . PAGE_DIR . $url_parts['url'])) {
-        $page = parse_entry(new SplFileInfo(LOCAL_ROOT . PAGE_DIR . $url_parts['url']), 1);
+    
+    # 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';
     }
-    # default (all entries)
+    
+    # 404
     else {
-        list($data, $total) = get_entries();
-        $t->assign('data', $data);        
+        $template = '404.html.tpl';
     }
-    
+
     # render
-    $t->assign('total', $total);    
+    $t->assign('total', $total);
     header("Content-Type: {$response_mime_type}; charset=UTF-8");
     $t->render($template);
-    
+
 ?>
diff --git a/templates/404.html.tpl b/templates/404.html.tpl
new file mode 100644 (file)
index 0000000..a0ed8af
--- /dev/null
@@ -0,0 +1,23 @@
+<html>
+<head>
+    
+    <? $this->include_template('head-inc.html.tpl') ?>
+    
+    <title><?=SITE_TITLE?>: 404</title>
+    
+</head>
+<body>
+    
+    <? $this->include_template('nav.html.tpl') ?>
+    
+<div id="content">
+
+       oops <br /><br />
+       404
+       
+</div>
+
+       <? $this->include_template('footer.html.tpl') ?>
+
+</body>
+</html>
index d366eb78e45ef2945a49890aae8ff2e7d58c3835..7972f030059bf9172019e6325bbc697a069f0710 100644 (file)
@@ -3,7 +3,7 @@
     
     <? $this->include_template('head-inc.html.tpl') ?>
     
-    <title><?=$this->page_title('; ');?></title>
+    <title><?=SITE_TITLE?><?=$this->page_title(TITLE_DELIMITER);?></title>
     
 </head>
 <body>
index 699447468fe284cd702ce1b837c3d9c6ae2548d0..cd68910536f0576362329eede767826fe0613762 100644 (file)
@@ -2,23 +2,21 @@
 
        <h2>
                <a title="posted on <?=$data['date']?>" href="<?=$data['url']?>"><?=$data['title']?></a>
-               <span class="title-date" title="<?=date("F d, Y", $data['timestamp'])?>"><?=get_relative_time($data['timestamp']);?></span>             
        </h2>
 
        <div class="content">
                <?=$data['content']?>
        </div>
 
-       <? if ($single) :?>
        <div class="metadata">
-               posted <?=date("F d, Y", $data['timestamp'])?> in <a href="<?=get_base_dir();?>/<?=$data['cat'];?>"><?=$data['cat'];?></a><br/>
+               posted <abbr title="<?=get_relative_time($data['timestamp']);?>"><?=date("F d, Y", $data['timestamp'])?></abbr> 
+               in <a href="<?=$data['cat']['url'];?>"><?=$data['cat']['name'];?></a>
+               <br/>
                <ul class="tags">
-               <? if (sizeof($data['tags']) > 0) foreach($data['tags'] as $tag) : ?>
+               <? if ($data['tags']) foreach($data['tags'] as $tag) : ?>
                <li>#<?=$tag?></li>
                <? endforeach; ?>
                </ul>
        </div>
-       <? endif; ?>
 
 </div>
-
index a2045104e56d1d3c30b49f1bac197c32d2ab9c3a..698331fa865b79b8e6a4cc984f8f69d6136e962a 100644 (file)
@@ -1,17 +1,15 @@
 
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <link rel="alternate" type="application/rss+xml" title="RSS" href="<?= get_base_dir(); ?>/.rss" />
-
 <link rel="stylesheet" href="<?= get_base_dir(); ?>/css/style.css" type="text/css">
-<link href="<?= get_base_dir(); ?>/js/prettify/prettify.css" type="text/css" rel="stylesheet" />
-
-<script type="text/javascript" src="<?= get_base_dir(); ?>/js/jquery-1.3.2.min.js"></script>
-<script type="text/javascript" src="<?= get_base_dir(); ?>/js/prettify/prettify.js"></script>
-
-
 
+<link href="<?= get_base_dir(); ?>/js/prettify/prettify.css" type="text/css" rel="stylesheet" /> 
+ <script type="text/javascript" src="<?= get_base_dir(); ?>/js/jquery-1.3.2.min.js"></script> 
+<script type="text/javascript" src="<?= get_base_dir(); ?>/js/prettify/prettify.js"></script> 
 <script>
 $(document).ready(function() {
        prettyPrint();
 });
-</script>
+</script> 
+
diff --git a/templates/index.html.tpl b/templates/index.html.tpl
new file mode 100644 (file)
index 0000000..964b92d
--- /dev/null
@@ -0,0 +1,22 @@
+<html>
+<head>
+    
+    <? $this->include_template('head-inc.html.tpl') ?>
+    
+    <title><?=SITE_TITLE?></title>
+    
+</head>
+<body>
+    
+    <? $this->include_template('nav.html.tpl') ?>
+    
+<div id="content">
+
+       this is the index template
+       
+</div>
+
+       <? $this->include_template('footer.html.tpl') ?>
+
+</body>
+</html>
index 0c33098f7e365c51fd3968d632da912aa5fa1a9a..c3f612a0dc33d6988aeabb4e565a41fc40026964 100644 (file)
@@ -4,19 +4,16 @@
        
        <br />
        
-       <h2>content</h2>
-       <? $dirs = get_dirs("/", array('recursive' => 0)); ?>
-       <? foreach($dirs as $d) : ?>
-       <li><a href="<?=get_base_dir();?>/<?=$d?>"><?=$d?></a></li>
+       <? $dirs = get_dirs("", array('recursive' => 0)); ?>
+       <? foreach($dirs as $dir) : ?>
+       <li><a href="<?=$dir['url']?>"><?=$dir['name']?></a></li>
        <? endforeach; ?>
        
        <br />
        
-       <h2>pages</h2>  
-       
        <? $pages = get_pages(); ?>
-       <? foreach($pages as $p) : ?>
-       <li><a href="<?=$p['url']?>"><?=$p['title']?></a></li>
+       <? foreach($pages as $page) : ?>
+       <li><a href="<?=$page['url']?>"><?=$page['title']?></a></li>
        <? endforeach; ?>
 
 </ul>  
index 295ad02302bae5e7ad086fb2eb42900460fde509..699aae90737f5035587f849ce9b393c883451cd2 100644 (file)
@@ -3,7 +3,7 @@
     
     <? $this->include_template('head-inc.html.tpl') ?>
     
-    <title><?=SITE_TITLE?>, <?=$data['title']?></title>
+    <title><?=SITE_TITLE?><?=TITLE_DELIMITER?> <?=$data['title']?></title>
     
 </head>
 <body>
@@ -11,8 +11,6 @@
     <? $this->include_template('nav.html.tpl') ?>
     
 <div id="content">
-       
-       <h1><?=$data['title']?></h1>
 
        <?=$data['content'];?>
        
index e169285f49edcd4c73bb434c801687931adffdcc..91a416ff850592211133e44eb87112af0eaa5573 100644 (file)
@@ -3,7 +3,7 @@
     
     <? $this->include_template('head-inc.html.tpl') ?>
     
-    <title><?=SITE_TITLE?>, <?=$data['title'];?></title>
+    <title><?=SITE_TITLE?><?=TITLE_DELIMITER?> <?=$data['title'];?></title>
     
 </head>
 <body>
diff --git a/templates/test.html.tpl b/templates/test.html.tpl
new file mode 100644 (file)
index 0000000..d71de86
--- /dev/null
@@ -0,0 +1,22 @@
+<html>
+<head>
+    
+    <? $this->include_template('head-inc.html.tpl') ?>
+    
+    <title><?=SITE_TITLE?><?=$this->page_title(TITLE_DELIMITER);?></title>
+    
+</head>
+<body>
+    
+    <? $this->include_template('nav.html.tpl') ?>
+    
+<div id="content">
+
+       this is the TEST TEST TEST template
+       
+</div>
+
+       <? $this->include_template('footer.html.tpl') ?>
+
+</body>
+</html>