Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Added layouts for h3rald.com rendering, mentioned RVM, other updates.

  • Loading branch information...
commit 7ff4d82514fefb1c4b80b637ef2d31aad805b1a4 2 parents dc3ee18 + d788183
Fabio Cevasco authored August 07, 2011
12  config.yml
@@ -10,7 +10,15 @@
10 10
   :output: pdf
11 11
   :styles: embed
12 12
 :output: 
  13
+  :h3rald:
  14
+    :multifile: true
  15
+    :extension: .html
  16
+    :filter_target: html
  17
+    :base: /ruby-compendium/book/
  18
+    :macro_reps: html5
  19
+    :layout_dir: web5
  20
+    :layouts:
  21
+      :topic: bookpage
  22
+      :index: bookindex
13 23
   :pdf: 
14 24
     :generator: prince
15  
-:filters: 
16  
-  :highlighter: coderay
50  document.glyph
... ...
@@ -1,91 +1,93 @@
1 1
 book[
2 2
 	@head[
3 3
 		style[default.css]
4  
-		?[eq[$[document.output]|pdf]|style[pagination.css]]
  4
+		?[output?[pdf]|style[pagination.css]]
5 5
 		?[eq[$[filters.highlighter]|coderay]|style[coderay.css]]
6 6
 		?[eq[$[filters.highlighter]|ultraviolet]|style[ultraviolet/lazy.css]]
7 7
 	]
8 8
 	@pre-title[
9  
-		?[eq[$[output.pdf.generator]|wkhtmltopdf]|
10  
-			image[ruby.png]
11  
-		]
12  
-		?[eq[$[output.pdf.generator]|prince]|
13  
-			image[ruby.svg
14  
-				@width[15%]
15  
-				@height[15%]
16  
-			]
17  
-		]
  9
+    ?[output?[pdf]|
  10
+		  image[ruby-compendium/ruby.svg
  11
+		  	@width[15%]
  12
+		  	@height[15%]
  13
+		  ]
  14
+    ]
18 15
 	]
19 16
   @frontmatter[
20 17
 		toc[]
21 18
 		introduction[
22 19
 			@title[So you want to learn Ruby...]
23  
-			include[intro]
  20
+			@src[intro]
24 21
 			section[
25 22
 				@title[About this Book]
26  
-				include[notes]
  23
+				@src[notes]
27 24
 			]
28 25
 		]
29 26
 	]
30 27
   @bodymatter[  
31 28
 		chapter[
32 29
 			@title[Quick Tour]
33  
-			include[language]
  30
+			@src[language]
  31
+			section[
  32
+				@title[10 Good Things about Ruby]
  33
+				@id[ten-good-things]
  34
+				@src[ten-good-things]
  35
+			]
34 36
 			section[
35 37
 				@title[Versions and Implementations]
36 38
 				@id[implementations]
37  
-				include[implementations]
  39
+				@src[implementations]
38 40
 			]
39 41
 			section[
40 42
 				@title[Syntax]
41 43
 				@id[syntax]
42  
-				include[syntax]
  44
+				@src[syntax]
43 45
 			]
44 46
 			section[
45 47
 				@title[The Core and the Standard Library]
46 48
 				@id[core-stdlib]
47  
-				include[core-stdlib]
  49
+				@src[core-stdlib]
48 50
 			]
49 51
 			section[
50 52
 				@title[Advanced Language Features]
51 53
 				@id[features]
52  
-				include[features]
  54
+				@src[features]
53 55
 			]
54 56
 		]
55 57
 		chapter[
56 58
 			@title[Ruby Gems]
57 59
 			@id[gems]
58  
-			include[gems]
  60
+			@src[gems]
59 61
 			section[
60 62
 				@title[What you can use for...]
61  
-				include[gem-tips]
  63
+				@src[gem-tips]
62 64
 			]
63 65
 		]
64 66
 		chapter[
65 67
 			@title[Resources]
66 68
 			@id[resources]
67  
-			include[resources]
  69
+			@src[resources]
68 70
 			section[
69 71
 				@title[Web Sites]
70 72
 				@id[websites]
71  
-				include[web-sites]
  73
+				@src[web-sites]
72 74
 			]
73 75
 			section[
74 76
 				@title[Books]
75 77
 				@id[books]
76  
-				include[books]
  78
+				@src[books]
77 79
 			]
78 80
 			section[
79 81
 				@title[Podcasts and Screencasts]
80 82
 				@id[podcasts]
81  
-				include[podcasts]
  83
+				@src[podcasts]
82 84
 			]
83 85
   	]
84 86
 	]
85 87
 	@backmatter[
86 88
 		appendix[
87 89
 			@title[Notable Rubyists]
88  
-			include[rubyists]
  90
+			@src[rubyists]
89 91
 		]
90 92
 	]
91 93
 ]
