Skip to content

Commit

Permalink
add blog entry layout
Browse files Browse the repository at this point in the history
git-svn-id: http://svn.macosforge.org/repository/ruby/MacRubyWebsite/trunk@857 23306eb0-4c56-4727-a40e-e92c0eb68959
  • Loading branch information
richkilmer committed Mar 9, 2009
1 parent afe2f19 commit 4b6b9fa
Show file tree
Hide file tree
Showing 16 changed files with 255 additions and 42 deletions.
11 changes: 11 additions & 0 deletions content/_events.txt
@@ -0,0 +1,11 @@
---
filter: erb
---
<div id="eventbox">
<h3><img src="/images/h3_macruby-events.png" alt="MacRuby Events" /></h3>
<% macruby_events.each do |event| -%>
<p><span class="date"><%= event.date %> &raquo;</span> <a href="<%= event.href %>"><%= event.name %></a><br />
<%= event.location %><br />
<%= event.topic %></p>
<% end %>
</div><!-- // end events -->
12 changes: 12 additions & 0 deletions content/_navigation.txt
@@ -0,0 +1,12 @@
---
filter: erb
---
<ul id="nav">
<li><a href="/" title="Home"><img src="/images/nav_home.png" alt="Home" /></a></li>
<li><a href="/downloads.html" title="Downloads"><img src="/images/nav_downloads.png" alt="Downloads" /></a></li>
<li><a href="/source.html" title="Source"><img src="/images/nav_source.png" alt="Source" /></a></li>
<li><a href="/documentation.html" title="Documentation"><img src="/images/nav_documentation.png" alt="Home" /></a></li>
<li><a href="http://www.macruby.org/trac/report/1" title="Tickets"><img src="/images/nav_tickets.png" alt="Tickets" /></a></li>
<li class="last"><img src="/images/three_easy_steps.png" alt="" id="3steps" /></li>
</ul><!-- // end nav -->

15 changes: 15 additions & 0 deletions content/_standard-head.txt
@@ -0,0 +1,15 @@
---
filter: erb
---
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>MacRuby &raquo; <%= @page.title %></title>
<meta name="author" content="<%= @page.author %>" />
<link rel="stylesheet" href="/css/reset.css" type="text/css" media="screen" />
<link rel="stylesheet" href="/css/master.css" type="text/css" media="screen" />

<!-- CodeRay syntax highlighting CSS -->
<link rel="stylesheet" href="/css/coderay.css" type="text/css" />

</head>
15 changes: 15 additions & 0 deletions content/_steps.txt
@@ -0,0 +1,15 @@
---
filter: erb
---
<div id="step1">
<a href="http://www.macruby.org/files/MacRuby%200.4.zip" id="zip"><img src="/images/zip.png" width="100" height="100" /></a>
<p>or <a href="/source.html">checkout source from svn...</a>

</div><!-- // end step1 -->
<div id="step2">

</div><!-- // end step2 -->
<div id="step3">
<p>Check out the <a href="">tutorial</a> and other learning resources and examples available for MacRuby.</p>
</div><!-- // end step3 -->

