From fdf68be4dfac6b3e690c3afc2556f81b33c8d667 Mon Sep 17 00:00:00 2001 From: Yutaka HARA Date: Fri, 25 Oct 2013 14:27:34 +0900 Subject: [PATCH] middleman init --- .gitignore | 17 ++ Gemfile | 16 ++ Gemfile.lock | 102 +++++++++ config.rb | 70 ++++++ source/images/background.png | Bin 0 -> 2726 bytes source/images/middleman.png | Bin 0 -> 25282 bytes source/index.html.erb | 10 + source/javascripts/all.js | 1 + source/layouts/layout.erb | 19 ++ source/stylesheets/all.css | 55 +++++ source/stylesheets/normalize.css | 375 +++++++++++++++++++++++++++++++ 11 files changed, 665 insertions(+) create mode 100644 .gitignore create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 config.rb create mode 100644 source/images/background.png create mode 100644 source/images/middleman.png create mode 100644 source/index.html.erb create mode 100644 source/javascripts/all.js create mode 100644 source/layouts/layout.erb create mode 100644 source/stylesheets/all.css create mode 100644 source/stylesheets/normalize.css diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c779352 --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. +# +# If you find yourself ignoring temporary files generated by your text editor +# or operating system, you probably want to add a global ignore instead: +# git config --global core.excludesfile ~/.gitignore_global + +# Ignore bundler config +/.bundle + +# Ignore the build directory +/build + +# Ignore Sass' cache +/.sass-cache + +# Ignore .DS_store file +.DS_Store diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..be86b9b --- /dev/null +++ b/Gemfile @@ -0,0 +1,16 @@ +# If you have OpenSSL installed, we recommend updating +# the following line to use "https" +source 'http://rubygems.org' + +gem "middleman", "~>3.1.6" + +# Live-reloading plugin +gem "middleman-livereload", "~> 3.1.0" + +# For faster file watcher updates on Windows: +gem "wdm", "~> 0.1.0", :platforms => [:mswin, :mingw] + +# Cross-templating language block fix for Ruby 1.8 +platforms :mri_18 do + gem "ruby18_source_location" +end \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..ad270dc --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,102 @@ +GEM + remote: http://rubygems.org/ + specs: + activesupport (3.2.15) + i18n (~> 0.6, >= 0.6.4) + multi_json (~> 1.0) + chunky_png (1.2.9) + coffee-script (2.2.0) + coffee-script-source + execjs + coffee-script-source (1.6.3) + compass (0.12.2) + chunky_png (~> 1.2) + fssm (>= 0.2.7) + sass (~> 3.1) + em-websocket (0.5.0) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.5.3) + eventmachine (1.0.3) + execjs (1.4.0) + multi_json (~> 1.0) + ffi (1.9.0) + fssm (0.2.10) + haml (4.0.3) + tilt + hike (1.2.3) + http_parser.rb (0.5.3) + i18n (0.6.5) + kramdown (1.2.0) + listen (1.3.1) + rb-fsevent (>= 0.9.3) + rb-inotify (>= 0.9) + rb-kqueue (>= 0.2) + middleman (3.1.6) + coffee-script (~> 2.2.0) + compass (>= 0.12.2) + execjs (~> 1.4.0) + haml (>= 3.1.6) + kramdown (~> 1.2) + middleman-core (= 3.1.6) + middleman-more (= 3.1.6) + middleman-sprockets (>= 3.1.2) + sass (>= 3.1.20) + uglifier (~> 2.1.0) + middleman-core (3.1.6) + activesupport (~> 3.2.6) + bundler (~> 1.1) + i18n (~> 0.6.1) + listen (~> 1.1) + rack (>= 1.4.5) + rack-test (~> 0.6.1) + thor (>= 0.15.2, < 2.0) + tilt (~> 1.3.6) + middleman-livereload (3.1.0) + em-websocket (>= 0.2.0) + middleman-core (>= 3.0.2) + multi_json (~> 1.0) + rack-livereload + middleman-more (3.1.6) + middleman-sprockets (3.1.4) + middleman-core (>= 3.0.14) + middleman-more (>= 3.0.14) + sprockets (~> 2.1) + sprockets-helpers (~> 1.0.0) + sprockets-sass (~> 1.0.0) + multi_json (1.8.2) + rack (1.5.2) + rack-livereload (0.3.15) + rack + rack-test (0.6.2) + rack (>= 1.0) + rb-fsevent (0.9.3) + rb-inotify (0.9.2) + ffi (>= 0.5.0) + rb-kqueue (0.2.0) + ffi (>= 0.5.0) + ruby18_source_location (0.2) + sass (3.2.12) + sprockets (2.10.0) + hike (~> 1.2) + multi_json (~> 1.0) + rack (~> 1.0) + tilt (~> 1.1, != 1.3.0) + sprockets-helpers (1.0.1) + sprockets (~> 2.0) + sprockets-sass (1.0.2) + sprockets (~> 2.0) + tilt (~> 1.1) + thor (0.18.1) + tilt (1.3.7) + uglifier (2.1.2) + execjs (>= 0.3.0) + multi_json (~> 1.0, >= 1.0.2) + +PLATFORMS + ruby + +DEPENDENCIES + middleman (~> 3.1.6) + middleman-livereload (~> 3.1.0) + ruby18_source_location + wdm (~> 0.1.0) diff --git a/config.rb b/config.rb new file mode 100644 index 0000000..f442fce --- /dev/null +++ b/config.rb @@ -0,0 +1,70 @@ +### +# Compass +### + +# Change Compass configuration +# compass_config do |config| +# config.output_style = :compact +# end + +### +# Page options, layouts, aliases and proxies +### + +# Per-page layout changes: +# +# With no layout +# page "/path/to/file.html", :layout => false +# +# With alternative layout +# page "/path/to/file.html", :layout => :otherlayout +# +# A path which all have the same layout +# with_layout :admin do +# page "/admin/*" +# end + +# Proxy pages (http://middlemanapp.com/dynamic-pages/) +# proxy "/this-page-has-no-template.html", "/template-file.html", :locals => { +# :which_fake_page => "Rendering a fake page with a local variable" } + +### +# Helpers +### + +# Automatic image dimensions on image_tag helper +# activate :automatic_image_sizes + +# Reload the browser automatically whenever files change +# activate :livereload + +# Methods defined in the helpers block are available in templates +# helpers do +# def some_helper +# "Helping" +# end +# end + +set :css_dir, 'stylesheets' + +set :js_dir, 'javascripts' + +set :images_dir, 'images' + +# Build-specific configuration +configure :build do + # For example, change the Compass output style for deployment + # activate :minify_css + + # Minify Javascript on build + # activate :minify_javascript + + # Enable cache buster + # activate :asset_hash + + # Use relative URLs + # activate :relative_assets + + # Or use a different image path + # set :http_prefix, "/Content/images/" +end diff --git a/source/images/background.png b/source/images/background.png new file mode 100644 index 0000000000000000000000000000000000000000..8681d44f7954cf98014bf87abb43af7ee7f63cd7 GIT binary patch literal 2726 zcmaJ@c|4SB8=iX?xY`8m9>;X zAdsr73*J+izbiY$Ma$x;zd(900>88g#r*)1|~Xf5|0_u+YOi9vg!|L`O%%qs`zfP8b4(Mx$3XOif`j1dJ5ldJnx z0S|Dg96FmvXE7nGij+`RBo7OfRr>c880>GdOzxL9$r^^>Q`iU;9JzX>uRtR4|3ev! zZ)h&h6Zogz|0&ER3)ld{6X3EUIaJx;4(YC@Vq=^*0ENfmkXfvwU%Tjjn8jmp53|@1 zCoc;KkwT?2SL4rkA`#=t%(`qK^fc<7TReBBr@OX*_HT4a#!K*v4Jm3z$^)*9jEr2ldez>}?n-QVY;1XE zW@h!DD@z|{X6O>>la;HH$4{K-{Iv3RLD(TZrt{n4;>ybF;;CI0!P@pu%QnmnzP2>( z4||zK3=R&Ks_vPjjC4G=?dliz?8k>mhfYxdm*`i4qxRe4rDL$5ln~l_zKE05r&hZ$~P>AGsam0Foc(=}@=8Jc<+6F#_H%gddXhDtW%pwEB&RCh=}aeR;b zt`yR%+}qlUC~0c{6jQ-*`ZN);)T?7ud2W3D1o;4}WxW#iRfJz)jDlL>8}X*xCeY=h z4{t?Y%1cS}2u&hlCQP_H^*Y6s*7}PY9^f5OK@1qUIDR~DsibjP?y^haqX}Kj&4$NnMjlS_ zF;4$77>lnRDR5XpHw?9y7GZYh>x_<>RGdW@oL75-+Iv9iW$+V>tv-0Tx1l7(sy%rY zes>@?S#ILaf6ii$nmh9xZalk2vn%&?TOW(wqw;&8NAhu)G72YsNZjEc7nvTZBsIFy zMoN0qzDCfg*ip5y!>KsTCJp~|a%lT?hc(7FgpYBe4Rx(awzo0_wne=H8*oDSZLe z+AVK#H`CiXwWdJV_1J^$O08vL?fC4Ie5*Z!t-n3Id@}*E4|PeNtc$EFEj+U8+3g^I z2lCHe8l!iAC;&Byc945U*5GS_e#OR?;q{tLyOojGI(lO7phwdHo#lfJ7;;|Wu(4TozzT$QhGYYYS?VUc}Dae*= z3VE!9%~*TUTeu}--OlCMa$elK)TDTZj{69?ZhWSftZ4;O4zF(P->qJH$0Cj5%DgeW!LkuXF3tD)a$vZ z7X65sGE@cyfW`04q^Y{0LO?$O2Rkr>1T<&J76_gUU!HJ zPR;oayVw<71~;q1)DPO69)KMEBdt+&efF=(FSR0Ob}7j9_qhrWekj&ACN!T{wWzlf zH*mqDZv$d2%@>9GBgV**ob5h2l0~l^ zd2zr30{b*$HuabJO=)Xxt{pf%qh+H`I1EUC4zJG*sY~f2PUQz36K^@267;k)N2^U( zU$43KVwTqgAY4#AP=+Qe;ir$>P3>yjOCV{REzQT}-W16PZR6TRHb-i+w|FQ&E3BJT z;JEY{XPV^p{yew~apdq|$SYB5eBfCn#j0 zB3Y1yj3`b|V>C6i%%ZR!$~z^TS5(%3#V~f(iLufwn;<7ifN(e&mb&k>SgjpJ#9nI|1Olj@gxJltn-feE7S_g6vk Ypjdc_C!v4Qef7`Ll|aImJBGyn1ssN`fdBvi literal 0 HcmV?d00001 diff --git a/source/images/middleman.png b/source/images/middleman.png new file mode 100644 index 0000000000000000000000000000000000000000..c685e564378b038c44e51ec98454af7237d3412a GIT binary patch literal 25282 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 L44{=7_7VRBi!LVk literal 0 HcmV?d00001 diff --git a/source/index.html.erb b/source/index.html.erb new file mode 100644 index 0000000..7537cd6 --- /dev/null +++ b/source/index.html.erb @@ -0,0 +1,10 @@ +--- +title: Welcome to Middleman +--- + +
+

