├── 2016 ├── 11 │ └── 28 │ │ └── github-flow │ │ └── index.html └── 04 │ └── 12 │ └── hello-world │ └── index.html ├── CNAME ├── fancybox ├── blank.gif ├── fancybox_sprite.png ├── fancybox_loading.gif ├── fancybox_overlay.png ├── fancybox_sprite@2x.png ├── fancybox_loading@2x.gif ├── jquery.fancybox.css └── jquery.fancybox.pack.js ├── css ├── font │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.svg └── style.css ├── js ├── jquery.imagesloaded.min.js └── gallery.js ├── archives ├── 2016 │ ├── 11 │ │ └── index.html │ ├── 04 │ │ └── index.html │ └── index.html └── index.html ├── tags └── github │ └── index.html ├── about └── index.html ├── stack └── index.html └── index.html /CNAME: -------------------------------------------------------------------------------- 1 | www.zstack.net 2 | -------------------------------------------------------------------------------- /fancybox/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devops/devops.github.io/master/fancybox/blank.gif -------------------------------------------------------------------------------- /fancybox/fancybox_sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devops/devops.github.io/master/fancybox/fancybox_sprite.png -------------------------------------------------------------------------------- /fancybox/fancybox_loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devops/devops.github.io/master/fancybox/fancybox_loading.gif -------------------------------------------------------------------------------- /fancybox/fancybox_overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devops/devops.github.io/master/fancybox/fancybox_overlay.png -------------------------------------------------------------------------------- /fancybox/fancybox_sprite@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devops/devops.github.io/master/fancybox/fancybox_sprite@2x.png -------------------------------------------------------------------------------- /css/font/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devops/devops.github.io/master/css/font/fontawesome-webfont.eot -------------------------------------------------------------------------------- /css/font/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devops/devops.github.io/master/css/font/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /css/font/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devops/devops.github.io/master/css/font/fontawesome-webfont.woff -------------------------------------------------------------------------------- /fancybox/fancybox_loading@2x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devops/devops.github.io/master/fancybox/fancybox_loading@2x.gif -------------------------------------------------------------------------------- /js/jquery.imagesloaded.min.js: -------------------------------------------------------------------------------- 1 | (function(c,n){var l="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";c.fn.imagesLoaded=function(f){function m(){var b=c(i),a=c(h);d&&(h.length?d.reject(e,b,a):d.resolve(e));c.isFunction(f)&&f.call(g,e,b,a)}function j(b,a){b.src===l||-1!==c.inArray(b,k)||(k.push(b),a?h.push(b):i.push(b),c.data(b,"imagesLoaded",{isBroken:a,src:b.src}),o&&d.notifyWith(c(b),[a,e,c(i),c(h)]),e.length===k.length&&(setTimeout(m),e.unbind(".imagesLoaded")))}var g=this,d=c.isFunction(c.Deferred)?c.Deferred(): 2 | 0,o=c.isFunction(d.notify),e=g.find("img").add(g.filter("img")),k=[],i=[],h=[];c.isPlainObject(f)&&c.each(f,function(b,a){if("callback"===b)f=a;else if(d)d[b](a)});e.length?e.bind("load.imagesLoaded error.imagesLoaded",function(b){j(b.target,"error"===b.type)}).each(function(b,a){var d=a.src,e=c.data(a,"imagesLoaded");if(e&&e.src===d)j(a,e.isBroken);else if(a.complete&&a.naturalWidth!==n)j(a,0===a.naturalWidth||0===a.naturalHeight);else if(a.readyState||a.complete)a.src=l,a.src=d}):m();return d?d.promise(g): 3 | g}})(jQuery); 4 | -------------------------------------------------------------------------------- /js/gallery.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | // Caption 3 | $('.entry').each(function(i){ 4 | $(this).find('img').each(function(){ 5 | if (!$(this).hasClass('nofancybox')){ 6 | var alt = this.alt; 7 | 8 | if (alt){ 9 | $(this).after('' + alt + ''); 10 | } 11 | 12 | $(this).wrap(''); 13 | } 14 | }); 15 | }); 16 | 17 | // Gallery 18 | var play = function(parent, item, callback){ 19 | var width = parent.width(); 20 | 21 | item.imagesLoaded(function(){ 22 | var _this = this[0], 23 | nWidth = _this.naturalWidth, 24 | nHeight = _this.naturalHeight; 25 | 26 | callback(); 27 | this.animate({opacity: 1}, 500); 28 | parent.animate({height: width * nHeight / nWidth}, 500); 29 | }); 30 | }; 31 | 32 | $('.gallery').each(function(){ 33 | var $this = $(this), 34 | current = 0, 35 | photoset = $this.children('.photoset').children(), 36 | all = photoset.length, 37 | loading = true; 38 | 39 | play($this, photoset.eq(0), function(){ 40 | loading = false; 41 | }); 42 | 43 | $this.on('click', '.prev', function(){ 44 | if (!loading){ 45 | var next = (current - 1) % all; 46 | loading = true; 47 | 48 | play($this, photoset.eq(next), function(){ 49 | photoset.eq(current).animate({opacity: 0}, 500); 50 | loading = false; 51 | current = next; 52 | }); 53 | } 54 | }).on('click', '.next', function(){ 55 | if (!loading){ 56 | var next = (current + 1) % all; 57 | loading = true; 58 | 59 | play($this, photoset.eq(next), function(){ 60 | photoset.eq(current).animate({opacity: 0}, 500); 61 | loading = false; 62 | current = next; 63 | }); 64 | } 65 | }); 66 | }); 67 | })(jQuery); 68 | -------------------------------------------------------------------------------- /archives/2016/04/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 归档:2016/4 | Z Stack 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 51 |
52 |
53 |

2016/4

54 | 55 | 56 |
57 | 58 | 69 | 70 |
71 |
72 | 93 |
94 |
95 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 115 | 116 | 117 | 118 | -------------------------------------------------------------------------------- /tags/github/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | github | Z Stack 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 51 |
52 |
53 |

github

54 | 55 | 56 |
57 | 58 | 69 | 70 |
71 |
72 | 93 |
94 |
95 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 115 | 116 | 117 | 118 | -------------------------------------------------------------------------------- /archives/2016/11/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 归档:2016/11 | Z Stack 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 51 |
52 |
53 |

2016/11

54 | 55 | 56 |
57 | 58 | 69 | 70 |
71 |
72 | 93 |
94 |
95 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 115 | 116 | 117 | 118 | -------------------------------------------------------------------------------- /archives/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 归档 | Z Stack 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 51 |
52 |
53 |

归档

54 | 55 | 56 |
57 | 58 | 69 | 70 | 81 | 82 |
83 |
84 | 105 |
106 |
107 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 127 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /archives/2016/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 归档:2016 | Z Stack 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 51 |
52 |
53 |

2016

54 | 55 | 56 |
57 | 58 | 69 | 70 | 81 | 82 |
83 |
84 | 105 |
106 |
107 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 127 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /2016/04/12/hello-world/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Hello World | Z Stack 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 51 |
52 |
53 | 54 |
55 |
56 | 57 |
58 | 59 | 60 | 61 | 62 |

Hello World

63 | 64 | 65 |
66 |
67 | 68 |

新的开始

69 | 70 | 71 |
72 |
73 | 74 | 75 | 76 | 77 | 78 |
79 |
80 |
81 |
82 | 83 | 84 |
85 |

留言

86 | 87 | 88 |
89 | 98 | 99 |
100 | 101 | 102 |
103 | 104 | 105 |
106 | 127 |
128 |
129 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 149 | 150 | 151 | 152 | -------------------------------------------------------------------------------- /about/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | About | Z Stack 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 51 |
52 |
53 | 54 |
55 |
56 | 57 | 58 | 59 |

About

60 | 61 | 62 |
63 |
64 | 65 |

Name

CN: 张延英 | EN:

66 |

I Am

