Skip to content

Instantly share code, notes, and snippets.

View wastemobile's full-sized avatar

wastemobile wastemobile

View GitHub Profile
@wastemobile
wastemobile / post-receive
Created June 12, 2014 03:55
嘗試讓包含 submodule 的 git repo 也能自動化部署
#!/bin/sh
#
# 這個範例
# An example hook script to update the working tree, including its
# submodules, after receiving a push.
#
# This hook requires core.worktree to be explicitly set, and
# receive.denyCurrentBranch to be set to false.
#
# To enable this hook, rename this file to "post-receive".
@wastemobile
wastemobile / ghost
Created May 29, 2014 02:45
Ghost Develop and Production setting
// # Ghost Configuration
// Setup your Ghost install for various environments
// Documentation can be found at http://docs.ghost.org/usage/configuration/
var path = require('path'),
config;
config = {
// ### Development **(default)**
development: {
@wastemobile
wastemobile / FirstSolution
Last active November 9, 2020 14:23
使用Git與Git Hooks同步專案MySQL資料庫
使用 Git 與 Git Hooks 同步 MySQL 資料庫
=====================================
參考來源: [Synchronizing a MySQL Database with Git and Git Hooks](http://ben.kulbertis.org/2011/10/synchronizing-a-mysql-database-with-git-and-git-hooks/)
目前採用的方法,也是利用 Git Hooks,基本有兩個:
1. push-db:將本地異動推到遠端前運行,讓本地資料庫 => 遠端資料庫(pre-push)。
2. pull-db:將遠端異動拉回本地後運行,讓遠端資料庫 => 本地資料庫(post-update)。
@wastemobile
wastemobile / kickstart
Created January 10, 2014 17:11
一個極簡的起手式,使用LESS,具備Vertical Rhythm設計。
/* Vars */
@font-size: 16px;
@vertical-rhythm: @font-size * 1.5;
@fontstack1: sans-serif; /* Headings */
@fontstack2: Georgia, serif; /* Body copy */
@color1: #20bd7c; /* Main theme colour colour */
@color2: #333; /* headings */
@wastemobile
wastemobile / PaperStack
Created January 10, 2014 17:07
用純CSS3做出紙張堆疊的效果
text-align: center;
padding:1.618em;
margin-bottom:1.618em;
font-weight: bold;
background: #eee;
box-shadow:
0 1px 1px rgba(0,0,0,0.15), /* The top layer shadow */
0 10px 0 -5px #eee, /* The second layer */
0 10px 1px -4px rgba(0,0,0,0.15), /* The second layer shadow */
@wastemobile
wastemobile / pandoc
Last active January 2, 2016 16:19
Pandoc 1.12.2.1 使用說明
% Pandoc User's Guide
% John MacFarlane
% January 19, 2013
Synopsis
========
pandoc [*options*] [*input-file*]...
Description
@wastemobile
wastemobile / README.md
Last active January 1, 2016 17:49
Symphony CMS Work Flow

Symphony Project Ensemble

這篇原本是 Stephen(@bauhouse) 寫給 Symphony Factory ensemble 的開發流程,由於該建構需要讓社群能夠持續參與維護,如何透過 GitHub 同步開發的進度,包含資料庫的異動,就成了重要的議題。因為 Symphony CMS 雖然將核心與客製的程序有基本的區分,但安裝外掛、新增資料表、新增頁面等流程都會異動到資料庫,就造成 Symphony CMS 在一般的 DTAP 流程不太順暢。

正規的 DTAP 開發環境:

  • Development:指每位開發者本地端的開發環境
  • Testing:開發流程中,開發者彼此溝通、檢查的測試環境
  • Acceptance:通常所謂的 Stage,讓非程式開發者檢查、確認是否滿足需求的環境
  • Production:正式上線的環境

1 介紹

[Symphony][1] 很棒,讓我們來讓它更好。

這文章與建立網站的前端相關,維持模板(templates)能夠重複利用,關聯資料來源(Datasources)、事件(Events)以及其他資源到你的頁面(Pages),程式碼的架構,還有更多。這文件的起心動念,是因為發現自己不停的重複再重複相同流程,才有了改良的意圖。

假設你已經知道 Symphony CMS 的 [master.xsl][2] 是什麼,同時也已經用過它。如果你還不明瞭,請先參考 [Symphony 的預設 workspace][3].

2 一切從需求開始

@wastemobile
wastemobile / bash_profile
Last active December 30, 2015 22:09
Install Node。在 Mac 上使用 homebrew 安裝 node 雖然方便,但後續更新與使用 npm 安裝與升級套件時會遇到問題,實際原因是來自于目錄權限。要不是使用時必須帶著 sudo,要不就是得修改部分目錄權限,兩者都不太好。下面的安裝程序可以避掉。
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
function git_branch {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return;
echo "("${ref#refs/heads/}") ";
}
function git_since_last_commit {
@wastemobile
wastemobile / gist:7268456
Last active December 27, 2015 04:39
據說 AngularJS 頁面若是被 IE8 以下的瀏覽器摸到,因為對 JSON 支援不足的緣故,會整個 View Template 直接秀出來,必須改用下面的寫法。IE 果真是網路的殺手啊~
<html ng-app id="ng-app" class="ng-app">
<head runat="server">
<title></title>
<!--[if lte IE 8]>
<script src="http://cdnjs.cloudflare.com/ajax/libs/json3/3.2.5/json3.min.js"></script>