Middleman is Watching

+

+ <%= link_to "Read Online Documentation", "http://middlemanapp.com/" %> +

+
\ No newline at end of file diff --git a/source/javascripts/all.js b/source/javascripts/all.js new file mode 100644 index 0000000..2becd76 --- /dev/null +++ b/source/javascripts/all.js @@ -0,0 +1 @@ +//= require_tree . \ No newline at end of file diff --git a/source/layouts/layout.erb b/source/layouts/layout.erb new file mode 100644 index 0000000..7bdfeb1 --- /dev/null +++ b/source/layouts/layout.erb @@ -0,0 +1,19 @@ + + + + + + + + + + <%= current_page.data.title || "The Middleman" %> + + <%= stylesheet_link_tag "normalize", "all" %> + <%= javascript_include_tag "all" %> + + + + <%= yield %> + + \ No newline at end of file diff --git a/source/stylesheets/all.css b/source/stylesheets/all.css new file mode 100644 index 0000000..6ff94cf --- /dev/null +++ b/source/stylesheets/all.css @@ -0,0 +1,55 @@ +@charset "utf-8"; + +body { + background: #d4d4d4 url("../images/background.png"); + text-align: center; + font-family: sans-serif; } + +h1 { + color: rgba(0, 0, 0, .3); + font-weight: bold; + font-size: 32px; + letter-spacing: -1px; + text-transform: uppercase; + text-shadow: 0 1px 0 rgba(255, 255, 255, .5); + background: url("../images/middleman.png") no-repeat center 100px; + padding: 350px 0 10px; + margin: 0; } + +.doc { + font-size: 14px; + margin: 0; } + .doc:before, + .doc:after { + opacity: .2; + padding: 6px; + font-style: normal; + position: relative; + content: "•"; } + .doc a { + color: rgba(0, 0, 0, 0.3); } + .doc a:hover { + color: #666; } + +.welcome { + -webkit-animation-name: welcome; + -webkit-animation-duration: .9s; } + +@-webkit-keyframes welcome { + from { + -webkit-transform: scale(0); + opacity: 0; + } + 50% { + -webkit-transform: scale(0); + opacity: 0; + } + 82.5% { + -webkit-transform: scale(1.03); + -webkit-animation-timing-function: ease-out; + opacity: 1; + } + to { + -webkit-transform: scale(1); + } +} \ No newline at end of file diff --git a/source/stylesheets/normalize.css b/source/stylesheets/normalize.css new file mode 100644 index 0000000..73abb76 --- /dev/null +++ b/source/stylesheets/normalize.css @@ -0,0 +1,375 @@ +/*! normalize.css v2.0.1 | MIT License | git.io/normalize */ + +/* ========================================================================== + HTML5 display definitions + ========================================================================== */ + +/* + * Corrects `block` display not defined in IE 8/9. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section, +summary { + display: block; +} + +/* + * Corrects `inline-block` display not defined in IE 8/9. + */ + +audio, +canvas, +video { + display: inline-block; +} + +/* + * Prevents modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/* + * Addresses styling for `hidden` attribute not present in IE 8/9. + */ + +[hidden] { + display: none; +} + +/* ========================================================================== + Base + ========================================================================== */ + +/* + * 1. Sets default font family to sans-serif. + * 2. Prevents iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + -ms-text-size-adjust: 100%; /* 2 */ +} + +/* + * Removes default margin. + */ + +body { + margin: 0; +} + +/* ========================================================================== + Links + ========================================================================== */ + +/* + * Addresses `outline` inconsistency between Chrome and other browsers. + */ + +a:focus { + outline: thin dotted; +} + +/* + * Improves readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* ========================================================================== + Typography + ========================================================================== */ + +/* + * Addresses `h1` font sizes within `section` and `article` in Firefox 4+, + * Safari 5, and Chrome. + */ + +h1 { + font-size: 2em; +} + +/* + * Addresses styling not present in IE 8/9, Safari 5, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/* + * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/* + * Addresses styling not present in Safari 5 and Chrome. + */ + +dfn { + font-style: italic; +} + +/* + * Addresses styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + + +/* + * Corrects font family set oddly in Safari 5 and Chrome. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, serif; + font-size: 1em; +} + +/* + * Improves readability of pre-formatted text in all browsers. + */ + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +/* + * Sets consistent quote types. + */ + +q { + quotes: "\201C" "\201D" "\2018" "\2019"; +} + +/* + * Addresses inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/* + * Prevents `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + Embedded content + ========================================================================== */ + +/* + * Removes border when inside `a` element in IE 8/9. + */ + +img { + border: 0; +} + +/* + * Corrects overflow displayed oddly in IE 9. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + Figures + ========================================================================== */ + +/* + * Addresses margin not present in IE 8/9 and Safari 5. + */ + +figure { + margin: 0; +} + +/* ========================================================================== + Forms + ========================================================================== */ + +/* + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/* + * 1. Corrects color not being inherited in IE 8/9. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/* + * 1. Corrects font family not being inherited in all browsers. + * 2. Corrects font size not being inherited in all browsers. + * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome + */ + +button, +input, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 2 */ + margin: 0; /* 3 */ +} + +/* + * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +button, +input { + line-height: normal; +} + +/* + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Corrects inability to style clickable `input` types in iOS. + * 3. Improves usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/* + * Re-set default cursor for disabled elements. + */ + +button[disabled], +input[disabled] { + cursor: default; +} + +/* + * 1. Addresses box sizing set to `content-box` in IE 8/9. + * 2. Removes excess padding in IE 8/9. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/* + * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/* + * Removes inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* + * Removes inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * 1. Removes default vertical scrollbar in IE 8/9. + * 2. Improves readability and alignment in all browsers. + */ + +textarea { + overflow: auto; /* 1 */ + vertical-align: top; /* 2 */ +} + +/* ========================================================================== + Tables + ========================================================================== */ + +/* + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} \ No newline at end of file