1 change: 1 addition & 0 deletions content/blog/2008/06/06/macruby_0.2.txt
Expand Up @@ -2,6 +2,7 @@
title: MacRuby 0.2
created_at: 2008-06-06 00:00:00 -04:00
blog_post: true
layout: blog_entry
author: Laurent Sansonetti
filter:
- erb
Expand Down
1 change: 1 addition & 0 deletions content/blog/2008/06/16/new_build_system.txt
Expand Up @@ -2,6 +2,7 @@
title: New Build System, Faster Objective-C Dispatcher, Screencast
created_at: 2008-06-16 00:00:00 -04:00
blog_post: true
layout: blog_entry
author: Laurent Sansonetti
filter:
- erb
Expand Down
1 change: 1 addition & 0 deletions content/blog/2008/06/30/ruby_changes.txt
Expand Up @@ -2,6 +2,7 @@
title: Ruby Changes in 10.5.4 Update
created_at: 2008-06-30 00:00:00 -04:00
blog_post: true
layout: blog_entry
author: Laurent Sansonetti
filter:
- erb
Expand Down
1 change: 1 addition & 0 deletions content/blog/2008/09/08/macruby_0.3.txt
Expand Up @@ -2,6 +2,7 @@
title: MacRuby 0.3
created_at: 2008-09-08 00:00:00 -04:00
blog_post: true
layout: blog_entry
author: Laurent Sansonetti
filter:
- erb
Expand Down
1 change: 1 addition & 0 deletions content/blog/2008/10/17/developing_cocoa.txt
Expand Up @@ -2,6 +2,7 @@
title: Developing Cocoa Applications Using MacRuby
created_at: 2008-10-17 00:00:00 -04:00
blog_post: true
layout: blog_entry
author: Laurent Sansonetti
filter:
- erb
Expand Down
88 changes: 88 additions & 0 deletions content/blog/2009/03/09/macruby-0.4.txt
@@ -0,0 +1,88 @@
---
title: MacRuby 0.4
created_at: 2009-03-09 08:24:51.725991 -04:00
blog_post: true
layout: blog_entry
author: Laurent Sansonetti
filter:
- erb
- textile
---
<% @page[:excerpt] = capture_erb do %>
After several months of development and some slight delays, MacRuby 0.4 is now available. Get it here while it's still hot!
<% end %>
<%= RedCloth.new(@page.excerpt).to_html %>

This is quite an important release that brings new features and fixes several problems. The changes are too numerous to be all mentioned, so here is a selection of the most interesting ones.

h3. Threaded GC

The MacRuby garbage collector is now running in multi-threaded mode by default. That means that MacRuby will always do garbage collections on a separate thread and therefore not interrupt the program's flow.

h3. Full 64-bit Support

MacRuby is now fully working in both Intel 32-bit and 64-bit modes. If you are running a recent Mac chances are that it is 64-bit and MacRuby will run faster on it. This is mainly due to the fact that the underlying infrastructure has been significantly improved for 64-bit processors.

h3. DTrace Probes

DTrace probes have been added to the core of the interpreter. You can now trace various things such as method calls or exceptions. All of that can be done on any MacRuby processes in the system.

<code><pre class="commands">
provider macruby {
probe insn__entry(char *insnname, char *sourcefile, int sourceline);
probe insn__return(char *insnname, char *sourcefile, int sourceline);
probe method__entry(char *classname, char *methodname, char *sourcefile, int sourceline);
probe method__return(char *classname, char *methodname, char *sourcefile, int sourceline);
probe raise(char *classname, char *sourcefile, int sourceline);
probe rescue(char *sourcefile, int sourceline);
};
</pre></code>

DTrace is a very powerful tool that has proven to be extremely useful when debugging live applications. MacRuby ships with several DTrace scripts in "/Developer/Examples/Ruby/MacRuby/DTrace":http://www.macruby.org/trac/browser/MacRuby/trunk/sample-macruby/DTrace to profile various things such as method count, duration or even objects collected by the GC.

h3. Runtime Objective-C API

MacRuby now exposes "an Objective-C API":http://www.macruby.org/trac/browser/MacRuby/trunk/include/ruby/objc.h that can be used to control the runtime from a pure Cocoa environment.

<code><pre class="commands">
$ cat hello_macruby.m
#import <Foundation/Foundation.h>
#import <MacRuby/MacRuby.h>

int main(void) {
id proc = [[MacRuby sharedRuntime] evaluateString:@"proc { |x| puts \"hello #{x}\"}"];
[proc performRubySelector:@selector(call:) withArguments:@"MacRuby"];
return 0;
}
$ gcc hello_macruby.m -o hello_macruby -framework Foundation -framework MacRuby -fobjc-gc
$ ./hello_macruby
hello MacRuby
</pre></code>

It should be helpful if you are working on an Objective-C Cocoa application and are considering using MacRuby to either implement new functionalities or to provide a scripting interface to your native objects.

h3. New Xcode Templates

