diff --git a/assets/images/icons.png b/assets/images/icons.png
index 710937f6..bde86806 100644
Binary files a/assets/images/icons.png and b/assets/images/icons.png differ
diff --git a/assets/images/icons@2x.png b/assets/images/icons@2x.png
index ff584af0..91e4ebc5 100644
Binary files a/assets/images/icons@2x.png and b/assets/images/icons@2x.png differ
diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee
index df8c3419..0941da85 100644
--- a/assets/javascripts/templates/pages/about_tmpl.coffee
+++ b/assets/javascripts/templates/pages/about_tmpl.coffee
@@ -98,6 +98,11 @@ credits = [
'2013 Yehuda Katz, Tom Dale and Ember.js contributors',
'MIT',
'https://raw.github.com/emberjs/ember.js/master/LICENSE'
+ ], [
+ 'Git',
+ '2005-2013 Linus Torvalds and others',
+ 'GPLv2',
+ 'https://raw.github.com/git/git/master/COPYING'
], [
'HTTP',
'1999 The Internet Society',
diff --git a/assets/javascripts/templates/pages/news_tmpl.coffee b/assets/javascripts/templates/pages/news_tmpl.coffee
index 35f51801..e6d2bafb 100644
--- a/assets/javascripts/templates/pages/news_tmpl.coffee
+++ b/assets/javascripts/templates/pages/news_tmpl.coffee
@@ -24,7 +24,10 @@ newsItem = (date, news) ->
result
app.news = [
- [ 1385424000000, # November 26, 2013
+ [ 1386892800000, # December 13, 2013
+ """ New Git documentation """
+ ], [
+ 1385424000000, # November 26, 2013
""" New Python documentation """
], [
1384819200000, # November 19, 2013
diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss
index 559d270c..9e3d3c43 100644
--- a/assets/stylesheets/application.css.scss
+++ b/assets/stylesheets/application.css.scss
@@ -31,6 +31,7 @@
'pages/coffeescript',
'pages/ember',
'pages/jquery',
+ 'pages/git',
'pages/less',
'pages/lodash',
'pages/mdn',
diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss
index 36f4e4de..c7a56322 100644
--- a/assets/stylesheets/global/_icons.scss
+++ b/assets/stylesheets/global/_icons.scss
@@ -42,3 +42,4 @@
._icon-ruby:before { background-position: -3rem -5rem; }
._icon-rails:before { background-position: -4rem -5rem; }
._icon-python:before { background-position: 0 -6rem; }
+._icon-git:before { background-position: -1rem -6rem; }
diff --git a/assets/stylesheets/pages/_git.scss b/assets/stylesheets/pages/_git.scss
new file mode 100644
index 00000000..9808dee5
--- /dev/null
+++ b/assets/stylesheets/pages/_git.scss
@@ -0,0 +1,7 @@
+._git {
+ > h2 { @extend %block-heading; }
+ h3 { font-size: 1rem; }
+ > .callout, > h1 + .sectionbody { @extend %note, %note-green; }
+ code { @extend %label; }
+ em { font-style: normal; }
+}
diff --git a/lib/docs/filters/git/clean_html.rb b/lib/docs/filters/git/clean_html.rb
new file mode 100644
index 00000000..5aafd0b4
--- /dev/null
+++ b/lib/docs/filters/git/clean_html.rb
@@ -0,0 +1,40 @@
+module Docs
+ class Git
+ class CleanHtmlFilter < Filter
+ def call
+ root_page? ? root : other
+ doc
+ end
+
+ def root
+ at_css('h1').content = 'Git'
+ end
+
+ def other
+ css('h1 + h2', '#_git + div', '#_git').remove
+
+ css('> div', 'pre > tt', 'pre > em', 'div.paragraph').each do |node|
+ node.before(node.children).remove
+ end
+
+ css('> h1').each do |node|
+ node.content = node.content.sub(/\(\d\) Manual Page/, '')
+ end
+
+ unless at_css('> h2')
+ css('> h3').each do |node|
+ node.name = 'h2'
+ end
+ end
+
+ css('h2').each do |node|
+ node.content = node.content.capitalize
+ end
+
+ css('tt', 'p > em').each do |node|
+ node.name = 'code'
+ end
+ end
+ end
+ end
+end
diff --git a/lib/docs/filters/git/entries.rb b/lib/docs/filters/git/entries.rb
new file mode 100644
index 00000000..afdca023
--- /dev/null
+++ b/lib/docs/filters/git/entries.rb
@@ -0,0 +1,9 @@
+module Docs
+ class Git
+ class EntriesFilter < Docs::EntriesFilter
+ def get_name
+ slug.sub '-', ' '
+ end
+ end
+ end
+end
diff --git a/lib/docs/scrapers/git.rb b/lib/docs/scrapers/git.rb
new file mode 100644
index 00000000..eb0796c1
--- /dev/null
+++ b/lib/docs/scrapers/git.rb
@@ -0,0 +1,19 @@
+module Docs
+ class Git < UrlScraper
+ self.type = 'git'
+ self.version = '1.8.5'
+ self.base_url = 'http://git-scm.com/docs'
+ self.initial_paths = %w(/git.html)
+
+ html_filters.push 'git/clean_html', 'git/entries'
+
+ options[:container] = ->(filter) { filter.root_page? ? '#main' : '.man-page' }
+ options[:follow_links] = ->(filter) { filter.root_page? }
+ options[:only_patterns] = [/\A\/git\-/]
+
+ options[:attribution] = <<-HTML
+ © 2005–2013 Linus Torvalds and others
+ Licensed under the GNU General Public License version 2.
+ HTML
+ end
+end
diff --git a/public/icons/docs/git/16.png b/public/icons/docs/git/16.png
new file mode 100644
index 00000000..7812910d
Binary files /dev/null and b/public/icons/docs/git/16.png differ
diff --git a/public/icons/docs/git/16@2x.png b/public/icons/docs/git/16@2x.png
new file mode 100644
index 00000000..5d89c037
Binary files /dev/null and b/public/icons/docs/git/16@2x.png differ
diff --git a/public/icons/docs/git/SOURCE b/public/icons/docs/git/SOURCE
new file mode 100644
index 00000000..7b4fb895
--- /dev/null
+++ b/public/icons/docs/git/SOURCE
@@ -0,0 +1 @@
+http://git-scm.com/downloads/logos