浪潮云服务运维研发工程师,技术控。
目前专注于OpenStack、Docker、Ansible。

67 |

Contact

GitHub: devops
Email: z@ztack.net

68 | 69 | 70 |
71 |
72 | 73 | 74 | 75 | 76 | 77 |
78 |
79 |
80 |
81 | 82 | 83 |
84 |

留言

85 | 86 | 87 |
88 | 97 | 98 |
99 | 100 | 101 |
102 | 103 | 104 |
105 | 126 |
127 |
128 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 148 | 149 | 150 | 151 | -------------------------------------------------------------------------------- /stack/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Technology Stack | Z Stack 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 51 |
52 |
53 | 54 |
55 |
56 | 57 | 58 | 59 |

Technology Stack

60 | 61 | 62 |
63 |
64 | 65 |

OS

    66 |
  • CentOS
  • 67 |
  • RedHat
  • 68 |
  • Debian
  • 69 |
  • Ubuntu
  • 70 |
71 |

Cloud

    72 |
  • CloudStack
  • 73 |
  • OpenStack
  • 74 |
  • Docker
  • 75 |
76 |

Virtualization

    77 |
  • VMware vSphere
  • 78 |
  • KVM
  • 79 |
80 |

Services

    81 |
  • Apache
  • 82 |
  • Nginx
  • 83 |
  • HAProxy
  • 84 |
85 |

Database

    86 |
  • MySQL
  • 87 |
  • MongoDB
  • 88 |
89 |

Storage

    90 |
  • Ceph
  • 91 |
  • GlusterFS
  • 92 |
93 |

Dev

    94 |
  • Git
  • 95 |
  • GitHub
  • 96 |
  • GitLab
  • 97 |
  • RedMine
  • 98 |
  • Jenkins
  • 99 |
100 |

Ops

    101 |
  • Ansible
  • 102 |
  • Diamond
  • 103 |
  • Grafana
  • 104 |
  • Elasticsearch
  • 105 |
  • Logstash
  • 106 |
  • Kibana
  • 107 |
  • zabbix
  • 108 |
109 |

Programming

    110 |
  • Python
  • 111 |
  • Tornado
  • 112 |
113 | 114 | 115 |
116 |
117 | 118 | 119 | 120 | 121 | 122 |
123 |
124 |
125 |
126 | 127 | 128 |
129 |

留言

130 | 131 | 132 |
133 | 142 | 143 |
144 | 145 | 146 |
147 | 148 | 149 |
150 | 171 |
172 |
173 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 193 | 194 | 195 | 196 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Z Stack 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 51 |
52 |
53 |
54 | 55 |
56 |
57 | 58 |
59 | 60 | 61 | 62 | 63 |

github-flow

64 | 65 | 66 |
67 |
68 | 69 |

GitHub Flow-以部署为中心的开发模式

GitHub Flow的流程

整个开发流程大致如下。

70 |
    71 |
  1. 令master分支随时保持可以部署的状态
  2. 72 |
  3. 进行新的作业时要从master分支创建新分支,新分支名称要具有描述性
  4. 73 |
  5. 2新建的本地仓库分支中进行提交
  6. 74 |
  7. 在GitGhub端仓库创建同名分支,定期push
  8. 75 |
  9. 需要帮助或反馈时创建Pull Request,以Pull Request进行交流
  10. 76 |
  11. 让其他开发者进行审查,确认作业完成后与master分支合并
  12. 77 |
  13. 与master分支合并后立刻部署
  14. 78 |
79 |

随时部署,没有发布的概念

这个流程必须遵守 “令master分支随时保持可以部署的状态” 这一规则。
没有进行过测试或者测试未通过的代码绝不可以合并到master分支。

80 |

进行新的作业时要从master分支创建新分支

进行新的作业时要从master分支创建新分支,无论是添加新功能还是修复BUG都是如此。此外,新分支的名称要具有描述性。

81 |

在新创建的分支中进行提交

修改代码时要注意,绝对不能进行与该分支工作内容无关的修改。
设计提交的粒度,有意识的减小提交的规模,一方面便于清楚地表达目的,另一方面有助于其他开发者对Pull Request进行审查

82 |

定期push

在开发过程中,定期将本地仓库中创建的分支以同名形式push到GitHub端的远程仓库

83 |

使用Pull Request

Pull Request不一定非要在于master分支合并时才使用。既然是团队开发,完全可以尽早创建Pull Request让其他开发者进行审查,
一边听取反馈一边编写代码,没必要等到与master分支合并时再进行。

84 |

务必让其他开发者进行审查

合并后立刻部署

代码合并至master分支并且通过所有自动化测试之后,需要立即进行部署(预部署或是生产环境)。
在部署之后,需要确认刚刚合并的代码是否存在问题。

85 | 86 | 87 |
88 |
89 | 90 | 91 | 92 | 93 |
94 |
95 |
96 |
97 | 98 | 99 | 100 | 101 | 102 |
103 | 104 |
105 |
106 | 107 |
108 | 109 | 110 | 111 | 112 |

Hello World

113 | 114 | 115 |
116 |
117 | 118 |

新的开始

119 | 120 | 121 |
122 |
123 | 124 | 125 | 126 | 127 |
128 |
129 |
130 |
131 | 132 | 133 | 134 | 135 | 136 | 137 |
142 | 163 |
164 |
165 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 185 | 186 | 187 | 188 | -------------------------------------------------------------------------------- /2016/11/28/github-flow/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | github-flow | Z Stack 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 51 |
52 |
53 | 54 |
55 |
56 | 57 |
58 | 59 | 60 | 61 | 62 |

github-flow

63 | 64 | 65 |
66 |
67 | 68 |

GitHub Flow-以部署为中心的开发模式

GitHub Flow的流程

整个开发流程大致如下。

69 |
    70 |
  1. 令master分支随时保持可以部署的状态
  2. 71 |
  3. 进行新的作业时要从master分支创建新分支,新分支名称要具有描述性
  4. 72 |
  5. 2新建的本地仓库分支中进行提交
  6. 73 |
  7. 在GitGhub端仓库创建同名分支,定期push
  8. 74 |
  9. 需要帮助或反馈时创建Pull Request,以Pull Request进行交流
  10. 75 |
  11. 让其他开发者进行审查,确认作业完成后与master分支合并
  12. 76 |
  13. 与master分支合并后立刻部署
  14. 77 |
78 |

随时部署,没有发布的概念

这个流程必须遵守 “令master分支随时保持可以部署的状态” 这一规则。
没有进行过测试或者测试未通过的代码绝不可以合并到master分支。

79 |

进行新的作业时要从master分支创建新分支

进行新的作业时要从master分支创建新分支,无论是添加新功能还是修复BUG都是如此。此外,新分支的名称要具有描述性。

80 |

在新创建的分支中进行提交

修改代码时要注意,绝对不能进行与该分支工作内容无关的修改。
设计提交的粒度,有意识的减小提交的规模,一方面便于清楚地表达目的,另一方面有助于其他开发者对Pull Request进行审查

81 |

定期push

在开发过程中,定期将本地仓库中创建的分支以同名形式push到GitHub端的远程仓库

82 |

使用Pull Request

Pull Request不一定非要在于master分支合并时才使用。既然是团队开发,完全可以尽早创建Pull Request让其他开发者进行审查,
一边听取反馈一边编写代码,没必要等到与master分支合并时再进行。

83 |

务必让其他开发者进行审查

合并后立刻部署

代码合并至master分支并且通过所有自动化测试之后,需要立即进行部署(预部署或是生产环境)。
在部署之后,需要确认刚刚合并的代码是否存在问题。

84 | 85 | 86 |
87 |
88 | 89 | 90 | 91 | 92 |
93 | github 94 |
95 | 96 | 97 | 98 |
99 |
100 |
101 |
102 | 103 | 104 |
105 |

留言