A "MacRuby Core Data Application" template is now available, as well as an "Embed MacRuby" target. The latter can be used to embed MacRuby.framework inside your application bundle. Embedding the framework allows you to distribute your application to users and not require them to install MacRuby.

h3. A Better HotCocoa

HotCocoa is a thin, idiomatic Ruby layer that sits above Cocoa and other frameworks. It was introduced in MacRuby 0.3 and it has been significantly improved in 0.4.

New mappings for XML parser, KVO array/set accessors, property lists and more AppKit components were added as well as lots of bug fixes and improvements.

A "deploy" task was added to the project's Rakefile. This new task prepares an application for deployment by embedding the MacRuby runtime inside its bundle (similar to what the Xcode's Embed MacRuby target does). Once the "macrake deploy" task is complete, you can share your .app with friends who do not have MacRuby installed on their machine.

But the most interesting change is probably the new graphics layer, called "HotCocoa::Graphics":http://hcg.drtoast.com/. It provides a simple object-oriented interface into the power of Mac OS X's Core Graphics and Core Image drawing libraries.

h3. Misc Changes

Over the list of minor changes, Set has been reimplemented on top of NSSet and NSNumber implements the Numeric methods. Finally, the standard library was updated to Ruby 1.9.1's version.

h3. Caveat Lector

While MacRuby 0.4 turns out to be pretty stable when it comes to Cocoa development, there are still a few problems with C extensions, RubyGems and Ruby IOs. We recommend to use the corresponding Cocoa APIs (when they exist) in the meantime we work on these issues.

We hope that you will enjoy this release. Please let us know if you find any problems.

Stay tuned for more details about the next release: 0.5, which will be focusing on performance.
22 changes: 22 additions & 0 deletions content/blog/2009/03/index.txt
@@ -0,0 +1,22 @@
---
title: 03
created_at: 2009-03-09 08:24:51.723722 -04:00
filter: erb
dirty: true
---
<h2><%= h(@page.title) %></h2>

<%
articles = @pages.find(:all, :in_directory => @page.dir, :recursive => true,
:sort_by => "created_at", :reverse => true, :blog_post => true)
articles.delete(@page)
paginate(articles, 10) do |page|
-%>
<div class="article">
<h1><%= link_to_page(page) %><span class="date">(<%= page.created_at.strftime('%Y-%m-%d') %>)</span></h1>

<div class="body">
<%= render(page) %>
</div>
</div>
<% end -%>
22 changes: 22 additions & 0 deletions content/blog/2009/index.txt
@@ -0,0 +1,22 @@
---
title: 2009
created_at: 2009-03-09 08:24:51.720381 -04:00
filter: erb
dirty: true
---
<h2><%= h(@page.title) %></h2>

<%
articles = @pages.find(:all, :in_directory => @page.dir, :recursive => true,
:sort_by => "created_at", :reverse => true, :blog_post => true)
articles.delete(@page)
paginate(articles, 10) do |page|
-%>
<div class="article">
<h1><%= link_to_page(page) %><span class="date">(<%= page.created_at.strftime('%Y-%m-%d') %>)</span></h1>

<div class="body">
<%= render(page) %>
</div>
</div>
<% end -%>
15 changes: 15 additions & 0 deletions content/css/master.css
Expand Up @@ -164,13 +164,24 @@ h1.title {
margin-bottom: 10px;
}

div#blog_backlink {
margin-top: 10px;
}

h2 {
font-size: 24px;
font-family: Georgia, Times, serif;
line-height: 30px;
color: #333;
}

h3 {
font-size: 14px;
font-family: Georgia, Times, serif;
line-height: 20px;
color: #333;
}

p {margin-bottom: 10px;}

