泰國 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');
?>