0  images/ruby.png → images/ruby-compendium/ruby.png
File renamed without changes
0  images/ruby.svg → images/ruby-compendium/ruby.svg
File renamed without changes
130  lib/layouts/bookindex.glyph
... ...
@@ -0,0 +1,130 @@
  1
+
  2
+<!DOCTYPE html>
  3
+<html lang="en">
  4
+	<head>
  5
+		<title>Ruby Compendium - An Essential Guide to the Ruby Ecosystem</title>
  6
+		<link href='http://fonts.googleapis.com/css?family=Crimson+Text:400,400italic,600,600italic,700,700italic' rel='stylesheet' type='text/css'>
  7
+		
  8
+		
  9
+		
  10
+		<meta charset="utf-8" />
  11
+		<meta name="author" content="Fabio Cevasco" />
  12
+		<meta name="copyright" content="Fabio Cevasco" />
  13
+		<meta name="robots" content="all, follow" />
  14
+		<meta name="Revisit-After" content="2 Days" />
  15
+		<meta name="language" content="en" />
  16
+		<meta name="target_country" content="en-us" />
  17
+		<meta name="country" content="United States" />
  18
+                <meta name="readability-verification" content="XmaVzRjmcFL5Bb2Fu9TZVdDKzhA3apQdxexTB2rK"/>
  19
+		<meta name="description" content="H3RALD - Fabio Cevasco's Web Site" />
  20
+		
  21
+		<meta name="keywords" content="h3rald, fabio cevasco, ruby-compendium" />
  22
+		<link rel="shortcut icon" href="/favicon.png" type="image/png" /> 
  23
+		<meta content="44.388041;9.073248" name="ICBM" />
  24
+
  25
+		<link rel="stylesheet" type="text/css" href="/styles/html5reset.css" />
  26
+		<link rel="stylesheet" type="text/css" href="/styles/style.css" />
  27
+
  28
+    <script src="http://www.google.com/jsapi?key=ABQIAAAAr6RY1Z6dchG_sX9WDLSy3xRlq2n1sm52B5HDRR5tm6o8XM18FhR56xHNNH6CsX86uN5VoTrglpyOyQ" type="text/javascript"></script>
  29
+		<script src="/js/sevenup.js" type="text/javascript"></script>
  30
+		<script src="/js/sevenup_black.js" type="text/javascript"></script>
  31
+		<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
  32
+		<script src="/js/jquery-timeago.js" type="text/javascript"></script>
  33
+		<script src="/js/jquery-easing.js" type="text/javascript"></script>
  34
+		<script src="/js/jquery-fancybox.js" type="text/javascript"></script>
  35
+		<script src="/js/date.js" type="text/javascript"></script>
  36
+		<script src="/js/feeds.js" type="text/javascript"></script>
  37
+		<script src="/js/hyphenator.js" type="text/javascript"></script>
  38
+		<script src="/js/init.js" type="text/javascript"></script>
  39
+		<script src="/js/search.js" type="text/javascript"></script>
  40
+	</head>
  41
+	<body>
  42
+		<section id="container">
  43
+			
  44
+				<header class="page">
  45
+	<nav class="home-link">
  46
+		<a href="/">
  47
+			<img src="/images/h3rald_small.png" alt="H3RALD" class="default"/>
  48
+			<!\[if !IE\]>
  49
+			<img src="/images/h3rald_hover_small.png" alt="H3RALD" class="hover"/>
  50
+			<!\[endif\]>
  51
+		</a>
  52
+	</nav>
  53
+	
  54
+	<nav class="section">
  55
+		/<a href="/ruby-compendium/" rel="ruby-compendium">RUBY-COMPENDIUM</a>
  56