106 | 107 | 108 |
109 | 118 | 119 |
120 | 121 | 122 |
123 | 124 | 125 |
126 | 147 |
148 |
149 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 169 | 170 | 171 | 172 | -------------------------------------------------------------------------------- /fancybox/jquery.fancybox.css: -------------------------------------------------------------------------------- 1 | /*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */ 2 | .fancybox-wrap, 3 | .fancybox-skin, 4 | .fancybox-outer, 5 | .fancybox-inner, 6 | .fancybox-image, 7 | .fancybox-wrap iframe, 8 | .fancybox-wrap object, 9 | .fancybox-nav, 10 | .fancybox-nav span, 11 | .fancybox-tmp 12 | { 13 | padding: 0; 14 | margin: 0; 15 | border: 0; 16 | outline: none; 17 | vertical-align: top; 18 | } 19 | 20 | .fancybox-wrap { 21 | position: absolute; 22 | top: 0; 23 | left: 0; 24 | z-index: 8020; 25 | } 26 | 27 | .fancybox-skin { 28 | position: relative; 29 | background: #f9f9f9; 30 | color: #444; 31 | text-shadow: none; 32 | -webkit-border-radius: 4px; 33 | -moz-border-radius: 4px; 34 | border-radius: 4px; 35 | } 36 | 37 | .fancybox-opened { 38 | z-index: 8030; 39 | } 40 | 41 | .fancybox-opened .fancybox-skin { 42 | -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); 43 | -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); 44 | box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); 45 | } 46 | 47 | .fancybox-outer, .fancybox-inner { 48 | position: relative; 49 | } 50 | 51 | .fancybox-inner { 52 | overflow: hidden; 53 | } 54 | 55 | .fancybox-type-iframe .fancybox-inner { 56 | -webkit-overflow-scrolling: touch; 57 | } 58 | 59 | .fancybox-error { 60 | color: #444; 61 | font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; 62 | margin: 0; 63 | padding: 15px; 64 | white-space: nowrap; 65 | } 66 | 67 | .fancybox-image, .fancybox-iframe { 68 | display: block; 69 | width: 100%; 70 | height: 100%; 71 | } 72 | 73 | .fancybox-image { 74 | max-width: 100%; 75 | max-height: 100%; 76 | } 77 | 78 | #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span { 79 | background-image: url('fancybox_sprite.png'); 80 | } 81 | 82 | #fancybox-loading { 83 | position: fixed; 84 | top: 50%; 85 | left: 50%; 86 | margin-top: -22px; 87 | margin-left: -22px; 88 | background-position: 0 -108px; 89 | opacity: 0.8; 90 | cursor: pointer; 91 | z-index: 8060; 92 | } 93 | 94 | #fancybox-loading div { 95 | width: 44px; 96 | height: 44px; 97 | background: url('fancybox_loading.gif') center center no-repeat; 98 | } 99 | 100 | .fancybox-close { 101 | position: absolute; 102 | top: -18px; 103 | right: -18px; 104 | width: 36px; 105 | height: 36px; 106 | cursor: pointer; 107 | z-index: 8040; 108 | } 109 | 110 | .fancybox-nav { 111 | position: absolute; 112 | top: 0; 113 | width: 40%; 114 | height: 100%; 115 | cursor: pointer; 116 | text-decoration: none; 117 | background: transparent url('blank.gif'); /* helps IE */ 118 | -webkit-tap-highlight-color: rgba(0,0,0,0); 119 | z-index: 8040; 120 | } 121 | 122 | .fancybox-prev { 123 | left: 0; 124 | } 125 | 126 | .fancybox-next { 127 | right: 0; 128 | } 129 | 130 | .fancybox-nav span { 131 | position: absolute; 132 | top: 50%; 133 | width: 36px; 134 | height: 34px; 135 | margin-top: -18px; 136 | cursor: pointer; 137 | z-index: 8040; 138 | visibility: hidden; 139 | } 140 | 141 | .fancybox-prev span { 142 | left: 10px; 143 | background-position: 0 -36px; 144 | } 145 | 146 | .fancybox-next span { 147 | right: 10px; 148 | background-position: 0 -72px; 149 | } 150 | 151 | .fancybox-nav:hover span { 152 | visibility: visible; 153 | } 154 | 155 | .fancybox-tmp { 156 | position: absolute; 157 | top: -99999px; 158 | left: -99999px; 159 | visibility: hidden; 160 | max-width: 99999px; 161 | max-height: 99999px; 162 | overflow: visible !important; 163 | } 164 | 165 | /* Overlay helper */ 166 | 167 | .fancybox-lock { 168 | overflow: hidden !important; 169 | width: auto; 170 | } 171 | 172 | .fancybox-lock body { 173 | overflow: hidden !important; 174 | } 175 | 176 | .fancybox-lock-test { 177 | overflow-y: hidden !important; 178 | } 179 | 180 | .fancybox-overlay { 181 | position: absolute; 182 | top: 0; 183 | left: 0; 184 | overflow: hidden; 185 | display: none; 186 | z-index: 8010; 187 | background: url('fancybox_overlay.png'); 188 | } 189 | 190 | .fancybox-overlay-fixed { 191 | position: fixed; 192 | bottom: 0; 193 | right: 0; 194 | } 195 | 196 | .fancybox-lock .fancybox-overlay { 197 | overflow: auto; 198 | overflow-y: scroll; 199 | } 200 | 201 | /* Title helper */ 202 | 203 | .fancybox-title { 204 | visibility: hidden; 205 | font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; 206 | position: relative; 207 | text-shadow: none; 208 | z-index: 8050; 209 | } 210 | 211 | .fancybox-opened .fancybox-title { 212 | visibility: visible; 213 | } 214 | 215 | .fancybox-title-float-wrap { 216 | position: absolute; 217 | bottom: 0; 218 | right: 50%; 219 | margin-bottom: -35px; 220 | z-index: 8050; 221 | text-align: center; 222 | } 223 | 224 | .fancybox-title-float-wrap .child { 225 | display: inline-block; 226 | margin-right: -100%; 227 | padding: 2px 20px; 228 | background: transparent; /* Fallback for web browsers that doesn't support RGBa */ 229 | background: rgba(0, 0, 0, 0.8); 230 | -webkit-border-radius: 15px; 231 | -moz-border-radius: 15px; 232 | border-radius: 15px; 233 | text-shadow: 0 1px 2px #222; 234 | color: #FFF; 235 | font-weight: bold; 236 | line-height: 24px; 237 | white-space: nowrap; 238 | } 239 | 240 | .fancybox-title-outside-wrap { 241 | position: relative; 242 | margin-top: 10px; 243 | color: #fff; 244 | } 245 | 246 | .fancybox-title-inside-wrap { 247 | padding-top: 10px; 248 | } 249 | 250 | .fancybox-title-over-wrap { 251 | position: absolute; 252 | bottom: 0; 253 | left: 0; 254 | color: #fff; 255 | padding: 10px; 256 | background: #000; 257 | background: rgba(0, 0, 0, .8); 258 | } 259 | 260 | /*Retina graphics!*/ 261 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 262 | only screen and (min--moz-device-pixel-ratio: 1.5), 263 | only screen and (min-device-pixel-ratio: 1.5){ 264 | 265 | #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span { 266 | background-image: url('fancybox_sprite@2x.png'); 267 | background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/ 268 | } 269 | 270 | #fancybox-loading div { 271 | background-image: url('fancybox_loading@2x.gif'); 272 | background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/ 273 | } 274 | } -------------------------------------------------------------------------------- /css/style.css: -------------------------------------------------------------------------------- 1 | @import url("//fonts.googleapis.com/css?family=Lato:400,400italic"); 2 | @font-face { 3 | font-family: 'FontAwesome'; 4 | font-style: normal; 5 | font-weight: normal; 6 | src: url("font/fontawesome-webfont.eot?#iefix") format('embedded-opentype'), url("font/fontawesome-webfont.woff") format('woff'), url("font/fontawesome-webfont.ttf") format('truetype'), url("font/fontawesome-webfont.svg#FontAwesomeRegular") format('svg'); 7 | } 8 | * { 9 | margin: 0; 10 | padding: 0; 11 | } 12 | body { 13 | background: #eee; 14 | color: #444; 15 | font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif; 16 | font-size: 14px; 17 | text-shadow: 0 0 1px transparent; 18 | } 19 | @media screen and (max-width: 1260px) { 20 | body { 21 | margin: 0 30px; 22 | } 23 | } 24 | @media screen and (max-width: 600px) { 25 | body { 26 | font-size: 13px; 27 | } 28 | } 29 | h1, 30 | h2, 31 | h3, 32 | h4, 33 | h5, 34 | h6 { 35 | font-family: "Lato", Helvetica Neue, Helvetica, Arial, sans-serif; 36 | } 37 | h1 { 38 | font-size: 1.8em; 39 | } 40 | h2 { 41 | font-size: 1.5em; 42 | } 43 | h3 { 44 | font-size: 1.3em; 45 | } 46 | a { 47 | text-decoration: none; 48 | color: #258fb8; 49 | } 50 | a:hover { 51 | text-decoration: underline; 52 | } 53 | .alignleft { 54 | float: left; 55 | } 56 | .alignright { 57 | float: right; 58 | } 59 | .clearfix { 60 | zoom: 1; 61 | } 62 | .clearfix:before, 63 | .clearfix:after { 64 | content: ""; 65 | display: table; 66 | } 67 | .clearfix:after { 68 | clear: both; 69 | } 70 | .inner { 71 | width: 1200px; 72 | margin: 0 auto; 73 | } 74 | @media screen and (max-width: 1260px) { 75 | .inner { 76 | width: 100%; 77 | } 78 | } 79 | #main-col { 80 | width: 900px; 81 | } 82 | @media screen and (max-width: 1260px) { 83 | #main-col { 84 | width: 100%; 85 | margin-right: -300px; 86 | } 87 | } 88 | @media screen and (max-width: 900px) { 89 | #main-col { 90 | margin-right: 0; 91 | float: none; 92 | } 93 | } 94 | @media screen and (max-width: 1260px) { 95 | #wrapper { 96 | margin-right: 300px; 97 | } 98 | } 99 | @media screen and (max-width: 900px) { 100 | #wrapper { 101 | margin-right: 0; 102 | } 103 | } 104 | #header { 105 | text-shadow: 0 0 1px #fff; 106 | margin: 50px auto; 107 | } 108 | #header a { 109 | color: #999; 110 | } 111 | #header a:hover { 112 | color: #258fb8; 113 | text-decoration: none; 114 | } 115 | #header h1 { 116 | font-weight: normal; 117 | font-size: 2.5em; 118 | line-height: 1; 119 | } 120 | #header h2 { 121 | font-weight: normal; 122 | font-size: 0.9em; 123 | line-height: 1; 124 | margin-top: 10px; 125 | } 126 | #header #main-nav { 127 | font-family: "Lato", Helvetica Neue, Helvetica, Arial, sans-serif; 128 | line-height: 2.5em; 129 | } 130 | #header #main-nav ul { 131 | list-style: none; 132 | } 133 | #header #main-nav ul li { 134 | float: left; 135 | margin-left: 30px; 136 | } 137 | article { 138 | -webkit-box-shadow: 1px 2px 3px #ddd; 139 | box-shadow: 1px 2px 3px #ddd; 140 | background: #fff; 141 | } 142 | article.page { 143 | padding-left: 20px; 144 | } 145 | article.page .icon { 146 | display: none; 147 | } 148 | article.post .icon:before { 149 | content: '\f016'; 150 | } 151 | article.photo .icon:before { 152 | content: '\f030'; 153 | } 154 | article.link .icon:before { 155 | content: '\f0c1'; 156 | } 157 | article.link .title a:after { 158 | content: '\f08e'; 159 | color: #999; 160 | font: 12px FontAwesome; 161 | padding-left: 10px; 162 | vertical-align: super; 163 | } 164 | article .post-content { 165 | padding: 20px 20px 15px 77px; 166 | margin-bottom: 50px; 167 | position: relative; 168 | } 169 | @media screen and (max-width: 600px) { 170 | article .post-content { 171 | padding-left: 20px; 172 | } 173 | } 174 | article .gallery { 175 | overflow: hidden; 176 | position: relative; 177 | } 178 | article .gallery:hover .control { 179 | opacity: 1; 180 | -ms-filter: none; 181 | filter: none; 182 | } 183 | article .gallery img { 184 | min-width: 100%; 185 | max-width: 100%; 186 | height: auto; 187 | position: absolute; 188 | top: 0; 189 | left: 0; 190 | opacity: 0; 191 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; 192 | filter: alpha(opacity=0); 193 | } 194 | article .gallery .control { 195 | opacity: 0; 196 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; 197 | filter: alpha(opacity=0); 198 | -webkit-transition: 0.3s; 199 | -moz-transition: 0.3s; 200 | -o-transition: 0.3s; 201 | -ms-transition: 0.3s; 202 | transition: 0.3s; 203 | } 204 | article .gallery .prev, 205 | article .gallery .next { 206 | position: absolute; 207 | top: 0; 208 | width: 50%; 209 | height: 100%; 210 | cursor: pointer; 211 | } 212 | article .gallery .prev:before, 213 | article .gallery .next:before { 214 | position: absolute; 215 | font: 24px/1 FontAwesome; 216 | text-align: center; 217 | width: 24px; 218 | text-shadow: 0 0 15px rgba(0,0,0,0.5); 219 | color: #fff; 220 | margin-top: -12px; 221 | top: 50%; 222 | } 223 | article .gallery .prev { 224 | left: 0; 225 | } 226 | article .gallery .prev:before { 227 | content: '\f053'; 228 | left: 10px; 229 | } 230 | article .gallery .next { 231 | right: 0; 232 | } 233 | article .gallery .next:before { 234 | content: '\f054'; 235 | right: 10px; 236 | } 237 | article header .icon { 238 | width: 32px; 239 | height: 32px; 240 | margin-right: 25px; 241 | position: absolute; 242 | top: 20px; 243 | left: 20px; 244 | color: #258fb8; 245 | } 246 | @media screen and (max-width: 600px) { 247 | article header .icon { 248 | display: none; 249 | } 250 | } 251 | article header .icon:before { 252 | position: absolute; 253 | font: 32px FontAwesome; 254 | top: 0; 255 | left: 0; 256 | width: 32px; 257 | text-align: center; 258 | } 259 | article header time { 260 | color: #999; 261 | font: 0.9em "Lato", Helvetica Neue, Helvetica, Arial, sans-serif; 262 | margin-bottom: 5px; 263 | display: block; 264 | line-height: 1; 265 | } 266 | article header .title { 267 | font-weight: normal; 268 | } 269 | article header .title a { 270 | color: #444; 271 | } 272 | article header .title a:hover { 273 | color: #258fb8; 274 | text-decoration: none; 275 | } 276 | article .entry { 277 | text-align: justify; 278 | line-height: 1.6; 279 | } 280 | article .entry p, 281 | article .entry blockquote, 282 | article .entry ul, 283 | article .entry ol, 284 | article .entry dl, 285 | article .entry table, 286 | article .entry iframe, 287 | article .entry h3, 288 | article .entry h4, 289 | article .entry h5, 290 | article .entry h6, 291 | article .entry .video-container { 292 | margin-top: 15px; 293 | } 294 | article .entry blockquote { 295 | border-top: 1px solid #ddd; 296 | border-bottom: 1px solid #ddd; 297 | font-style: italic; 298 | font-family: "Georgia", serif; 299 | font-size: 1.2em; 300 | padding: 0 30px 15px; 301 | text-align: center; 302 | } 303 | article .entry blockquote footer { 304 | border-top: none; 305 | font-size: 0.8em; 306 | line-height: 1; 307 | margin: 20px 0 0; 308 | padding-top: 0; 309 | } 310 | article .entry blockquote footer cite:before { 311 | content: '—'; 312 | color: #ccc; 313 | padding: 0 0.5em; 314 | } 315 | article .entry code, 316 | article .entry pre { 317 | font-family: Monaco, Menlo, Consolas, Courier New, monospace; 318 | } 319 | article .entry code { 320 | background: #eee; 321 | color: #666; 322 | padding: 0 5px; 323 | margin: 0 2px; 324 | font-size: 0.9em; 325 | border: 1px solid #ddd; 326 | -webkit-border-radius: 3px; 327 | border-radius: 3px; 328 | } 329 | article .entry pre { 330 | background: #eee; 331 | border: 1px solid #ddd; 332 | margin-top: 15px; 333 | overflow: auto; 334 | padding: 7px 15px; 335 | -webkit-border-radius: 2px; 336 | border-radius: 2px; 337 | } 338 | article .entry pre code { 339 | background: none; 340 | padding: 0; 341 | margin: 0; 342 | border: none; 343 | -webkit-border-radius: 0; 344 | border-radius: 0; 345 | } 346 | article .entry ul, 347 | article .entry ol, 348 | article .entry dl { 349 | margin-left: 20px; 350 | } 351 | article .entry ul ul, 352 | article .entry ol ul, 353 | article .entry dl ul, 354 | article .entry ul ol, 355 | article .entry ol ol, 356 | article .entry dl ol, 357 | article .entry ul dl, 358 | article .entry ol dl, 359 | article .entry dl dl { 360 | margin-top: 0; 361 | } 362 | article .entry h1, 363 | article .entry h2 { 364 | font-weight: normal; 365 | border-bottom: 1px solid #ddd; 366 | padding-bottom: 10px; 367 | margin-top: 20px; 368 | } 369 | article .entry h3, 370 | article .entry h4, 371 | article .entry h5, 372 | article .entry h6 { 373 | font-weight: normal; 374 | } 375 | article .entry img, 376 | article .entry video { 377 | max-width: 100%; 378 | height: auto; 379 | border: none; 380 | } 381 | article .entry iframe { 382 | border: none; 383 | } 384 | article .entry .caption { 385 | display: block; 386 | margin-top: 5px; 387 | color: #999; 388 | position: relative; 389 | font-size: 0.9em; 390 | padding-left: 25px; 391 | } 392 | article .entry .caption:before { 393 | content: '\f040'; 394 | position: absolute; 395 | font: 1.3em FontAwesome; 396 | position: absolute; 397 | left: 0; 398 | top: 3px; 399 | } 400 | article .entry .video-container { 401 | position: relative; 402 | padding-bottom: 56.25%; 403 | padding-top: 30px; 404 | height: 0; 405 | overflow: hidden; 406 | } 407 | article .entry .video-container iframe, 408 | article .entry .video-container object, 409 | article .entry .video-container embed { 410 | position: absolute; 411 | top: 0; 412 | left: 0; 413 | width: 100%; 414 | height: 100%; 415 | margin-top: 0; 416 | } 417 | article .entry .pullquote { 418 | float: right; 419 | border: none; 420 | padding: 0; 421 | margin: 1em 0 0.5em 1.5em; 422 | text-align: left; 423 | width: 45%; 424 | font-size: 1.5em; 425 | } 426 | article footer { 427 | margin-top: 15px; 428 | padding-top: 10px; 429 | border-top: 1px solid #ddd; 430 | color: #999; 431 | font-size: 0.9em; 432 | line-height: 16px; 433 | position: relative; 434 | min-height: 16px; 435 | } 436 | article footer a { 437 | color: #999; 438 | } 439 | article footer a:hover { 440 | color: #258fb8; 441 | text-decoration: none; 442 | } 443 | article footer a:before { 444 | font: 1.1em FontAwesome; 445 | padding-right: 10px; 446 | vertical-align: middle; 447 | } 448 | article footer a.more-link:before { 449 | content: '\f054'; 450 | } 451 | article footer a.comment-link:before { 452 | content: '\f075'; 453 | } 454 | article footer .categories, 455 | article footer .tags { 456 | position: relative; 457 | padding-left: 25px; 458 | margin: 5px 0; 459 | } 460 | article footer .categories:before, 461 | article footer .tags:before { 462 | position: absolute; 463 | font: 1.1em FontAwesome; 464 | } 465 | article footer .categories:before { 466 | content: '\f07b'; 467 | top: 2px; 468 | left: 1px; 469 | } 470 | article footer .tags:before { 471 | content: '\f02b'; 472 | top: 3px; 473 | left: 2px; 474 | } 475 | article footer .addthis { 476 | margin-top: 15px; 477 | } 478 | article footer .addthis iframe { 479 | margin-top: 0; 480 | } 481 | #comment { 482 | padding: 20px; 483 | background: #fff; 484 | -webkit-box-shadow: 1px 2px 3px #ddd; 485 | box-shadow: 1px 2px 3px #ddd; 486 | margin-bottom: 50px; 487 | } 488 | #comment .title { 489 | font-weight: normal; 490 | margin-bottom: 15px; 491 | } 492 | #pagination a { 493 | display: block; 494 | padding: 5px 10px; 495 | background: #ddd; 496 | color: #999; 497 | font-family: "Lato", Helvetica Neue, Helvetica, Arial, sans-serif; 498 | text-shadow: 0 0 1px #fff; 499 | margin-bottom: 50px; 500 | } 501 | #pagination a:hover { 502 | background: #258fb8; 503 | color: #fff; 504 | text-decoration: none; 505 | text-shadow: none; 506 | } 507 | #pagination .prev:before { 508 | content: '\f053'; 509 | padding-right: 10px; 510 | font-family: FontAwesome; 511 | } 512 | #pagination .next:after { 513 | content: '\f054'; 514 | padding-left: 10px; 515 | font-family: FontAwesome; 516 | } 517 | .archive-title { 518 | color: #999; 519 | font-weight: normal; 520 | margin-bottom: 30px; 521 | text-shadow: 0 0 1px #fff; 522 | } 523 | .archive-title:before { 524 | font-family: FontAwesome; 525 | content: '\f073'; 526 | padding-right: 15px; 527 | } 528 | .archive-title.tag:before { 529 | content: '\f02b'; 530 | } 531 | .archive-title.category:before { 532 | content: '\f07b'; 533 | } 534 | .archive { 535 | -webkit-box-shadow: 1px 2px 3px #ddd; 536 | box-shadow: 1px 2px 3px #ddd; 537 | border-bottom: 1px solid #ddd; 538 | margin-bottom: 50px; 539 | } 540 | .archive article { 541 | -webkit-box-shadow: none; 542 | box-shadow: none; 543 | } 544 | .archive article .post-content { 545 | margin-bottom: 0; 546 | } 547 | #sidebar { 548 | width: 270px; 549 | line-height: 1.8em; 550 | } 551 | @media screen and (max-width: 900px) { 552 | #sidebar { 553 | float: none; 554 | width: 100%; 555 | } 556 | } 557 | #sidebar .widget { 558 | background: #fff; 559 | -webkit-box-shadow: 1px 2px 3px #ddd; 560 | box-shadow: 1px 2px 3px #ddd; 561 | margin-bottom: 30px; 562 | word-wrap: break-word; 563 | } 564 | #sidebar .widget .title { 565 | padding: 15px 20px; 566 | font-size: 1em; 567 | border-bottom: 1px solid #ddd; 568 | font-weight: normal; 569 | } 570 | #sidebar .widget .entry { 571 | font-size: 0.9em; 572 | padding: 15px 20px; 573 | } 574 | #sidebar .widget ul, 575 | #sidebar .widget ol, 576 | #sidebar .widget dl { 577 | list-style: none; 578 | } 579 | #sidebar .widget ul ul, 580 | #sidebar .widget ol ul, 581 | #sidebar .widget dl ul, 582 | #sidebar .widget ul ol, 583 | #sidebar .widget ol ol, 584 | #sidebar .widget dl ol, 585 | #sidebar .widget ul dl, 586 | #sidebar .widget ol dl, 587 | #sidebar .widget dl dl { 588 | list-style: disc; 589 | margin-left: 20px; 590 | } 591 | #sidebar .search { 592 | margin-bottom: 30px; 593 | } 594 | #sidebar .search input { 595 | background: #fff; 596 | font-family: "Lato", Helvetica Neue, Helvetica, Arial, sans-serif; 597 | font-style: italic; 598 | font-size: 1em; 599 | padding: 10px 15px; 600 | border: 1px solid #ddd; 601 | width: 100%; 602 | -webkit-box-sizing: border-box; 603 | -moz-box-sizing: border-box; 604 | box-sizing: border-box; 605 | color: #999; 606 | } 607 | #sidebar .search input:focus { 608 | color: #444; 609 | } 610 | #sidebar .tag small { 611 | margin-left: 15px; 612 | color: #999; 613 | } 614 | #sidebar .tag small:before { 615 | content: '('; 616 | } 617 | #sidebar .tag small:after { 618 | content: ')'; 619 | } 620 | #sidebar .twitter li { 621 | border-bottom: 1px solid #ddd; 622 | padding: 15px 20px; 623 | font-size: 0.9em; 624 | } 625 | #sidebar .twitter li:last-of-type { 626 | border-bottom: none; 627 | } 628 | #sidebar .twitter small { 629 | display: block; 630 | margin-top: 10px; 631 | color: #999; 632 | line-height: 1; 633 | } 634 | #sidebar .tagcloud .entry { 635 | padding-right: 5px; 636 | } 637 | #sidebar .tagcloud a { 638 | margin-right: 10px; 639 | display: inline-block; 640 | } 641 | #footer { 642 | color: #999; 643 | margin-bottom: 50px; 644 | font: 0.9em/1.6 "Lato", Helvetica Neue, Helvetica, Arial, sans-serif; 645 | text-shadow: 0 0 1px #fff; 646 | } 647 | .entry .gist { 648 | background: #eee; 649 | border: 1px solid #ddd; 650 | margin-top: 15px; 651 | padding: 7px 15px; 652 | -webkit-border-radius: 2px; 653 | border-radius: 2px; 654 | text-shadow: 0 0 1px #fff; 655 | line-height: 1.6; 656 | overflow: auto; 657 | color: #666; 658 | } 659 | .entry .gist .gist-file { 660 | border: none; 661 | font-family: inherit; 662 | margin: 0; 663 | font-size: 0.9em; 664 | } 665 | .entry .gist .gist-file .gist-data { 666 | background: none; 667 | border-bottom: none; 668 | } 669 | .entry .gist .gist-file .gist-data pre { 670 | padding: 0 !important; 671 | font-family: Monaco, Menlo, Consolas, Courier New, monospace; 672 | } 673 | .entry .gist .gist-file .gist-meta { 674 | background: none; 675 | color: #999; 676 | margin-top: 5px; 677 | padding: 0; 678 | text-shadow: 0 0 1px #fff; 679 | font-size: 100%; 680 | } 681 | .entry .gist .gist-file .gist-meta a { 682 | color: #258fb8; 683 | } 684 | .entry .gist .gist-file .gist-meta a:visited { 685 | color: #258fb8; 686 | } 687 | figure.highlight { 688 | background: #eee; 689 | border: 1px solid #ddd; 690 | margin-top: 15px; 691 | padding: 7px 15px; 692 | -webkit-border-radius: 2px; 693 | border-radius: 2px; 694 | text-shadow: 0 0 1px #fff; 695 | line-height: 1.6; 696 | overflow: auto; 697 | position: relative; 698 | font-size: 0.9em; 699 | } 700 | figure.highlight figcaption { 701 | color: #999; 702 | margin-bottom: 5px; 703 | text-shadow: 0 0 1px #fff; 704 | } 705 | figure.highlight figcaption a { 706 | position: absolute; 707 | right: 15px; 708 | } 709 | figure.highlight pre { 710 | border: none; 711 | padding: 0; 712 | margin: 0; 713 | } 714 | figure.highlight table { 715 | margin-top: 0; 716 | border-spacing: 0; 717 | } 718 | figure.highlight .gutter { 719 | color: #999; 720 | padding-right: 15px; 721 | border-right: 1px solid #ddd; 722 | text-align: right; 723 | } 724 | figure.highlight .code { 725 | padding-left: 15px; 726 | border-left: 1px solid #fff; 727 | color: #666; 728 | } 729 | figure.highlight .line { 730 | height: 20px; 731 | } 732 | figure.highlight .line.marked { 733 | background: #d6d6d6; 734 | } 735 | pre .comment, 736 | pre .template_comment, 737 | pre .diff .header, 738 | pre .doctype, 739 | pre .pi, 740 | pre .lisp .string, 741 | pre .javadoc { 742 | color: #93a1a1; 743 | font-style: italic; 744 | } 745 | pre .keyword, 746 | pre .winutils, 747 | pre .method, 748 | pre .addition, 749 | pre .css .tag, 750 | pre .request, 751 | pre .status, 752 | pre .nginx .title { 753 | color: #859900; 754 | } 755 | pre .number, 756 | pre .command, 757 | pre .string, 758 | pre .tag .value, 759 | pre .phpdoc, 760 | pre .tex .formula, 761 | pre .regexp, 762 | pre .hexcolor { 763 | color: #2aa198; 764 | } 765 | pre .title, 766 | pre .localvars, 767 | pre .chunk, 768 | pre .decorator, 769 | pre .built_in, 770 | pre .identifier, 771 | pre .vhdl, 772 | pre .literal, 773 | pre .id { 774 | color: #268bd2; 775 | } 776 | pre .attribute, 777 | pre .variable, 778 | pre .lisp .body, 779 | pre .smalltalk .number, 780 | pre .constant, 781 | pre .class .title, 782 | pre .parent, 783 | pre .haskell .type { 784 | color: #b58900; 785 | } 786 | pre .preprocessor, 787 | pre .preprocessor .keyword, 788 | pre .shebang, 789 | pre .symbol, 790 | pre .symbol .string, 791 | pre .diff .change, 792 | pre .special, 793 | pre .attr_selector, 794 | pre .important, 795 | pre .subst, 796 | pre .cdata, 797 | pre .clojure .title { 798 | color: #cb4b16; 799 | } 800 | pre .deletion { 801 | color: #dc322f; 802 | } 803 | -------------------------------------------------------------------------------- /fancybox/jquery.fancybox.pack.js: -------------------------------------------------------------------------------- 1 | /*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */ 2 | (function(r,G,f,v){var J=f("html"),n=f(r),p=f(G),b=f.fancybox=function(){b.open.apply(this,arguments)},I=navigator.userAgent.match(/msie/i),B=null,s=G.createTouch!==v,t=function(a){return a&&a.hasOwnProperty&&a instanceof f},q=function(a){return a&&"string"===f.type(a)},E=function(a){return q(a)&&0
',image:'',iframe:'",error:'

The requested content cannot be loaded.
Please try again later.

',closeBtn:'',next:'',prev:''},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0, 6 | openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1, 7 | isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,d){if(a&&(f.isPlainObject(d)||(d={}),!1!==b.close(!0)))return f.isArray(a)||(a=t(a)?f(a).get():[a]),f.each(a,function(e,c){var k={},g,h,j,m,l;"object"===f.type(c)&&(c.nodeType&&(c=f(c)),t(c)?(k={href:c.data("fancybox-href")||c.attr("href"),title:c.data("fancybox-title")||c.attr("title"),isDom:!0,element:c},f.metadata&&f.extend(!0,k, 8 | c.metadata())):k=c);g=d.href||k.href||(q(c)?c:null);h=d.title!==v?d.title:k.title||"";m=(j=d.content||k.content)?"html":d.type||k.type;!m&&k.isDom&&(m=c.data("fancybox-type"),m||(m=(m=c.prop("class").match(/fancybox\.(\w+)/))?m[1]:null));q(g)&&(m||(b.isImage(g)?m="image":b.isSWF(g)?m="swf":"#"===g.charAt(0)?m="inline":q(c)&&(m="html",j=c)),"ajax"===m&&(l=g.split(/\s+/,2),g=l.shift(),l=l.shift()));j||("inline"===m?g?j=f(q(g)?g.replace(/.*(?=#[^\s]+$)/,""):g):k.isDom&&(j=c):"html"===m?j=g:!m&&(!g&& 9 | k.isDom)&&(m="inline",j=c));f.extend(k,{href:g,type:m,content:j,title:h,selector:l});a[e]=k}),b.opts=f.extend(!0,{},b.defaults,d),d.keys!==v&&(b.opts.keys=d.keys?f.extend({},b.defaults.keys,d.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1!==b.trigger("onCancel")&&(b.hideLoading(),b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&&a.wrap.stop(!0,!0).trigger("onReset").remove(),b.coming=null,b.current|| 10 | b._afterZoomOut(a))},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),b.isActive&&(!b.isOpen||!0===a?(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut()):(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),b.transitions[b.current.closeMethod]())))},play:function(a){var d=function(){clearTimeout(b.player.timer)},e=function(){d();b.current&&b.player.isActive&&(b.player.timer= 11 | setTimeout(b.next,b.current.playSpeed))},c=function(){d();p.unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};if(!0===a||!b.player.isActive&&!1!==a){if(b.current&&(b.current.loop||b.current.index=c.index?"next":"prev"],b.router=e||"jumpto",c.loop&&(0>a&&(a=c.group.length+a%c.group.length),a%=c.group.length),c.group[a]!==v&&(b.cancel(),b._start(a)))},reposition:function(a,d){var e=b.current,c=e?e.wrap:null,k;c&&(k=b._getPosition(d),a&&"scroll"===a.type?(delete k.position,c.stop(!0,!0).animate(k,200)):(c.css(k),e.pos=f.extend({},e.dim,k)))},update:function(a){var d= 13 | a&&a.type,e=!d||"orientationchange"===d;e&&(clearTimeout(B),B=null);b.isOpen&&!B&&(B=setTimeout(function(){var c=b.current;c&&!b.isClosing&&(b.wrap.removeClass("fancybox-tmp"),(e||"load"===d||"resize"===d&&c.autoResize)&&b._setDimension(),"scroll"===d&&c.canShrink||b.reposition(a),b.trigger("onUpdate"),B=null)},e&&!s?0:300))},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?a:!b.current.fitToView,s&&(b.wrap.removeAttr("style").addClass("fancybox-tmp"),b.trigger("onUpdate")), 14 | b.update())},hideLoading:function(){p.unbind(".loading");f("#fancybox-loading").remove()},showLoading:function(){var a,d;b.hideLoading();a=f('
').click(b.cancel).appendTo("body");p.bind("keydown.loading",function(a){if(27===(a.which||a.keyCode))a.preventDefault(),b.cancel()});b.defaults.fixed||(d=b.getViewport(),a.css({position:"absolute",top:0.5*d.h+d.y,left:0.5*d.w+d.x}))},getViewport:function(){var a=b.current&&b.current.locked||!1,d={x:n.scrollLeft(), 15 | y:n.scrollTop()};a?(d.w=a[0].clientWidth,d.h=a[0].clientHeight):(d.w=s&&r.innerWidth?r.innerWidth:n.width(),d.h=s&&r.innerHeight?r.innerHeight:n.height());return d},unbindEvents:function(){b.wrap&&t(b.wrap)&&b.wrap.unbind(".fb");p.unbind(".fb");n.unbind(".fb")},bindEvents:function(){var a=b.current,d;a&&(n.bind("orientationchange.fb"+(s?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(d=a.keys)&&p.bind("keydown.fb",function(e){var c=e.which||e.keyCode,k=e.target||e.srcElement; 16 | if(27===c&&b.coming)return!1;!e.ctrlKey&&(!e.altKey&&!e.shiftKey&&!e.metaKey&&(!k||!k.type&&!f(k).is("[contenteditable]")))&&f.each(d,function(d,k){if(1h[0].clientWidth||h[0].clientHeight&&h[0].scrollHeight>h[0].clientHeight),h=f(h).parent();if(0!==c&&!j&&1g||0>k)b.next(0>g?"up":"right");d.preventDefault()}}))},trigger:function(a,d){var e,c=d||b.coming||b.current;if(c){f.isFunction(c[a])&&(e=c[a].apply(c,Array.prototype.slice.call(arguments,1)));if(!1===e)return!1;c.helpers&&f.each(c.helpers,function(d,e){if(e&&b.helpers[d]&&f.isFunction(b.helpers[d][a]))b.helpers[d][a](f.extend(!0, 18 | {},b.helpers[d].defaults,e),c)});p.trigger(a)}},isImage:function(a){return q(a)&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(a){return q(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var d={},e,c;a=l(a);e=b.group[a]||null;if(!e)return!1;d=f.extend(!0,{},b.opts,e);e=d.margin;c=d.padding;"number"===f.type(e)&&(d.margin=[e,e,e,e]);"number"===f.type(c)&&(d.padding=[c,c,c,c]);d.modal&&f.extend(!0,d,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1, 19 | mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});d.autoSize&&(d.autoWidth=d.autoHeight=!0);"auto"===d.width&&(d.autoWidth=!0);"auto"===d.height&&(d.autoHeight=!0);d.group=b.group;d.index=a;b.coming=d;if(!1===b.trigger("beforeLoad"))b.coming=null;else{c=d.type;e=d.href;if(!c)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=!0;if("image"===c||"swf"===c)d.autoHeight=d.autoWidth=!1,d.scrolling="visible";"image"===c&&(d.aspectRatio= 20 | !0);"iframe"===c&&s&&(d.scrolling="scroll");d.wrap=f(d.tpl.wrap).addClass("fancybox-"+(s?"mobile":"desktop")+" fancybox-type-"+c+" fancybox-tmp "+d.wrapCSS).appendTo(d.parent||"body");f.extend(d,{skin:f(".fancybox-skin",d.wrap),outer:f(".fancybox-outer",d.wrap),inner:f(".fancybox-inner",d.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){d.skin.css("padding"+b,w(d.padding[a]))});b.trigger("onReady");if("inline"===c||"html"===c){if(!d.content||!d.content.length)return b._error("content")}else if(!e)return b._error("href"); 21 | "image"===c?b._loadImage():"ajax"===c?b._loadAjax():"iframe"===c?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width=this.width/b.opts.pixelRatio;b.coming.height=this.height/b.opts.pixelRatio;b._afterLoad()};a.onerror=function(){this.onload= 22 | this.onerror=null;b._error("image")};a.src=b.coming.href;!0!==a.complete&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,e){b.coming&&"abort"!==e?b._error("ajax",a):b.hideLoading()},success:function(d,e){"success"===e&&(a.content=d,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming,d=f(a.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",s?"auto":a.iframe.scrolling).attr("src",a.href); 23 | f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(a){}});a.iframe.preload&&(b.showLoading(),d.one("load",function(){f(this).data("ready",1);s||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=d.appendTo(a.inner);a.iframe.preload||b._afterLoad()},_preloadImages:function(){var a=b.group,d=b.current,e=a.length,c=d.preload?Math.min(d.preload, 24 | e-1):0,f,g;for(g=1;g<=c;g+=1)f=a[(d.index+g)%e],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,d=b.current,e,c,k,g,h;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,d))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{d&&(b.trigger("beforeChange",d),d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove());b.unbindEvents();e=a.content;c=a.type;k=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin, 25 | outer:a.outer,inner:a.inner,current:a,previous:d});g=a.href;switch(c){case "inline":case "ajax":case "html":a.selector?e=f("
").html(e).find(a.selector):t(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder",f('
').insertAfter(e).hide()),e=e.show().detach(),a.wrap.bind("onReset",function(){f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder",!1)}));break;case "image":e=a.tpl.image.replace("{href}", 26 | g);break;case "swf":e='',h="",f.each(a.swf,function(a,b){e+='';h+=" "+a+'="'+b+'"'}),e+='"}(!t(e)||!e.parent().is(a.inner))&&a.inner.append(e);b.trigger("beforeShow");a.inner.css("overflow","yes"===k?"scroll": 27 | "no"===k?"hidden":k);b._setDimension();b.reposition();b.isOpen=!1;b.coming=null;b.bindEvents();if(b.isOpened){if(d.prevMethod)b.transitions[d.prevMethod]()}else f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),d=0,e=!1,c=!1,e=b.wrap,k=b.skin,g=b.inner,h=b.current,c=h.width,j=h.height,m=h.minWidth,u=h.minHeight,n=h.maxWidth,p=h.maxHeight,s=h.scrolling,q=h.scrollOutside? 28 | h.scrollbarWidth:0,x=h.margin,y=l(x[1]+x[3]),r=l(x[0]+x[2]),v,z,t,C,A,F,B,D,H;e.add(k).add(g).width("auto").height("auto").removeClass("fancybox-tmp");x=l(k.outerWidth(!0)-k.width());v=l(k.outerHeight(!0)-k.height());z=y+x;t=r+v;C=E(c)?(a.w-z)*l(c)/100:c;A=E(j)?(a.h-t)*l(j)/100:j;if("iframe"===h.type){if(H=h.content,h.autoHeight&&1===H.data("ready"))try{H[0].contentWindow.document.location&&(g.width(C).height(9999),F=H.contents().find("body"),q&&F.css("overflow-x","hidden"),A=F.outerHeight(!0))}catch(G){}}else if(h.autoWidth|| 29 | h.autoHeight)g.addClass("fancybox-tmp"),h.autoWidth||g.width(C),h.autoHeight||g.height(A),h.autoWidth&&(C=g.width()),h.autoHeight&&(A=g.height()),g.removeClass("fancybox-tmp");c=l(C);j=l(A);D=C/A;m=l(E(m)?l(m,"w")-z:m);n=l(E(n)?l(n,"w")-z:n);u=l(E(u)?l(u,"h")-t:u);p=l(E(p)?l(p,"h")-t:p);F=n;B=p;h.fitToView&&(n=Math.min(a.w-z,n),p=Math.min(a.h-t,p));z=a.w-y;r=a.h-r;h.aspectRatio?(c>n&&(c=n,j=l(c/D)),j>p&&(j=p,c=l(j*D)),cz||y>r)&&(c>m&&j>u)&&!(19n&&(c=n,j=l(c/D)),g.width(c).height(j),e.width(c+x),a=e.width(),y=e.height();else c=Math.max(m,Math.min(c,c-(a-z))),j=Math.max(u,Math.min(j,j-(y-r)));q&&("auto"===s&&jz||y>r)&&c>m&&j>u;c=h.aspectRatio?cu&&j
').appendTo(b.coming?b.coming.parent:a.parent);this.fixed=!1;a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(a){var d=this;a=f.extend({},this.defaults,a);this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);this.fixed||(n.bind("resize.overlay",f.proxy(this.update,this)),this.update());a.closeClick&&this.overlay.bind("click.overlay",function(a){if(f(a.target).hasClass("fancybox-overlay"))return b.isActive? 40 | b.close():d.close(),!1});this.overlay.css(a.css).show()},close:function(){var a,b;n.unbind("resize.overlay");this.el.hasClass("fancybox-lock")&&(f(".fancybox-margin").removeClass("fancybox-margin"),a=n.scrollTop(),b=n.scrollLeft(),this.el.removeClass("fancybox-lock"),n.scrollTop(a).scrollLeft(b));f(".fancybox-overlay").remove().hide();f.extend(this,{overlay:null,fixed:!1})},update:function(){var a="100%",b;this.overlay.width(a).height("100%");I?(b=Math.max(G.documentElement.offsetWidth,G.body.offsetWidth), 41 | p.width()>b&&(a=p.width())):p.width()>n.width()&&(a=p.width());this.overlay.width(a).height(p.height())},onReady:function(a,b){var e=this.overlay;f(".fancybox-overlay").stop(!0,!0);e||this.create(a);a.locked&&(this.fixed&&b.fixed)&&(e||(this.margin=p.height()>n.height()?f("html").css("margin-right").replace("px",""):!1),b.locked=this.overlay.append(b.wrap),b.fixed=!1);!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,b){var e,c;b.locked&&(!1!==this.margin&&(f("*").filter(function(){return"fixed"=== 42 | f(this).css("position")&&!f(this).hasClass("fancybox-overlay")&&!f(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin")),e=n.scrollTop(),c=n.scrollLeft(),this.el.addClass("fancybox-lock"),n.scrollTop(e).scrollLeft(c));this.open(a)},onUpdate:function(){this.fixed||this.update()},afterClose:function(a){this.overlay&&!b.coming&&this.overlay.fadeOut(a.speedOut,f.proxy(this.close,this))}};b.helpers.title={defaults:{type:"float",position:"bottom"},beforeShow:function(a){var d= 43 | b.current,e=d.title,c=a.type;f.isFunction(e)&&(e=e.call(d.element,d));if(q(e)&&""!==f.trim(e)){d=f('
'+e+"
");switch(c){case "inside":c=b.skin;break;case "outside":c=b.wrap;break;case "over":c=b.inner;break;default:c=b.skin,d.appendTo("body"),I&&d.width(d.width()),d.wrapInner(''),b.current.margin[2]+=Math.abs(l(d.css("margin-bottom")))}d["top"===a.position?"prependTo":"appendTo"](c)}}};f.fn.fancybox=function(a){var d, 44 | e=f(this),c=this.selector||"",k=function(g){var h=f(this).blur(),j=d,k,l;!g.ctrlKey&&(!g.altKey&&!g.shiftKey&&!g.metaKey)&&!h.is(".fancybox-wrap")&&(k=a.groupAttr||"data-fancybox-group",l=h.attr(k),l||(k="rel",l=h.get(0)[k]),l&&(""!==l&&"nofollow"!==l)&&(h=c.length?f(c):e,h=h.filter("["+k+'="'+l+'"]'),j=h.index(this)),a.index=j,!1!==b.open(h,a)&&g.preventDefault())};a=a||{};d=a.index||0;!c||!1===a.live?e.unbind("click.fb-start").bind("click.fb-start",k):p.undelegate(c,"click.fb-start").delegate(c+ 45 | ":not('.fancybox-item, .fancybox-nav')","click.fb-start",k);this.filter("[data-fancybox-start=1]").trigger("click");return this};p.ready(function(){var a,d;f.scrollbarWidth===v&&(f.scrollbarWidth=function(){var a=f('
').appendTo("body"),b=a.children(),b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});if(f.support.fixedPosition===v){a=f.support;d=f('
').appendTo("body");var e=20=== 46 | d[0].offsetTop||15===d[0].offsetTop;d.remove();a.fixedPosition=e}f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")});a=f(r).width();J.addClass("fancybox-lock-test");d=f(r).width();J.removeClass("fancybox-lock-test");f("").appendTo("head")})})(window,document,jQuery); -------------------------------------------------------------------------------- /css/font/fontawesome-webfont.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | --------------------------------------------------------------------------------