middleman-tansu 0.0.4 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/Gemfile +0 -2
- data/lib/middleman-tansu/command.rb +39 -41
- data/lib/middleman-tansu/drawer.rb +13 -9
- data/lib/middleman-tansu/extension.rb +15 -11
- data/lib/middleman-tansu/helpers.rb +33 -33
- data/lib/middleman-tansu/template.rb +2 -1
- data/lib/middleman-tansu/template/shared/Gemfile.tt +0 -1
- data/lib/middleman-tansu/template/source/stylesheets/all.css.sass +2 -2
- data/lib/middleman-tansu/template/source/stylesheets/pure-min.css +11 -0
- data/lib/middleman-tansu/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27da6c6ed9ffd1dbb12b0cdf45fc12789d9f8cab
|
4
|
+
data.tar.gz: 933d41129781ed6dd98a0757b0542265c7cc22c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 258b6ca68827569e42e27e3638380b13859efc696787dfb645cb118744e4149e0bb17f5faff8c19083b8a132a8703f4c6137b3fba906cabe4fa528242b02721e
|
7
|
+
data.tar.gz: 66fcb8c4cf77cbcd6a232047d42b14663104937742cff4767aef17e49c7d9dbfafc6d91d00d1a3100dda2736143582af5802fcf20a1825a0b68c9bb06c7eb69d
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# 0.1.0
|
2
|
+
|
3
|
+
- Release 1st stable version.
|
4
|
+
- Add command: `$ bundle exec middleman tansu path/to/page_name`.
|
5
|
+
- You must use this command with bundler.(`require` problems)
|
6
|
+
- Add auto index function.
|
7
|
+
- Search empty directory that doesn't have `index.html.\*`.
|
8
|
+
- Create index.html under these directories using `proxy`.
|
9
|
+
- Add some helpers.
|
10
|
+
- Add project template `tansu`.
|
11
|
+
- You can use: `$ middleman init PROJECT --template tansu`
|
data/Gemfile
CHANGED
@@ -1,9 +1,10 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'middleman-core/cli'
|
2
|
+
require 'active_support/core_ext/time/zones'
|
3
3
|
|
4
4
|
module Middleman
|
5
5
|
module Cli
|
6
|
-
# This class provides a "tansu" command for
|
6
|
+
# This class provides a "tansu" command for middleman CLI.
|
7
|
+
#
|
7
8
|
# "tansu" command has some options:
|
8
9
|
# - '-f': set file extension, default "md"
|
9
10
|
# - '-d': set date(yyyy-mm-dd). Default is now. This is used in Frontmatter.
|
@@ -19,7 +20,7 @@ module Middleman
|
|
19
20
|
|
20
21
|
def initialize(*args)
|
21
22
|
super
|
22
|
-
Time.zone = ENV['TZ'] ||
|
23
|
+
Time.zone = ENV['TZ'] || 'UTC'
|
23
24
|
end
|
24
25
|
|
25
26
|
def self.source_root
|
@@ -31,31 +32,31 @@ module Middleman
|
|
31
32
|
true
|
32
33
|
end
|
33
34
|
|
34
|
-
desc
|
35
|
-
method_option
|
36
|
-
aliases:
|
37
|
-
desc:
|
38
|
-
default:
|
39
|
-
method_option
|
40
|
-
aliases:
|
41
|
-
desc:
|
42
|
-
method_option
|
43
|
-
aliases:
|
44
|
-
desc:
|
35
|
+
desc 'tansu path/to/TITLE', 'Create a new Tansu page'
|
36
|
+
method_option 'file',
|
37
|
+
aliases: '-f',
|
38
|
+
desc: 'The file extension of file (default: md)',
|
39
|
+
default: 'md'
|
40
|
+
method_option 'timezone',
|
41
|
+
aliases: '-z',
|
42
|
+
desc: 'The timezone of Frontmatter (default: ENV["TZ"])'
|
43
|
+
method_option 'date',
|
44
|
+
aliases: '-d',
|
45
|
+
desc: 'The date of Frontmatter (default: Time.zone.now)',
|
45
46
|
default: nil
|
46
|
-
method_option
|
47
|
-
aliases:
|
48
|
-
desc:
|
49
|
-
method_option
|
50
|
-
desc:
|
51
|
-
default:
|
47
|
+
method_option 'author',
|
48
|
+
aliases: '-a',
|
49
|
+
desc: 'The author name of Frontmatter (default: ENV["USER"])'
|
50
|
+
method_option 'frontmatter',
|
51
|
+
desc: 'Additions of Frontmatter ex:"category:sample,tags:frontmatter"',
|
52
|
+
default: ''
|
52
53
|
def tansu(path)
|
53
|
-
paths = path.split(
|
54
|
+
paths = path.split('/')
|
54
55
|
title = paths.pop
|
55
56
|
ext = options[:file]
|
56
|
-
Time.zone = options[:timezone] || ENV['TZ'] ||
|
57
|
+
Time.zone = options[:timezone] || ENV['TZ'] || 'UTC'
|
57
58
|
date = options[:date] ? Time.zone.parse(options[:date]) : Time.zone.now
|
58
|
-
author = options[:author] || ENV[
|
59
|
+
author = options[:author] || ENV['USER']
|
59
60
|
add_frontmatter = options[:frontmatter]
|
60
61
|
|
61
62
|
if Regexp.new(".html.#{ext}$") !~ title
|
@@ -65,11 +66,9 @@ module Middleman
|
|
65
66
|
dir = destination_dir(paths)
|
66
67
|
file = File.join(dir, filename)
|
67
68
|
|
68
|
-
|
69
|
-
FileUtils.mkdir_p dir
|
70
|
-
end
|
69
|
+
FileUtils.mkdir_p dir unless Dir.exist?(dir)
|
71
70
|
|
72
|
-
if File.
|
71
|
+
if File.exist?(file)
|
73
72
|
puts "#{file} is exist"
|
74
73
|
exit
|
75
74
|
end
|
@@ -83,20 +82,20 @@ module Middleman
|
|
83
82
|
no_tasks do
|
84
83
|
def frontmatter(title, author, date, frontmatter)
|
85
84
|
data = {
|
86
|
-
:
|
87
|
-
:
|
88
|
-
:
|
85
|
+
title: title,
|
86
|
+
author: author,
|
87
|
+
date: date
|
89
88
|
}
|
90
89
|
|
91
|
-
|
90
|
+
unless frontmatter.empty?
|
92
91
|
data = data.merge(add_frontmatter(frontmatter))
|
93
92
|
end
|
94
93
|
|
95
|
-
rows = [
|
96
|
-
data.each do |label,
|
97
|
-
rows << "#{label}: #{
|
94
|
+
rows = ['---']
|
95
|
+
data.each do |label, val|
|
96
|
+
rows << "#{label}: #{val.to_s.strip}"
|
98
97
|
end
|
99
|
-
rows << [
|
98
|
+
rows << ['---']
|
100
99
|
rows << "\n\n"
|
101
100
|
|
102
101
|
rows.join("\n")
|
@@ -104,14 +103,13 @@ module Middleman
|
|
104
103
|
|
105
104
|
def add_frontmatter(str)
|
106
105
|
{} if str.empty?
|
107
|
-
|
108
106
|
frontmatter = {}
|
109
|
-
str.split(
|
107
|
+
str.split(',').each do |row|
|
110
108
|
if /.+:.+/ =~ row
|
111
|
-
|
109
|
+
_, label, data = row.split(/(.+?):(.+)$/)
|
112
110
|
frontmatter[label] = data
|
113
111
|
else
|
114
|
-
frontmatter[row] =
|
112
|
+
frontmatter[row] = ''
|
115
113
|
end
|
116
114
|
end
|
117
115
|
frontmatter
|
@@ -121,7 +119,7 @@ module Middleman
|
|
121
119
|
app = Middleman::Application
|
122
120
|
source = File.join(app.root, app.config.source)
|
123
121
|
|
124
|
-
if dir
|
122
|
+
if dir.nil? || dir == '.'
|
125
123
|
source
|
126
124
|
else
|
127
125
|
File.join(source, dir)
|
@@ -1,10 +1,15 @@
|
|
1
1
|
module Middleman
|
2
2
|
module Tansu
|
3
|
+
# Drawer search empty(index.html.* isn't exist) directory
|
4
|
+
# in app.config.source
|
5
|
+
#
|
6
|
+
# example:
|
7
|
+
# ary = Drawer.new(app, options, exclude_path).empty
|
3
8
|
class Drawer
|
4
9
|
def initialize(app, options, exclude_path = [])
|
5
10
|
@config = app.config
|
6
11
|
@options = options
|
7
|
-
@dirs = [
|
12
|
+
@dirs = ['/']
|
8
13
|
@exclude_path = exclude(exclude_path)
|
9
14
|
end
|
10
15
|
|
@@ -12,19 +17,18 @@ module Middleman
|
|
12
17
|
search_directory(@config.source)
|
13
18
|
empty = []
|
14
19
|
@dirs.each do |dir|
|
15
|
-
glob_path = File.join(@config.source, dir,
|
16
|
-
|
17
|
-
|
18
|
-
end
|
20
|
+
glob_path = File.join(@config.source, dir,
|
21
|
+
"#{@config.tansu[:default_document].strip}*")
|
22
|
+
empty.push(dir) if Dir.glob(glob_path).length == 0
|
19
23
|
end
|
20
24
|
empty
|
21
25
|
end
|
22
26
|
|
23
27
|
def search_directory(dir)
|
24
|
-
regex = Regexp.new(
|
28
|
+
regex = Regexp.new('^' + @config.source)
|
25
29
|
Dir.glob(File.join(dir, '*')).each do |path|
|
26
|
-
if File.ftype(path) ==
|
27
|
-
@dirs.push(path.gsub(regex,
|
30
|
+
if File.ftype(path) == 'directory' && !exclude?(path)
|
31
|
+
@dirs.push(path.gsub(regex, ''))
|
28
32
|
search_directory(path)
|
29
33
|
end
|
30
34
|
end
|
@@ -42,7 +46,7 @@ module Middleman
|
|
42
46
|
end
|
43
47
|
|
44
48
|
def exclude?(path)
|
45
|
-
regex = Regexp.new("^#{@config.source}/(#{@exclude_path.join(
|
49
|
+
regex = Regexp.new("^#{@config.source}/(#{@exclude_path.join('|')})")
|
46
50
|
regex =~ path
|
47
51
|
end
|
48
52
|
end
|
@@ -1,23 +1,27 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'middleman-tansu/drawer'
|
2
|
+
require 'middleman-tansu/helpers'
|
3
3
|
|
4
4
|
module Middleman
|
5
5
|
module Tansu
|
6
|
+
# A Extension class of Middleman
|
7
|
+
#
|
8
|
+
# In config.rb:
|
9
|
+
# activate :tansu
|
6
10
|
class Extension < ::Middleman::Extension
|
7
|
-
option :exclude_path, %w(sitemap.xml),
|
8
|
-
option :templates_dir,
|
9
|
-
option :index_template_name,
|
10
|
-
option :default_document,
|
11
|
+
option :exclude_path, %w(sitemap.xml), 'Path list that you don not want to see'
|
12
|
+
option :templates_dir, 'templates', 'Path of template directory in source direcotry'
|
13
|
+
option :index_template_name, 'index.html', 'Name of index template'
|
14
|
+
option :default_document, 'index.html', 'Name of default document. When you use IIS, set "default.html"'
|
11
15
|
|
12
16
|
# Helpers for use within templates and layouts.
|
13
|
-
self.defined_helpers = [
|
17
|
+
self.defined_helpers = [::Middleman::Tansu::Helpers]
|
14
18
|
|
15
19
|
def initialize(app, options_hash = {}, &block)
|
16
20
|
super
|
17
21
|
app.config.tansu = {
|
18
|
-
:
|
19
|
-
:
|
20
|
-
:
|
22
|
+
exclude_path: options[:exclude_path],
|
23
|
+
templates_dir: options[:templates_dir],
|
24
|
+
default_document: options[:default_document]
|
21
25
|
}
|
22
26
|
end
|
23
27
|
|
@@ -25,7 +29,7 @@ module Middleman
|
|
25
29
|
exclude_path = options.exclude_path || []
|
26
30
|
Drawer.new(app, options, exclude_path).empty.each do |path|
|
27
31
|
app.proxy(File.join(path, options[:default_document]),
|
28
|
-
File.join(
|
32
|
+
File.join('/', options.templates_dir, options.index_template_name),
|
29
33
|
ignore: true)
|
30
34
|
end
|
31
35
|
end
|
@@ -1,26 +1,29 @@
|
|
1
1
|
module Middleman
|
2
2
|
module Tansu
|
3
|
+
# Tansu Helpers
|
3
4
|
module Helpers
|
4
5
|
def path_list(current_path)
|
5
|
-
paths
|
6
|
-
splited = current_path.split(
|
6
|
+
paths = []
|
7
|
+
splited = current_path.split('/')
|
8
|
+
|
7
9
|
splited.each_with_index do |val, index|
|
8
|
-
path
|
9
|
-
path
|
10
|
-
val
|
11
|
-
paths.push(
|
10
|
+
path = File.join('/', splited[0..index])
|
11
|
+
path += '/' unless /\.html$/ =~ path
|
12
|
+
val = val.sub('.html', '') if /\.html$/ =~ val
|
13
|
+
paths.push(path: path, name: val) unless /^index$/ =~ val
|
12
14
|
end
|
13
15
|
paths
|
14
16
|
end
|
15
17
|
|
16
|
-
def breadcrumbs(klass = 'breadcrumbs', root =
|
17
|
-
li
|
18
|
-
root = page_title(
|
19
|
-
li.push("<li class=\"root\">#{link_to(root,
|
18
|
+
def breadcrumbs(klass = 'breadcrumbs', root = 'Top')
|
19
|
+
li = []
|
20
|
+
root = page_title('/') || root
|
21
|
+
li.push("<li class=\"root\">#{link_to(root, '/')}</li>")
|
20
22
|
|
21
23
|
paths = path_list(current_resource.path)
|
22
24
|
paths.each do |path|
|
23
25
|
name = page_title(path[:path]) || path[:name]
|
26
|
+
|
24
27
|
if path == paths.last
|
25
28
|
li.push("<li class=\"current\">#{h(name)}</li>")
|
26
29
|
else
|
@@ -38,13 +41,11 @@ module Middleman
|
|
38
41
|
end
|
39
42
|
|
40
43
|
def page_title_or_path(path)
|
41
|
-
page_title(path) || path.gsub(/(index)?\.html$/,
|
44
|
+
page_title(path) || path.gsub(/(index)?\.html$/, '')
|
42
45
|
end
|
43
46
|
|
44
47
|
def title(splitter = ' - ')
|
45
|
-
base_title = base_title()
|
46
48
|
page_title = page_title_or_path(current_resource.path)
|
47
|
-
|
48
49
|
if !page_title.empty?
|
49
50
|
"#{page_title}#{splitter}#{base_title}"
|
50
51
|
else
|
@@ -53,9 +54,7 @@ module Middleman
|
|
53
54
|
end
|
54
55
|
|
55
56
|
def heading
|
56
|
-
base_title = base_title()
|
57
57
|
page_title = page_title_or_path(current_resource.path)
|
58
|
-
|
59
58
|
if !page_title.empty?
|
60
59
|
page_title
|
61
60
|
else
|
@@ -64,12 +63,12 @@ module Middleman
|
|
64
63
|
end
|
65
64
|
|
66
65
|
def base_title
|
67
|
-
config[:site_title] ||
|
66
|
+
config[:site_title] || 'Middleman-Tansu'
|
68
67
|
end
|
69
68
|
|
70
69
|
def index?
|
71
70
|
regex = Regexp.new("#{config.tansu[:default_document]}$")
|
72
|
-
regex =~ current_resource.path ||
|
71
|
+
regex =~ current_resource.path || '/' == current_resource.path
|
73
72
|
end
|
74
73
|
|
75
74
|
def children_pages(key = :date, order_by = :asc)
|
@@ -77,41 +76,42 @@ module Middleman
|
|
77
76
|
pages = []
|
78
77
|
|
79
78
|
current_resource.children.each do |page|
|
80
|
-
|
79
|
+
unless exclude?(page.path)
|
81
80
|
if /index\.html$/ =~ page.path
|
82
81
|
dirs.push(page)
|
83
82
|
else
|
84
83
|
pages.push(page)
|
85
84
|
end
|
86
85
|
end
|
86
|
+
next
|
87
87
|
end
|
88
88
|
|
89
89
|
# Sorting pages and dirs
|
90
90
|
if order_by == :desc
|
91
|
-
pages = pages.sort
|
91
|
+
pages = pages.sort do |a, b|
|
92
92
|
b.data[key] <=> a.data[key]
|
93
|
-
|
94
|
-
dirs = dirs.sort
|
93
|
+
end
|
94
|
+
dirs = dirs.sort do |a, b|
|
95
95
|
b.path <=> a.path
|
96
|
-
|
96
|
+
end
|
97
97
|
else
|
98
|
-
pages = pages.sort
|
98
|
+
pages = pages.sort do |a, b|
|
99
99
|
a.data[key] <=> b.data[key]
|
100
|
-
|
101
|
-
dirs = dirs.sort
|
100
|
+
end
|
101
|
+
dirs = dirs.sort do |a, b|
|
102
102
|
a.path <=> b.path
|
103
|
-
|
103
|
+
end
|
104
104
|
end
|
105
105
|
|
106
106
|
dirs | pages
|
107
107
|
end
|
108
108
|
|
109
109
|
def exclude?(path)
|
110
|
-
regex = Regexp.new("^(#{exclude
|
110
|
+
regex = Regexp.new("^(#{exclude.join('|')})")
|
111
111
|
regex =~ path
|
112
112
|
end
|
113
113
|
|
114
|
-
def exclude
|
114
|
+
def exclude
|
115
115
|
default = [
|
116
116
|
config.images_dir,
|
117
117
|
config.js_dir,
|
@@ -119,21 +119,21 @@ module Middleman
|
|
119
119
|
config.layouts_dir,
|
120
120
|
config.tansu[:templates_dir]
|
121
121
|
]
|
122
|
-
|
122
|
+
default | config.tansu[:exclude_path]
|
123
123
|
end
|
124
124
|
|
125
125
|
def page_name(page)
|
126
126
|
if page.data.title
|
127
|
-
paths = page.path.split(
|
127
|
+
paths = page.path.split('/')
|
128
128
|
paths.pop
|
129
|
-
File.join(paths, page.data.title).gsub(/^\//,
|
129
|
+
File.join(paths, page.data.title).gsub(/^\//, '')
|
130
130
|
else
|
131
|
-
page.path.gsub(/(\/index)?\.html$/,
|
131
|
+
page.path.gsub(/(\/index)?\.html$/, '')
|
132
132
|
end
|
133
133
|
end
|
134
134
|
|
135
135
|
def page_url(page)
|
136
|
-
File.join(
|
136
|
+
File.join('/', page.path.gsub(/index\.html$/, ''))
|
137
137
|
end
|
138
138
|
end
|
139
139
|
end
|
@@ -2,7 +2,7 @@ require 'middleman-core/templates'
|
|
2
2
|
|
3
3
|
module Middleman
|
4
4
|
module Tansu
|
5
|
-
|
5
|
+
# Template class of Middleman
|
6
6
|
class Template < Middleman::Templates::Base
|
7
7
|
class_option 'css_dir',
|
8
8
|
default: 'stylesheets',
|
@@ -33,6 +33,7 @@ module Middleman
|
|
33
33
|
copy_file 'source/layouts/layout.slim', File.join(location, 'source/layouts/layout.slim')
|
34
34
|
copy_file 'source/templates/index.html.slim', File.join(location, 'source/templates/index.html.slim')
|
35
35
|
copy_file 'source/stylesheets/all.css.sass', File.join(location, 'source', options[:css_dir], 'all.css.sass')
|
36
|
+
copy_file 'source/stylesheets/pure-min.css', File.join(location, 'source', options[:css_dir], 'pure-min.css')
|
36
37
|
copy_file 'source/stylesheets/github-markdown.css', File.join(location, 'source', options[:css_dir], 'github-markdown.css')
|
37
38
|
end
|
38
39
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/*!
|
2
|
+
Pure v0.5.0
|
3
|
+
Copyright 2014 Yahoo! Inc. All rights reserved.
|
4
|
+
Licensed under the BSD License.
|
5
|
+
https://github.com/yui/pure/blob/master/LICENSE.md
|
6
|
+
*/
|
7
|
+
/*!
|
8
|
+
normalize.css v1.1.3 | MIT License | git.io/normalize
|
9
|
+
Copyright (c) Nicolas Gallagher and Jonathan Neal
|
10
|
+
*/
|
11
|
+
/*! normalize.css v1.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}.pure-g{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class *="pure-u"]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-5-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-2-24,.pure-u-3-24,.pure-u-4-24,.pure-u-5-24,.pure-u-6-24,.pure-u-7-24,.pure-u-8-24,.pure-u-9-24,.pure-u-10-24,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%;*width:4.1357%}.pure-u-1-12,.pure-u-2-24{width:8.3333%;*width:8.3023%}.pure-u-1-8,.pure-u-3-24{width:12.5%;*width:12.469%}.pure-u-1-6,.pure-u-4-24{width:16.6667%;*width:16.6357%}.pure-u-1-5{width:20%;*width:19.969%}.pure-u-5-24{width:20.8333%;*width:20.8023%}.pure-u-1-4,.pure-u-6-24{width:25%;*width:24.969%}.pure-u-7-24{width:29.1667%;*width:29.1357%}.pure-u-1-3,.pure-u-8-24{width:33.3333%;*width:33.3023%}.pure-u-3-8,.pure-u-9-24{width:37.5%;*width:37.469%}.pure-u-2-5{width:40%;*width:39.969%}.pure-u-5-12,.pure-u-10-24{width:41.6667%;*width:41.6357%}.pure-u-11-24{width:45.8333%;*width:45.8023%}.pure-u-1-2,.pure-u-12-24{width:50%;*width:49.969%}.pure-u-13-24{width:54.1667%;*width:54.1357%}.pure-u-7-12,.pure-u-14-24{width:58.3333%;*width:58.3023%}.pure-u-3-5{width:60%;*width:59.969%}.pure-u-5-8,.pure-u-15-24{width:62.5%;*width:62.469%}.pure-u-2-3,.pure-u-16-24{width:66.6667%;*width:66.6357%}.pure-u-17-24{width:70.8333%;*width:70.8023%}.pure-u-3-4,.pure-u-18-24{width:75%;*width:74.969%}.pure-u-19-24{width:79.1667%;*width:79.1357%}.pure-u-4-5{width:80%;*width:79.969%}.pure-u-5-6,.pure-u-20-24{width:83.3333%;*width:83.3023%}.pure-u-7-8,.pure-u-21-24{width:87.5%;*width:87.469%}.pure-u-11-12,.pure-u-22-24{width:91.6667%;*width:91.6357%}.pure-u-23-24{width:95.8333%;*width:95.8023%}.pure-u-1,.pure-u-1-1,.pure-u-5-5,.pure-u-24-24{width:100%}.pure-button{display:inline-block;*display:inline;zoom:1;line-height:normal;white-space:nowrap;vertical-align:baseline;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button{font-family:inherit;font-size:100%;*font-size:90%;*overflow:visible;padding:.5em 1em;color:#444;color:rgba(0,0,0,.8);*color:#444;border:1px solid #999;border:0 rgba(0,0,0,0);background-color:#E6E6E6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:hover,.pure-button:focus{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000', GradientType=0);background-image:-webkit-gradient(linear,0 0,0 100%,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:-webkit-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:-moz-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1));background-image:-o-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset}.pure-button[disabled],.pure-button-disabled,.pure-button-disabled:hover,.pure-button-disabled:focus,.pure-button-disabled:active{border:0;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);filter:alpha(opacity=40);-khtml-opacity:.4;-moz-opacity:.4;opacity:.4;cursor:not-allowed;box-shadow:none}.pure-button-hidden{display:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=text]:focus,.pure-form input[type=password]:focus,.pure-form input[type=email]:focus,.pure-form input[type=url]:focus,.pure-form input[type=date]:focus,.pure-form input[type=month]:focus,.pure-form input[type=time]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=week]:focus,.pure-form input[type=number]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=color]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;outline:thin dotted \9;border-color:#129FEA}.pure-form input:not([type]):focus{outline:0;outline:thin dotted \9;border-color:#129FEA}.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus,.pure-form input[type=checkbox]:focus{outline:thin dotted #333;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=text][disabled],.pure-form input[type=password][disabled],.pure-form input[type=email][disabled],.pure-form input[type=url][disabled],.pure-form input[type=date][disabled],.pure-form input[type=month][disabled],.pure-form input[type=time][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=week][disabled],.pure-form input[type=number][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=color][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form textarea:focus:invalid,.pure-form select:focus:invalid{color:#b94a48;border-color:#ee5f5b}.pure-form input:focus:invalid:focus,.pure-form textarea:focus:invalid:focus,.pure-form select:focus:invalid:focus{border-color:#e9322d}.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus,.pure-form input[type=checkbox]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=text],.pure-form-stacked input[type=password],.pure-form-stacked input[type=email],.pure-form-stacked input[type=url],.pure-form-stacked input[type=date],.pure-form-stacked input[type=month],.pure-form-stacked input[type=time],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=week],.pure-form-stacked input[type=number],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=color],.pure-form-stacked select,.pure-form-stacked label,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned textarea,.pure-form-aligned select,.pure-form-aligned .pure-help-inline,.pure-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 10em}.pure-form input.pure-input-rounded,.pure-form .pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input{display:block;padding:10px;margin:0;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus{z-index:2}.pure-form .pure-group input:first-child{top:1px;border-radius:4px 4px 0 0}.pure-form .pure-group input:last-child{top:-2px;border-radius:0 0 4px 4px}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form .pure-help-inline,.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=text],.pure-group input[type=password],.pure-group input[type=email],.pure-group input[type=url],.pure-group input[type=date],.pure-group input[type=month],.pure-group input[type=time],.pure-group input[type=datetime],.pure-group input[type=datetime-local],.pure-group input[type=week],.pure-group input[type=number],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=color]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0}.pure-form .pure-help-inline,.pure-form-message-inline,.pure-form-message{display:block;font-size:.75em;padding:.2em 0 .8em}}.pure-menu ul{position:absolute;visibility:hidden}.pure-menu.pure-menu-open{visibility:visible;z-index:2;width:100%}.pure-menu ul{left:-10000px;list-style:none;margin:0;padding:0;top:-10000px;z-index:1}.pure-menu>ul{position:relative}.pure-menu-open>ul{left:0;top:0;visibility:visible}.pure-menu-open>ul:focus{outline:0}.pure-menu li{position:relative}.pure-menu a,.pure-menu .pure-menu-heading{display:block;color:inherit;line-height:1.5em;padding:5px 20px;text-decoration:none;white-space:nowrap}.pure-menu.pure-menu-horizontal>.pure-menu-heading{display:inline-block;*display:inline;zoom:1;margin:0;vertical-align:middle}.pure-menu.pure-menu-horizontal>ul{display:inline-block;*display:inline;zoom:1;vertical-align:middle}.pure-menu li a{padding:5px 20px}.pure-menu-can-have-children>.pure-menu-label:after{content:'\25B8';float:right;font-family:'Lucida Grande','Lucida Sans Unicode','DejaVu Sans',sans-serif;margin-right:-20px;margin-top:-1px}.pure-menu-can-have-children>.pure-menu-label{padding-right:30px}.pure-menu-separator{background-color:#dfdfdf;display:block;height:1px;font-size:0;margin:7px 2px;overflow:hidden}.pure-menu-hidden{display:none}.pure-menu-fixed{position:fixed;top:0;left:0;width:100%}.pure-menu-horizontal li{display:inline-block;*display:inline;zoom:1;vertical-align:middle}.pure-menu-horizontal li li{display:block}.pure-menu-horizontal>.pure-menu-children>.pure-menu-can-have-children>.pure-menu-label:after{content:"\25BE"}.pure-menu-horizontal>.pure-menu-children>.pure-menu-can-have-children>.pure-menu-label{padding-right:30px}.pure-menu-horizontal li.pure-menu-separator{height:50%;width:1px;margin:0 7px}.pure-menu-horizontal li li.pure-menu-separator{height:1px;width:auto;margin:7px 2px}.pure-menu.pure-menu-open,.pure-menu.pure-menu-horizontal li .pure-menu-children{background:#fff;border:1px solid #b7b7b7}.pure-menu.pure-menu-horizontal,.pure-menu.pure-menu-horizontal .pure-menu-heading{border:0}.pure-menu a{border:1px solid transparent;border-left:0;border-right:0}.pure-menu a,.pure-menu .pure-menu-can-have-children>li:after{color:#777}.pure-menu .pure-menu-can-have-children>li:hover:after{color:#fff}.pure-menu .pure-menu-open{background:#dedede}.pure-menu li a:hover,.pure-menu li a:focus{background:#eee}.pure-menu li.pure-menu-disabled a:hover,.pure-menu li.pure-menu-disabled a:focus{background:#fff;color:#bfbfbf}.pure-menu .pure-menu-disabled>a{background-image:none;border-color:transparent;cursor:default}.pure-menu .pure-menu-disabled>a,.pure-menu .pure-menu-can-have-children.pure-menu-disabled>a:after{color:#bfbfbf}.pure-menu .pure-menu-heading{color:#565d64;text-transform:uppercase;font-size:90%;margin-top:.5em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#dfdfdf}.pure-menu .pure-menu-selected a{color:#000}.pure-menu.pure-menu-open.pure-menu-fixed{border:0;border-bottom:1px solid #b7b7b7}.pure-paginator{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;list-style:none;margin:0;padding:0}.opera-only :-o-prefocus,.pure-paginator{word-spacing:-.43em}.pure-paginator li{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-paginator .pure-button{border-radius:0;padding:.8em 1.4em;vertical-align:top;height:1.1em}.pure-paginator .pure-button:focus,.pure-paginator .pure-button:active{outline-style:none}.pure-paginator .prev,.pure-paginator .next{color:#C0C1C3;text-shadow:0 -1px 0 rgba(0,0,0,.45)}.pure-paginator .prev{border-radius:2px 0 0 2px}.pure-paginator .next{border-radius:0 2px 2px 0}@media (max-width:480px){.pure-menu-horizontal{width:100%}.pure-menu-children li{display:block;border-bottom:1px solid #000}}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table td:first-child,.pure-table th:first-child{border-left-width:0}.pure-table thead{background:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child td,.pure-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child td{border-bottom-width:0}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-tansu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuya Terajima
|
@@ -159,6 +159,7 @@ extra_rdoc_files: []
|
|
159
159
|
files:
|
160
160
|
- ".gitignore"
|
161
161
|
- ".travis.yml"
|
162
|
+
- CHANGELOG.md
|
162
163
|
- Gemfile
|
163
164
|
- LICENSE.txt
|
164
165
|
- README.ja.md
|
@@ -285,6 +286,7 @@ files:
|
|
285
286
|
- lib/middleman-tansu/template/source/sitemap.xml.builder
|
286
287
|
- lib/middleman-tansu/template/source/stylesheets/all.css.sass
|
287
288
|
- lib/middleman-tansu/template/source/stylesheets/github-markdown.css
|
289
|
+
- lib/middleman-tansu/template/source/stylesheets/pure-min.css
|
288
290
|
- lib/middleman-tansu/template/source/templates/index.html.slim
|
289
291
|
- lib/middleman-tansu/version.rb
|
290
292
|
- lib/middleman_extension.rb
|