Skip to content

Commit f94b519

Browse files
committed
first commit
0 parents  commit f94b519

File tree

114 files changed

+6437
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+6437
-0
lines changed

.nojekyll

Whitespace-only changes.

acknowledgments.html

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
<!DOCTYPE html>
2+
<html lang="zh-CN">
3+
<head>
4+
<meta charset="UTF-8"/>
5+
<title>Ruby on Rails 教程 - 致谢</title>
6+
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
7+
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
8+
<meta name="description" content="最好的 Ruby on Rails 入门教程"/>
9+
<meta name="keywords" content="ruby, rails, tutorial"/>
10+
<meta name="author" content="Michael Hartl"/>
11+
<meta name="translator" content="安道"/>
12+
<meta name="generator" content="persie 0.0.1.alpha.3"/>
13+
<link rel="stylesheet" type="text/css" href="http://cdn.staticfile.org/twitter-bootstrap/3.2.0/css/bootstrap.min.css"/>
14+
<link rel="stylesheet" type="text/css" href="http://cdn.staticfile.org/font-awesome/4.2.0/css/font-awesome.min.css"/>
15+
<link rel="stylesheet" type="text/css" href="assets/style.css"/>
16+
<script type="text/javascript" src="http://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
17+
<script type="text/javascript" src="http://cdn.staticfile.org/twitter-bootstrap/3.2.0/js/collapse.min.js"></script>
18+
<script type="text/javascript" src="assets/global.js"></script>
19+
</head>
20+
<body>
21+
22+
<header class="navbar navbar-default navbar-fixed-top navbar-book">
23+
<div class="container">
24+
<div class="navbar-header">
25+
<a href="http://railstutorial-china.org" class="navbar-brand">Ruby on Rails 教程</a>
26+
<button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target=".book-navbar-collapse">
27+
<span class="sr-only">导航</span>
28+
<i class="fa fa-bars"></i>
29+
</button>
30+
<a href="http://railstutorial-china.org/#purchase" class="btn btn-warning navbar-btn visible-xs collapsed-purchase-btn">购买</a>
31+
</div>
32+
<nav class="collapse navbar-collapse book-navbar-collapse">
33+
<ul class="nav navbar-nav navbar-right">
34+
<li><a href="http://railstutorial-china.org" title="首页">首页</a></li>
35+
<li class="active"><a href="http://railstutorial-china.org/read/" title="在线阅读">阅读</a></li>
36+
<li><a href="http://railstutorial-china.org/blog/" title="最新消息">博客</a></li>
37+
<li><a href="https://selfstore.io/products/189/topics" title="论坛">论坛</a></li>
38+
<li class="hidden-xs"><div><a href="http://railstutorial-china.org/#purchase" class="btn btn-warning navbar-btn" title="购买电子书">购买</a></div></li>
39+
</ul>
40+
</nav>
41+
</div>
42+
</header>
43+
44+
<div class="content">
45+
<div class="container">
46+
<div class="row">
47+
<div class="col-lg-offset-2 col-lg-8">
48+
<article class="article">
49+
<section data-type="acknowledgment" id="_致谢">
50+
<h1>致谢</h1>
51+
<p>《Ruby on Rails 教程》很大程度上归功于我以前写的一本书——RailsSpace,因此以前的合著人 <a href="http://aure.com/">Aurelius Prochazka</a> 也有很大功劳。我要感谢 Aure,他不仅为前一本书做出了贡献,而且也给予了这本书支持。我还要感谢 Debra Williams Cauley,她是 RailsSpace 和这本书的编辑,只要她还带我去玩棒球,我就会继续为她写书。</p>
52+
<p>我要感谢很多 Ruby 高手,在过去这些年,他们教我知识,也给我启迪。他们是:David Heinemeier Hansson,Yehuda Katz,Carl Lerche,Jeremy Kemper,Xavier Noria,Ryan Bates,Geoffrey Grosenbach,Peter Cooper,Matt Aimonetti,Mark Bates,Gregg Pollack,Wayne E. Seguin,Amy Hoy,Dave Chelimsky,Pat Maddox,Tom Preston-Werner,Chris Wanstrath,Chad Fowler,Josh Susser,Obie Fernandez,Ian McFarland,Steven Bristol,Pratik Naik,Sarah Mei,Sarah Allen,Wolfram Arnold,Alex Chaffee,Giles Bowkett,Evan Dorn,Long Nguyen,James Lindenbaum,Adam Wiggins,Tikhon Bernstam,Ron Evans,Wyatt Greene,Miles Forrest,Pivotal Labs 公司的好心人们,Heroku 团队,thoughtbot 公司的小伙伴,以及 GitHub 的全体员工。最后,还有很多很多读者(太多了,无法一一列举)在本书写作过程中反馈了众多问题,还给了我很多建议,我由衷地感谢这些人的帮助,以及努力让这本书变得更好。</p>
53+
</section>
54+
</article>
55+
56+
<div class="navi clearfix">
57+
58+
<div class="pull-left">
59+
<a class="prev" href="foreword.html" title="">&laquo; 序</a>
60+
</div>
61+
62+
63+
<div class="pull-right">
64+
<a class="next" href="author.html" title="作者译者简介">作者译者简介 &raquo; </a>
65+
</div>
66+
67+
</div>
68+
69+
70+
</div>
71+
</div>
72+
</div>
73+
</div>
74+
75+
<footer class="footer">
76+
<p>&copy;2013-2014 <a href="http://about.ac" title="安道的网站">安道</a></p>
77+
<p class="sns"><a href="https://twitter.com/andor_chen" title="安道的 Twitter"><i class="fa fa-twitter"></i></a> <a href="http://weibo.com/andor27" title="安道的微博"><i class="fa fa-weibo"></i></a></p>
78+
<p>保留部分权利,禁止转载</p>
79+
</footer>
80+
81+
</body>
82+
</html>

