diff --git a/History.txt b/History.txt index d0091fd0..5672af18 100644 --- a/History.txt +++ b/History.txt @@ -1,4 +1,4 @@ -== HEAD +== 0.11.0 / 2011-07-10 * Major Enhancements * Add command line importer functionality (#253) * Add Redcarpet Markdown support (#318) diff --git a/doc/output/book.html b/doc/output/book.html new file mode 100644 index 00000000..bf20ced7 --- /dev/null +++ b/doc/output/book.html @@ -0,0 +1,574 @@ + + + + + +Jekyll + + + + + +
+

1. Preface

+
+

Jekyll was born out the desire to create a blog engine that would make it +possible to write posts in my local text editor, version those posts with Git, +and keep up with my desire to tweak the styles and layout of my site.

+

In other words, I wanted something that fit into my existing software +development workflow and toolchain. Jekyll handles not only this case, but a +wide variety of other situations that call for static site generation based on +converted content and layout templates.

+

At its core, Jekyll is a text transformation engine. The concept behind the +system is this: you give it text written in your favorite markup language, be +that Markdown, Textile, or just plain HTML, and it churns that through a +layout or series of layout files. Throughout that process you can tweak how +you want the site URLs to look, what data gets displayed on the layout and +much more.

+

If you’re looking for a simple, yet powerful solution to your blogging or +static site needs, Jekyll may be just what you’ve been looking for.

+

1.1. What this book covers

+

Chapter 1, Quick Start covers installation, introduces the Jekyll command +line interface, and runs through a quick example demonstrating the site +generator, post generator and how to convert your Jekyll site into a static +site.

+

Chapter 2, Directory Layout covers the various files and directories that +comprise a Jekyll site.

+

Chapter 3, Tags and Filters

+

Chapter X, Deploying your Jekyll Site

+

Chapter X, Customizing Jekyll with Plugins

+

Chapter X, Migrating to Jekyll from your Existing Blog

+

Chapter X, Configuration Reference

+
+

2. Chapter 1: Quick Start

+
+

This chapter is designed to get you up and running with Jekyll as quickly as +possible.

+

2.1. Installation

+

The best way to install Jekyll is via RubyGems:

+
+
+
gem install jekyll
+
+

This is all you need in order to get started with a basic Jekyll site. Some +options require additional packages to be installed.

+

If you encounter errors during gem installation, you may need to install the +header files for compiling extension modules for ruby 1.8:

+
+
Debian
+
+
sudo apt-get install ruby1.8-dev
+
+
+
Red Hat / CentOS / Fedora systems
+
+
sudo yum install ruby-devel
+
+
+
NearlyFreeSpeech
+
+
RB_USER_INSTALL=true gem install jekyll
+
+

If you encounter errors like Failed to build gem native extension on Windows +you may need to install RubyInstaller +DevKit.

+

2.1.1. LaTeX to PNG

+

Maruku comes with optional support for LaTeX to PNG rendering via blahtex +(Version 0.6) which must be in your $PATH along with @dvips@.

+

(NOTE: "remi’s fork of Maruku":http://github.com/remi/maruku/tree/master does +not assume a fixed location for @dvips@ if you need that fixed)

+

2.1.2. RDiscount

+

If you prefer to use +RDiscount instead of +Maruku for markdown, just make sure it’s +installed:

+
+
+
sudo gem install rdiscount
+
+

And run Jekyll with the following option:

+
+
+
jekyll --rdiscount
+
+

Or, in your @_config.yml@ file put the following so you don’t have to specify the flag:

+
+
+
markdown: rdiscount
+
+

2.1.3. Pygments

+

If you want syntax highlighting via the @{% highlight %}@ tag in your posts, +you’ll need to install Pygments.

+
+
On OSX with Homebrew
+
+
brew install pip && pip install pygments
+
+
+
On OSX with MacPorts
+
+
sudo port install python25 py25-pygments
+
+
+
Bare OS X Leopard
+
+
sudo easy_install Pygments
+
+
+
Archlinux
+
+
sudo pacman -S python-pygments
+
+
+
Archlinux python2 for Pygments
+
+
$ sudo pacman -S python2-pygments
+
+
+ + + +
+
Note
+
python2 pygments version creates a pygmentize2 executable, while +Jekyll tries to find pygmentize. Either create a symlink # ln -s +/usr/bin/pygmentize2 /usr/bin/pygmentize or use the python3 version.
+
+
+
Ubuntu and Debian
+
+
sudo apt-get install python-pygments
+
+
+
Gentoo
+
+
$ sudo emerge -av dev-python/pygments
+
+

2.2. Creating your First Site

+

Jekyll comes with a handy generator that will create a barebones skeleton site +to help you get up and running in no time. Simply create an empty directory to +contain your site, navigate to it, and run the generator command:

+
+
+
$ mkdir mysite
+$ cd mysite
+$ jekyll gen
+
+

Make sure the directory is empty or Jekyll will refuse to run. If everything +was successful, you’ll be left with a complete, valid Jekyll site that’s ready +to be converted into a static site.

+

To perform the conversion, make sure you’re in the root of your Jekyll site +directory and run:

+
+
+
$ jekyll --server
+
+

If all goes well, you should get a few lines with information about config +file detection, source and destination paths, and a success message.

+

The --server command line option fires up a simple web server that will +serve the static site we just generated so that we can easily preview what it +will look like once we deploy it to a production environment.

+

Open up your favorite web browser and navigate to:

+
+
+
http://localhost:4000
+
+

Congratulations! You have now successfully created and converted your first +Jekyll site!

+
+

3. Chapter 2: Directory Layout

+
+

If you followed the Quick Start in the last chapter, you have a Jekyll site on +your local machine. Let’s take a closer look at it and see what makes it tick. +The file layout should look something like this:

+
+
+
.
+|-- _config.yml
+|-- _layouts
+|   |-- default.html
+|   `-- post.html
+|-- _posts
+|   |-- 2007-10-29-why-every-programmer-should-play-nethack.textile
+|   `-- 2009-04-26-barcamp-boston-4-roundup.textile
+|-- _site
+|-- images
+|   `-- logo.png
+`-- index.html
+
+

Notice that some of the files and directories begin with an underscore. These +have special meaning to Jekyll. The underscore ensures that they will not +interfere with the rest of your site’s normal content. It also means that if +any of your normal files start with an underscore, they will cause problems, +so try to avoid this.

+

3.1. _config.yml

+

This file stores configuration data. A majority of these options can be +specified from the command line executable but it’s easier to throw them in +here so you don’t have to type them out every time. Detailed explanations of +configuration directives can be found in Chapter X.

+

3.2. _layouts

+

Files in this directory represent templates that can be used to wrap converted +pages. Layouts are defined on a page-by-page basis in the YAML front matter. +The liquid tag {{ content }} specifies where the content will be placed +during the conversion process.

+

3.3. _posts

+

If you’re using Jekyll as a blog engine, this is where you’ll place your blog +posts. A post’s filename contains several pieces of data, so you must be very +careful about how these files are named. The filename format is: +YEAR-MONTH-DATE-SLUG.MARKUP. The YEAR must be four numbers and the MONTH and +DATE must be two numbers each. The SLUG is what will appear in the URL. The +MARKUP tells Jekyll the format of the post. The date and slug will be used +along with any permalink options you specify (See Chapter X) to construct the +final URL of the post.

+

3.4. _site

+

This is where the generated site will be placed (by default) once Jekyll is +done transforming it. If you’re using version control, you’ll want to add this +directory to the list of files to be ignored.

+

3.5. Normal Files with YAML Front Matter

+

All files outside of the special underscore directories and that do not +themselves begin with an underscore will be scanned by Jekyll and subjected to +conversion if they contain any YAML front matter.

+

3.6. Everything Else

+

Any files and directories that do not fall into one of the above categories +will be copied to the static site as-is without modification. In this example, +images/logo.png will be copied to the same location in the generated site.

+

h2. Running Jekyll

+

Usually this is done through the @jekyll@ executable, which is installed with +the gem. In order to get a server up and running with your Jekyll site, run:

+

@jekyll --server@

+

and then browse to http://0.0.0.0:4000. There’s plenty of available to you as well.

+

On Debian or Ubuntu, you may need to add @/var/lib/gems/1.8/bin/@ to your path.

+

h2. Deployment

+

Since Jekyll simply generates a folder filled with HTML files, it can be +served using practically any available web server out there. Please check the + page for more information regarding specific scenarios.

+
+
+

+ + + diff --git a/doc/output/ch00-preface.asc b/doc/output/ch00-preface.asc new file mode 100644 index 00000000..fe3d9908 --- /dev/null +++ b/doc/output/ch00-preface.asc @@ -0,0 +1,41 @@ +== Preface + +Jekyll was born out the desire to create a blog engine that would make it +possible to write posts in my local text editor, version those posts with Git, +and keep up with my desire to tweak the styles and layout of my site. + +In other words, I wanted something that fit into my existing software +development workflow and toolchain. Jekyll handles not only this case, but a +wide variety of other situations that call for static site generation based on +converted content and layout templates. + +At its core, Jekyll is a text transformation engine. The concept behind the +system is this: you give it text written in your favorite markup language, be +that Markdown, Textile, or just plain HTML, and it churns that through a +layout or series of layout files. Throughout that process you can tweak how +you want the site URLs to look, what data gets displayed on the layout and +much more. + +If you're looking for a simple, yet powerful solution to your blogging or +static site needs, Jekyll may be just what you've been looking for. + + +=== What this book covers + +_Chapter 1, Quick Start_ covers installation, introduces the Jekyll command +line interface, and runs through a quick example demonstrating the site +generator, post generator and how to convert your Jekyll site into a static +site. + +_Chapter 2, Directory Layout_ covers the various files and directories that +comprise a Jekyll site. + +_Chapter 3, Tags and Filters_ + +_Chapter X, Deploying your Jekyll Site_ + +_Chapter X, Customizing Jekyll with Plugins_ + +_Chapter X, Migrating to Jekyll from your Existing Blog_ + +_Chapter X, Configuration Reference_ \ No newline at end of file diff --git a/doc/output/ch01-quick-start.asc b/doc/output/ch01-quick-start.asc new file mode 100644 index 00000000..b287e435 --- /dev/null +++ b/doc/output/ch01-quick-start.asc @@ -0,0 +1,153 @@ +== Chapter 1: Quick Start + +This chapter is designed to get you up and running with Jekyll as quickly as +possible. + + +=== Installation + +The best way to install Jekyll is via RubyGems: + +---- +gem install jekyll +---- + +This is all you need in order to get started with a basic Jekyll site. Some +options require additional packages to be installed. + +If you encounter errors during gem installation, you may need to install the +header files for compiling extension modules for ruby 1.8: + +.Debian +---- +sudo apt-get install ruby1.8-dev +---- + +.Red Hat / CentOS / Fedora systems +---- +sudo yum install ruby-devel +---- + +.NearlyFreeSpeech +---- +RB_USER_INSTALL=true gem install jekyll +---- + +If you encounter errors like +Failed to build gem native extension+ on Windows +you may need to install http://wiki.github.com/oneclick/rubyinstaller/development-kit[RubyInstaller +DevKit]. + +==== LaTeX to PNG + +Maruku comes with optional support for LaTeX to PNG rendering via blahtex +(Version 0.6) which must be in your $PATH along with @dvips@. + +(NOTE: "remi's fork of Maruku":http://github.com/remi/maruku/tree/master does +not assume a fixed location for @dvips@ if you need that fixed) + +==== RDiscount + +If you prefer to use +http://github.com/rtomayko/rdiscount/tree/master[RDiscount] instead of +http://maruku.rubyforge.org/[Maruku] for markdown, just make sure it's +installed: + +---- +sudo gem install rdiscount +---- + +And run Jekyll with the following option: + +---- +jekyll --rdiscount +---- + +Or, in your @_config.yml@ file put the following so you don't have to specify the flag: + +---- +markdown: rdiscount +---- + +==== Pygments + +If you want syntax highlighting via the @{% highlight %}@ tag in your posts, +you'll need to install http://pygments.org/[Pygments]. + +.On OSX with Homebrew +---- +brew install pip && pip install pygments +---- + +.On OSX with MacPorts +---- +sudo port install python25 py25-pygments +---- + +.Bare OS X Leopard +---- +sudo easy_install Pygments +---- + +.Archlinux +---- +sudo pacman -S python-pygments +---- + +.Archlinux python2 for Pygments +---- +$ sudo pacman -S python2-pygments +---- + +NOTE: python2 pygments version creates a `pygmentize2` executable, while +Jekyll tries to find `pygmentize`. Either create a symlink `# ln -s +/usr/bin/pygmentize2 /usr/bin/pygmentize` or use the python3 version. + +.Ubuntu and Debian +---- +sudo apt-get install python-pygments +---- + +.Gentoo +---- +$ sudo emerge -av dev-python/pygments +---- + + +=== Creating your First Site + +Jekyll comes with a handy generator that will create a barebones skeleton site +to help you get up and running in no time. Simply create an empty directory to +contain your site, navigate to it, and run the generator command: + +---- +$ mkdir mysite +$ cd mysite +$ jekyll gen +---- + +Make sure the directory is empty or Jekyll will refuse to run. If everything +was successful, you'll be left with a complete, valid Jekyll site that's ready +to be converted into a static site. + +To perform the conversion, make sure you're in the root of your Jekyll site +directory and run: + +---- +$ jekyll --server +---- + +If all goes well, you should get a few lines with information about config +file detection, source and destination paths, and a success message. + +The `--server` command line option fires up a simple web server that will +serve the static site we just generated so that we can easily preview what it +will look like once we deploy it to a production environment. + +Open up your favorite web browser and navigate to: + +---- +http://localhost:4000 +---- + +Congratulations! You have now successfully created and converted your first +Jekyll site! \ No newline at end of file diff --git a/doc/output/ch02-directory-layout.asc b/doc/output/ch02-directory-layout.asc new file mode 100644 index 00000000..d9cbcb5b --- /dev/null +++ b/doc/output/ch02-directory-layout.asc @@ -0,0 +1,90 @@ +== Chapter 2: Directory Layout + +If you followed the Quick Start in the last chapter, you have a Jekyll site on +your local machine. Let's take a closer look at it and see what makes it tick. +The file layout should look something like this: + +---- +. +|-- _config.yml +|-- _layouts +| |-- default.html +| `-- post.html +|-- _posts +| |-- 2007-10-29-why-every-programmer-should-play-nethack.textile +| `-- 2009-04-26-barcamp-boston-4-roundup.textile +|-- _site +|-- images +| `-- logo.png +`-- index.html +---- + +Notice that some of the files and directories begin with an underscore. These +have special meaning to Jekyll. The underscore ensures that they will not +interfere with the rest of your site's normal content. It also means that if +any of your normal files start with an underscore, they will cause problems, +so try to avoid this. + +=== _config.yml + +This file stores configuration data. A majority of these options can be +specified from the command line executable but it's easier to throw them in +here so you don't have to type them out every time. Detailed explanations of +configuration directives can be found in Chapter X. + +=== _layouts + +Files in this directory represent templates that can be used to wrap converted +pages. Layouts are defined on a page-by-page basis in the YAML front matter. +The liquid tag +{{ content }}+ specifies where the content will be placed +during the conversion process. + +=== _posts + +If you're using Jekyll as a blog engine, this is where you'll place your blog +posts. A post's filename contains several pieces of data, so you must be very +careful about how these files are named. The filename format is: ++YEAR-MONTH-DATE-SLUG.MARKUP+. The YEAR must be four numbers and the MONTH and +DATE must be two numbers each. The SLUG is what will appear in the URL. The +MARKUP tells Jekyll the format of the post. The date and slug will be used +along with any permalink options you specify (See Chapter X) to construct the +final URL of the post. + +=== _site + +This is where the generated site will be placed (by default) once Jekyll is +done transforming it. If you're using version control, you'll want to add this +directory to the list of files to be ignored. + +=== Normal Files with YAML Front Matter + +All files outside of the special underscore directories and that do not +themselves begin with an underscore will be scanned by Jekyll and subjected to +conversion if they contain any YAML front matter. + +=== Everything Else + +Any files and directories that do not fall into one of the above categories +will be copied to the static site as-is without modification. In this example, ++images/logo.png+ will be copied to the same location in the generated site. + + + + +h2. Running Jekyll + +Usually this is done through the @jekyll@ executable, which is installed with +the gem. In order to get a server up and running with your Jekyll site, run: + +@jekyll --server@ + +and then browse to http://0.0.0.0:4000. There's plenty of [[configuration +options|Configuration]] available to you as well. + +On Debian or Ubuntu, you may need to add @/var/lib/gems/1.8/bin/@ to your path. + +h2. Deployment + +Since Jekyll simply generates a folder filled with HTML files, it can be +served using practically any available web server out there. Please check the +[[Deployment]] page for more information regarding specific scenarios. diff --git a/doc/output/stylesheets/handbookish-quirks.css b/doc/output/stylesheets/handbookish-quirks.css new file mode 100644 index 00000000..e69de29b diff --git a/doc/output/stylesheets/handbookish.css b/doc/output/stylesheets/handbookish.css new file mode 100644 index 00000000..f07cdf57 --- /dev/null +++ b/doc/output/stylesheets/handbookish.css @@ -0,0 +1,231 @@ +/* BEG */ +/* --------------------------------------------------------------------------- + Bare AsciiDoc styles + Ryan Tomayko +--------------------------------------------------------------------------- */ + +body { + font-family:verdana,helvetica,arial,sans-serif; + font-size:81.25%; /* 13px */ + line-height:1.538; /* 20px */ + margin:40px 50px; + max-width:53.8461538462em; /* 790px */ + color:#333; +} + +em { + font-style:italic; +} + +strong { + font-weight:bold; + color:#000; +} + +tt { + font-family:consolas, 'lucida console', 'bitstream vera sans mono', + 'courier new', monospace; + color:#000; +} + +p, ul, ol, dl { + margin:10px 0 +} + +dl { } + +dt { + font-weight:normal; + color:#000; +} + +h1, h2, h3, h4, h5 { + font-family:'lucida grande',georgia,verdana,helvetica,arial,sans-serif; + font-weight:normal; + color:#000; +} + +h1 { + font-size:30px; + line-height:1.428; + margin:20px 0; +} + +h2 { + font-size:23px; + line-height:1.36363636; /* repeating, of course */ + margin:20px 0; +} + +h2 + .sectionbody {} + +h3 { + font-size:18px; + line-height:1.1; + margin:30px 0 10px 0; +} + +h4 { + font-size:13px; + font-weight:bold; + line-height:1.538; +} + +h5 { + font-size:13px; + font-style:italic; + line-height:1.538; +} + +pre { + font-size:larger; +} + +#header { + text-align:center; + margin-bottom:30px; +} + +#header h1 { margin-bottom:0 } + + +.title, .sidebar-title { + font-weight:normal; + margin-bottom:0; +} + +.admonitionblock .title { + font-weight:bold; +} + +.admonitionblock { + margin:30px 0px; + color:#555; +} + +.admonitionblock td.icon { + width:30px; + padding-right:20px; + padding-left:20px; + text-transform:uppercase; + font-weight:bold; + color:#888; +} + +.listingblock .content { + border:1px solid silver; + background:#eee; + padding:5px; +} + +.listingblock .content pre { + margin:0; +} + +.literalblock .content { + margin-left:40px; +} + +.verseblock .content { + white-space:pre +} + +.sidebarblock .sidebar-content { + border:1px solid silver; + background:#FFFFEE; + padding:0 10px; + color:#222; + font-size:smaller; + line-height:1.5; +} + +.sidebar-title { + margin:10px 0; + font-weight:bold; + color:#442; +} + +.quoteblock-content { + font-style:italic; + color:#444; + margin-left:40px; +} + +.quoteblock-content .attribution { + font-style:normal; + text-align:right; + color:#000; +} + +.exampleblock-content *:first-child { margin-top:0 } +.exampleblock-content { + border-left:2px solid silver; + padding-left:8px; +} + +#footer { + font-size:11px; + margin-top:40px; + border-top:1px solid silver; + color:#555; +} + +#author { + color:#000; + text-transform:uppercase +} + +/* vim: set ft=css ts=4 sw=4 noexpandtab: */ + +/* END @import url(bare.css); */ + +/* --------------------------------------------------------------------------- + FreeBSD AsciiDoc Theme + Ryan Tomayko + + Based on The FreeBSD Handbook and various other FreeBSD documenration. +--------------------------------------------------------------------------- */ + +body { + font-family:verdana,helvetica,arial,sans-serif; + font-size:100%; + color:#000; +} + +tt { color:#007A00 } +pre tt { color:#000 } + +dt { color:#000 } + +h1, h2, h3, h4, h5 { + font-family:'lucida grande',helvetica,verdana,sans-serif; + color:#900; + font-weight:bold; +} + +#header { + text-align:left; +} +#header h1 { margin-bottom:40px } + +h1 { + font-size:36px; + line-height:1; + margin:40px 0; +} + +h2 { + font-size:28px; + line-height:1; + margin:30px 0 20px 0; +} + +.sectionbody { + margin-left:30px; +} + +pre { + background:#EEE; +} + +/* vim: set ft=css ts=4 sw=4 noexpandtab: */ diff --git a/doc/output/stylesheets/scribe-quirks.css b/doc/output/stylesheets/scribe-quirks.css new file mode 100644 index 00000000..e69de29b diff --git a/doc/output/stylesheets/scribe.css b/doc/output/stylesheets/scribe.css new file mode 100644 index 00000000..a1866a77 --- /dev/null +++ b/doc/output/stylesheets/scribe.css @@ -0,0 +1,177 @@ +/* --------------------------------------------------------------------------- + Bare AsciiDoc styles + Ryan Tomayko +--------------------------------------------------------------------------- */ + +body { + font-family:verdana,helvetica,arial,sans-serif; + font-size:81.25%; /* 13px */ + line-height:1.538; /* 20px */ + margin:40px auto 50px auto; + max-width:53.8461538462em; /* 790px */ + color:#333; +} + +em { + font-style:italic; +} + +strong { + font-weight:bold; + color:#000; +} + +tt { + font-family:consolas, 'lucida console', 'bitstream vera sans mono', + 'courier new', monospace; + color:#000; +} + +p, ul, ol, dl { + margin:10px 0 +} + +dl { + margin-left:40px +} + +dt { + font-weight:normal; + color:#000; +} + +h1, h2, h3, h4, h5 { + font-family:'lucida grande',georgia,verdana,helvetica,arial,sans-serif; + font-weight:normal; + color:#000; +} + +h1 { + font-size:40px; + line-height:1.428; + margin:20px 0; +} + +h2 { + font-size:30px; + line-height:1.36363636; /* repeating, of course */ + margin:60px 0 20px 0; +} + +h2 + .sectionbody {} + +h3 { + font-size:24px; + line-height:1.1; + margin:30px 0 10px 0; +} + +h4 { + font-size:18px; + line-height:1.1; + margin:20px 0 5px 0; +} + +h5 { + font-size:13px; + font-style:italic; + line-height:1.1; +} + +#header { + text-align:center; + margin-bottom:30px; +} + +#header h1 { margin-bottom:0 } + +.title, .sidebar-title { + font-weight:normal; + color:#000; + margin-bottom:0; +} + +.admonitionblock .title { + font-weight:bold; +} + +.admonitionblock { + margin:30px 0px; + color:#555; +} + +.admonitionblock td.icon { + width:30px; + padding-right:20px; + padding-left:20px; + text-transform:uppercase; + font-weight:bold; + color:#888; +} + +.listingblock { + margin: 13px 0; +} + +.listingblock .content { + border:1px solid silver; + background:#eee; + padding:5px; +} + +.listingblock .content pre { + margin:0; +} + +.literalblock .content { + margin-left:40px; +} + +.verseblock .content { + white-space:pre +} + +.sidebarblock .sidebar-content { + border:1px solid silver; + background:#FFFFEE; + padding:0 10px; + color:#222; + font-size:smaller; + line-height:1.5; +} + +.sidebar-title { + margin:10px 0; + font-weight:bold; + color:#442; +} + +.quoteblock-content { + font-style:italic; + color:#444; + margin-left:40px; +} + +.quoteblock-content .attribution { + font-style:normal; + text-align:right; + color:#000; +} + +.exampleblock-content *:first-child { margin-top:0 } +.exampleblock-content { + border-left:2px solid silver; + padding-left:8px; +} + +#footer { + font-size:11px; + margin-top:40px; + border-top:1px solid silver; + color:#555; +} + +#author { + color:#000; + text-transform:uppercase +} \ No newline at end of file diff --git a/g.pl b/g.pl new file mode 100644 index 00000000..32281c11 --- /dev/null +++ b/g.pl @@ -0,0 +1,48 @@ +#!/usr/bin/perl +#fetch Gravatars + +use strict; +use warnings; + +use LWP::Simple; +use Digest::MD5 qw(md5_hex); + +my $size = 90; +my $output_dir = '.git/avatar'; + +die("no .git/ directory found in current path\n") unless -d '.git'; + +mkdir($output_dir) unless -d $output_dir; + +open(GITLOG, q/git log --pretty=format:"%ae|%an" |/) or die("failed to read git-log: $!\n"); + +my %processed_authors; + +while() { + chomp; + my($email, $author) = split(/\|/, $_); + + next if $processed_authors{$author}++; + + my $author_image_file = $output_dir . '/' . $author . '.png'; + + #skip images we have + next if -e $author_image_file; + + #try and fetch image + + my $grav_url = "http://www.gravatar.com/avatar/".md5_hex(lc $email)."?d=404&size=".$size; + + warn "fetching image for '$author' $email ($grav_url)...\n"; + + my $rc = getstore($grav_url, $author_image_file); + + sleep(1); + + if($rc != 200) { + unlink($author_image_file); + next; + } +} + +close GITLOG; diff --git a/jekyll.gemspec b/jekyll.gemspec index 7e45db2e..9be0c0c1 100644 --- a/jekyll.gemspec +++ b/jekyll.gemspec @@ -4,8 +4,8 @@ Gem::Specification.new do |s| s.rubygems_version = '1.3.5' s.name = 'jekyll' - s.version = '0.10.0' - s.date = '2011-05-30' + s.version = '0.11.0' + s.date = '2011-07-10' s.rubyforge_project = 'jekyll' s.summary = "A simple, blog aware, static site generator." @@ -46,6 +46,14 @@ Gem::Specification.new do |s| Rakefile bin/jekyll cucumber.yml + doc/output/book.html + doc/output/ch00-preface.asc + doc/output/ch01-quick-start.asc + doc/output/ch02-directory-layout.asc + doc/output/stylesheets/handbookish-quirks.css + doc/output/stylesheets/handbookish.css + doc/output/stylesheets/scribe-quirks.css + doc/output/stylesheets/scribe.css features/create_sites.feature features/embed_filters.feature features/markdown.feature @@ -56,6 +64,7 @@ Gem::Specification.new do |s| features/site_data.feature features/step_definitions/jekyll_steps.rb features/support/env.rb + g.pl jekyll.gemspec lib/jekyll.rb lib/jekyll/converter.rb @@ -88,6 +97,8 @@ Gem::Specification.new do |s| lib/jekyll/static_file.rb lib/jekyll/tags/highlight.rb lib/jekyll/tags/include.rb + output/stylesheets/scribe-quirks.css + output/stylesheets/scribe.css test/helper.rb test/source/.htaccess test/source/_includes/sig.markdown @@ -116,6 +127,8 @@ Gem::Specification.new do |s| test/source/_posts/2010-01-09-time-override.textile test/source/_posts/2010-01-09-timezone-override.textile test/source/_posts/2010-01-16-override-data.textile + test/source/_posts/2011-04-12-md-extension.md + test/source/_posts/2011-04-12-text-extension.text test/source/about.html test/source/category/_posts/2008-9-23-categories.textile test/source/contacts.html diff --git a/lib/jekyll.rb b/lib/jekyll.rb index 36642a26..9b66199c 100644 --- a/lib/jekyll.rb +++ b/lib/jekyll.rb @@ -46,7 +46,7 @@ require_all 'jekyll/generators' require_all 'jekyll/tags' module Jekyll - VERSION = '0.10.0' + VERSION = '0.11.0' # Default options. Overriden by values in _config.yml or command-line opts. # (Strings rather symbols used for compatability with YAML). diff --git a/output/stylesheets/scribe-quirks.css b/output/stylesheets/scribe-quirks.css new file mode 100644 index 00000000..e69de29b diff --git a/output/stylesheets/scribe.css b/output/stylesheets/scribe.css new file mode 100644 index 00000000..a1866a77 --- /dev/null +++ b/output/stylesheets/scribe.css @@ -0,0 +1,177 @@ +/* --------------------------------------------------------------------------- + Bare AsciiDoc styles + Ryan Tomayko +--------------------------------------------------------------------------- */ + +body { + font-family:verdana,helvetica,arial,sans-serif; + font-size:81.25%; /* 13px */ + line-height:1.538; /* 20px */ + margin:40px auto 50px auto; + max-width:53.8461538462em; /* 790px */ + color:#333; +} + +em { + font-style:italic; +} + +strong { + font-weight:bold; + color:#000; +} + +tt { + font-family:consolas, 'lucida console', 'bitstream vera sans mono', + 'courier new', monospace; + color:#000; +} + +p, ul, ol, dl { + margin:10px 0 +} + +dl { + margin-left:40px +} + +dt { + font-weight:normal; + color:#000; +} + +h1, h2, h3, h4, h5 { + font-family:'lucida grande',georgia,verdana,helvetica,arial,sans-serif; + font-weight:normal; + color:#000; +} + +h1 { + font-size:40px; + line-height:1.428; + margin:20px 0; +} + +h2 { + font-size:30px; + line-height:1.36363636; /* repeating, of course */ + margin:60px 0 20px 0; +} + +h2 + .sectionbody {} + +h3 { + font-size:24px; + line-height:1.1; + margin:30px 0 10px 0; +} + +h4 { + font-size:18px; + line-height:1.1; + margin:20px 0 5px 0; +} + +h5 { + font-size:13px; + font-style:italic; + line-height:1.1; +} + +#header { + text-align:center; + margin-bottom:30px; +} + +#header h1 { margin-bottom:0 } + +.title, .sidebar-title { + font-weight:normal; + color:#000; + margin-bottom:0; +} + +.admonitionblock .title { + font-weight:bold; +} + +.admonitionblock { + margin:30px 0px; + color:#555; +} + +.admonitionblock td.icon { + width:30px; + padding-right:20px; + padding-left:20px; + text-transform:uppercase; + font-weight:bold; + color:#888; +} + +.listingblock { + margin: 13px 0; +} + +.listingblock .content { + border:1px solid silver; + background:#eee; + padding:5px; +} + +.listingblock .content pre { + margin:0; +} + +.literalblock .content { + margin-left:40px; +} + +.verseblock .content { + white-space:pre +} + +.sidebarblock .sidebar-content { + border:1px solid silver; + background:#FFFFEE; + padding:0 10px; + color:#222; + font-size:smaller; + line-height:1.5; +} + +.sidebar-title { + margin:10px 0; + font-weight:bold; + color:#442; +} + +.quoteblock-content { + font-style:italic; + color:#444; + margin-left:40px; +} + +.quoteblock-content .attribution { + font-style:normal; + text-align:right; + color:#000; +} + +.exampleblock-content *:first-child { margin-top:0 } +.exampleblock-content { + border-left:2px solid silver; + padding-left:8px; +} + +#footer { + font-size:11px; + margin-top:40px; + border-top:1px solid silver; + color:#555; +} + +#author { + color:#000; + text-transform:uppercase +} \ No newline at end of file