pre.commands {
Expand Down Expand Up @@ -200,6 +211,10 @@ div.article .title a {
text-decoration: none;
}

div.article .title a:hover {
text-decoration: underline;
}

div.article .date {
padding-top: 7px;
float: right;
Expand Down
1 change: 1 addition & 0 deletions content/index.txt
@@ -1,6 +1,7 @@
---
title: Home
created_at: 2008-08-02 14:06:40.000000 -06:00
dirty: true
filter:
- erb
---
Expand Down
43 changes: 43 additions & 0 deletions layouts/blog_entry.txt
@@ -0,0 +1,43 @@
---
extension: html
filter: erb
---
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<%= render :partial => "/standard-head" %>
<body>
<div id="nest">
<a href="/"><img src="/images/macruby_logo.png" alt="MacRuby" id="logo" /></a>
<div id="current_version">
Current Version 0.4
</div>
<%= render :partial => "/navigation" %>

<div id="rightcol">

<%= render :partial => "/steps" %>
<%= render :partial => "/events" %>

</div><!-- // end rightcol -->
<div id="leftcol">
<div id="blog_backlink">
<a href="/blog/index.html">&laquo; Back to MacRuby Blog</a>
</div>
<div class="article">
<div class="header">
<div class="date"><%= @page.created_at.strftime('%Y-%m-%d') %></div>
<div class="title"><%= link_to_page(@page) %></div>
</div>
<div class="author">
By <%= @page.author %>
</div>
<div class="body">
<%= @content %>
</div>
</div>
</div><!-- // end leftcol -->
</div><!-- // end nest -->
</body>
</html>
48 changes: 6 additions & 42 deletions layouts/default.txt
Expand Up @@ -6,56 +6,20 @@ filter: erb
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>MacRuby &raquo; <%= @page.title %></title>
<meta name="author" content="<%= @page.author %>" />
<link rel="stylesheet" href="/css/reset.css" type="text/css" media="screen" />
<link rel="stylesheet" href="/css/master.css" type="text/css" media="screen" />

<!-- CodeRay syntax highlighting CSS -->
<link rel="stylesheet" href="/css/coderay.css" type="text/css" />

</head>

<%= render :partial => "/standard-head" %>
<body>
<div id="nest">
<a href="/"><img src="/images/macruby_logo.png" alt="MacRuby" id="logo" /></a>
<div id="current_version">
Current Version 0.4
</div>
<ul id="nav">
<li><a href="/" title="Home"><img src="/images/nav_home.png" alt="Home" /></a></li>
<li><a href="/downloads.html" title="Downloads"><img src="/images/nav_downloads.png" alt="Downloads" /></a></li>
<li><a href="/source.html" title="Source"><img src="/images/nav_source.png" alt="Source" /></a></li>
<li><a href="/documentation.html" title="Documentation"><img src="/images/nav_documentation.png" alt="Home" /></a></li>
<li><a href="http://www.macruby.org/trac/report/1" title="Tickets"><img src="/images/nav_tickets.png" alt="Tickets" /></a></li>
<li class="last"><img src="/images/three_easy_steps.png" alt="" id="3steps" /></li>
</ul><!-- // end nav -->
<%= render :partial => "/navigation" %>

<div id="rightcol">
<div id="step1">
<a href="http://www.macruby.org/files/MacRuby%200.4.zip" id="zip"><img src="/images/zip.png" width="100" height="100" /></a>
<p>or <a href="/source.html">checkout source from svn...</a>

</div><!-- // end step1 -->
<div id="step2">

</div><!-- // end step2 -->
<div id="step3">
<p>Check out the <a href="">tutorial</a> and other learning resources and examples available for MacRuby.</p>
</div><!-- // end step3 -->


<div id="eventbox">
<h3><img src="/images/h3_macruby-events.png" alt="MacRuby Events" /></h3>
<% macruby_events.each do |event| -%>
<p><span class="date"><%= event.date %> &raquo;</span> <a href="<%= event.href %>"><%= event.name %></a><br />
<%= event.location %><br />
<%= event.topic %></p>
<% end %>
</div><!-- // end events -->

<%= render :partial => "/steps" %>
<%= render :partial => "/events" %>

</div><!-- // end rightcol -->
<div id="leftcol">
<%= @content %>
Expand Down

0 comments on commit 4b6b9fa

Please sign in to comment.