typo 3.99.2 → 3.99.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/app/controllers/articles_controller.rb +21 -14
- data/app/controllers/content_controller.rb +3 -5
- data/app/controllers/xml_controller.rb +13 -3
- data/app/helpers/application_helper.rb +7 -1
- data/app/helpers/xml_helper.rb +23 -0
- data/app/models/article.rb +5 -0
- data/app/models/content.rb +2 -0
- data/app/models/ping.rb +32 -22
- data/app/views/admin/content/_form.rhtml +1 -0
- data/app/views/admin/general/index.rhtml +1 -1
- data/app/views/admin/pages/_form.rhtml +1 -0
- data/app/views/articles/_comment_box.rhtml +1 -0
- data/app/views/xml/_googlesitemap_item_article.rxml +5 -0
- data/app/views/xml/_googlesitemap_item_category.rxml +4 -0
- data/app/views/xml/_googlesitemap_item_page.rxml +4 -0
- data/app/views/xml/_googlesitemap_item_tag.rxml +4 -0
- data/app/views/xml/googlesitemap_feed.rxml +7 -0
- data/app/views/xml/itunes_feed.rxml +4 -4
- data/bin/typo +10 -0
- data/components/plugins/sidebars/archives_controller.rb +20 -14
- data/components/plugins/sidebars/delicious/content.rhtml +4 -4
- data/components/plugins/textfilters/amazon_controller.rb +1 -1
- data/config/routes.rb +2 -1
- data/doc/Installer.txt +21 -4
- data/installer/rails-installer.rb +78 -90
- data/installer/rails-installer/commands.rb +117 -0
- data/installer/rails-installer/web-server.rb +108 -0
- data/installer/rails-installer/web-servers.rb +108 -0
- data/installer/rails_installer_defaults.yml +1 -0
- data/lib/sidebars/plugin.rb +1 -1
- data/lib/tasks/release.rake +2 -1
- data/lib/typo_version.rb +1 -1
- data/log/development.log-1 +991 -0
- data/log/development.log-2 +422 -0
- data/log/development.log-3 +429 -0
- data/log/development.log-4 +174 -0
- data/public/javascripts/typo.js +8 -0
- data/test/fixtures/contents.yml +5 -0
- data/test/functional/articles_controller_test.rb +2 -2
- data/test/functional/xml_controller_test.rb +8 -0
- data/test/test_helper.rb +2 -0
- data/themes/scribbish/CONTRIBUTORS +2 -0
- data/themes/scribbish/about.markdown +9 -0
- data/themes/scribbish/images/background.gif +0 -0
- data/themes/scribbish/images/gravatar.gif +0 -0
- data/themes/scribbish/images/header_shadow.gif +0 -0
- data/themes/scribbish/images/spinner.gif +0 -0
- data/themes/scribbish/layouts/default.rhtml +42 -0
- data/themes/scribbish/preview.png +0 -0
- data/themes/scribbish/stylesheets/application.css +27 -0
- data/themes/scribbish/stylesheets/content.css +400 -0
- data/themes/scribbish/stylesheets/layout.css +70 -0
- data/themes/scribbish/views/articles/_article.rhtml +37 -0
- data/themes/scribbish/views/articles/_comment.rhtml +14 -0
- data/themes/scribbish/views/articles/_comment_form.rhtml +47 -0
- data/themes/scribbish/views/articles/_search.rhtml +15 -0
- data/themes/scribbish/views/articles/_trackback.rhtml +9 -0
- data/themes/scribbish/views/articles/comment_preview.rhtml +10 -0
- data/themes/scribbish/views/articles/index.rhtml +5 -0
- data/themes/scribbish/views/articles/read.rhtml +42 -0
- data/tmp/cache/META/DATA/ACTION_PARAM/10.1.0.181/articles/index/.cache +537 -0
- data/tmp/cache/META/DATA/ACTION_PARAM/localhost/articles/index/.cache +537 -0
- data/tmp/cache/META/DATA/ACTION_PARAM/localhost/xml/feed/format=atom&type=feed.cache +671 -0
- data/tmp/cache/META/DATA/ACTION_PARAM/localhost/xml/feed/format=rss20&type=feed.cache +401 -0
- data/tmp/cache/META/META/ACTION_PARAM/10.1.0.181/articles/index/.cache +2 -0
- data/tmp/cache/META/META/ACTION_PARAM/localhost/articles/index/.cache +2 -0
- data/tmp/cache/META/META/ACTION_PARAM/localhost/xml/feed/format=atom&type=feed.cache +2 -0
- data/tmp/cache/META/META/ACTION_PARAM/localhost/xml/feed/format=rss20&type=feed.cache +2 -0
- data/vendor/plugins/expiring_action_cache/lib/actionparamcache.rb +2 -1
- metadata +91 -2
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
Processing ArticlesController#index (for 127.0.0.1 at 2006-07-08 00:17:23) [GET]
|
|
4
|
+
Parameters: {"action"=>"index", "controller"=>"articles"}
|
|
5
|
+
[4;35;1mBlog Load (0.001571)[0m [0mSELECT * FROM blogs ORDER BY id LIMIT 1[0m
|
|
6
|
+
[4;36;1mTrigger Load (0.001660)[0m [0;1mSELECT * FROM triggers WHERE (due_at <= '2006-07-08 00:17:23') [0m
|
|
7
|
+
[4;35;1mSQL (0.005065)[0m [0m SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
|
|
8
|
+
FROM pg_attribute a LEFT JOIN pg_attrdef d
|
|
9
|
+
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
|
|
10
|
+
WHERE a.attrelid = 'users'::regclass
|
|
11
|
+
AND a.attnum > 0 AND NOT a.attisdropped
|
|
12
|
+
ORDER BY a.attnum
|
|
13
|
+
[0m
|
|
14
|
+
[4;36;1mSQL (0.001335)[0m [0;1mSELECT count(*) AS count_all FROM users [0m
|
|
15
|
+
[4;35;1mSQL (0.003723)[0m [0m SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
|
|
16
|
+
FROM pg_attribute a LEFT JOIN pg_attrdef d
|
|
17
|
+
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
|
|
18
|
+
WHERE a.attrelid = 'blogs'::regclass
|
|
19
|
+
AND a.attnum > 0 AND NOT a.attisdropped
|
|
20
|
+
ORDER BY a.attnum
|
|
21
|
+
[0m
|
|
22
|
+
[4;36;1mSQL (0.005265)[0m [0;1m SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
|
|
23
|
+
FROM pg_attribute a LEFT JOIN pg_attrdef d
|
|
24
|
+
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
|
|
25
|
+
WHERE a.attrelid = 'contents'::regclass
|
|
26
|
+
AND a.attnum > 0 AND NOT a.attisdropped
|
|
27
|
+
ORDER BY a.attnum
|
|
28
|
+
[0m
|
|
29
|
+
[4;35;1mArticle Count (3.383297)[0m [0mSELECT COUNT(DISTINCT contents.id) FROM contents LEFT OUTER JOIN articles_categories ON articles_categories.article_id = contents.id LEFT OUTER JOIN categories ON categories.id = articles_categories.category_id LEFT OUTER JOIN articles_tags ON articles_tags.article_id = contents.id LEFT OUTER JOIN tags ON tags.id = articles_tags.tag_id WHERE (published = 't' AND contents.created_at < '2006-07-08 00:17:23' AND blog_id = 1) AND ( (contents."type" = 'Article' ) ) [0m
|
|
30
|
+
[4;36;1mSQL (0.004491)[0m [0;1m SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
|
|
31
|
+
FROM pg_attribute a LEFT JOIN pg_attrdef d
|
|
32
|
+
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
|
|
33
|
+
WHERE a.attrelid = 'categories'::regclass
|
|
34
|
+
AND a.attnum > 0 AND NOT a.attisdropped
|
|
35
|
+
ORDER BY a.attnum
|
|
36
|
+
[0m
|
|
37
|
+
[4;35;1mSQL (0.005264)[0m [0m SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
|
|
38
|
+
FROM pg_attribute a LEFT JOIN pg_attrdef d
|
|
39
|
+
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
|
|
40
|
+
WHERE a.attrelid = 'tags'::regclass
|
|
41
|
+
AND a.attnum > 0 AND NOT a.attisdropped
|
|
42
|
+
ORDER BY a.attnum
|
|
43
|
+
[0m
|
|
44
|
+
[4;36;1mArticle Load IDs For Limited Eager Loading (0.016903)[0m [0;1mSELECT id FROM contents WHERE (published = 't' AND contents.created_at < '2006-07-08 00:17:23' AND blog_id = 1) AND ( (contents."type" = 'Article' ) ) ORDER BY contents.published_at DESC LIMIT 15 OFFSET 0[0m
|
|
45
|
+
[4;35;1mArticle Load Including Associations (0.150279)[0m [0mSELECT contents."id" AS t0_r0, contents."title" AS t0_r1, contents."author" AS t0_r2, contents."body" AS t0_r3, contents."body_html" AS t0_r4, contents."extended" AS t0_r5, contents."excerpt" AS t0_r6, contents."keywords" AS t0_r7, contents."created_at" AS t0_r8, contents."updated_at" AS t0_r9, contents."extended_html" AS t0_r10, contents."user_id" AS t0_r11, contents."permalink" AS t0_r12, contents."guid" AS t0_r13, contents."text_filter_id" AS t0_r14, contents."whiteboard" AS t0_r15, contents."comments_count" AS t0_r16, contents."trackbacks_count" AS t0_r17, contents."type" AS t0_r18, contents."article_id" AS t0_r19, contents."email" AS t0_r20, contents."url" AS t0_r21, contents."ip" AS t0_r22, contents."blog_name" AS t0_r23, contents."name" AS t0_r24, contents."published" AS t0_r25, contents."allow_pings" AS t0_r26, contents."allow_comments" AS t0_r27, contents."blog_id" AS t0_r28, contents."published_at" AS t0_r29, categories."id" AS t1_r0, categories."name" AS t1_r1, categories."position" AS t1_r2, categories."is_primary" AS t1_r3, categories."permalink" AS t1_r4, tags."id" AS t2_r0, tags."name" AS t2_r1, tags."created_at" AS t2_r2, tags."updated_at" AS t2_r3, tags."display_name" AS t2_r4 FROM contents LEFT OUTER JOIN articles_categories ON articles_categories.article_id = contents.id LEFT OUTER JOIN categories ON categories.id = articles_categories.category_id LEFT OUTER JOIN articles_tags ON articles_tags.article_id = contents.id LEFT OUTER JOIN tags ON tags.id = articles_tags.tag_id WHERE (published = 't' AND contents.created_at < '2006-07-08 00:17:23' AND blog_id = 1) AND ( (contents."type" = 'Article' ) ) AND contents.id IN ('1640', '562', '561', '560', '559', '558', '557', '556', '555', '554', '553', '552', '551', '550', '549') ORDER BY contents.published_at DESC [0m
|
|
46
|
+
Rendering within ../../themes/scribbish/layouts/default
|
|
47
|
+
Rendering articles/index
|
|
48
|
+
[4;36;1mBlog Load (0.002095)[0m [0;1mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
49
|
+
[4;35;1mUser Load (0.002659)[0m [0mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
50
|
+
[4;36;1mBlog Load (0.001452)[0m [0;1mSELECT * FROM blogs ORDER BY id LIMIT 1[0m
|
|
51
|
+
Rendered articles/_article (0.07813)
|
|
52
|
+
[4;35;1mBlog Load (0.001730)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
53
|
+
[4;36;1mUser Load (0.002122)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
54
|
+
Rendered articles/_article (0.01851)
|
|
55
|
+
[4;35;1mBlog Load (0.002361)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
56
|
+
[4;36;1mUser Load (0.001859)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
57
|
+
Rendered articles/_article (0.01787)
|
|
58
|
+
[4;35;1mBlog Load (0.002031)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
59
|
+
[4;36;1mUser Load (0.001887)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
60
|
+
Rendered articles/_article (0.13746)
|
|
61
|
+
[4;35;1mBlog Load (0.001752)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
62
|
+
[4;36;1mUser Load (0.002257)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
63
|
+
Rendered articles/_article (0.01825)
|
|
64
|
+
[4;35;1mBlog Load (0.001933)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
65
|
+
[4;36;1mUser Load (0.155534)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
66
|
+
Rendered articles/_article (0.26178)
|
|
67
|
+
[4;35;1mBlog Load (0.001735)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
68
|
+
[4;36;1mUser Load (0.002489)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
69
|
+
Rendered articles/_article (0.01920)
|
|
70
|
+
[4;35;1mBlog Load (0.002814)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
71
|
+
[4;36;1mUser Load (0.001888)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
72
|
+
Rendered articles/_article (0.13118)
|
|
73
|
+
[4;35;1mBlog Load (0.001763)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
74
|
+
[4;36;1mUser Load (0.001945)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
75
|
+
Rendered articles/_article (0.01881)
|
|
76
|
+
[4;35;1mBlog Load (0.002165)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
77
|
+
[4;36;1mUser Load (0.001878)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
78
|
+
Rendered articles/_article (0.01625)
|
|
79
|
+
[4;35;1mBlog Load (0.003068)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
80
|
+
[4;36;1mUser Load (0.001868)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
81
|
+
Rendered articles/_article (0.01773)
|
|
82
|
+
[4;35;1mBlog Load (0.001745)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
83
|
+
[4;36;1mUser Load (0.002177)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
84
|
+
Rendered articles/_article (0.01745)
|
|
85
|
+
[4;35;1mBlog Load (0.001913)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
86
|
+
[4;36;1mUser Load (0.001883)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
87
|
+
Rendered articles/_article (0.12971)
|
|
88
|
+
[4;35;1mBlog Load (0.002062)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
89
|
+
[4;36;1mUser Load (0.001928)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
90
|
+
Rendered articles/_article (0.01989)
|
|
91
|
+
[4;35;1mBlog Load (0.001737)[0m [0mSELECT * FROM blogs WHERE (blogs.id = 1) LIMIT 1[0m
|
|
92
|
+
[4;36;1mUser Load (0.001901)[0m [0;1mSELECT * FROM users WHERE (users.id = 1) LIMIT 1[0m
|
|
93
|
+
Rendered articles/_article (0.01962)
|
|
94
|
+
Rendered articles/_search (0.00467)
|
|
95
|
+
Start rendering component ({:controller=>SidebarController, :action=>"display_plugins"}):
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
Processing SidebarController#display_plugins (for 127.0.0.1 at 2006-07-08 00:17:28)
|
|
99
|
+
[4;35;1mBlog Load (0.001420)[0m [0mSELECT * FROM blogs ORDER BY id LIMIT 1[0m
|
|
100
|
+
[4;36;1mTrigger Load (0.001471)[0m [0;1mSELECT * FROM triggers WHERE (due_at <= '2006-07-08 00:17:28') [0m
|
|
101
|
+
[4;35;1mSidebar Load (0.005570)[0m [0mSELECT * FROM sidebars WHERE (active_position is not null) ORDER BY active_position [0m
|
|
102
|
+
[4;36;1mSQL (0.005188)[0m [0;1m SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
|
|
103
|
+
FROM pg_attribute a LEFT JOIN pg_attrdef d
|
|
104
|
+
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
|
|
105
|
+
WHERE a.attrelid = 'sidebars'::regclass
|
|
106
|
+
AND a.attnum > 0 AND NOT a.attisdropped
|
|
107
|
+
ORDER BY a.attnum
|
|
108
|
+
[0m
|
|
109
|
+
Rendering sidebar/display_plugins
|
|
110
|
+
Start rendering component ({:controller=>Plugins::Sidebars::TagController, :action=>"index", :layout=>false}):
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
Processing TagController#index (for 127.0.0.1 at 2006-07-08 00:17:28)
|
|
114
|
+
[4;35;1mBlog Load (0.001579)[0m [0mSELECT * FROM blogs ORDER BY id LIMIT 1[0m
|
|
115
|
+
[4;36;1mTrigger Load (0.001495)[0m [0;1mSELECT * FROM triggers WHERE (due_at <= '2006-07-08 00:17:28') [0m
|
|
116
|
+
[4;35;1mTag Load (0.045230)[0m [0m
|
|
117
|
+
SELECT tags.id, tags.name, tags.display_name, COUNT(articles_tags.article_id) AS article_counter
|
|
118
|
+
FROM tags tags LEFT OUTER JOIN articles_tags articles_tags
|
|
119
|
+
ON articles_tags.tag_id = tags.id
|
|
120
|
+
LEFT OUTER JOIN contents articles
|
|
121
|
+
ON articles_tags.article_id = articles.id
|
|
122
|
+
WHERE articles.published = 't'
|
|
123
|
+
GROUP BY tags.id, tags.name, tags.display_name
|
|
124
|
+
ORDER BY article_counter DESC
|
|
125
|
+
LIMIT 20
|
|
126
|
+
[0m
|
|
127
|
+
Rendering plugins/sidebars/tag/content
|
|
128
|
+
Completed in 0.18452 (5 reqs/sec) | Rendering: 0.12484 (67%) | DB: 0.04830 (26%) | 200 OK [http://localhost/]
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
End of component rendering
|
|
132
|
+
BENCHMARK: display_plugins: tag (0.18900)
|
|
133
|
+
Rendered sidebar/_sidebar (0.18990)
|
|
134
|
+
Start rendering component ({:controller=>Plugins::Sidebars::ArchivesController, :action=>"index", :layout=>false}):
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
Processing ArchivesController#index (for 127.0.0.1 at 2006-07-08 00:17:28)
|
|
138
|
+
[4;36;1mBlog Load (0.001800)[0m [0;1mSELECT * FROM blogs ORDER BY id LIMIT 1[0m
|
|
139
|
+
[4;35;1mTrigger Load (0.001495)[0m [0mSELECT * FROM triggers WHERE (due_at <= '2006-07-08 00:17:28') [0m
|
|
140
|
+
[4;36;1mContent Load (0.023723)[0m [0;1mselect count(*) as count, extract(year from published_at)||' '||lpad(extract(month from published_at),2,'0') as date from contents where type='Article' and published = 't' and published_at < '2006-07-08 00:17:28' group by date order by date desc limit '10'[0m
|
|
141
|
+
[4;35;1mSQL (0.004369)[0m [0m SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
|
|
142
|
+
FROM pg_attribute a LEFT JOIN pg_attrdef d
|
|
143
|
+
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
|
|
144
|
+
WHERE a.attrelid = 'contents'::regclass
|
|
145
|
+
AND a.attnum > 0 AND NOT a.attisdropped
|
|
146
|
+
ORDER BY a.attnum
|
|
147
|
+
[0m
|
|
148
|
+
Rendering plugins/sidebars/archives/content
|
|
149
|
+
Completed in 0.18893 (5 reqs/sec) | Rendering: 0.00836 (4%) | DB: 0.03139 (16%) | 200 OK [http://localhost/]
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
End of component rendering
|
|
153
|
+
BENCHMARK: display_plugins: archives (0.19216)
|
|
154
|
+
Rendered sidebar/_sidebar (0.19309)
|
|
155
|
+
Start rendering component ({:controller=>Plugins::Sidebars::StaticController, :action=>"index", :layout=>false}):
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
Processing StaticController#index (for 127.0.0.1 at 2006-07-08 00:17:28)
|
|
159
|
+
[4;36;1mBlog Load (0.001424)[0m [0;1mSELECT * FROM blogs ORDER BY id LIMIT 1[0m
|
|
160
|
+
[4;35;1mTrigger Load (0.002276)[0m [0mSELECT * FROM triggers WHERE (due_at <= '2006-07-08 00:17:28') [0m
|
|
161
|
+
Rendering plugins/sidebars/static/content
|
|
162
|
+
Completed in 0.13924 (7 reqs/sec) | Rendering: 0.00240 (1%) | DB: 0.00370 (2%) | 200 OK [http://localhost/]
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
End of component rendering
|
|
166
|
+
BENCHMARK: display_plugins: static (0.14366)
|
|
167
|
+
Rendered sidebar/_sidebar (0.14466)
|
|
168
|
+
BENCHMARK: display_plugins (0.53017)
|
|
169
|
+
Completed in 0.56401 (1 reqs/sec) | Rendering: 0.53488 (94%) | DB: 0.23028 (40%) | 200 OK [http://localhost/]
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
End of component rendering
|
|
173
|
+
[4;36;1mArticle Load (0.011033)[0m [0;1mSELECT * FROM contents WHERE (published = 't' AND created_at > '2006-07-08 00:17:23') AND ( (contents."type" = 'Article' ) ) ORDER BY created_at ASC LIMIT 1[0m
|
|
174
|
+
Completed in 5.79087 (0 reqs/sec) | Rendering: 1.89160 (32%) | DB: 3.58989 (61%) | 200 OK [http://localhost/]
|
data/public/javascripts/typo.js
CHANGED
|
@@ -68,6 +68,14 @@ function complete(request) {
|
|
|
68
68
|
if (request.status == 200) { commentAdded() };
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
function popup(mylink, windowname)
|
|
72
|
+
{
|
|
73
|
+
if (! window.focus) return true;
|
|
74
|
+
var href;
|
|
75
|
+
window.open(mylink, windowname, 'width=400,height=500,scrollbars=yes');
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
|
|
71
79
|
register_onload(function() {
|
|
72
80
|
if ($('commentform')) {
|
|
73
81
|
var _author = getCookie('author');
|
data/test/fixtures/contents.yml
CHANGED
|
@@ -119,6 +119,7 @@ comment3:
|
|
|
119
119
|
body: Zzzzzz
|
|
120
120
|
created_at: 2005-01-01 02:00:07
|
|
121
121
|
updated_at: 2005-01-01 02:00:07
|
|
122
|
+
published_at: 2005-01-01 02:00:07
|
|
122
123
|
guid: 4534564564564567
|
|
123
124
|
|
|
124
125
|
trackback1:
|
|
@@ -133,6 +134,7 @@ trackback1:
|
|
|
133
134
|
excerpt: This is an excerpt
|
|
134
135
|
created_at: 2005-01-01 03:00:00
|
|
135
136
|
updated_at: 2005-01-01 03:00:00
|
|
137
|
+
published_at: 2005-01-01 03:00:00
|
|
136
138
|
guid: dsafsadffsdsf
|
|
137
139
|
|
|
138
140
|
trackback2:
|
|
@@ -174,6 +176,7 @@ first_page:
|
|
|
174
176
|
body: ho ho ho
|
|
175
177
|
created_at: 2005-05-05 01:00:00
|
|
176
178
|
published_at: 2005-05-05 01:00:00
|
|
179
|
+
updated_at: 2005-05-05 01:00:00
|
|
177
180
|
user_id: 1
|
|
178
181
|
published: true
|
|
179
182
|
|
|
@@ -184,6 +187,7 @@ another_page:
|
|
|
184
187
|
name: page/two
|
|
185
188
|
title: Another Page Title
|
|
186
189
|
body: another body for yet another page
|
|
190
|
+
updated_at: 2005-05-05 01:00:00
|
|
187
191
|
created_at: 2005-05-05 01:00:00
|
|
188
192
|
published_at: 2005-05-05 01:00:00
|
|
189
193
|
user_id: 1
|
|
@@ -198,6 +202,7 @@ markdown_page:
|
|
|
198
202
|
text_filter_id: 1
|
|
199
203
|
body: this is *markdown*.
|
|
200
204
|
created_at: 2005-05-05 01:00:00
|
|
205
|
+
updated_at: 2005-05-05 01:00:00
|
|
201
206
|
published_at: 2005-05-05 01:00:00
|
|
202
207
|
user_id: 1
|
|
203
208
|
published: true
|
|
@@ -480,10 +480,10 @@ class ArticlesControllerTest < Test::Unit::TestCase
|
|
|
480
480
|
:body => "The future is cool!",
|
|
481
481
|
:keywords => "future",
|
|
482
482
|
:published => true,
|
|
483
|
-
:
|
|
483
|
+
:published_at => Time.now + 12.minutes)
|
|
484
484
|
get :index
|
|
485
485
|
assert_equal @article, assigns(:articles).first
|
|
486
|
-
assert @response.lifetime <= 12.minutes
|
|
486
|
+
assert @response.lifetime.to_i <= 12.minutes
|
|
487
487
|
end
|
|
488
488
|
|
|
489
489
|
def test_search
|
|
@@ -338,6 +338,14 @@ class XmlControllerTest < Test::Unit::TestCase
|
|
|
338
338
|
assert_xml @response.body
|
|
339
339
|
assert_feedvalidator @response.body, :todo
|
|
340
340
|
end
|
|
341
|
+
|
|
342
|
+
# TODO(laird): make this more robust
|
|
343
|
+
def test_sitemap
|
|
344
|
+
get :feed, :format => 'googlesitemap', :type => 'sitemap'
|
|
345
|
+
|
|
346
|
+
assert_response :success
|
|
347
|
+
assert_xml @response.body
|
|
348
|
+
end
|
|
341
349
|
|
|
342
350
|
def assert_rss20(items)
|
|
343
351
|
assert_equal 1, get_xpath(%{/rss[@version="2.0"]/channel[count(child::item)=#{items}]}).size, "RSS 2.0 feed has wrong number of channel/item nodes"
|
data/test/test_helper.rb
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
### Scribbish-2.0 by [packagethief][1]
|
|
2
|
+
|
|
3
|
+
Scribbish is both a typo theme, and a starting point (think scaffolding) for new Themes. Its layout standardizes on a simple xhtml structure, blog entries are formatted using the [hAtom microformat specification][2], and styles are separated into individual files which are included in the correct order, making it easier to control the cascade and to figure out 'what-goes-where'. Use it as-is, or copy it to make new themes.
|
|
4
|
+
|
|
5
|
+
[More information and latest version][3]
|
|
6
|
+
|
|
7
|
+
[1]: http://quotedprintable.com/
|
|
8
|
+
[2]: http://microformats.org/wiki/hatom
|
|
9
|
+
[3]: http://quotedprintable.com/pages/scribbish
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
3
|
+
<head>
|
|
4
|
+
<title><%=h page_title %></title>
|
|
5
|
+
<%= page_header %>
|
|
6
|
+
<%= stylesheet_link_tag '/stylesheets/theme/application.css', :media => 'all' %>
|
|
7
|
+
</head>
|
|
8
|
+
|
|
9
|
+
<body>
|
|
10
|
+
<div id="container">
|
|
11
|
+
<div id="header">
|
|
12
|
+
<h1><span><%= link_to this_blog.blog_name, { :controller => '/' } %></span></h1>
|
|
13
|
+
<h2><%= this_blog.blog_subtitle %></h2>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<div id="page">
|
|
17
|
+
<div id="content">
|
|
18
|
+
<%= @content_for_layout %>
|
|
19
|
+
<%= javascript_tag 'show_dates_as_local_time()' %>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div id="sidebar">
|
|
23
|
+
<!-- search -->
|
|
24
|
+
<%= render :partial => 'search' %>
|
|
25
|
+
|
|
26
|
+
<!-- sidebar components -->
|
|
27
|
+
<%= render_sidebars %>
|
|
28
|
+
</div>
|
|
29
|
+
<br style="clear:both;" />
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<div id="footer">
|
|
33
|
+
<hr />
|
|
34
|
+
<p><%= link_to this_blog.blog_name, { :controller => '/' } %></p>
|
|
35
|
+
<ul>
|
|
36
|
+
<li>powered by <%= link_to 'typo', 'http://typosphere.org' %> /
|
|
37
|
+
styled with <%= link_to 'scribbish', 'http://quotedprintable.com/pages/scribbish' %></li>
|
|
38
|
+
</ul>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</body>
|
|
42
|
+
</html>
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*--------------------------------------------------------------
|
|
2
|
+
Application.css
|
|
3
|
+
Imports all stylesheets; sets defaults for bare elements
|
|
4
|
+
--------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
@import 'layout.css';
|
|
7
|
+
@import 'content.css';
|
|
8
|
+
|
|
9
|
+
@media print { #sidebar { display:none; }
|
|
10
|
+
#content { float: none; width:90%; }
|
|
11
|
+
#content pre { color: #000; background: #eee; }
|
|
12
|
+
#content form.comments { display:none; } }
|
|
13
|
+
|
|
14
|
+
body {
|
|
15
|
+
background: url(/images/theme/background.gif) repeat-x left top;
|
|
16
|
+
font: normal 12px "lucida grande", verdana, arial, helvetica, sans-serif;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
input,
|
|
20
|
+
textarea { font: normal 12px "bitstream vera sans", verdana, sans-serif; }
|
|
21
|
+
|
|
22
|
+
abbr { border: none; }
|
|
23
|
+
cite { font-style: normal; }
|
|
24
|
+
a img { border: none; padding: 0; margin: 0; }
|
|
25
|
+
|
|
26
|
+
a:link, a:visited { color: #930; }
|
|
27
|
+
a:hover, a:active { color: #fff; background: #000; }
|
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
/*--------------------------------------------------------------
|
|
2
|
+
Header
|
|
3
|
+
--------------------------------------------------------------*/
|
|
4
|
+
|
|
5
|
+
#header {
|
|
6
|
+
background: url(/images/theme/header_shadow.gif) repeat-x left bottom;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
#header a:link,
|
|
10
|
+
#header a:visited {
|
|
11
|
+
color:#000;
|
|
12
|
+
text-decoration: none;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
#header a:hover,
|
|
16
|
+
#header a:active {
|
|
17
|
+
color:#930; background: transparent;
|
|
18
|
+
text-decoration: none;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
#header h1 {
|
|
22
|
+
font: bold 400% georgia, serif;
|
|
23
|
+
letter-spacing: -1px;
|
|
24
|
+
margin: 0;
|
|
25
|
+
float: left;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
#header h2 {
|
|
29
|
+
font: normal 12px verdana, arial, sans-serif;
|
|
30
|
+
margin: 2.5em 0 0 0.8em;
|
|
31
|
+
float: left;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/*--------------------------------------------------------------
|
|
35
|
+
Content
|
|
36
|
+
--------------------------------------------------------------*/
|
|
37
|
+
|
|
38
|
+
#content {}
|
|
39
|
+
|
|
40
|
+
#content h1,
|
|
41
|
+
#content h2,
|
|
42
|
+
#content h3,
|
|
43
|
+
#content h4,
|
|
44
|
+
#content h5 {
|
|
45
|
+
font-family: "lucidamac bold", "lucida grande", arial, sans-serif;
|
|
46
|
+
letter-spacing: -1px;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
#content h1 {
|
|
50
|
+
font-size: 24px;
|
|
51
|
+
margin: 0 0 0.3em;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
#content h2 {
|
|
55
|
+
font-size: 22px;
|
|
56
|
+
margin: 0 0 0.3em;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
#content h3 {
|
|
60
|
+
font-size: 20px;
|
|
61
|
+
margin: 1.2em 0 0.3em;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
#content h4 {
|
|
65
|
+
font-size: 18px;
|
|
66
|
+
margin: 1.2em 0 0.3em;
|
|
67
|
+
border-bottom: 1px dotted #bbb;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
#content h5 {
|
|
71
|
+
font-size: 18px;
|
|
72
|
+
background: #ffd;
|
|
73
|
+
margin: 1.2em 0 0.3em;
|
|
74
|
+
border-bottom: 1px dotted #aaa;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
#content p {
|
|
78
|
+
line-height: 15px;
|
|
79
|
+
margin: 0 0 1.2em;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
#content ul,
|
|
83
|
+
#content ol {
|
|
84
|
+
margin: 1em;
|
|
85
|
+
padding:0;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
#content ul {
|
|
89
|
+
list-style-type: square;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
#content li {
|
|
93
|
+
line-height: 15px;
|
|
94
|
+
margin: 0 0 0 1em; padding: 0;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
#content blockquote {
|
|
98
|
+
color: #555;
|
|
99
|
+
border-left: 5px solid #ccc;
|
|
100
|
+
margin: 1.3em 1em; padding: 0 1em;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
#content code {
|
|
104
|
+
font: normal 12px "bitstream vera sans mono", monaco "lucida console", "courier new", courier, serif;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
#content pre {
|
|
108
|
+
color: #63FF00;
|
|
109
|
+
background: #000;
|
|
110
|
+
overflow: auto;
|
|
111
|
+
font: normal 12px "bitstream vera sans mono", monaco "lucida console", "courier new", courier, serif;
|
|
112
|
+
margin: 0.9em 0; padding: 8px;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/* Article Entries - class names based on http://microformats.org/wiki/hatom] */
|
|
116
|
+
#content .atomentry {
|
|
117
|
+
margin: 0 0 3em 0;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
#content .atomentry .title {
|
|
121
|
+
font-size: 24px;
|
|
122
|
+
line-height: 94%;
|
|
123
|
+
letter-spacing: -1.5px;
|
|
124
|
+
margin: 0;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
#content .atomentry .title a:link,
|
|
128
|
+
#content .atomentry .title a:visited {
|
|
129
|
+
color: #930;
|
|
130
|
+
text-decoration: none;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
#content .atomentry .title a:hover,
|
|
134
|
+
#content .atomentry .title a:active {
|
|
135
|
+
color: #000;
|
|
136
|
+
background: transparent;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
#content .atomentry .title .comment_count { display: none; }
|
|
140
|
+
|
|
141
|
+
#content .atomentry .author {
|
|
142
|
+
color: #bbb;
|
|
143
|
+
font: normal 16px/14px "lucidamac bold", "lucida grande", arial, verdana, sans-serif;
|
|
144
|
+
letter-spacing: -1px;
|
|
145
|
+
margin: 0 0 1em;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
#content .atomentry .author cite a,
|
|
149
|
+
#content .atomentry .author cite a:hover { /* author mailto: link (if any) */
|
|
150
|
+
color: #aaa; background: transparent;
|
|
151
|
+
text-decoration: none;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
#content .atomentry .author abbr { /* posted date */
|
|
155
|
+
font-weight: bold;
|
|
156
|
+
color: #aaa;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
#content .atomentry .content {}
|
|
160
|
+
|
|
161
|
+
#content .atomentry ul.meta {
|
|
162
|
+
font-size: 10px;
|
|
163
|
+
background: #eee;
|
|
164
|
+
margin: 0; padding: 5px;
|
|
165
|
+
border: 1px solid #ddd;
|
|
166
|
+
list-style-type: none;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
#content .atomentry ul.meta li {
|
|
170
|
+
line-height: 13px;
|
|
171
|
+
margin: 0; padding: 0;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
#content .atomentry .meta a:link,
|
|
175
|
+
#content .atomentry .meta a:visited {
|
|
176
|
+
color: #555;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
#content .atomentry .meta a:hover,
|
|
180
|
+
#content .atomentry .meta a:active {
|
|
181
|
+
color: #fff;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
/* Comments and Trackbacks */
|
|
186
|
+
#content ol.comments,
|
|
187
|
+
#content ol.trackbacks {
|
|
188
|
+
list-style-type: none;
|
|
189
|
+
margin: 0; padding: 0;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
#content .comment,
|
|
193
|
+
#content .trackback {
|
|
194
|
+
border: 2px solid #ddd;
|
|
195
|
+
margin: 0 0 1.5em; padding: 1em;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
#content .comment.preview {
|
|
199
|
+
background: #ffc;
|
|
200
|
+
border: 3px solid #fab444;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
#content .comment .author,
|
|
204
|
+
#content .trackback .author {
|
|
205
|
+
font-weight: bold;
|
|
206
|
+
margin-bottom: 1em;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
#content .comment .author cite,
|
|
210
|
+
#content .trackback .author cite {
|
|
211
|
+
font-size: 16px;
|
|
212
|
+
letter-spacing: -1px;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
#content .comment .author abbr,
|
|
216
|
+
#content .trackback .author abbr { color: #999; }
|
|
217
|
+
|
|
218
|
+
#content .comment .author .gravatar {
|
|
219
|
+
margin: 0 0 0.5em 0.5em;
|
|
220
|
+
float: right;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/* uncomment to enable a default gravatar
|
|
224
|
+
#content .comment .author div {
|
|
225
|
+
margin: 0 0 0.5em 0.5em;
|
|
226
|
+
width: 60px; height: 60px;
|
|
227
|
+
background: url(/images/theme/gravatar.gif) no-repeat left top;
|
|
228
|
+
float: right;
|
|
229
|
+
}*/
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
#content form.comments {
|
|
233
|
+
background: #f2f2f2;
|
|
234
|
+
border-top: 1px solid #ddd;
|
|
235
|
+
padding: 1em 0.5em;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
#content form.comments fieldset {
|
|
239
|
+
border: none;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
#content form.comments legend {
|
|
243
|
+
display: none;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
#content form.comments label {
|
|
247
|
+
font-weight: bold;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
#content form.comments textarea {
|
|
251
|
+
width: 90%; height: 150px;
|
|
252
|
+
padding: 3px;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/*--------------------------------------------------------------
|
|
256
|
+
Sidebar
|
|
257
|
+
--------------------------------------------------------------*/
|
|
258
|
+
#sidebar {
|
|
259
|
+
font-size: 11px;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
#sidebar h3 {
|
|
263
|
+
font: bold 14px "lucidamac bold", "lucida grande", verdana, arial, helvetica, sans-serif;
|
|
264
|
+
margin: 0 0 0.5em;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
#sidebar h3 a:link,
|
|
268
|
+
#sidebar h3 a:visited {
|
|
269
|
+
color: #000; text-decoration: none;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
#sidebar h3 a:hover,
|
|
273
|
+
#sidebar h3 a:active {
|
|
274
|
+
background: transparent; text-decoration: underline;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
#sidebar ul {
|
|
278
|
+
list-style-type: none;
|
|
279
|
+
margin: 0 0 2em; padding: 0;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
#sidebar li {
|
|
283
|
+
margin: 0;
|
|
284
|
+
padding: 1px 0;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
#sidebar em { font-style: normal; }
|
|
288
|
+
|
|
289
|
+
/* Live-search and results */
|
|
290
|
+
#sidebar .search p {
|
|
291
|
+
margin: 0;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
#sidebar .search p input {
|
|
295
|
+
font-size: 11px; width: 92%;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
#sidebar .search .loading {
|
|
299
|
+
background: url(/images/theme/spinner.gif) no-repeat left 50%;
|
|
300
|
+
margin: 1em 0; padding: 0 0 0 20px;
|
|
301
|
+
height: 15px;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
#sidebar .search .results {
|
|
305
|
+
margin: 0 0 1.25em;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
#sidebar .search .results h3 {
|
|
309
|
+
margin-top: 1em;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
#sidebar .search .results p {
|
|
313
|
+
font: bold 14px "lucidamac bold", "lucida grande", verdana, arial, helvetica, sans-serif;
|
|
314
|
+
margin: 0 0 0.5em;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
#sidebar .search .results ul {
|
|
318
|
+
margin: 0; padding: 3px;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
#sidebar .search .results li { background: #ffc; padding: 0.2em; }
|
|
322
|
+
|
|
323
|
+
#sidebar .search .results a:link,
|
|
324
|
+
#sidebar .search .results a:visited {
|
|
325
|
+
color: #222;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
#sidebar .search .results a:hover,
|
|
329
|
+
#sidebar .search .results a:active {
|
|
330
|
+
color: #fff;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/* Flickr sidebar-node */
|
|
334
|
+
#sidebar #flickr {
|
|
335
|
+
margin: 0 0 2em;
|
|
336
|
+
float: right;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
#sidebar #flickr div {
|
|
340
|
+
margin: 0 0 5px;
|
|
341
|
+
border: 1px solid #ddd;
|
|
342
|
+
float: right;
|
|
343
|
+
clear: both;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
#sidebar #flickr img {
|
|
347
|
+
border: 4px solid #fff;
|
|
348
|
+
display: block;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
#sidebar #flickr img:hover {
|
|
352
|
+
border: 4px solid #ffc;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
#sidebar #flickr a {
|
|
356
|
+
border: none;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/*--------------------------------------------------------------
|
|
360
|
+
Footer
|
|
361
|
+
--------------------------------------------------------------*/
|
|
362
|
+
|
|
363
|
+
#footer {
|
|
364
|
+
border-top: 1px solid #ccc;
|
|
365
|
+
font-size: 90%;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
#footer a:link,
|
|
369
|
+
#footer a:visited {
|
|
370
|
+
color: #000;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
#footer a:hover,
|
|
374
|
+
#footer a:active {
|
|
375
|
+
color: #fff;
|
|
376
|
+
background: #000;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
#footer hr {
|
|
380
|
+
display: none;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
#footer p {
|
|
384
|
+
width: 40%;
|
|
385
|
+
float: left;
|
|
386
|
+
margin: 0; padding: 0;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
#footer ul {
|
|
390
|
+
width: 40%;
|
|
391
|
+
margin: 0; padding: 0;
|
|
392
|
+
list-style-type: none;
|
|
393
|
+
text-align: right;
|
|
394
|
+
float: right;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
#footer li {
|
|
398
|
+
margin: 0; padding: 0 0 0 1em;
|
|
399
|
+
display: inline;
|
|
400
|
+
}
|