ruhoh 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +13 -0
- data/README.md +5 -53
- data/Rakefile +56 -0
- data/bin/ruhoh +23 -14
- data/lib/ruhoh/client/client.rb +310 -0
- data/lib/ruhoh/client/help.yml +56 -0
- data/lib/ruhoh/compiler.rb +16 -19
- data/lib/ruhoh/converters/converter.rb +30 -3
- data/lib/ruhoh/db.rb +7 -17
- data/lib/ruhoh/deployers/s3.rb +71 -0
- data/lib/ruhoh/friend.rb +71 -0
- data/lib/ruhoh/page.rb +41 -11
- data/lib/ruhoh/parsers/drafts.rb +54 -0
- data/lib/ruhoh/parsers/layouts.rb +14 -9
- data/lib/ruhoh/parsers/pages.rb +47 -35
- data/lib/ruhoh/parsers/partials.rb +14 -2
- data/lib/ruhoh/parsers/posts.rb +139 -88
- data/lib/ruhoh/parsers/routes.rb +4 -8
- data/lib/ruhoh/parsers/site.rb +2 -8
- data/lib/ruhoh/previewer.rb +48 -0
- data/lib/ruhoh/templaters/base.rb +53 -0
- data/lib/ruhoh/templaters/helpers.rb +159 -0
- data/lib/ruhoh/templaters/rmustache.rb +29 -0
- data/lib/ruhoh/utils.rb +25 -7
- data/lib/ruhoh/version.rb +1 -1
- data/lib/ruhoh/watch.rb +22 -9
- data/lib/ruhoh.rb +74 -29
- data/ruhoh.gemspec +70 -9
- data/scaffolds/blog/_config.yml +33 -0
- data/scaffolds/blog/_drafts/.gitkeep +0 -0
- data/scaffolds/blog/_posts/.gitkeep +0 -0
- data/scaffolds/blog/_site.yml +16 -0
- data/scaffolds/blog/_templates/partials/categories_list +3 -0
- data/scaffolds/blog/_templates/partials/pages_list +7 -0
- data/scaffolds/blog/_templates/partials/posts_collate +9 -0
- data/scaffolds/blog/_templates/partials/posts_list +1 -0
- data/scaffolds/blog/_templates/partials/tags_list +3 -0
- data/scaffolds/blog/_templates/syntax/google_prettify/default.css +52 -0
- data/scaffolds/blog/_templates/syntax/google_prettify/desert.css +34 -0
- data/scaffolds/blog/_templates/syntax/google_prettify/sons-of-obsidian.css +117 -0
- data/scaffolds/blog/_templates/syntax/google_prettify/sunburst.css +51 -0
- data/scaffolds/blog/_templates/syntax/google_prettify/twitter-bootstrap.css +30 -0
- data/scaffolds/blog/_templates/themes/twitter/bootstrap/css/bootstrap.min.css +689 -0
- data/scaffolds/blog/_templates/themes/twitter/bootstrap/img/glyphicons-halflings-white.png +0 -0
- data/scaffolds/blog/_templates/themes/twitter/bootstrap/img/glyphicons-halflings.png +0 -0
- data/scaffolds/blog/_templates/themes/twitter/css/style.css +68 -0
- data/scaffolds/blog/_templates/themes/twitter/layouts/default.html +64 -0
- data/scaffolds/blog/_templates/themes/twitter/layouts/page.html +13 -0
- data/scaffolds/blog/_templates/themes/twitter/layouts/post.html +55 -0
- data/scaffolds/blog/_templates/themes/twitter/manifest.yml +11 -0
- data/scaffolds/blog/about.md +5 -0
- data/scaffolds/blog/archive.html +11 -0
- data/scaffolds/blog/categories.html +21 -0
- data/scaffolds/blog/config.ru +9 -0
- data/scaffolds/blog/index.html +13 -0
- data/scaffolds/blog/pages.html +14 -0
- data/scaffolds/blog/tags.html +21 -0
- data/scaffolds/layout.html +3 -0
- data/scaffolds/page.html +6 -0
- data/scaffolds/post.html +8 -0
- data/scaffolds/theme/css/style.css +0 -0
- data/scaffolds/theme/images/.gitkeep +0 -0
- data/scaffolds/theme/layouts/default.html +17 -0
- data/scaffolds/theme/layouts/page.html +7 -0
- data/scaffolds/theme/layouts/post.html +8 -0
- data/scaffolds/theme/partials/.gitkeep +0 -0
- data/spec/db_spec.rb +88 -0
- data/spec/page_spec.rb +200 -0
- data/spec/parsers/layouts_spec.rb +32 -0
- data/spec/parsers/pages_spec.rb +97 -0
- data/spec/parsers/posts_spec.rb +301 -0
- data/spec/parsers/routes_spec.rb +45 -0
- data/spec/parsers/site_spec.rb +32 -0
- data/spec/setup_spec.rb +72 -0
- data/spec/spec_helper.rb +23 -0
- data/system_partials/analytics/getclicky +12 -0
- data/system_partials/analytics/google +11 -0
- data/system_partials/comments/disqus +13 -0
- data/system_partials/comments/facebook +9 -0
- data/system_partials/comments/intensedebate +6 -0
- data/system_partials/comments/livefyre +6 -0
- data/system_partials/syntax/google_prettify +11 -0
- metadata +84 -23
- data/lib/ruhoh/client.rb +0 -28
- data/lib/ruhoh/preview.rb +0 -36
- data/lib/ruhoh/templaters/helper_mustache.rb +0 -109
- data/lib/ruhoh/templaters/templater.rb +0 -39
data/lib/ruhoh/utils.rb
CHANGED
@@ -2,27 +2,45 @@ class Ruhoh
|
|
2
2
|
|
3
3
|
module Utils
|
4
4
|
|
5
|
-
FMregex =
|
5
|
+
FMregex = /^(---\s*\n.*?\n?)^(---\s*$\n?)/m
|
6
6
|
ContentRegex = /\{\{\s*content\s*\}\}/i
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
def self.parse_file_as_yaml(*args)
|
9
|
+
filepath = File.__send__ :join, args
|
10
|
+
return nil unless File.exist? filepath
|
11
11
|
|
12
|
+
file = File.open(filepath)
|
13
|
+
yaml = YAML.load(file) || {}
|
14
|
+
file.close
|
15
|
+
|
16
|
+
yaml
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.parse_file(*args)
|
20
|
+
path = File.__send__(:join, args)
|
21
|
+
path = File.join(Ruhoh.paths.site_source, path) unless path[0] == '/'
|
22
|
+
|
12
23
|
raise "File not found: #{path}" unless File.exist?(path)
|
13
24
|
|
14
25
|
page = File.open(path).read
|
15
26
|
front_matter = page.match(FMregex)
|
16
|
-
|
27
|
+
|
28
|
+
return {} unless front_matter
|
17
29
|
|
18
30
|
data = YAML.load(front_matter[0].gsub(/---\n/, "")) || {}
|
19
31
|
|
20
32
|
{
|
21
|
-
"data" => data,
|
33
|
+
"data" => self.format_meta(data),
|
22
34
|
"content" => page.gsub(FMregex, '')
|
23
35
|
}
|
24
36
|
end
|
25
|
-
|
37
|
+
|
38
|
+
def self.format_meta(data)
|
39
|
+
data['categories'] = Array(data['categories'])
|
40
|
+
data['tags'] = Array(data['tags'])
|
41
|
+
data
|
42
|
+
end
|
43
|
+
|
26
44
|
end
|
27
45
|
|
28
46
|
end #Ruhoh
|
data/lib/ruhoh/version.rb
CHANGED
data/lib/ruhoh/watch.rb
CHANGED
@@ -10,7 +10,9 @@ class Ruhoh
|
|
10
10
|
# Returns: Nothing
|
11
11
|
def self.start
|
12
12
|
raise "Ruhoh.config cannot be nil.\n To set config call: Ruhoh.setup" unless Ruhoh.config
|
13
|
-
|
13
|
+
Ruhoh::Friend.say {
|
14
|
+
plain "=> Start watching: #{Ruhoh.paths.site_source}"
|
15
|
+
}
|
14
16
|
glob = ''
|
15
17
|
|
16
18
|
# Watch all files + all sub directories except for special folders e.g '_database'
|
@@ -30,23 +32,34 @@ class Ruhoh
|
|
30
32
|
dw.add_observer {|*args|
|
31
33
|
args.each {|event|
|
32
34
|
path = event['path'].gsub(Ruhoh.paths.site_source, '')
|
33
|
-
|
34
|
-
if path
|
35
|
-
|
35
|
+
|
36
|
+
if path == "/#{Ruhoh.files.site}"
|
37
|
+
type = "Site"
|
38
|
+
Ruhoh::DB.update(:site)
|
39
|
+
elsif path == "/#{Ruhoh.files.config}"
|
40
|
+
type = "Config"
|
41
|
+
Ruhoh::DB.update(:site)
|
42
|
+
elsif path =~ Regexp.new("^\/?#{Ruhoh.folders.posts}")
|
43
|
+
type = "Posts"
|
36
44
|
Ruhoh::DB.update(:posts)
|
37
45
|
Ruhoh::DB.update(:routes)
|
46
|
+
elsif path =~ Regexp.new("^\/?#{Ruhoh.folders.drafts}")
|
47
|
+
type = "Drafts"
|
48
|
+
Ruhoh::DB.update(:drafts)
|
49
|
+
Ruhoh::DB.update(:routes)
|
38
50
|
elsif path =~ Regexp.new("^\/?#{Ruhoh.folders.templates}")
|
39
|
-
|
51
|
+
type = "Themes"
|
40
52
|
Ruhoh::DB.update(:layouts)
|
41
53
|
Ruhoh::DB.update(:partials)
|
42
54
|
else
|
43
|
-
|
55
|
+
type = "Pages"
|
44
56
|
Ruhoh::DB.update(:pages)
|
45
57
|
Ruhoh::DB.update(:routes)
|
46
58
|
end
|
47
|
-
|
48
|
-
|
49
|
-
|
59
|
+
|
60
|
+
Ruhoh::Friend.say {
|
61
|
+
yellow "Watch [#{Time.now.strftime("%H:%M:%S")}] [Update #{type}] : #{args.size} files changed"
|
62
|
+
}
|
50
63
|
}
|
51
64
|
}
|
52
65
|
|
data/lib/ruhoh.rb
CHANGED
@@ -7,6 +7,8 @@ require 'fileutils'
|
|
7
7
|
require 'mustache'
|
8
8
|
|
9
9
|
require 'ruhoh/utils'
|
10
|
+
require 'ruhoh/friend'
|
11
|
+
require 'ruhoh/parsers/drafts'
|
10
12
|
require 'ruhoh/parsers/posts'
|
11
13
|
require 'ruhoh/parsers/pages'
|
12
14
|
require 'ruhoh/parsers/routes'
|
@@ -14,63 +16,102 @@ require 'ruhoh/parsers/layouts'
|
|
14
16
|
require 'ruhoh/parsers/partials'
|
15
17
|
require 'ruhoh/parsers/site'
|
16
18
|
require 'ruhoh/db'
|
17
|
-
require 'ruhoh/templaters/
|
18
|
-
require 'ruhoh/templaters/
|
19
|
+
require 'ruhoh/templaters/helpers'
|
20
|
+
require 'ruhoh/templaters/rmustache'
|
21
|
+
require 'ruhoh/templaters/base'
|
19
22
|
require 'ruhoh/converters/converter'
|
20
23
|
require 'ruhoh/page'
|
21
|
-
require 'ruhoh/
|
24
|
+
require 'ruhoh/previewer'
|
22
25
|
require 'ruhoh/watch'
|
23
26
|
|
24
27
|
class Ruhoh
|
25
28
|
|
26
29
|
class << self; attr_reader :folders, :files, :config, :paths, :filters end
|
27
30
|
|
28
|
-
|
31
|
+
Root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
32
|
+
DefaultExclude = ['Gemfile', 'Gemfile.lock', 'config.ru', 'README.md']
|
33
|
+
Folders = Struct.new(:database, :posts, :drafts, :templates, :themes, :layouts, :partials, :media, :syntax, :compiled)
|
29
34
|
Files = Struct.new(:site, :config)
|
30
35
|
Filters = Struct.new(:posts, :pages, :static)
|
31
|
-
Config = Struct.new(:permalink, :theme, :
|
36
|
+
Config = Struct.new(:permalink, :theme, :theme_path, :media_path, :syntax_path, :exclude)
|
32
37
|
Paths = Struct.new(
|
33
38
|
:site_source,
|
34
39
|
:database,
|
35
40
|
:posts,
|
41
|
+
:drafts,
|
36
42
|
:theme,
|
37
43
|
:layouts,
|
38
44
|
:partials,
|
39
45
|
:global_partials,
|
40
|
-
:media
|
46
|
+
:media,
|
47
|
+
:syntax,
|
48
|
+
:compiled
|
41
49
|
)
|
42
50
|
|
51
|
+
|
43
52
|
# Public: Setup Ruhoh utilities relative to the current directory
|
44
53
|
# of the application and its corresponding ruhoh.json file.
|
45
54
|
#
|
46
|
-
def self.setup
|
47
|
-
|
48
|
-
@files = Files.new('_site.yml', '_config.yml')
|
49
|
-
@filters = Filters.new
|
50
|
-
@config = Config.new
|
51
|
-
@paths = Paths.new
|
52
|
-
|
53
|
-
config = { 'site_source' => Dir.getwd }
|
54
|
-
site_config = YAML.load_file( File.join(config['site_source'], '_config.yml') )
|
55
|
+
def self.setup(site_source = nil)
|
56
|
+
self.reset
|
55
57
|
|
56
|
-
@
|
57
|
-
|
58
|
-
|
58
|
+
@site_source = site_source if site_source
|
59
|
+
self.setup_config
|
60
|
+
self.setup_paths
|
61
|
+
self.setup_filters
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.reset
|
65
|
+
@folders = Folders.new('_database', '_posts', '_drafts', '_templates', 'themes', 'layouts', 'partials', "_media", "syntax", '_compiled')
|
66
|
+
@files = Files.new('_site.yml', '_config.yml')
|
67
|
+
@filters = Filters.new
|
68
|
+
@config = Config.new
|
69
|
+
@paths = Paths.new
|
70
|
+
@site_source = Dir.getwd
|
71
|
+
end
|
72
|
+
|
73
|
+
def self.setup_config
|
74
|
+
site_config = Ruhoh::Utils.parse_file_as_yaml(@site_source, @files.config)
|
75
|
+
unless site_config
|
76
|
+
Ruhoh::Friend.say {
|
77
|
+
red "Empty site_config"
|
78
|
+
red "Please ensure ./#{Ruhoh.files.config} exists and contains valid YAML"
|
79
|
+
}
|
80
|
+
exit
|
81
|
+
end
|
59
82
|
|
60
|
-
|
61
|
-
|
62
|
-
@paths.posts = self.absolute_path(@folders.posts)
|
83
|
+
theme = site_config['theme'] ? site_config['theme'].to_s.gsub(/\s/, '') : ''
|
84
|
+
raise "Theme not specified in _config.yml" if theme.empty?
|
63
85
|
|
64
|
-
@
|
65
|
-
@
|
66
|
-
@
|
67
|
-
@
|
68
|
-
@
|
69
|
-
|
86
|
+
@config.theme = theme
|
87
|
+
@config.theme_path = File.join('/', @folders.templates, @folders.themes, @config.theme)
|
88
|
+
@config.media_path = File.join('/', @folders.media)
|
89
|
+
@config.syntax_path = File.join('/', @folders.templates, @folders.syntax)
|
90
|
+
@config.permalink = site_config['permalink']
|
91
|
+
@config.exclude = Array(site_config['exclude'] || nil)
|
92
|
+
end
|
93
|
+
|
94
|
+
def self.setup_paths
|
95
|
+
@paths.site_source = @site_source
|
96
|
+
@paths.database = self.absolute_path(@folders.database)
|
97
|
+
@paths.posts = self.absolute_path(@folders.posts)
|
98
|
+
@paths.drafts = self.absolute_path(@folders.drafts)
|
70
99
|
|
71
|
-
|
100
|
+
@paths.theme = self.absolute_path(@folders.templates, @folders.themes, @config.theme)
|
101
|
+
@paths.layouts = self.absolute_path(@folders.templates, @folders.themes, @config.theme, @folders.layouts)
|
102
|
+
@paths.partials = self.absolute_path(@folders.templates, @folders.themes, @config.theme, @folders.partials)
|
103
|
+
@paths.global_partials = self.absolute_path(@folders.templates, @folders.partials)
|
104
|
+
@paths.media = self.absolute_path(@folders.media)
|
105
|
+
@paths.syntax = self.absolute_path(@folders.templates, @folders.syntax)
|
106
|
+
@paths.compiled = self.absolute_path(@folders.compiled)
|
107
|
+
end
|
108
|
+
|
109
|
+
# filename filters
|
110
|
+
def self.setup_filters
|
111
|
+
exclude = @config.exclude + DefaultExclude
|
112
|
+
exclude.uniq!
|
113
|
+
|
72
114
|
@filters.pages = { 'names' => [], 'regexes' => [] }
|
73
|
-
exclude = ['Gemfile', 'Gemfile.lock', 'config.ru', 'README.md']
|
74
115
|
exclude.each {|node|
|
75
116
|
@filters.pages['names'] << node if node.is_a?(String)
|
76
117
|
@filters.pages['regexes'] << node if node.is_a?(Regexp)
|
@@ -80,5 +121,9 @@ class Ruhoh
|
|
80
121
|
def self.absolute_path(*args)
|
81
122
|
File.__send__ :join, args.unshift(self.paths.site_source)
|
82
123
|
end
|
124
|
+
|
125
|
+
def self.relative_path(filename)
|
126
|
+
filename.gsub( Regexp.new("^#{self.paths.site_source}/"), '' )
|
127
|
+
end
|
83
128
|
|
84
129
|
end # Ruhoh
|
data/ruhoh.gemspec
CHANGED
@@ -7,41 +7,102 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.date = Time.now.strftime('%Y-%m-%d')
|
8
8
|
s.license = "http://unlicense.org/"
|
9
9
|
s.summary = 'Ruby based library to process your Ruhoh static blog.'
|
10
|
-
s.homepage = "http://github.com/
|
10
|
+
s.homepage = "http://github.com/ruhoh/ruhoh.rb"
|
11
11
|
s.email = "plusjade@gmail.com"
|
12
12
|
s.authors = ['Jade Dominguez']
|
13
13
|
s.description = 'Ruhoh is a Universal API for your static blog.'
|
14
14
|
s.executables = ["ruhoh"]
|
15
15
|
|
16
16
|
# dependencies defined in Gemfile
|
17
|
-
s.add_dependency 'rack'
|
18
|
-
s.add_dependency 'mustache'
|
19
|
-
s.add_dependency 'directory_watcher'
|
20
|
-
s.add_dependency 'maruku'
|
17
|
+
s.add_dependency 'rack', "~> 1.4"
|
18
|
+
s.add_dependency 'mustache', "~> 0.99"
|
19
|
+
s.add_dependency 'directory_watcher', "~> 1.4"
|
20
|
+
s.add_dependency 'maruku', "~> 0.6"
|
21
21
|
|
22
22
|
# = MANIFEST =
|
23
23
|
s.files = %w[
|
24
|
+
Gemfile
|
24
25
|
README.md
|
26
|
+
Rakefile
|
25
27
|
bin/ruhoh
|
26
28
|
lib/ruhoh.rb
|
27
|
-
lib/ruhoh/client.rb
|
29
|
+
lib/ruhoh/client/client.rb
|
30
|
+
lib/ruhoh/client/help.yml
|
28
31
|
lib/ruhoh/compiler.rb
|
29
32
|
lib/ruhoh/converters/converter.rb
|
30
33
|
lib/ruhoh/db.rb
|
34
|
+
lib/ruhoh/deployers/s3.rb
|
35
|
+
lib/ruhoh/friend.rb
|
31
36
|
lib/ruhoh/page.rb
|
37
|
+
lib/ruhoh/parsers/drafts.rb
|
32
38
|
lib/ruhoh/parsers/layouts.rb
|
33
39
|
lib/ruhoh/parsers/pages.rb
|
34
40
|
lib/ruhoh/parsers/partials.rb
|
35
41
|
lib/ruhoh/parsers/posts.rb
|
36
42
|
lib/ruhoh/parsers/routes.rb
|
37
43
|
lib/ruhoh/parsers/site.rb
|
38
|
-
lib/ruhoh/
|
39
|
-
lib/ruhoh/templaters/
|
40
|
-
lib/ruhoh/templaters/
|
44
|
+
lib/ruhoh/previewer.rb
|
45
|
+
lib/ruhoh/templaters/base.rb
|
46
|
+
lib/ruhoh/templaters/helpers.rb
|
47
|
+
lib/ruhoh/templaters/rmustache.rb
|
41
48
|
lib/ruhoh/utils.rb
|
42
49
|
lib/ruhoh/version.rb
|
43
50
|
lib/ruhoh/watch.rb
|
44
51
|
ruhoh.gemspec
|
52
|
+
scaffolds/blog/_config.yml
|
53
|
+
scaffolds/blog/_drafts/.gitkeep
|
54
|
+
scaffolds/blog/_posts/.gitkeep
|
55
|
+
scaffolds/blog/_site.yml
|
56
|
+
scaffolds/blog/_templates/partials/categories_list
|
57
|
+
scaffolds/blog/_templates/partials/pages_list
|
58
|
+
scaffolds/blog/_templates/partials/posts_collate
|
59
|
+
scaffolds/blog/_templates/partials/posts_list
|
60
|
+
scaffolds/blog/_templates/partials/tags_list
|
61
|
+
scaffolds/blog/_templates/syntax/google_prettify/default.css
|
62
|
+
scaffolds/blog/_templates/syntax/google_prettify/desert.css
|
63
|
+
scaffolds/blog/_templates/syntax/google_prettify/sons-of-obsidian.css
|
64
|
+
scaffolds/blog/_templates/syntax/google_prettify/sunburst.css
|
65
|
+
scaffolds/blog/_templates/syntax/google_prettify/twitter-bootstrap.css
|
66
|
+
scaffolds/blog/_templates/themes/twitter/bootstrap/css/bootstrap.min.css
|
67
|
+
scaffolds/blog/_templates/themes/twitter/bootstrap/img/glyphicons-halflings-white.png
|
68
|
+
scaffolds/blog/_templates/themes/twitter/bootstrap/img/glyphicons-halflings.png
|
69
|
+
scaffolds/blog/_templates/themes/twitter/css/style.css
|
70
|
+
scaffolds/blog/_templates/themes/twitter/layouts/default.html
|
71
|
+
scaffolds/blog/_templates/themes/twitter/layouts/page.html
|
72
|
+
scaffolds/blog/_templates/themes/twitter/layouts/post.html
|
73
|
+
scaffolds/blog/_templates/themes/twitter/manifest.yml
|
74
|
+
scaffolds/blog/about.md
|
75
|
+
scaffolds/blog/archive.html
|
76
|
+
scaffolds/blog/categories.html
|
77
|
+
scaffolds/blog/config.ru
|
78
|
+
scaffolds/blog/index.html
|
79
|
+
scaffolds/blog/pages.html
|
80
|
+
scaffolds/blog/tags.html
|
81
|
+
scaffolds/layout.html
|
82
|
+
scaffolds/page.html
|
83
|
+
scaffolds/post.html
|
84
|
+
scaffolds/theme/css/style.css
|
85
|
+
scaffolds/theme/images/.gitkeep
|
86
|
+
scaffolds/theme/layouts/default.html
|
87
|
+
scaffolds/theme/layouts/page.html
|
88
|
+
scaffolds/theme/layouts/post.html
|
89
|
+
scaffolds/theme/partials/.gitkeep
|
90
|
+
spec/db_spec.rb
|
91
|
+
spec/page_spec.rb
|
92
|
+
spec/parsers/layouts_spec.rb
|
93
|
+
spec/parsers/pages_spec.rb
|
94
|
+
spec/parsers/posts_spec.rb
|
95
|
+
spec/parsers/routes_spec.rb
|
96
|
+
spec/parsers/site_spec.rb
|
97
|
+
spec/setup_spec.rb
|
98
|
+
spec/spec_helper.rb
|
99
|
+
system_partials/analytics/getclicky
|
100
|
+
system_partials/analytics/google
|
101
|
+
system_partials/comments/disqus
|
102
|
+
system_partials/comments/facebook
|
103
|
+
system_partials/comments/intensedebate
|
104
|
+
system_partials/comments/livefyre
|
105
|
+
system_partials/syntax/google_prettify
|
45
106
|
]
|
46
107
|
# = MANIFEST =
|
47
108
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
---
|
2
|
+
version : 0.0.3
|
3
|
+
permalink: /:categories/:title
|
4
|
+
theme : twitter
|
5
|
+
|
6
|
+
production_url : http://sample.com
|
7
|
+
|
8
|
+
comments :
|
9
|
+
provider : disqus
|
10
|
+
disqus :
|
11
|
+
short_name : jekyllbootstrap
|
12
|
+
livefyre :
|
13
|
+
site_id : 123
|
14
|
+
intensedebate :
|
15
|
+
account : 123abc
|
16
|
+
facebook :
|
17
|
+
appid : 123
|
18
|
+
num_posts: 5
|
19
|
+
width: 580
|
20
|
+
colorscheme: light
|
21
|
+
|
22
|
+
analytics :
|
23
|
+
provider : google
|
24
|
+
google :
|
25
|
+
tracking_id : 'UA-123-12'
|
26
|
+
getclicky :
|
27
|
+
site_id :
|
28
|
+
|
29
|
+
syntax :
|
30
|
+
provider : google_prettify
|
31
|
+
google_prettify :
|
32
|
+
theme: twitter-bootstrap
|
33
|
+
linenums : true
|
File without changes
|
File without changes
|
@@ -0,0 +1,16 @@
|
|
1
|
+
title : Blog Title
|
2
|
+
tagline: Blog Tagline
|
3
|
+
author :
|
4
|
+
name : Firstname Lastname
|
5
|
+
email : blah@email.test
|
6
|
+
github : username
|
7
|
+
twitter : username
|
8
|
+
feedburner : feedname
|
9
|
+
|
10
|
+
navigation :
|
11
|
+
- archive.html
|
12
|
+
- tags.html
|
13
|
+
- categories.html
|
14
|
+
- pages.html
|
15
|
+
- about.md
|
16
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
<li><a href="{{url}}">{{title}}</a></li>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
/* Pretty printing styles. Used with prettify.js. */
|
2
|
+
|
3
|
+
/* SPAN elements with the classes below are added by prettyprint. */
|
4
|
+
.pln { color: #000 } /* plain text */
|
5
|
+
|
6
|
+
@media screen {
|
7
|
+
.str { color: #080 } /* string content */
|
8
|
+
.kwd { color: #008 } /* a keyword */
|
9
|
+
.com { color: #800 } /* a comment */
|
10
|
+
.typ { color: #606 } /* a type name */
|
11
|
+
.lit { color: #066 } /* a literal value */
|
12
|
+
/* punctuation, lisp open bracket, lisp close bracket */
|
13
|
+
.pun, .opn, .clo { color: #660 }
|
14
|
+
.tag { color: #008 } /* a markup tag name */
|
15
|
+
.atn { color: #606 } /* a markup attribute name */
|
16
|
+
.atv { color: #080 } /* a markup attribute value */
|
17
|
+
.dec, .var { color: #606 } /* a declaration; a variable name */
|
18
|
+
.fun { color: red } /* a function name */
|
19
|
+
}
|
20
|
+
|
21
|
+
/* Use higher contrast and text-weight for printable form. */
|
22
|
+
@media print, projection {
|
23
|
+
.str { color: #060 }
|
24
|
+
.kwd { color: #006; font-weight: bold }
|
25
|
+
.com { color: #600; font-style: italic }
|
26
|
+
.typ { color: #404; font-weight: bold }
|
27
|
+
.lit { color: #044 }
|
28
|
+
.pun, .opn, .clo { color: #440 }
|
29
|
+
.tag { color: #006; font-weight: bold }
|
30
|
+
.atn { color: #404 }
|
31
|
+
.atv { color: #060 }
|
32
|
+
}
|
33
|
+
|
34
|
+
/* Put a border around prettyprinted code snippets. */
|
35
|
+
pre.prettyprint { padding: 2px; border: 1px solid #888 }
|
36
|
+
|
37
|
+
/* Specify class=linenums on a pre to get line numbering */
|
38
|
+
ol.linenums { margin-top: 0; margin-bottom: 0 } /* IE indents via margin-left */
|
39
|
+
li.L0,
|
40
|
+
li.L1,
|
41
|
+
li.L2,
|
42
|
+
li.L3,
|
43
|
+
li.L5,
|
44
|
+
li.L6,
|
45
|
+
li.L7,
|
46
|
+
li.L8 { list-style-type: none }
|
47
|
+
/* Alternate shading for lines */
|
48
|
+
li.L1,
|
49
|
+
li.L3,
|
50
|
+
li.L5,
|
51
|
+
li.L7,
|
52
|
+
li.L9 { background: #eee }
|
@@ -0,0 +1,34 @@
|
|
1
|
+
/* desert scheme ported from vim to google prettify */
|
2
|
+
pre { display: block; background-color: #333 }
|
3
|
+
pre .nocode { background-color: none; color: #000 }
|
4
|
+
pre .str { color: #ffa0a0 } /* string - pink */
|
5
|
+
pre .kwd { color: #f0e68c; font-weight: bold }
|
6
|
+
pre .com { color: #87ceeb } /* comment - skyblue */
|
7
|
+
pre .typ { color: #98fb98 } /* type - lightgreen */
|
8
|
+
pre .lit { color: #cd5c5c } /* literal - darkred */
|
9
|
+
pre .pun { color: #fff } /* punctuation */
|
10
|
+
pre .pln { color: #fff } /* plaintext */
|
11
|
+
pre .tag { color: #f0e68c; font-weight: bold } /* html/xml tag - lightyellow */
|
12
|
+
pre .atn { color: #bdb76b; font-weight: bold } /* attribute name - khaki */
|
13
|
+
pre .atv { color: #ffa0a0 } /* attribute value - pink */
|
14
|
+
pre .dec { color: #98fb98 } /* decimal - lightgreen */
|
15
|
+
|
16
|
+
/* Specify class=linenums on a pre to get line numbering */
|
17
|
+
ol.linenums { margin-top: 0; margin-bottom: 0; color: #AEAEAE } /* IE indents via margin-left */
|
18
|
+
li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none }
|
19
|
+
/* Alternate shading for lines */
|
20
|
+
li.L1,li.L3,li.L5,li.L7,li.L9 { }
|
21
|
+
|
22
|
+
@media print {
|
23
|
+
pre { background-color: none }
|
24
|
+
pre .str, code .str { color: #060 }
|
25
|
+
pre .kwd, code .kwd { color: #006; font-weight: bold }
|
26
|
+
pre .com, code .com { color: #600; font-style: italic }
|
27
|
+
pre .typ, code .typ { color: #404; font-weight: bold }
|
28
|
+
pre .lit, code .lit { color: #044 }
|
29
|
+
pre .pun, code .pun { color: #440 }
|
30
|
+
pre .pln, code .pln { color: #000 }
|
31
|
+
pre .tag, code .tag { color: #006; font-weight: bold }
|
32
|
+
pre .atn, code .atn { color: #404 }
|
33
|
+
pre .atv, code .atv { color: #060 }
|
34
|
+
}
|
@@ -0,0 +1,117 @@
|
|
1
|
+
/*
|
2
|
+
* Derived from einaros's Sons of Obsidian theme at
|
3
|
+
* http://studiostyl.es/schemes/son-of-obsidian by
|
4
|
+
* Alex Ford of CodeTunnel:
|
5
|
+
* http://CodeTunnel.com/blog/post/71/google-code-prettify-obsidian-theme
|
6
|
+
*/
|
7
|
+
|
8
|
+
.str
|
9
|
+
{
|
10
|
+
color: #EC7600;
|
11
|
+
}
|
12
|
+
.kwd
|
13
|
+
{
|
14
|
+
color: #93C763;
|
15
|
+
}
|
16
|
+
.com
|
17
|
+
{
|
18
|
+
color: #66747B;
|
19
|
+
}
|
20
|
+
.typ
|
21
|
+
{
|
22
|
+
color: #678CB1;
|
23
|
+
}
|
24
|
+
.lit
|
25
|
+
{
|
26
|
+
color: #FACD22;
|
27
|
+
}
|
28
|
+
.pun
|
29
|
+
{
|
30
|
+
color: #F1F2F3;
|
31
|
+
}
|
32
|
+
.pln
|
33
|
+
{
|
34
|
+
color: #F1F2F3;
|
35
|
+
}
|
36
|
+
.tag
|
37
|
+
{
|
38
|
+
color: #8AC763;
|
39
|
+
}
|
40
|
+
.atn
|
41
|
+
{
|
42
|
+
color: #E0E2E4;
|
43
|
+
}
|
44
|
+
.atv
|
45
|
+
{
|
46
|
+
color: #EC7600;
|
47
|
+
}
|
48
|
+
.dec
|
49
|
+
{
|
50
|
+
color: purple;
|
51
|
+
}
|
52
|
+
pre.prettyprint
|
53
|
+
{
|
54
|
+
border: 0px solid #888;
|
55
|
+
}
|
56
|
+
ol.linenums
|
57
|
+
{
|
58
|
+
margin-top: 0;
|
59
|
+
margin-bottom: 0;
|
60
|
+
}
|
61
|
+
.prettyprint {
|
62
|
+
background: #000;
|
63
|
+
}
|
64
|
+
li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9
|
65
|
+
{
|
66
|
+
color: #555;
|
67
|
+
}
|
68
|
+
li.L1, li.L3, li.L5, li.L7, li.L9 {
|
69
|
+
background: #111;
|
70
|
+
}
|
71
|
+
@media print
|
72
|
+
{
|
73
|
+
.str
|
74
|
+
{
|
75
|
+
color: #060;
|
76
|
+
}
|
77
|
+
.kwd
|
78
|
+
{
|
79
|
+
color: #006;
|
80
|
+
font-weight: bold;
|
81
|
+
}
|
82
|
+
.com
|
83
|
+
{
|
84
|
+
color: #600;
|
85
|
+
font-style: italic;
|
86
|
+
}
|
87
|
+
.typ
|
88
|
+
{
|
89
|
+
color: #404;
|
90
|
+
font-weight: bold;
|
91
|
+
}
|
92
|
+
.lit
|
93
|
+
{
|
94
|
+
color: #044;
|
95
|
+
}
|
96
|
+
.pun
|
97
|
+
{
|
98
|
+
color: #440;
|
99
|
+
}
|
100
|
+
.pln
|
101
|
+
{
|
102
|
+
color: #000;
|
103
|
+
}
|
104
|
+
.tag
|
105
|
+
{
|
106
|
+
color: #006;
|
107
|
+
font-weight: bold;
|
108
|
+
}
|
109
|
+
.atn
|
110
|
+
{
|
111
|
+
color: #404;
|
112
|
+
}
|
113
|
+
.atv
|
114
|
+
{
|
115
|
+
color: #060;
|
116
|
+
}
|
117
|
+
}
|