soxer 0.9.10 → 0.9.11
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +27 -1
- data/lib/soxer/main.rb +43 -79
- data/lib/soxer/skel/blog/app.rb +4 -1
- data/lib/soxer/skel/blog/config.ru +4 -24
- data/lib/soxer/skel/blog/{config.yml → config.yml.example} +2 -2
- data/lib/soxer/skel/blog/views/_block_history.haml +1 -1
- data/lib/soxer/skel/empty/app.rb +2 -2
- data/lib/soxer/skel/empty/config.ru +4 -24
- data/lib/soxer/skel/empty/{config.yml → config.yml.example} +2 -2
- data/soxer.gemspec +2 -2
- metadata +31 -41
- data/lib/soxer/skel/blog/public/fonts/trashed.ttf +0 -0
- data/lib/soxer/skel/blog/views/css/trashed/css.sass +0 -152
data/CHANGES
CHANGED
@@ -1,4 +1,28 @@
|
|
1
|
-
= 0.9.
|
1
|
+
= 0.9.11 / 2011-04-30
|
2
|
+
|
3
|
+
* Fixed relative paths in config.ru for app requirement.
|
4
|
+
|
5
|
+
* Fixed scoping inside classes. This was a severe bug.
|
6
|
+
It's a mistery how it worked until sinatra 1.2.3...
|
7
|
+
|
8
|
+
* Deleted unneeded classes.
|
9
|
+
|
10
|
+
* Added initialization to objects.
|
11
|
+
|
12
|
+
* Properly modularized Soxer. There are now no global settings that
|
13
|
+
Soxer uses
|
14
|
+
|
15
|
+
* Soxer sets up several application speciffic directories, which can be
|
16
|
+
changed inside SoxerApp.
|
17
|
+
|
18
|
+
* Setting up the root of application is now mandatory.
|
19
|
+
|
20
|
+
* Changed and cleaned skeletal application's app.rb and config.ru files
|
21
|
+
to reflect the new modularity.
|
22
|
+
|
23
|
+
* Renamed config.yml to config.yml.example, added cosmetic fixes to it.
|
24
|
+
|
25
|
+
= 0.9.10 / 2011-03-22
|
2
26
|
|
3
27
|
* The function get_list now returns an array of hashies. This was a severe
|
4
28
|
inconsistency.
|
@@ -9,6 +33,8 @@
|
|
9
33
|
* Completely rewritten inclusion of empty directories to facilitate a more
|
10
34
|
flexible skeleton project creation.
|
11
35
|
|
36
|
+
* Added a blog skeleton to the list of project skeletons.
|
37
|
+
|
12
38
|
= 0.9.9 / 2011-03-03
|
13
39
|
|
14
40
|
* Changed the names of Classes to match CamelCase convention in Ruby
|
data/lib/soxer/main.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
|
3
2
|
require 'hashie'
|
4
3
|
require 'sinatra/base'
|
5
4
|
require 'yaml'
|
6
5
|
require 'haml'
|
6
|
+
require 'sass'
|
7
7
|
require 'uuid'
|
8
8
|
|
9
9
|
#== Sinatra, web publishing DSL
|
@@ -24,7 +24,7 @@ module Sinatra
|
|
24
24
|
# Copyright: Copyright (c) 1010 Toni Anzlovar, www.formalibre.si
|
25
25
|
# License: Distributed under the GPL licence. http://www.gnu.org/licenses/gpl.html
|
26
26
|
module Soxer
|
27
|
-
|
27
|
+
|
28
28
|
# === The FileReader class
|
29
29
|
#
|
30
30
|
# FileReader is responsible for reading a YAML file, that contains the
|
@@ -36,25 +36,22 @@ module Sinatra
|
|
36
36
|
# if the fields are not present, they are automatically generated and
|
37
37
|
# saved in the file.
|
38
38
|
class FileReader
|
39
|
-
|
39
|
+
|
40
40
|
attr_accessor :filename
|
41
41
|
|
42
|
-
|
43
|
-
|
44
|
-
# directory.
|
45
|
-
def settings
|
46
|
-
@s = Sinatra::Application
|
42
|
+
def initialize filename, settings
|
43
|
+
@f, @s = filename, settings
|
47
44
|
end
|
48
45
|
|
49
|
-
# The method, that retuns the YAML structure in a ::hash::.
|
46
|
+
# The method, that retuns the YAML structure in a ::hashie hash::.
|
47
|
+
# Hashie makes the hash keys accessible either strings, symbols or methods.
|
50
48
|
def get_content
|
51
|
-
|
52
|
-
out = YAML.load_file( @filename )
|
49
|
+
out = YAML.load_file( @f )
|
53
50
|
add_date unless out['date']
|
54
51
|
add_id unless out['uuid']
|
55
|
-
out['url'] = @
|
56
|
-
out['mtime'] = File.mtime( @
|
57
|
-
out
|
52
|
+
out['url'] = @f.gsub(/#{@s.origin}\/(.+)\.yaml$/, "\\1" ).gsub(/(.+)\/index$/, "\\1" )
|
53
|
+
out['mtime'] = File.mtime( @f )
|
54
|
+
Hashie::Mash.new out
|
58
55
|
end
|
59
56
|
|
60
57
|
private
|
@@ -63,18 +60,18 @@ module Sinatra
|
|
63
60
|
# Identifier field to the data structure.
|
64
61
|
def add_id
|
65
62
|
mtime = File.mtime( @filename )
|
66
|
-
File.open( @
|
63
|
+
File.open( @f, 'r+' ) do |f|
|
67
64
|
out = "uuid: #{UUID.new.generate}\n"
|
68
65
|
out << f.read; f.pos = 0
|
69
66
|
f << out
|
70
67
|
end
|
71
|
-
File.utime( 0, mtime, @
|
68
|
+
File.utime( 0, mtime, @f )
|
72
69
|
end
|
73
70
|
|
74
71
|
# A private method, that adds a standard Time.now to the data structure.
|
75
72
|
def add_date
|
76
|
-
mtime = File.mtime( @
|
77
|
-
File.open( @
|
73
|
+
mtime = File.mtime( @f )
|
74
|
+
File.open( @f, 'r+' ) do |f|
|
78
75
|
out = "date: #{mtime.xmlschema}\n"
|
79
76
|
out << f.read; f.pos = 0
|
80
77
|
f << out
|
@@ -89,53 +86,22 @@ module Sinatra
|
|
89
86
|
# (the default is "content" directory within application root) or a
|
90
87
|
# directory path with index.yaml
|
91
88
|
class UrlReader
|
92
|
-
|
93
|
-
# Url, recieved from the request
|
89
|
+
|
94
90
|
attr_accessor :url
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
# directory.
|
99
|
-
def settings
|
100
|
-
@s = Sinatra::Application
|
91
|
+
|
92
|
+
def initialize url, settings
|
93
|
+
@url, @s = url, settings
|
101
94
|
end
|
102
95
|
|
103
96
|
# Creates a FileReader instance, maps the url to either yaml file or
|
104
97
|
# index.yaml within a directory represented by url.
|
105
98
|
def get_content
|
106
|
-
self.settings
|
107
99
|
fn = case true
|
108
100
|
when File.exist?( f = File.join( @s.origin, @url+'.yaml' ) ) then f
|
109
101
|
when File.exist?( f = File.join( @s.origin, @url+'/index.yaml' ) ) then f
|
110
102
|
else throw :halt, [404, "Document not found"]
|
111
103
|
end
|
112
|
-
|
113
|
-
out.filename = fn
|
114
|
-
out.get_content
|
115
|
-
end
|
116
|
-
end
|
117
|
-
|
118
|
-
# === The DocumentStore class
|
119
|
-
#
|
120
|
-
# DocumentStore class extends the hash to enable document attribute access
|
121
|
-
# in one of three ways:
|
122
|
-
# hash key: page['key'] => value
|
123
|
-
# method call: page.key => value
|
124
|
-
# symbol: page[:key] => value
|
125
|
-
class Document < Hash
|
126
|
-
def initialize(attrs)
|
127
|
-
attrs.each do |k, v|
|
128
|
-
self[k] = v
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
def []=(k, v)
|
133
|
-
unless respond_to?(k)
|
134
|
-
self.class.send :define_method, k do
|
135
|
-
self[k]
|
136
|
-
end
|
137
|
-
end
|
138
|
-
super
|
104
|
+
FileReader.new(fn, @s).get_content
|
139
105
|
end
|
140
106
|
end
|
141
107
|
|
@@ -143,6 +109,7 @@ module Sinatra
|
|
143
109
|
#
|
144
110
|
# This module introduces several helper methods to Soxer application.
|
145
111
|
module Helpers
|
112
|
+
|
146
113
|
# === Document reader
|
147
114
|
# This method reads a yaml file from disk and returns a hash.
|
148
115
|
#
|
@@ -154,9 +121,7 @@ module Sinatra
|
|
154
121
|
# [=> Hash]
|
155
122
|
# A hash representation of yaml file.
|
156
123
|
def get_page url=params[:splat][0]
|
157
|
-
|
158
|
-
out.url = url
|
159
|
-
Hashie::Mash.new out.get_content
|
124
|
+
UrlReader.new(url, options).get_content
|
160
125
|
end
|
161
126
|
|
162
127
|
# === Document list generator method
|
@@ -170,15 +135,14 @@ module Sinatra
|
|
170
135
|
# [=> Array]
|
171
136
|
# Array of hashes representing yaml files.
|
172
137
|
def get_list &block
|
173
|
-
fileset= Dir.glob File.join(
|
138
|
+
fileset= Dir.glob File.join( options.origin, "**", "*.yaml" )
|
174
139
|
fileset.delete_if {|d| (d=~/\/index.yaml$/ and fileset.include? d[0..-12]+'.yaml') }
|
175
140
|
output = fileset.map! do |f|
|
176
|
-
file = FileReader.new
|
177
|
-
file.filename = f
|
141
|
+
file = FileReader.new f, options
|
178
142
|
if block_given?
|
179
|
-
f = block.call
|
143
|
+
f = block.call file.get_content
|
180
144
|
else
|
181
|
-
f =
|
145
|
+
f = file.get_content
|
182
146
|
end
|
183
147
|
end.compact
|
184
148
|
end
|
@@ -345,18 +309,20 @@ module Sinatra
|
|
345
309
|
|
346
310
|
end
|
347
311
|
|
348
|
-
def self.registered(app)
|
349
|
-
app.helpers Soxer::Helpers
|
312
|
+
def self.registered(app)
|
350
313
|
|
351
|
-
|
352
|
-
|
314
|
+
if app.settings.root then
|
315
|
+
app.set :origin, File.join(app.settings.root, 'content') unless app.settings.respond_to? 'content'
|
316
|
+
app.set :public, File.join(app.settings.root, 'public') unless app.settings.respond_to? 'public'
|
317
|
+
app.set :views, File.join(app.settings.root, 'views') unless app.settings.respond_to? 'views'
|
318
|
+
app.set :log, File.join(app.settings.root, 'log') unless app.settings.respond_to? 'log'
|
353
319
|
end
|
354
320
|
|
355
|
-
|
321
|
+
app.helpers Soxer::Helpers
|
356
322
|
|
357
|
-
mime_type :otf, 'application/x-font-TrueType'
|
358
|
-
mime_type :ttf, 'application/x-font-TrueType'
|
359
|
-
mime_type :eot, 'application/vnd.ms-fontobject'
|
323
|
+
app.mime_type :otf, 'application/x-font-TrueType'
|
324
|
+
app.mime_type :ttf, 'application/x-font-TrueType'
|
325
|
+
app.mime_type :eot, 'application/vnd.ms-fontobject'
|
360
326
|
|
361
327
|
app.get("/sitemap.xml") { sitemap }
|
362
328
|
|
@@ -364,7 +330,7 @@ module Sinatra
|
|
364
330
|
content_type "text/html", :charset => "utf-8"
|
365
331
|
url = params[:captures][0]
|
366
332
|
type = params[:captures][1]
|
367
|
-
file = File.join settings.origin, url
|
333
|
+
file = File.join app.settings.origin, url
|
368
334
|
|
369
335
|
case type
|
370
336
|
when 'yaml' then
|
@@ -374,9 +340,9 @@ module Sinatra
|
|
374
340
|
send_file(file, :disposition => nil) if File.exist? file
|
375
341
|
throw :halt, [404, "Document not found"]if !File.exist? file
|
376
342
|
|
377
|
-
when /^css$/i then
|
378
|
-
|
379
|
-
|
343
|
+
when /^css$/i then
|
344
|
+
content_type "text/css", :charset => "utf-8"
|
345
|
+
sass url.sub('.'+type, '').to_sym
|
380
346
|
|
381
347
|
when 'atom' then
|
382
348
|
content_type "application/atom+xml", :charset => "utf-8"
|
@@ -385,7 +351,6 @@ module Sinatra
|
|
385
351
|
haml page['content'], :layout => layout,
|
386
352
|
:format => :xhtml,
|
387
353
|
:locals => { :page => page }
|
388
|
-
|
389
354
|
|
390
355
|
when 'rss' then
|
391
356
|
'RSS is not supported yet'
|
@@ -397,9 +362,9 @@ module Sinatra
|
|
397
362
|
app.get '*/?' do
|
398
363
|
content_type "text/html", :charset => "utf-8"
|
399
364
|
page = get_page
|
400
|
-
page
|
401
|
-
page
|
402
|
-
haml page
|
365
|
+
page.layout ||= 'layout'
|
366
|
+
page.layout == 'false' ? layout = false : layout = page.layout.to_sym
|
367
|
+
haml page.content, :layout => layout, :locals => { :page => page }
|
403
368
|
end
|
404
369
|
|
405
370
|
end
|
@@ -407,4 +372,3 @@ module Sinatra
|
|
407
372
|
|
408
373
|
register Soxer
|
409
374
|
end
|
410
|
-
|
data/lib/soxer/skel/blog/app.rb
CHANGED
@@ -1,9 +1,12 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require "rubygems"
|
3
|
-
require "sinatra"
|
3
|
+
require "sinatra/base"
|
4
4
|
require "soxer"
|
5
5
|
|
6
6
|
class SoxerApp < Sinatra::Base
|
7
|
+
set :root, File.dirname(__FILE__)
|
8
|
+
set :haml, {:format => :html5,
|
9
|
+
:attr_wrapper => '"'}
|
7
10
|
enable :sessions
|
8
11
|
before do
|
9
12
|
session[:theme] ||= %w[dna blossom][rand 1]
|
@@ -1,25 +1,5 @@
|
|
1
|
-
|
2
|
-
require "sinatra
|
3
|
-
require "app"
|
1
|
+
# encoding: utf-8
|
2
|
+
require "sinatra"
|
3
|
+
require "./app"
|
4
4
|
|
5
|
-
|
6
|
-
set :server, %w[thin mongrel webrick]
|
7
|
-
set :haml, {:format => :html5,
|
8
|
-
:attr_wrapper => '"'}
|
9
|
-
set :haml, {:encoding => 'utf-8'} if RUBY_VERSION=~/1\.9/
|
10
|
-
|
11
|
-
configure :development do
|
12
|
-
require 'sinatra/reloader'
|
13
|
-
set :port, 9394
|
14
|
-
end
|
15
|
-
|
16
|
-
configure :production do
|
17
|
-
set :haml, {:ugly => true}
|
18
|
-
set :port, 55500
|
19
|
-
end
|
20
|
-
|
21
|
-
set :environment, :production
|
22
|
-
|
23
|
-
map '/' do
|
24
|
-
run SoxerApp
|
25
|
-
end
|
5
|
+
run SoxerApp
|
@@ -2,8 +2,8 @@
|
|
2
2
|
environment: production
|
3
3
|
chdir: /path/to/your/application/home/dir
|
4
4
|
address: 0.0.0.0
|
5
|
-
user:
|
6
|
-
group:
|
5
|
+
user: username
|
6
|
+
group: username
|
7
7
|
port: 55500
|
8
8
|
pid: /path/to/your/application/home/dir/log/thin.pid
|
9
9
|
log: /path/to/your/application/home/dir/log/thin.log
|
data/lib/soxer/skel/empty/app.rb
CHANGED
@@ -1,25 +1,5 @@
|
|
1
|
-
|
2
|
-
require "sinatra
|
3
|
-
require "app"
|
1
|
+
# encoding: utf-8
|
2
|
+
require "sinatra"
|
3
|
+
require "./app"
|
4
4
|
|
5
|
-
|
6
|
-
set :server, %w[thin mongrel webrick]
|
7
|
-
set :haml, {:format => :html5,
|
8
|
-
:attr_wrapper => '"'}
|
9
|
-
set :haml, {:encoding => 'utf-8'} if RUBY_VERSION=~/1\.9/
|
10
|
-
|
11
|
-
configure :development do
|
12
|
-
require 'sinatra/reloader'
|
13
|
-
set :port, 9394
|
14
|
-
end
|
15
|
-
|
16
|
-
configure :production do
|
17
|
-
set :haml, {:ugly => true}
|
18
|
-
set :port, 55500
|
19
|
-
end
|
20
|
-
|
21
|
-
set :environment, :production
|
22
|
-
|
23
|
-
map '/' do
|
24
|
-
run SoxerApp
|
25
|
-
end
|
5
|
+
run SoxerApp
|
@@ -2,8 +2,8 @@
|
|
2
2
|
environment: production
|
3
3
|
chdir: /path/to/your/application/home/dir
|
4
4
|
address: 0.0.0.0
|
5
|
-
user:
|
6
|
-
group:
|
5
|
+
user: username
|
6
|
+
group: username
|
7
7
|
port: 55500
|
8
8
|
pid: /path/to/your/application/home/dir/log/thin.pid
|
9
9
|
log: /path/to/your/application/home/dir/log/thin.log
|
data/soxer.gemspec
CHANGED
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: soxer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 47
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
8
|
+
- 11
|
9
|
+
version: 0.9.11
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Toni Anzlovar
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2011-
|
17
|
+
date: 2011-04-30 00:00:00 +02:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
@@ -26,7 +25,6 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - ~>
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 1
|
30
28
|
segments:
|
31
29
|
- 1
|
32
30
|
version: "1"
|
@@ -40,7 +38,6 @@ dependencies:
|
|
40
38
|
requirements:
|
41
39
|
- - ~>
|
42
40
|
- !ruby/object:Gem::Version
|
43
|
-
hash: 5
|
44
41
|
segments:
|
45
42
|
- 3
|
46
43
|
version: "3"
|
@@ -54,7 +51,6 @@ dependencies:
|
|
54
51
|
requirements:
|
55
52
|
- - ~>
|
56
53
|
- !ruby/object:Gem::Version
|
57
|
-
hash: 7
|
58
54
|
segments:
|
59
55
|
- 2
|
60
56
|
version: "2"
|
@@ -68,7 +64,6 @@ dependencies:
|
|
68
64
|
requirements:
|
69
65
|
- - ~>
|
70
66
|
- !ruby/object:Gem::Version
|
71
|
-
hash: 23
|
72
67
|
segments:
|
73
68
|
- 1
|
74
69
|
- 0
|
@@ -84,7 +79,6 @@ dependencies:
|
|
84
79
|
requirements:
|
85
80
|
- - ~>
|
86
81
|
- !ruby/object:Gem::Version
|
87
|
-
hash: 1
|
88
82
|
segments:
|
89
83
|
- 0
|
90
84
|
- 5
|
@@ -107,47 +101,45 @@ files:
|
|
107
101
|
- bin/soxer
|
108
102
|
- lib/soxer.rb
|
109
103
|
- lib/soxer/main.rb
|
110
|
-
- lib/soxer/views/atom.haml
|
111
|
-
- lib/soxer/views/sitemap.haml
|
112
|
-
- lib/soxer/views/disqus.haml
|
113
104
|
- lib/soxer/views/atom_layout.haml
|
105
|
+
- lib/soxer/views/disqus.haml
|
114
106
|
- lib/soxer/views/google_analytics.haml
|
115
|
-
- lib/soxer/views/
|
107
|
+
- lib/soxer/views/atom.haml
|
116
108
|
- lib/soxer/views/breadcrumb.haml
|
117
|
-
- lib/soxer/
|
118
|
-
- lib/soxer/
|
119
|
-
- lib/soxer/skel/blog/
|
120
|
-
- lib/soxer/skel/blog/content/blog/2010-10-12-how_to_spend_your_time_wisely.yaml
|
121
|
-
- lib/soxer/skel/blog/content/blog/2010-04-16-ecce_quomdo_moritur_iustus.yaml
|
122
|
-
- lib/soxer/skel/blog/content/blog/2009-06-02-meum_est_propositum.yaml
|
123
|
-
- lib/soxer/skel/blog/content/blog.atom.yaml
|
124
|
-
- lib/soxer/skel/blog/content/categories/index.yaml
|
125
|
-
- lib/soxer/skel/blog/SETUP.rb
|
126
|
-
- lib/soxer/skel/blog/public/css/dna/sequence.jpg
|
127
|
-
- lib/soxer/skel/blog/public/css/blossom/blossom.jpg
|
128
|
-
- lib/soxer/skel/blog/public/fonts/trashed.ttf
|
129
|
-
- lib/soxer/skel/blog/public/fonts/GeosansLight.ttf
|
130
|
-
- lib/soxer/skel/blog/config.yml
|
131
|
-
- lib/soxer/skel/blog/config.ru
|
132
|
-
- lib/soxer/skel/blog/views/_doc_short.haml
|
133
|
-
- lib/soxer/skel/blog/views/layout.haml
|
109
|
+
- lib/soxer/views/sitemap.haml
|
110
|
+
- lib/soxer/views/google_ads.haml
|
111
|
+
- lib/soxer/skel/blog/config.yml.example
|
134
112
|
- lib/soxer/skel/blog/views/_block_history.haml
|
135
|
-
- lib/soxer/skel/blog/views/
|
136
|
-
- lib/soxer/skel/blog/views/css/trashed/css.sass
|
113
|
+
- lib/soxer/skel/blog/views/_block_categories.haml
|
137
114
|
- lib/soxer/skel/blog/views/css/dna/css.sass
|
138
115
|
- lib/soxer/skel/blog/views/css/blossom/css.sass
|
139
|
-
- lib/soxer/skel/blog/views/
|
140
|
-
- lib/soxer/skel/blog/views/_block_about.haml
|
116
|
+
- lib/soxer/skel/blog/views/css/common.sass
|
141
117
|
- lib/soxer/skel/blog/views/_doc_docinfo.haml
|
142
118
|
- lib/soxer/skel/blog/views/_block_recent.haml
|
119
|
+
- lib/soxer/skel/blog/views/_doc_short.haml
|
120
|
+
- lib/soxer/skel/blog/views/_block_about.haml
|
121
|
+
- lib/soxer/skel/blog/views/layout.haml
|
122
|
+
- lib/soxer/skel/blog/SETUP.rb
|
143
123
|
- lib/soxer/skel/blog/app.rb
|
144
|
-
- lib/soxer/skel/
|
145
|
-
- lib/soxer/skel/
|
146
|
-
- lib/soxer/skel/
|
147
|
-
- lib/soxer/skel/
|
148
|
-
- lib/soxer/skel/
|
124
|
+
- lib/soxer/skel/blog/config.ru
|
125
|
+
- lib/soxer/skel/blog/public/css/dna/sequence.jpg
|
126
|
+
- lib/soxer/skel/blog/public/css/blossom/blossom.jpg
|
127
|
+
- lib/soxer/skel/blog/public/fonts/GeosansLight.ttf
|
128
|
+
- lib/soxer/skel/blog/content/blog.atom.yaml
|
129
|
+
- lib/soxer/skel/blog/content/blog/2010-11-24-what_is_where.yaml
|
130
|
+
- lib/soxer/skel/blog/content/blog/2010-09-06-lorem_ipsum.yaml
|
131
|
+
- lib/soxer/skel/blog/content/blog/2010-04-16-ecce_quomdo_moritur_iustus.yaml
|
132
|
+
- lib/soxer/skel/blog/content/blog/2010-10-12-how_to_spend_your_time_wisely.yaml
|
133
|
+
- lib/soxer/skel/blog/content/blog/2009-06-02-meum_est_propositum.yaml
|
134
|
+
- lib/soxer/skel/blog/content/index.yaml
|
135
|
+
- lib/soxer/skel/blog/content/categories/index.yaml
|
136
|
+
- lib/soxer/skel/empty/config.yml.example
|
149
137
|
- lib/soxer/skel/empty/views/css/css.sass
|
138
|
+
- lib/soxer/skel/empty/views/layout.haml
|
139
|
+
- lib/soxer/skel/empty/SETUP.rb
|
150
140
|
- lib/soxer/skel/empty/app.rb
|
141
|
+
- lib/soxer/skel/empty/config.ru
|
142
|
+
- lib/soxer/skel/empty/content/index.yaml
|
151
143
|
has_rdoc: true
|
152
144
|
homepage: http://soxer.mutsu.org
|
153
145
|
licenses: []
|
@@ -162,7 +154,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
162
154
|
requirements:
|
163
155
|
- - ">="
|
164
156
|
- !ruby/object:Gem::Version
|
165
|
-
hash: 3
|
166
157
|
segments:
|
167
158
|
- 0
|
168
159
|
version: "0"
|
@@ -171,7 +162,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
162
|
requirements:
|
172
163
|
- - ">="
|
173
164
|
- !ruby/object:Gem::Version
|
174
|
-
hash: 3
|
175
165
|
segments:
|
176
166
|
- 0
|
177
167
|
version: "0"
|
Binary file
|
@@ -1,152 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
-----------------------------------------------------------------------------
|
3
|
-
Trashed Blog Theme for Soxer | http://soxer.mutsu.org
|
4
|
-
Copyright 2010 Toni Anzlovar, toni[at]formalibre.si
|
5
|
-
Attribution-ShareAlike 3.0 | http://creativecommons.org/licenses/by-sa/3.0/
|
6
|
-
-----------------------------------------------------------------------------
|
7
|
-
@import "../common"
|
8
|
-
|
9
|
-
|
10
|
-
// COLORS
|
11
|
-
//-----------------------------------------------------------------------------
|
12
|
-
$white: #ffffff
|
13
|
-
$link: #375d9d
|
14
|
-
$important: #375d9d
|
15
|
-
$grey: #808080
|
16
|
-
$lite: #dadada
|
17
|
-
$normal: #4d4d4d
|
18
|
-
|
19
|
-
// GENERAL
|
20
|
-
//-----------------------------------------------------------------------------
|
21
|
-
body
|
22
|
-
color: $normal
|
23
|
-
font:
|
24
|
-
size: 13px
|
25
|
-
family: "Trebuchet MS", Verdana, Arial, Helvetica, Swiss, Sans-Serif
|
26
|
-
margin: 0
|
27
|
-
padding: 0
|
28
|
-
|
29
|
-
a
|
30
|
-
color: $important
|
31
|
-
text-decoration: none
|
32
|
-
@include corners(3)
|
33
|
-
|
34
|
-
&:hover
|
35
|
-
color: $white
|
36
|
-
background: $important
|
37
|
-
padding: 0px 3px
|
38
|
-
margin: -0px -3px
|
39
|
-
|
40
|
-
h1, h2, h3, h4, h5, h6
|
41
|
-
+n
|
42
|
-
|
43
|
-
h1, h2
|
44
|
-
color: $grey
|
45
|
-
font:
|
46
|
-
family: GeoSans
|
47
|
-
weight: normal
|
48
|
-
h1
|
49
|
-
font-size: 38px
|
50
|
-
margin:
|
51
|
-
bottom: 30px
|
52
|
-
|
53
|
-
h2
|
54
|
-
font-size: 28px
|
55
|
-
a
|
56
|
-
@include corners(7)
|
57
|
-
&:hover
|
58
|
-
@include corners(0)
|
59
|
-
+n
|
60
|
-
color: $important
|
61
|
-
background: none
|
62
|
-
border-bottom: 1px solid $important
|
63
|
-
|
64
|
-
hr
|
65
|
-
display: none
|
66
|
-
|
67
|
-
// COMMON
|
68
|
-
//-----------------------------------------------------------------------------
|
69
|
-
body
|
70
|
-
background: url(/css/dna/sequence.jpg) center top no-repeat
|
71
|
-
// @include sh(inset 0px 0px 200px rgba(0, 0, 0, .25))
|
72
|
-
|
73
|
-
#header, #content
|
74
|
-
width: 750px
|
75
|
-
+center
|
76
|
-
|
77
|
-
#header
|
78
|
-
height: 260px
|
79
|
-
color: $white
|
80
|
-
text-shadow: black 1px 1px 5px
|
81
|
-
.slogan
|
82
|
-
font:
|
83
|
-
family: GeoSans
|
84
|
-
size: 42px
|
85
|
-
|
86
|
-
padding-top: 10px
|
87
|
-
|
88
|
-
#content
|
89
|
-
padding-top: 20px
|
90
|
-
&:after
|
91
|
-
+clear
|
92
|
-
|
93
|
-
#footer
|
94
|
-
width: 100%
|
95
|
-
background: $lite
|
96
|
-
border-top: 1px solid $grey
|
97
|
-
margin-top: 30px
|
98
|
-
@include sh(inset 0px 0px 100px rgba(0, 0, 0, .25))
|
99
|
-
|
100
|
-
.content
|
101
|
-
width: 750px
|
102
|
-
height: 180px
|
103
|
-
+center
|
104
|
-
|
105
|
-
// MAIN & SIDEBAR
|
106
|
-
//-----------------------------------------------------------------------------
|
107
|
-
#main, #sidebar
|
108
|
-
float: left
|
109
|
-
min-height: 300px
|
110
|
-
|
111
|
-
#main
|
112
|
-
width: 464px
|
113
|
-
margin:
|
114
|
-
top: 10px
|
115
|
-
left: 286px
|
116
|
-
|
117
|
-
.short
|
118
|
-
margin-top: 30px
|
119
|
-
small
|
120
|
-
color: $grey
|
121
|
-
font:
|
122
|
-
style: italic
|
123
|
-
size: 13px
|
124
|
-
p
|
125
|
-
+n
|
126
|
-
.shot:after
|
127
|
-
+clear
|
128
|
-
|
129
|
-
#sidebar
|
130
|
-
width: 272px
|
131
|
-
margin:
|
132
|
-
top: 19px
|
133
|
-
left: -750px
|
134
|
-
|
135
|
-
// BLOCKS
|
136
|
-
//-----------------------------------------------------------------------------
|
137
|
-
.block
|
138
|
-
margin-bottom: 20px
|
139
|
-
ul
|
140
|
-
+cu
|
141
|
-
margin-top: 10px
|
142
|
-
li
|
143
|
-
display: block
|
144
|
-
clear: both
|
145
|
-
+cl
|
146
|
-
margin-bottom: 5px
|
147
|
-
&:after
|
148
|
-
+clear
|
149
|
-
|
150
|
-
&.recent-entries
|
151
|
-
a
|
152
|
-
display: block
|