+	</nav>
  57
+	
  58
+</header>
  59
+				<article class="page">
  60
+					<header>
  61
+	<hgroup>
  62
+		<h1>Ruby Compendium</h1>
  63
+		<h2>An Essential Guide to the Ruby Ecosystem</h2>
  64
+		
  65
+	</hgroup>
  66
+	
  67
+</header>
  68
+					<section id="body-text" class="hyphenate glyph-index">
  69
+					toc[]
  70
+          <nav id="sharing-buttons">
  71
+<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="h3rald">Tweet</a>
  72
+<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
  73
+<g:plusone size="medium"></g:plusone>
  74
+<script type="text/javascript">
  75
+  (function() {
  76
+    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
  77
+    po.src = 'https://apis.google.com/js/plusone.js';
  78
+    var s = document.getElementsByTagName('script')\[0\]; s.parentNode.insertBefore(po, s);
  79
+  })();
  80
+</script>
  81
+</nav>
  82
+					</section>
  83
+				</article>
  84
+					
  85
+			
  86
+			<footer>
  87
+				<section class="ads">
  88
+					<script type="text/javascript"><!--
  89
+						google_ad_client = "pub-2871497824158668";
  90
+						/* 728x90, created 9/10/10 */
  91
+						google_ad_slot = "3963343166";
  92
+						google_ad_width = 728;
  93
+						google_ad_height = 90;
  94
+						//-->
  95
+					</script>
  96
+					<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
  97
+					</script>
  98
+				</section>
  99
+				<section>
  100
+					<nav>
  101
+						<a href="/about/">ABOUT</a>\|<a href="/contact/">CONTACT</a>
  102
+					</nav>
  103
+					<p>H3RALD Web Site v8.1.2 &copy; 2004 &mdash; 2011 <em>Fabio Cevasco</em></p>
  104
+				</section>
  105
+			</footer>
  106
+		</section><!-- #container end -->
  107
+		
  108
+ <!-- Start Google Analytics --> 
  109
+ <script type="text/javascript">
  110
+  var _gaq = _gaq \|\| \[\];
  111
+  _gaq.push(\['_setAccount', 'UA-18587377-1'\]);
  112
+  _gaq.push(\['_trackPageview'\]);
  113
+
  114
+  (function() {
  115
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  116
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  117
+    var s = document.getElementsByTagName('script')\[0\]; s.parentNode.insertBefore(ga, s);
  118
+  })();
  119
+ </script> 
  120
+ <!-- End Google Analytics --> 
  121
+ <!-- Start of StatCounter Code --> 
  122
+  <script type="text/javascript"> 
  123
+	var sc_project=6193656; 
  124
+	var sc_invisible=1; 
  125
+	var sc_security="57f7ee2a"; 
  126
+	</script> 
  127
+	<script type="text/javascript" src="http://www.statcounter.com/counter/counter_xhtml.js"></script> 
  128
+	<!-- End of StatCounter Code --> 
  129
+	</body>
  130
+</html>
131  lib/layouts/bookpage.glyph
... ...
@@ -0,0 +1,131 @@
  1
+<!DOCTYPE html> 
  2
+<html lang="en"> 
  3
+	<head> 
  4
+		<title>{{title}} &ndash; Ruby Compendium</title> 
  5
+		<link href='http://fonts.googleapis.com/css?family=Crimson+Text:400,400italic,600,600italic,700,700italic' rel='stylesheet' type='text/css'>
  6
+		
  7
+		
  8
+		
  9
+		<meta charset="utf-8" />
  10
+		<meta name="author" content="Fabio Cevasco" />
  11
+		<meta name="copyright" content="Fabio Cevasco" />
  12
+		<meta name="robots" content="all, follow" />
  13
+		<meta name="Revisit-After" content="2 Days" />
  14
+		<meta name="language" content="en" />
  15
+		<meta name="target_country" content="en-us" />
  16
+		<meta name="country" content="United States" />
  17
+                <meta name="readability-verification" content="XmaVzRjmcFL5Bb2Fu9TZVdDKzhA3apQdxexTB2rK"/>
  18
+		<meta name="description" content="H3RALD - Fabio Cevasco's Web Site" />
  19
+		
  20