assets/global.js

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
$(document).ready(function() {
2+
$('a[href*=#]:not([href=#])').click(function(e) {
3+
4+
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
5+
|| location.hostname == this.hostname)
6+
{
7+
8+
var target = $(this.hash),
9+
headerHeight = $(".navbar").height() + 10; // Get fixed header height
10+
11+
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
12+
13+
if (target.length) {
14+
$('html,body').animate({
15+
scrollTop: target.offset().top - headerHeight
16+
}, 500);
17+
}
18+
}
19+
});
20+
});

assets/style.css

+246
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,246 @@
1+
/* Global */
2+
3+
body {
4+
font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", STHeiti, sans-serif;
5+
}
6+
7+
code {
8+
padding: 0;
9+
color: #000;
10+
background: none;
11+
}
12+
13+
img {
14+
max-width: 100%;
15+
}
16+
17+
a.anchor{
18+
display: block;
19+
position: relative;
20+
top: -55px;
21+
visibility: hidden;
22+
}
23+
24+
.green {
25+
color: #228B22;
26+
font-weight: normal;
27+
font-style: normal;
28+
}
29+
30+
.red {
31+
color: #F00;
32+
font-weight: normal;
33+
font-style: normal;
34+
}
35+
36+
.align-right {
37+
text-align: right;
38+
}
39+
40+
/* Header */
41+
42+
.navbar-book {
43+
background-color: rgba(255,255,255,.9);
44+
border-color: #ccc;
45+
}
46+
47+
.collapsed-purchase-btn {
48+
position: relative;
49+
float: right;
50+
margin: 10px 10px 8px 0;
51+
}
52+
53+
/* Content */
54+
55+
.content {
56+
padding: 90px 0 30px;
57+
}
58+
59+
/* Heading */
60+
61+
h1, h2, h3, h4, h5, h6 {
62+
font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", STHeiti, sans-serif;
63+
font-weight: normal;
64+
line-height: 1.3;
65+
}
66+
67+
.content h1 {
68+
border-bottom: 1px solid #888;
69+
margin-bottom: 30px;
70+
padding-bottom: 10px;
71+
}
72+
73+
section[data-type="sect1"] h1 {
74+
border-bottom: none;
75+
margin-bottom: 10px;
76+
}
77+
78+
/* TOC */
79+
80+
nav[data-type="toc"] ol {
81+
list-style-type: none;
82+
}
83+
84+
/* Aside */
85+
86+
div.sidebar {
87+
border: 1px solid #ccc;
88+
margin: 30px 0;
89+
padding: 20px;
90+
}
91+
92+
div.sidebar h5 {
93+
margin-top: 0;
94+
margin-bottom: 20px;
95+
}
96+
97+
/* Figure */
98+
99+
div.figure {
100+
margin: 30px 0;
101+
}
102+
103+
div.figure img {
104+
display: block;
105+
margin: 0 auto;
106+
}
107+
108+
div.figcaption {
109+
margin-top: 10px;
110+
text-align: center;
111+
}
112+
113+
/* Table */
114+
115+
table {
116+
margin: 30px 0;
117+
border-collapse: collapse;
118+
}
119+
120+
thead+tbody {
121+
border-bottom: 1px solid #000;
122+
}
123+
124+
table caption {
125+
margin-bottom: 5px;
126+
text-align: left;
127+
}
128+
129+
tr {
130+
border-width: 0;
131+
}
132+
133+
th {
134+
font-size: 14px;
135+
text-align: left;
136+
margin-top: 0;
137+
border-top: 1px solid #000;
138+
border-bottom: 1px solid #000;
139+
}
140+
141+
th, td {
142+
padding: 6px 12px;
143+
}
144+
145+
tr {
146+
border-bottom: 1px dotted #ccc;
147+
}
148+
149+
td,
150+
table p {
151+
font-size: 14px;
152+
}
153+
154+
table p {
155+
text-indent: 0;
156+
margin: 0;
157+
}
158+
159+
/* allow code in tables to wrap */
160+
td pre.programlisting,
161+
td pre.screen,
162+
td pre.literallayout,
163+
td code {
164+
white-space: pre-wrap;
165+
word-wrap: break-word;
166+
}
167+
168+
/* Listing */
169+
170+
div[data-type="listing"] {
171+
margin: 30px 0;
172+
}
173+
174+
div[data-type="listing"] h5 {
175+
margin-top: 0;
176+
margin-bottom: 5px;
177+
}
178+
179+
div[data-type="listing"] .source-file {
180+
font-style: italic;
181+
margin-bottom: 5px;
182+
}
183+
184+
.hll {
185+
background-color: #ffc;
186+
}
187+
188+
/* Navigation */
189+
190+
.navi {
191+
border-top: 1px solid #888;
192+
padding: 10px 0;
193+
margin-top: 20px;
194+
}
195+
196+
/* Footnotes */
197+
198+
.footnotes {
199+
border-top: 3px double #888;
200+
margin-top: 30px;
201+
padding-top: 10px;
202+
}
203+
204+
.footnotes li {
205+
margin-bottom: 5px;
206+
}
207+
208+
.footnotes li:target {
209+
background-color: #ffc;
210+
}
211+
212+
213+
/* Footer */
214+
215+
.footer {
216+
background-color: #222;
217+
color: #fff;
218+
padding: 40px 0;
219+
text-align: center;
220+
}
221+
222+
.footer a {
223+
color: #fff;
224+
}
225+
226+
.sns {
227+
font-size: 20px;
228+
}
229+
230+
231+
/* Media queries */
232+
233+
@media (max-width: 767px) {
234+
.cover {
235+
text-align: center;
236+
margin-bottom: 20px;
237+
}
238+
239+
.box {
240+
margin-bottom: 10px;
241+
}
242+
243+
.section-title {
244+
left: 15px;
245+
}
246+
}

0 commit comments

Comments
 (0)