泰國 chatuchak 儲物櫃

下機的第一日便是週末?可以直接先到chatuchak血拼再到酒店 checkin節省時間?

可惜,chatuchak沒有可放行李箱的儲物櫃,只有可以放背包大小的儲物櫃: http://www.lockbox-th.com/#!Where-is-the-Locker-at-Chatuchak-JJ-market/m...

真的,真的只有上連結的大小,還是乖乖先checkin 吧,拖著行李逛chatuchak是和跑三十公里越野是異曲同工的。

另,要購時裝,還是週末來吧。平日的chatuchak只是一個死城,只有每星期二的下午三點過後,會變成販售由小植物到參天大樹的花巿。

https://letsencrypt.org/ Public beta, 自動更新證書

安裝

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto

但 letsencrypt.org 的證書只有90 天期限,需要定時更新
可以使用以下 command 每個月的第一日自動更新證書
cron:

0 0 1 * * ./letsencrypt-auto -m joe@documentonready.com --renew-by-default --redirect --agree-tos -d domain.com

反時間方向的留言排序

Drupal 原生在 node 下的留言是使用時間最先的開始 (created ASC)
但如果需要反方向的話 (不使用 views 為前提):

<?php
/* Implements hook_query_TAG_alter().
https://www.drupal.org/node/1095656#comment-7885467
* * Alter comments query to order by DESC as well as the default ASC. */
function CUSTOM_query_comment_filter_alter(QueryAlterableInterface $query) {
 
$orderby = &$query->getOrderBy(); 
 
$expressions = &$query->getExpressions(); 
 
// Sorting for threaded comments.
 
if (isset($orderby['torder'])) {  
   
// Get rid of the expressions that prepare the threads for ASC ordering.
    // Simply order by the thread field.
     
   
unset($expressions['torder']);
    unset(
$orderby['torder']);
   
$orderby['c.thread'] = 'DESC';  
        
      
  }else{ 
// Sorting for flat comments.  
   
$direction = 'DESC';
    if (isset(
$orderby['c.cid'])) {
      unset(
$orderby['c.cid']);   
    }
   
$orderby['c.created'] = $direction;
   
$orderby['c.cid'] = $direction;
  }
}
?>

意外地繁瑣。還是使用 views 吧...

在 node page 加入 open graph tags

<?php
   
//custom.module: function custom_preprocess_node(&$vars) {
   
drupal_add_html_head(array(
     
'#tag' => 'meta',
     
'#attributes' => array(
       
'property' => 'og:description',
       
'content' => trim(strip_tags($vars['node']->body['und'][0]['safe_value'])),
      ),
    ),
'og_description');
?>

Pages

Google