+		<meta name="keywords" content="h3rald, fabio cevasco, ruby-compendium" />
  21
+		<link rel="shortcut icon" href="/favicon.png" type="image/png" /> 
  22
+		<meta content="44.388041;9.073248" name="ICBM" />
  23
+
  24
+		<link rel="stylesheet" type="text/css" href="/styles/html5reset.css" />
  25
+		<link rel="stylesheet" type="text/css" href="/styles/style.css" />
  26
+
  27
+    <script src="http://www.google.com/jsapi?key=ABQIAAAAr6RY1Z6dchG_sX9WDLSy3xRlq2n1sm52B5HDRR5tm6o8XM18FhR56xHNNH6CsX86uN5VoTrglpyOyQ" type="text/javascript"></script>
  28
+		<script src="/js/sevenup.js" type="text/javascript"></script>
  29
+		<script src="/js/sevenup_black.js" type="text/javascript"></script>
  30
+		<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
  31
+		<script src="/js/jquery-timeago.js" type="text/javascript"></script>
  32
+		<script src="/js/jquery-easing.js" type="text/javascript"></script>
  33
+		<script src="/js/jquery-fancybox.js" type="text/javascript"></script>
  34
+		<script src="/js/date.js" type="text/javascript"></script>
  35
+		<script src="/js/feeds.js" type="text/javascript"></script>
  36
+		<script src="/js/hyphenator.js" type="text/javascript"></script>
  37
+		<script src="/js/init.js" type="text/javascript"></script>
  38
+		<script src="/js/search.js" type="text/javascript"></script>
  39
+	</head>
  40
+	<body>
  41
+		<section id="container">
  42
+			
  43
+				<header class="page">
  44
+	<nav class="home-link">
  45
+		<a href="/">
  46
+			<img src="/images/h3rald_small.png" alt="H3RALD" class="default"/>
  47
+			<!\[if !IE\]>
  48
+			<img src="/images/h3rald_hover_small.png" alt="H3RALD" class="hover"/>
  49
+			<!\[endif\]>
  50
+		</a>
  51
+	</nav>
  52
+	
  53
+	<nav class="section">
  54
+		/<a href="/ruby-compendium/" rel="ruby-compendium">RUBY-COMPENDIUM</a>
  55
+	</nav>
  56
+	
  57
+</header>
  58
+				<article class="page glyph-book">
  59
+					<header>
  60
+	<hgroup>
  61
+		<h1>{{title}}</h1> 
  62
+		<h2>Ruby Compendium</h2>
  63
+	</hgroup>
  64
+  </header>
  65
+					<section id="body-text" class="hyphenate glyph-book">
  66
+
  67
+							navigation[{{id}}]
  68
+							{{contents}}
  69
+							navigation[{{id}}]
  70
+										<nav id="sharing-buttons">
  71
+<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="h3rald">Tweet</a>
  72
+<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
  73
+<g:plusone size="medium"></g:plusone>
  74
+<script type="text/javascript">
  75
+  (function() {
  76
+    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
  77
+    po.src = 'https://apis.google.com/js/plusone.js';
  78
+    var s = document.getElementsByTagName('script')\[0\]; s.parentNode.insertBefore(po, s);
  79
+  })();
  80
+</script>
  81
+</nav>
  82
+					</section>
  83
+				</article>
  84
+					
  85
+			
  86
+			<footer>
  87
+				<section class="ads">
  88
+					<script type="text/javascript"><!--
  89
+						google_ad_client = "pub-2871497824158668";
  90
+						/* 728x90, created 9/10/10 */
  91
+						google_ad_slot = "3963343166";
  92
+						google_ad_width = 728;
  93
+						google_ad_height = 90;
  94
+						//-->
  95
+					</script>
  96
+					<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
  97
+					</script>
  98
+				</section>
  99
+				<section>
  100
+					<nav>
  101
+						<a href="/about/">ABOUT</a>\|<a href="/contact/">CONTACT</a>
  102
+					</nav>
  103
+					<p>H3RALD Web Site v8.1.2 &copy; 2004 &mdash; 2011 <em>Fabio Cevasco</em></p>
  104
+				</section>
  105
+			</footer>
  106
+		</section><!-- #container end -->
  107
+		
  108
+		
  109
+ <!-- Start Google Analytics --> 
  110
+ <script type="text/javascript">
  111
+  var _gaq = _gaq \|\| \[\];
  112
+  _gaq.push(\['_setAccount', 'UA-18587377-1'\]);
  113
+  _gaq.push(\['_trackPageview'\]);
  114
+
  115
+  (function() {
  116
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  117
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  118
+    var s = document.getElementsByTagName('script')\[0\]; s.parentNode.insertBefore(ga, s);
  119
+  })();
  120
+ </script> 
  121
+ <!-- End Google Analytics --> 
  122
+ <!-- Start of StatCounter Code --> 
  123
+  <script type="text/javascript"> 
  124
+	var sc_project=6193656; 
  125
+	var sc_invisible=1; 
  126
+	var sc_security="57f7ee2a"; 
  127
+	</script> 
  128
+	<script type="text/javascript" src="http://www.statcounter.com/counter/counter_xhtml.js"></script> 
  129
+	<!-- End of StatCounter Code --> 
  130
+	</body>
  131
+</html>
23  lib/layouts/project.glyph
... ...
@@ -0,0 +1,23 @@
  1
+----- 
  2
+permalink: ruby-compendium
  3
+filters_pre: 
  4
+- erb
  5
+- redcloth
  6
+title: "Project: Ruby Compendium"
  7
+subtitle: "An Essential Guide to the Ruby Ecosystem"
  8
+type: project
  9
+github: ruby-compendium
  10
+links:
  11
+- "Download": https://github.com/h3rald/ruby-compendium/downloads
  12
+- "Read Online": /ruby-compendium/book
  13
+- "Source": https://github.com/h3rald/ruby-compendium
  14
+- "Tracking": http://github.com/h3rald/ruby-compendium/issues
  15
+status: Active
  16
+version: 0.2.0
  17
+-----
  18
+
  19
+<%= render 'project_data', :tag => 'ruby-compendium' %>
  20
+
  21
+{{contents}}
  22
+
  23
+<%= render 'project_updates', :tag => 'ruby-compendium' %>
30  lib/tasks/tasks.rake
... ...
@@ -0,0 +1,30 @@
  1
+namespace :generate do
  2
+  desc "Create output for h3rald.com integration"
  3
+  task :h3rald => [:web5] do
  4
+    dir = Glyph::PROJECT/'output/h3rald'
  5
+    (dir/"glyph/book").mkpath
  6
+    # Copy files in subdir
  7
+    (dir).find do |i|
  8
+      if i.file? then
  9
+        next if i.to_s.match(Regexp.escape(dir/'glyph')) 
  10
+        dest = dir/"ruby-compendium/book/#{i.relative_path_from(Glyph::PROJECT/dir)}"
  11
+        src = i.to_s
  12
+        Pathname.new(dest).parent.mkpath
  13
+        file_copy src, dest
  14
+      end
  15
+    end
  16
+    # Remove files from output dir
  17
+    dir.children.each do |c|
  18
+      unless c == dir/'ruby-compendium' then
  19
+        c.directory? ? c.rmtree : c.unlink
  20
+      end
  21
+    end
  22
+    (dir/'ruby-compendium/book/images/').rmtree
  23
+    # Create project page
  24
+		project = Glyph.filter %{layout/project[
  25
+				@contents[#{file_load(Glyph::PROJECT/'text/notes.glyph')}]
  26
+			]}
  27
+		file_write dir/"ruby-compendium.textile", project
  28
+
  29
+  end	
  30
+end
12  text/books.glyph
@@ -23,7 +23,17 @@ res[
23 23
 	@name[Why's (poignant) guide to Ruby]
24 24
 	@desc[The legendary book by =>[#_why|why the lucky stiff]. With foxes, little elves, and... chunky bacon!). Exquisitely weird and witty.]
25 25
 ]
26  
-box[What about "real" books?|
  26
+res[
  27
+	@url[http://ruby.runpaint.org/]
  28
+	@name[Read Ruby 1.9]
  29
+	@desc[em["Very early draft of a book about version 1.9 of the Ruby programming language, released under a Creative Commons license."]]
  30
+]
  31
+res[
  32
+	@url[http://ruby.learncodethehardway.org/]
  33
+	@name[Learn Ruby The Hard Way]
  34
+	@desc[A Ruby translation of the popular book em[Learn Python The Hard Way], by Zed Shaw.]
  35
+]
  36
+box[What about em[real] books?|
27 37
 	textile[
28 38
 All the books mentioned so far are free, but there's plenty of published books on Ruby. Check out the following titles:
29 39
 * =>[http://www.informit.com/imprint/series_detail.aspx?ser=2124042|Addison-Wesley Progessional Ruby Series]
9  text/implementations.glyph
@@ -51,14 +51,13 @@ A Mac-only Ruby implementation compatible with Ruby 1.9, specifically tuned for
51 51
 ]
52 52
 txt_section[
53 53
 	@title[IronRuby]
  54
+  @id[ironruby]
54 55
 A .NET implementation of the Ruby Programming Language, compatible with Ruby 1.8.6 (IronRuby 1.0) and 1.9 (IronRuby 1.1.1 onwards). Not as mature as the other implementations.
55 56
 * Current Version: *1.1.3*
56 57
 * Download: =>[http://www.ironruby.net/|IronRuby Web Site]
57 58
 ]
58  
-box[Isn't Ruby em[slow?]|
  59
+box[Try'em All!|
59 60
 	txt[
60  
-Being a high-level, interpreted language, Ruby is slower than compiled languages like C or C++ or even other interpreted languages like Perl 5. However, this may vary depending on the implementation. 
61  
-* If you are interested in Ruby benchmarks, check out Antonio Cangiano's =>[http://programmingzen.com/2010/07/19/the-great-ruby-shootout-july-2010/|Great Ruby Shootout], which also includes data on =>[http://www.rubyenterpriseedition.com/|Ruby Enterprise Edition] and =>[http://ruby.gemstone.com/|MagLev] implementations.
62  
-* If you are interested in benchmarks between Ruby implementations and other languages, the =>[http://shootout.alioth.debian.org/|Computer Language Benchmark Game] is a good place to start.
63  
-	]
  61
+Don't know which Ruby to choose? You don't have to! =>[#wayneeseguin] created =>[https://rvm.beginrescueend.com/|Ruby Version Manager] (RVM) to allow you to install, upgrade and manage several Ruby installation seamlessly on the same computer. If you're on OS X or Linux, that is. If you're on a Windows computer, =>[https://github.com/vertiginous/pik|Pik] provides something similar.
  62
+	] 
64 63
 ]
23  text/language.glyph
... ...
@@ -1,19 +1,10 @@
1  
-textile[
  1
+txt[
2 2
 Ruby is a relatively new programming language. It was created by =>[#matz|Yukihiro Matzumoto] (aka "Matz") in 1995, but it took another ten years to become popular outside Japan, thanks to the _Ruby on Rails_ web framework.
3 3
 ]
4  
-txt_section[
5  
-	@title[10 good things about Ruby]
6  
-# It's free and open source.
7  
-# It's high-level, no need to worry about memory allocation or similar.
8  
-# It's fully cross platform, or at least most of its =>[#implementations|implementations] are.
9  
-# It's elegant. Really, Ruby =>[#syntax|syntax] is truly beautiful, with no semicolons or braces, generally.
10  
-# It has a large =>[#core-stdlib|core and Standard Library].
11  
-# It has over 1300 user-contributed =>[#gems|libraries] for almost anything you can think of. 
12  
-# It is multi-paradigm and offers many advanced language =>[#features|features].
13  
-# It has a friendly and supportive community and plenty of useful =>[#resources|resources]. 
14  
-# There are loads of =>[#websites|web sites] about it and free online learning material.
15  
-# A lot of =>[#books|books] have been written about it.
16  
-]
17  
-box[If you want to know more...|
18  
-For general information on Ruby and more introductory material, head over to the =>[http://www.ruby-lang.org/|Official Ruby Web Site], in particular to the =>[http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/|Ruby from Other Languages] articles, if you are already familiar with C, C++, Java, PHP, Perl, or Python.
  4
+box[Isn't Ruby em[slow?]|
  5
+	txt[
  6
+Being a high-level, interpreted language, Ruby is slower than compiled languages like C or C++ or even other interpreted languages like Perl 5. However, this may vary depending on the implementation. 
  7
+* If you are interested in Ruby benchmarks, check out Antonio Cangiano's =>[http://programmingzen.com/2010/07/19/the-great-ruby-shootout-july-2010/|Great Ruby Shootout], which also includes data on =>[http://www.rubyenterpriseedition.com/|Ruby Enterprise Edition] and =>[http://ruby.gemstone.com/|MagLev] implementations.
  8
+* If you are interested in benchmarks between Ruby implementations and other languages, the =>[http://shootout.alioth.debian.org/|Computer Language Benchmark Game] is a good place to start.
  9
+	]
19 10
 ]
4  text/notes.glyph
@@ -4,4 +4,8 @@ This book was written by Fabio Cevasco and it is licensed under a =>[http://crea
4 4
 This book was authored using =>[http://www.h3rald.com/glyph|Glyph] and the PDF version was produced with =>[http://www.princexml.org|Prince XML].
5 5
 
6 6
 The Ruby logo is copyright (c) 2006, Yukihiro Matsumoto, and used under the terms of the =>[http://creativecommons.org/licenses/by-sa/2.5/|Creative Commons Attribution-ShareAlike 2.5 License].
  7
+
  8
+Special thanks to the following individuals who contributed to the project, in some ways:
  9
+* "Akira Matsuda":http://blog.dio.jp/
  10
+* "Sven Schwyn":http://www.bitcetera.com/
7 11
 ]
12  text/podcasts.glyph
... ...
@@ -1,7 +1,12 @@
1 1
 res[
2 2
 	@url[http://5by5.tv/rubyshow]
3 3
 	@name[The Ruby Show]
4  
-	@desc[_The_ Ruby podcast.]
  4
+	@desc[_The_ Ruby podcast, with =>[#danbenjamin|Dan Benjamin] and =>[#jseifer|Jason Seifer].]
  5
+]
  6
+res[
  7
+	@url[http://ruby5.envylabs.com/]
  8
+	@name[Ruby5]
  9
+	@desc[Frequently-released short podcasts on what's new in the Ruby and Rails community. By =>[#greggpollack|Gregg Pollack].]
5 10
 ]
6 11
 res[
7 12
 	@url[http://rubyonrails.org/screencasts]
@@ -18,3 +23,8 @@ res[
18 23
 	@name[Ruby Pulse]
19 24
 	@desc[Free Ruby-related podcasts.]
20 25
 ]
  26
+res[
  27
+	@url[http://ruby-kickstart.com/]
  28
+	@name[Ruby Kickstart]
  29
+	@desc[Hours of free screencast to teach you how to program in Ruby, with loads of free material, quizzes, and goodies.]
  30
+]
2  text/resources.glyph
@@ -4,7 +4,7 @@ There are a lot of resources out there to help you get started or stay up-to-dat
4 4
 The following section contains a small set of hand-picked web sites, books and podcasts which you should definitely have a look at. For even more community resources, check out the =>[http://www.ruby-lang.org/en/community/|Community Page] on the Official Ruby Web Site.
5 5
 ]
6 6
 def:[res|
7  
-	textile_section[
  7
+	txt[
8 8
 		*\/=>[{{url}}|{{name}}]* &ndash; {{desc}}
9 9
 	]
10 10
 ]
51  text/rubyists.glyph
@@ -11,9 +11,16 @@ def:[person|
11 11
 	]
12 12
 ]
13 13
 person[
  14
+	@name[Chad Fowler]
  15
+	@id[chad]
  16
+	@twitter[chadfowler]
  17
+	@url[http://chadfowler.com/]
  18
+	@desc[Pragmatic Programmer, published author, Ruby core committer.]
  19
+]
  20
+person[
14 21
 	@name[Yukihiro Matsumoto]
15 22
 	@id[matz]
16  
-	@twitter[yukihiro_matx]
  23
+	@twitter[yukihiro_matz]
17 24
 	@url[http://www.rubyist.net/~matz/]
18 25
 	@desc[The creator of the Ruby Programming Language.]
19 26
 ]
@@ -25,13 +32,6 @@ person[
25 32
 	@desc[Pragmatic Programmer, published author, Ruby core committer.]
26 33
 ]
27 34
 person[
28  
-	@name[Chad Fowler]
29  
-	@id[chad]
30  
-	@twitter[chadfowler]
31  
-	@url[http://chadfowler.com/]
32  
-	@desc[Pragmatic Programmer, published author, Ruby core committer.]
33  
-]
34  
-person[
35 35
 	@name[David Heinemeier Hansson]
36 36
 	@id[dhh]
37 37
 	@twitter[dhh]
@@ -129,3 +129,38 @@ person[
129 129
 	@url[http://tenderlovemaking.com/]
130 130
 	@desc[Ruby core committer, blogger.]
131 131
 ]
  132
+person[
  133
+	@name[Gregg Pollack]
  134
+	@id[greggpollack]
  135
+	@twitter[greggpollack]
  136
+	@url[http://envylabs.com/]
  137
+	@desc[Founder of EnvyLabs, creator of many Ruby and Rails-related podcasts, including Ruby5.]
  138
+]
  139
+person[
  140
+	@name[Dan Benjamin]
  141
+	@id[danbenjamin]
  142
+	@twitter[danbenjamin]
  143
+	@url[http://danbenjamin.com/]
  144
+	@desc[Founder of 5by5 Studios, creator and host of The Ruby Show podcast.]
  145
+]
  146
+person[
  147
+	@name[Jason Seifer]
  148
+	@id[jseifer]
  149
+	@twitter[jseifer]
  150
+	@url[http://jasonseifer.com/]
  151
+	@desc[Co-host of The Ruby Show podcast.]
  152
+]
  153
+person[
  154
+	@name[Wayne E. Seguin]
  155
+	@id[wayneeseguin]
  156
+	@twitter[wayneeseguin]
  157
+	@url[http://beginrescueend.com/]
  158
+	@desc[Creator of Ruby Version Manager (RVM).]
  159
+]
  160
+person[
  161
+	@name[Steve Klabnik]
  162
+	@id[steveklabnik]
  163
+	@twitter[steveklabnik]
  164
+	@url[http://www.steveklabnik.com/]
  165
+	@desc[Maintainer of Hackety Hack, creator of rstat.us.]
  166
+]
15  text/ten-good-things.glyph
... ...
@@ -0,0 +1,15 @@
  1
+txt[
  2
+# It's free and open source.
  3
+# It's high-level, no need to worry about memory allocation or similar.
  4
+# It's fully cross platform, or at least most of its =>[#implementations|implementations] are.
  5
+# It's elegant. Really, Ruby =>[#syntax|syntax] is truly beautiful, with no semicolons or braces, generally.
  6
+# It has a large =>[#core-stdlib|core and Standard Library].
  7
+# It has over 1300 user-contributed =>[#gems|libraries] for almost anything you can think of. 
  8
+# It is multi-paradigm and offers many advanced language =>[#features|features].
  9
+# It has a friendly and supportive community and plenty of useful =>[#resources|resources]. 
  10
+# There are loads of =>[#websites|web sites] about it and free online learning material.
  11
+# A lot of =>[#books|books] have been written about it.
  12
+]
  13
+box[If you want to know more...|
  14
+For general information on Ruby and more introductory material, head over to the =>[http://www.ruby-lang.org/|Official Ruby Web Site], in particular to the =>[http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/|Ruby from Other Languages] articles, if you are already familiar with C, C++, Java, PHP, Perl, or Python.
  15
+]
9  text/web-sites.glyph
@@ -51,8 +51,11 @@ res[
51 51
 res[
52 52
 	@url[http://rubycommitters.org/]
53 53
 	@name[RubyCommitters.org]
54  
-	@desc[List of all the Ruby core committers. Created by =>[#tenderlove|Aaron Petterson], currently looking for a fancy CSS makeover.]
  54
+	@desc[List of all the Ruby core committers. Created by =>[#tenderlove|Aaron Petterson].]
  55
+]
  56
+res[
  57
+	@url[http://rubylang.info/]
  58
+	@name[RubyLang.info]
  59
+	@desc[em["RubyLang.info is a community driven web site, dedicated to helping both new and experienced Ruby developers."]]
55 60
 ]
56  
-
57  
-
58 61
 

0 notes on commit 7ff4d82

Please sign in to comment.
Something went wrong with that request. Please try again.