typo 5.0.3.98 → 5.0.3.98.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/app/controllers/admin/base_controller.rb +0 -13
  2. data/app/controllers/application.rb +2 -2
  3. data/app/controllers/articles_controller.rb +1 -1
  4. data/app/controllers/live_controller.rb +1 -0
  5. data/app/controllers/xml_controller.rb +1 -1
  6. data/config/environments/test.rb +3 -0
  7. data/lib/tasks/release.rake +3 -1
  8. data/lib/typo_version.rb +1 -1
  9. data/spec/controllers/xml_controller_spec.rb +3 -3
  10. data/themes/typographic/stylesheets/layout.css +9 -2
  11. data/vendor/plugins/audioscrobbler_sidebar/MAINTAINERS +26 -0
  12. data/vendor/plugins/audioscrobbler_sidebar/MIT-LICENSE +21 -0
  13. data/vendor/plugins/audioscrobbler_sidebar/README +27 -0
  14. data/vendor/plugins/audioscrobbler_sidebar/Rakefile +22 -0
  15. data/vendor/plugins/audioscrobbler_sidebar/init.rb +5 -0
  16. data/vendor/plugins/audioscrobbler_sidebar/lib/audioscrobbler.rb +54 -0
  17. data/vendor/plugins/audioscrobbler_sidebar/lib/audioscrobbler_sidebar.rb +13 -0
  18. data/vendor/plugins/audioscrobbler_sidebar/test/audioscrobbler_sidebar_test.rb +8 -0
  19. data/vendor/plugins/audioscrobbler_sidebar/views/content.rhtml +10 -0
  20. metadata +33 -46
  21. data/themes/typographic2/.DS_Store +0 -0
  22. data/themes/typographic2/about.markdown +0 -7
  23. data/themes/typographic2/images/Thumbs.db +0 -0
  24. data/themes/typographic2/images/accept.png +0 -0
  25. data/themes/typographic2/images/accept50.png +0 -0
  26. data/themes/typographic2/images/bg_body.jpg +0 -0
  27. data/themes/typographic2/images/bg_white.png +0 -0
  28. data/themes/typographic2/images/bg_wrapper.jpg +0 -0
  29. data/themes/typographic2/images/bullet_bottom.png +0 -0
  30. data/themes/typographic2/images/bullet_right.png +0 -0
  31. data/themes/typographic2/images/email_open.png +0 -0
  32. data/themes/typographic2/images/email_open50.png +0 -0
  33. data/themes/typographic2/images/meta.png +0 -0
  34. data/themes/typographic2/images/page_edit.png +0 -0
  35. data/themes/typographic2/images/page_edit50.png +0 -0
  36. data/themes/typographic2/images/tag.png +0 -0
  37. data/themes/typographic2/images/user.png +0 -0
  38. data/themes/typographic2/images/user50.png +0 -0
  39. data/themes/typographic2/images/world_link.png +0 -0
  40. data/themes/typographic2/images/world_link50.png +0 -0
  41. data/themes/typographic2/layouts/default.html.erb +0 -42
  42. data/themes/typographic2/preview.png +0 -0
  43. data/themes/typographic2/stylesheets/colors.css +0 -51
  44. data/themes/typographic2/stylesheets/layout.css +0 -346
  45. data/themes/typographic2/stylesheets/reset.css +0 -5
  46. data/themes/typographic2/stylesheets/style.css +0 -36
  47. data/themes/typographic2/views/articles/_article.html.erb +0 -41
  48. data/themes/typographic2/views/articles/_comment.html.erb +0 -14
  49. data/themes/typographic2/views/articles/_comment_form.html.erb +0 -48
  50. data/themes/typographic2/views/articles/_comment_list.html.erb +0 -7
  51. data/themes/typographic2/views/articles/_trackback.html.erb +0 -9
  52. data/themes/typographic2/views/articles/comment_preview.html.erb +0 -10
  53. data/themes/typographic2/views/articles/index.html.erb +0 -5
  54. data/themes/typographic2/views/articles/read.html.erb +0 -42
  55. data/themes/typographic2/views/shared/_search.html.erb +0 -17
  56. data/themes/typographic2/views/theme/static_view_test.html.erb +0 -1
@@ -6,22 +6,9 @@ class Admin::BaseController < ApplicationController
6
6
  layout 'administration'
7
7
  before_filter :login_required, :except => [ :login, :signup ]
8
8
  before_filter :look_for_needed_db_updates, :except => [:login, :signup, :update_database, :migrate]
9
- before_filter :deprecation_warning
10
9
  cache_sweeper :blog_sweeper
11
10
 
12
11
  private
13
-
14
- # Deprecation warning for plugins removal
15
- def deprecation_warning
16
- if this_blog.deprecation_warning != 42
17
- Blog.transaction do
18
- this_blog.deprecation_warning = 42
19
- this_blog.save
20
- end
21
- flash[:error] = "Deprecation warning: please, notice that most plugins have been removed from the main engine in this new version. To download them, run <code>script/plugins install myplugin</code>, where myplugin is one of them at http://svn.typosphere.org/typo/plugins/"
22
- end
23
- end
24
-
25
12
  def look_for_needed_db_updates
26
13
  if Migrator.offer_migration_when_available
27
14
  redirect_to :controller => '/admin/general', :action => 'update_database' if Migrator.current_schema_version != Migrator.max_schema_version
@@ -2,6 +2,7 @@
2
2
  # Likewise will all the methods added be available for all controllers.
3
3
  class ApplicationController < ActionController::Base
4
4
  include ::LoginSystem
5
+ protect_from_forgery :secret => '1c8b953667056f1a3c324d6b369f6158', :except => [:search, :preview]
5
6
  before_filter :reset_local_cache, :fire_triggers, :load_lang
6
7
  after_filter :reset_local_cache
7
8
 
@@ -17,8 +18,7 @@ class ApplicationController < ActionController::Base
17
18
 
18
19
  def setup_themer
19
20
  # Ick!
20
- self.view_paths =
21
- ::ActionController::Base.view_paths.dup.unshift("#{RAILS_ROOT}/themes/#{this_blog.theme}/views")
21
+ self.view_paths = ::ActionController::Base.view_paths.dup.unshift("#{RAILS_ROOT}/themes/#{this_blog.theme}/views")
22
22
  end
23
23
 
24
24
  def error(message = "Record not found...", options = { })
@@ -14,7 +14,7 @@ class ArticlesController < ContentController
14
14
  caches_page *cached_pages
15
15
  end
16
16
 
17
- session :new_session => false
17
+ session :new_session => true
18
18
 
19
19
  helper :'admin/base'
20
20
 
@@ -1,4 +1,5 @@
1
1
  class LiveController < ContentController
2
+ skip_before_filter :verify_authenticity_token
2
3
  session :off
3
4
 
4
5
  def search
@@ -21,7 +21,7 @@ class XmlController < ApplicationController
21
21
 
22
22
  case params[:type]
23
23
  when 'feed'
24
- head :moved_permanently, :location => formatted_articles_url(@format)
24
+ redirect_to :controller => 'articles', :action => 'index', :format => @format, :status => 301
25
25
  when 'comments'
26
26
  head :moved_permanently, :location => formatted_admin_comments_url(@format)
27
27
  when 'article'
@@ -16,5 +16,8 @@ config.action_controller.perform_caching = false
16
16
  # ActionMailer::Base.deliveries array.
17
17
  config.action_mailer.delivery_method = :test
18
18
 
19
+ # Disables requets forgery protection
20
+ config.action_controller.allow_forgery_protection = false
21
+
19
22
  Migrator.offer_migration_when_available = false
20
23
  require 'ruby-debug'
@@ -1,7 +1,7 @@
1
1
  require 'rake/gempackagetask'
2
2
  require 'rake/contrib/rubyforgepublisher'
3
3
 
4
- PKG_VERSION = "5.0.3.98"
4
+ PKG_VERSION = "5.0.3.98.1"
5
5
  PKG_NAME = "typo"
6
6
  PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
7
7
  RUBY_FORGE_PROJECT = 'typo'
@@ -35,6 +35,8 @@ spec = Gem::Specification.new do |s|
35
35
  s.add_dependency("mongrel_cluster", ">= 0.2.0")
36
36
  s.add_dependency("sqlite3-ruby", ">= 1.1.0")
37
37
  s.add_dependency("rails-app-installer", ">= 0.2.0")
38
+ s.add_dependency("ruby-debug", ">= 0.10.1")
39
+ s.add_dependency("flexmock", ">= 0.8.2")
38
40
  end
39
41
 
40
42
  Rake::GemPackageTask.new(spec) do |p|
data/lib/typo_version.rb CHANGED
@@ -1 +1 @@
1
- TYPO_VERSION = '5.0.3.98'
1
+ TYPO_VERSION = '5.0.3.98.1'
@@ -90,7 +90,7 @@ describe XmlController do
90
90
 
91
91
  def test_feed_rss20
92
92
  get :feed, :format => 'rss20', :type => 'feed'
93
- assert_moved_permanently_to formatted_articles_url(:rss)
93
+ assert_moved_permanently_to 'http://test.host/articles.rss'
94
94
  end
95
95
 
96
96
  def test_feed_rss20_comments
@@ -125,7 +125,7 @@ describe XmlController do
125
125
  def test_feed_atom10_feed
126
126
  get :feed, :format => 'atom10', :type => 'feed'
127
127
  assert_response :moved_permanently
128
- assert_moved_permanently_to formatted_articles_url('atom')
128
+ assert_moved_permanently_to "http://test.host/articles.atom"
129
129
  end
130
130
 
131
131
  def test_feed_atom10_comments
@@ -200,7 +200,7 @@ describe XmlController do
200
200
  def test_atom03
201
201
  get :feed, :format => 'atom03', :type => 'feed'
202
202
  assert_response :moved_permanently
203
- assert_moved_permanently_to formatted_articles_url('atom')
203
+ assert_moved_permanently_to 'http://test.host/articles.atom'
204
204
  end
205
205
 
206
206
  def test_itunes
@@ -309,7 +309,7 @@ h3 {
309
309
  }
310
310
 
311
311
 
312
- div.static-body, ul, #sform p {
312
+ div.static-body, #sidebar ul, #sform p {
313
313
  background:url(../../images/theme/bg_white.png);
314
314
  padding:14px
315
315
  }
@@ -319,12 +319,19 @@ div.static-body ul {
319
319
  padding:0;
320
320
  }
321
321
 
322
- ul li {
322
+ #sidebar ul li {
323
323
  list-style-type:none;
324
324
  background:url(../../images/theme/bullet_right.png) 98% 70% no-repeat;
325
325
  padding-right: 17px;
326
326
  }
327
327
 
328
+ ul li {
329
+ list-style-type:none;
330
+ background:url(../../images/theme/bullet_right.png) 0% 70% no-repeat;
331
+ padding-left: 17px;
332
+ }
333
+
334
+
328
335
  #sform input {
329
336
  width:180px;
330
337
  padding:5px;
@@ -0,0 +1,26 @@
1
+ This is a list of Typo maintainers. If you have a commit bit, please add your
2
+ name and contact details to the list.
3
+
4
+ Original Author
5
+
6
+ Tobias Luetke <tobi@leetsoft.com>
7
+ blog: http://blog.leetsoft.com/
8
+ irc: xal
9
+
10
+ Peons
11
+
12
+ Scott Laird <scott@sigkill.org>
13
+ blog: http://scottstuff.net/
14
+ irc: slaird
15
+
16
+ Piers Cawley <pdcawley@bofh.org.uk>
17
+ blog: http://www.bofh.org.uk/
18
+ irc: pdcawley
19
+
20
+ Kevin Ballard <kevin@sb.org>
21
+ blog: http://kevin.sb.org
22
+ irc: Eridius
23
+
24
+ Frédéric de Villamil <frederic@de-villamil.com>
25
+ blog: http://fredericdevillamil.com
26
+ irc: neuro`
@@ -0,0 +1,21 @@
1
+ Copyright (c) 2005 Tobias Luetke
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
@@ -0,0 +1,27 @@
1
+ What is it?
2
+ ===========
3
+
4
+ This is an audioscrobbler sidebar plugin for typo blogging engine.
5
+
6
+ Requirements
7
+ ============
8
+
9
+ Currently you need all of those things to get typo to run:
10
+
11
+ * Typo 1.4.1 or higer
12
+ * Rails 1.2.x
13
+
14
+ Installation
15
+ ============
16
+
17
+ When in Typo root directory, just run
18
+ ./script/plugin install http://svn.typosphere.org/typo/plugins/audioscrobbler_sidebar/
19
+
20
+ Usage
21
+ ======
22
+
23
+ Typo's administrative interface is available at http://your.domain.com/admin.
24
+ To activate the plugin, drag and drop it in the sidebar and fill the config.
25
+
26
+ Enjoy,
27
+ Your typo team
@@ -0,0 +1,22 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+ require 'rake/rdoctask'
4
+
5
+ desc 'Default: run unit tests.'
6
+ task :default => :test
7
+
8
+ desc 'Test the audioscrobbler_sidebar plugin.'
9
+ Rake::TestTask.new(:test) do |t|
10
+ t.libs << 'lib'
11
+ t.pattern = 'test/**/*_test.rb'
12
+ t.verbose = true
13
+ end
14
+
15
+ desc 'Generate documentation for the audioscrobbler_sidebar plugin.'
16
+ Rake::RDocTask.new(:rdoc) do |rdoc|
17
+ rdoc.rdoc_dir = 'rdoc'
18
+ rdoc.title = 'AudioscrobblerSidebar'
19
+ rdoc.options << '--line-numbers' << '--inline-source'
20
+ rdoc.rdoc_files.include('README')
21
+ rdoc.rdoc_files.include('lib/**/*.rb')
22
+ end
@@ -0,0 +1,5 @@
1
+ require 'sidebar'
2
+ require 'audioscrobbler_sidebar'
3
+
4
+ AudioscrobblerSidebar.view_root = File.dirname(__FILE__) + '/views'
5
+
@@ -0,0 +1,54 @@
1
+ require 'open-uri'
2
+ require 'time'
3
+ require 'rexml/document'
4
+
5
+ class Audioscrobbler
6
+ include REXML
7
+
8
+ attr_accessor :url, :items, :link, :artist, :title
9
+
10
+ # This object holds given information of an item
11
+ class AudioscrobblerItem < Struct.new(:link, :artist, :title, :date)
12
+ def to_s; title end
13
+ end
14
+
15
+ # Pass the url to the RSS feed you would like to keep tabs on
16
+ # by default this will request the rss from the server right away and
17
+ # fill the items array
18
+ def initialize(url, refresh = true)
19
+ self.items = []
20
+ self.url = url
21
+ self.refresh if refresh
22
+ end
23
+
24
+ # This method lets you refresh the items in the items array
25
+ # useful if you keep the object cached in memory and
26
+ def refresh
27
+ open(@url) do |http|
28
+ parse(http.read)
29
+ end
30
+ end
31
+
32
+ private
33
+
34
+ def parse(body)
35
+
36
+ xml = Document.new(body)
37
+
38
+ self.items = []
39
+ self.link = XPath.match(xml, "//channel/link/text()").to_s
40
+ self.title = XPath.match(xml, "//channel/title/text()").to_s
41
+
42
+ XPath.each(xml, "//item/") do |elem|
43
+
44
+ item = AudioscrobblerItem.new
45
+ item.title = XPath.match(elem, "dc:title/text()").to_s
46
+ item.artist = XPath.match(elem, "mm:Artist/dc:creator/dc:title/text()").to_s
47
+ item.link = XPath.match(elem, "link/text()").to_s
48
+ item.date = Time.mktime(*ParseDate.parsedate(XPath.match(elem, "dc:date/text()").to_s))
49
+ items << item
50
+ end
51
+
52
+ self.items = items.sort_by { |item| item.date }.reverse
53
+ end
54
+ end
@@ -0,0 +1,13 @@
1
+ class AudioscrobblerSidebar < Sidebar
2
+ description 'Bookmarks from <a href="http://www.audioscrobbler.com">Audioscrobbler</a>'
3
+ setting :feed, 'http://ws.audioscrobbler.com/rdf/history/USERNAME'
4
+ setting :count, 10, :label => 'Items limit'
5
+
6
+ lifetime 1.day
7
+
8
+ attr_reader :audioscrobbler
9
+
10
+ def parse_request(contents, params)
11
+ @audioscrobbler = (Audioscrobbler.new(feed) rescue nil)
12
+ end
13
+ end
@@ -0,0 +1,8 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/../../../../test/test_helper'
3
+
4
+ class AudioscrobblerSidebarTest < Test::Unit::TestCase
5
+ def test_sidebar_is_available
6
+ assert Sidebar.available_sidebars.include?(AudioscrobblerSidebar)
7
+ end
8
+ end
@@ -0,0 +1,10 @@
1
+ <% if sidebar.audioscrobbler -%>
2
+ <div id="audioscrobbler">
3
+ <h3><%= sidebar.audioscrobbler.title %></h3>
4
+ <ul>
5
+ <% for item in sidebar.audioscrobbler.items.to_a.slice(0,sidebar.count.to_i) -%>
6
+ <li><a href="<%= item.link %>" title="<%=h item.title %>"><%=h item.artist %> / <%=h item.title %> </a></li>
7
+ <% end -%>
8
+ </ul>
9
+ </div>
10
+ <% end -%>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: typo
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.3.98
4
+ version: 5.0.3.98.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Fr\xC3\xA9d\xC3\xA9ric de Villamil"
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-06-29 00:00:00 +02:00
12
+ date: 2008-06-30 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -57,6 +57,24 @@ dependencies:
57
57
  - !ruby/object:Gem::Version
58
58
  version: 0.2.0
59
59
  version:
60
+ - !ruby/object:Gem::Dependency
61
+ name: ruby-debug
62
+ version_requirement:
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: 0.10.1
68
+ version:
69
+ - !ruby/object:Gem::Dependency
70
+ name: flexmock
71
+ version_requirement:
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: 0.8.2
77
+ version:
60
78
  description:
61
79
  email: frederic@de-villamil.com
62
80
  executables:
@@ -1356,50 +1374,6 @@ files:
1356
1374
  - themes/typographic/views/shared/_search.html.erb
1357
1375
  - themes/typographic/views/theme
1358
1376
  - themes/typographic/views/theme/static_view_test.html.erb
1359
- - themes/typographic2
1360
- - themes/typographic2/.DS_Store
1361
- - themes/typographic2/about.markdown
1362
- - themes/typographic2/images
1363
- - themes/typographic2/images/accept.png
1364
- - themes/typographic2/images/accept50.png
1365
- - themes/typographic2/images/bg_body.jpg
1366
- - themes/typographic2/images/bg_white.png
1367
- - themes/typographic2/images/bg_wrapper.jpg
1368
- - themes/typographic2/images/bullet_bottom.png
1369
- - themes/typographic2/images/bullet_right.png
1370
- - themes/typographic2/images/email_open.png
1371
- - themes/typographic2/images/email_open50.png
1372
- - themes/typographic2/images/meta.png
1373
- - themes/typographic2/images/page_edit.png
1374
- - themes/typographic2/images/page_edit50.png
1375
- - themes/typographic2/images/tag.png
1376
- - themes/typographic2/images/Thumbs.db
1377
- - themes/typographic2/images/user.png
1378
- - themes/typographic2/images/user50.png
1379
- - themes/typographic2/images/world_link.png
1380
- - themes/typographic2/images/world_link50.png
1381
- - themes/typographic2/layouts
1382
- - themes/typographic2/layouts/default.html.erb
1383
- - themes/typographic2/preview.png
1384
- - themes/typographic2/stylesheets
1385
- - themes/typographic2/stylesheets/colors.css
1386
- - themes/typographic2/stylesheets/layout.css
1387
- - themes/typographic2/stylesheets/reset.css
1388
- - themes/typographic2/stylesheets/style.css
1389
- - themes/typographic2/views
1390
- - themes/typographic2/views/articles
1391
- - themes/typographic2/views/articles/_article.html.erb
1392
- - themes/typographic2/views/articles/_comment.html.erb
1393
- - themes/typographic2/views/articles/_comment_form.html.erb
1394
- - themes/typographic2/views/articles/_comment_list.html.erb
1395
- - themes/typographic2/views/articles/_trackback.html.erb
1396
- - themes/typographic2/views/articles/comment_preview.html.erb
1397
- - themes/typographic2/views/articles/index.html.erb
1398
- - themes/typographic2/views/articles/read.html.erb
1399
- - themes/typographic2/views/shared
1400
- - themes/typographic2/views/shared/_search.html.erb
1401
- - themes/typographic2/views/theme
1402
- - themes/typographic2/views/theme/static_view_test.html.erb
1403
1377
  - tmp
1404
1378
  - tmp/cache
1405
1379
  - tmp/pids
@@ -1589,6 +1563,19 @@ files:
1589
1563
  - vendor/plugins/archives_sidebar/test/archives_sidebar_test.rb
1590
1564
  - vendor/plugins/archives_sidebar/views
1591
1565
  - vendor/plugins/archives_sidebar/views/content.rhtml
1566
+ - vendor/plugins/audioscrobbler_sidebar
1567
+ - vendor/plugins/audioscrobbler_sidebar/init.rb
1568
+ - vendor/plugins/audioscrobbler_sidebar/lib
1569
+ - vendor/plugins/audioscrobbler_sidebar/lib/audioscrobbler.rb
1570
+ - vendor/plugins/audioscrobbler_sidebar/lib/audioscrobbler_sidebar.rb
1571
+ - vendor/plugins/audioscrobbler_sidebar/MAINTAINERS
1572
+ - vendor/plugins/audioscrobbler_sidebar/MIT-LICENSE
1573
+ - vendor/plugins/audioscrobbler_sidebar/Rakefile
1574
+ - vendor/plugins/audioscrobbler_sidebar/README
1575
+ - vendor/plugins/audioscrobbler_sidebar/test
1576
+ - vendor/plugins/audioscrobbler_sidebar/test/audioscrobbler_sidebar_test.rb
1577
+ - vendor/plugins/audioscrobbler_sidebar/views
1578
+ - vendor/plugins/audioscrobbler_sidebar/views/content.rhtml
1592
1579
  - vendor/plugins/auto_complete
1593
1580
  - vendor/plugins/auto_complete/init.rb
1594
1581
  - vendor/plugins/auto_complete/lib
Binary file
@@ -1,7 +0,0 @@
1
- ### Typographic by [Hélène][1]
2
-
3
- Typographic is the new Typo default theme starting version 5.0.4. It was specially designed for this use by [Hélène][2] for [O2source][3].
4
-
5
- [1]: http://www.o2sources.com/people/helene
6
- [2]:http://www.jeuxdemaux.com/
7
- [3]: http://www.o2sources.com
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,42 +0,0 @@
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/style.css', :media => 'all' %>
7
- </head>
8
-
9
- <body>
10
- <div id="wrapper">
11
- <!-- start header -->
12
- <div id="header">
13
- <h1><%= link_to this_blog.blog_name, this_blog.base_url %></h1>
14
- <p class="desc"><%= this_blog.blog_subtitle %></p>
15
- </div>
16
- <!-- end header -->
17
-
18
- <div id="page">
19
- <div id="sidebar">
20
- <!-- search -->
21
- <%= render :partial => 'shared/search' %>
22
-
23
- <!-- sidebar components -->
24
- <%= render_sidebars %>
25
- </div>
26
-
27
- <div id="content">
28
- <%= @content_for_layout %>
29
- <%= javascript_tag 'show_dates_as_local_time()' %>
30
- </div>
31
-
32
- <div id="footer">
33
- <div class="wrap">
34
- <p id="legal">
35
- <%= _("Powered by %s", link_to ('typo', 'http://typosphere.org')) %>
36
- <%= _("Designed by %s ", link_to ('Hélène', 'http://www.o2sources.com/people/helene')) %>
37
- </p>
38
- </div>
39
- </div>
40
- </body>
41
- </html>
42
-
Binary file
@@ -1,51 +0,0 @@
1
- /*------------------------------------------------------------------
2
- # [Color codes]
3
-
4
- # Dark grey (h1,h3): #3d3d3d
5
- # Mid grey (header des): #787878
6
- # Mid grey (h2, links:hover, h2 a, form#commentform) : #5d5d5d
7
- # Black (text) : #000
8
- # Blue (links) #288aaa
9
- # Light grey (meta, footer) : #8b8b8b
10
- # Dark orange (border .title) : #e8d1b6
11
- # Orange (border images, input, textarea) : #f4c997
12
- # Light orange (body background) : #ffebd6
13
- # Light brown (footer border) : #e1d8ce
14
- # */
15
-
16
- body {
17
- color : #000;
18
- background-color: #ffebd6;
19
- }
20
-
21
- h1, h3, h1 a {
22
- color: #3d3d3d
23
- }
24
-
25
- #header p.desc {
26
- color :#787878;
27
- }
28
-
29
- h2, a:hover, h2 a, #commentform label, #commentform input {
30
- color: #5d5d5d
31
- }
32
-
33
- a {
34
- color: #288aaa
35
- }
36
-
37
- div.meta, #footer {
38
- color: #8b8b8b
39
- }
40
-
41
- div.atomentry div.title {
42
- border-color: #e8d1b6
43
- }
44
-
45
- div.atomentry div.content img, input, textarea {
46
- border-color: #f4c997
47
- }
48
-
49
- #footer {
50
- border-color: #e1d8ce
51
- }
@@ -1,346 +0,0 @@
1
-
2
- /*
3
- 1. Body
4
- 2. Wrapper
5
- 3. Header / #header
6
- 3.1. Logo / #logo
7
- 3.2. Menu / #menu
8
- 4. Page
9
- 4.1. Content / #content
10
- 4.1.1. Post / .atomentry
11
- 4.1.2. Comments
12
- 4.2. Sidebar / #sidebar
13
- 4.2.1. Search / #search
14
- 4.2.2. Loading / #loading
15
- 4.2.4. Results / #results
16
- 4.2.5. Categories / #categories
17
- 5. Footer / #footer
18
- */
19
-
20
-
21
- /*------------------------------------------------------------------
22
- [1. Body]
23
- */
24
- body {
25
- font-family: "Century Gothic", Arial, Verdana, sans-serif;
26
- font-size: 0.9em;
27
- background:url(../../images/theme/bg_body.jpg) top center no-repeat;
28
- }
29
-
30
- input, textarea {
31
- border: solid 1px;
32
- font-family: "Century Gothic", Arial, Verdana, sans-serif;
33
- }
34
-
35
- a {
36
- }
37
- a:hover {
38
- text-decoration: none;
39
- }
40
-
41
- /*------------------------------------------------------------------
42
- [2. Wrapper]
43
- */
44
- wrapper {
45
- background:url(../../images/theme/bg_wrapper.jpg) bottom left repeat-x;
46
- }
47
-
48
- /*------------------------------------------------------------------
49
- [3. Header]
50
- */
51
-
52
- #header {
53
- max-width: 1000px;
54
- min-width: 400px;
55
- margin:50px auto 55px auto;
56
- position: relative;
57
- text-align:right;
58
- }
59
-
60
- p.desc {
61
- font-size: 0.8em;
62
- }
63
-
64
- h1 a {
65
- text-decoration : none;
66
- font-weight:normal;
67
- font-size: 1.6em;
68
- }
69
-
70
- /*------------------------------------------------------------------
71
- [4. Page]
72
- */
73
- #page {
74
- max-width: 1000px;
75
- min-width: 400px;
76
- margin-left:auto;
77
- margin-right: auto;
78
- position: relative;
79
- }
80
-
81
- /*------------------------------------------------------------------
82
- [4.1. Content]
83
- */
84
-
85
- #content {
86
- margin-right: 250px;
87
- }
88
-
89
-
90
- /*------------------------------------------------------------------
91
- [4.1.1. Post]
92
- */
93
-
94
- div.atomentry {
95
- margin-bottom:75px;
96
- }
97
-
98
- div.atomentry div.title {
99
- border-left: 10px solid;
100
- padding-left: 10px;
101
- margin-bottom: 15px;
102
- }
103
-
104
- div.title cite {
105
- font-style:normal;
106
- }
107
-
108
- div.title abbr {
109
- border:none;
110
- }
111
-
112
- h2.title a {
113
- text-decoration : none;
114
- font-weight:normal;
115
- font-size:1.6em
116
- }
117
-
118
- div.meta {
119
- font-size: 0.7em;
120
- }
121
-
122
- div.atomentry img {
123
- border: solid 1px;
124
- padding: 5px;
125
- }
126
-
127
- img.right {
128
- float:right;
129
- margin-left:10px;
130
- margin-bottom:5px;
131
- }
132
-
133
- img.left {
134
- float:left;
135
- margin-right:10px;
136
- margin-bottom:5px;
137
- }
138
-
139
- div.atomentry div.content p {
140
- margin-top: 5px;
141
- margin-bottom: 15px;
142
- }
143
- p.links {
144
- text-align:right;
145
- margin-top:15px;
146
- }
147
-
148
- a.more, a.comments {
149
- background:url(../../images/theme/bullet_right.png) no-repeat 0 70%;
150
- padding-left:15px;
151
- margin-left: 35px;
152
- font-size:0.8em;
153
- }
154
-
155
- a.more:hover, a.comments:hover {
156
- background-image:url(../../images/theme/bullet_bottom.png)
157
- }
158
-
159
- p.infos {
160
- background:url(../../images/theme/meta.png) no-repeat;
161
- min-height:18px;
162
- padding-left: 20px;
163
- font-size:1.2em
164
- }
165
-
166
- p.tags {
167
- background:url(../../images/theme/tag.png) no-repeat;
168
- min-height: 18px;
169
- padding: 2px 0 0 20px;
170
- font-size:1.2em
171
- }
172
- /*------------------------------------------------------------------
173
- [4.1.2. Comments]
174
- */
175
-
176
- #commentform {
177
- background:url(../../images/theme/bg_white.png);
178
- padding:10px 35px 25px 10px
179
- }
180
-
181
- #commentform input {
182
- width:180px;
183
- padding:3px 3px 3px 23px;
184
- margin: 15px;
185
- }
186
-
187
- #commentform textarea {
188
- padding:3px;
189
- margin: 15px 0 15px 15px;
190
- font-size:1em;
191
- width:480px;
192
- }
193
-
194
- #commentform label {
195
- float:left;
196
- width: 150px;
197
- text-align:right;
198
- height:30px;
199
- padding-top:15px;
200
- margin-left: 50px;
201
- line-height:0.7em
202
- }
203
-
204
- #commentform label small {
205
- font-size:0.6em
206
- }
207
-
208
- input#comment_author {
209
- background:url(../../images/theme/user50.png) no-repeat #FFF 2% 50%;
210
- }
211
-
212
- input#comment_author:hover {
213
- background:url(../../images/theme/user.png) no-repeat #FFF 2% 50%;
214
- }
215
-
216
- input#comment_email {
217
- background:url(../../images/theme/email_open50.png) no-repeat #FFF 2% 50%;
218
- }
219
-
220
- input#comment_email:hover {
221
- background:url(../../images/theme/email_open.png) no-repeat #FFF 2% 50%;
222
- }
223
-
224
- input#comment_url {
225
- background:url(../../images/theme/world_link50.png) no-repeat #FFF 2% 50%;
226
- }
227
-
228
- input#comment_url:hover {
229
- background:url(../../images/theme/world_link.png) no-repeat #FFF 2% 50%;
230
- }
231
-
232
- input#form-preview-button {
233
- background:url(../../images/theme/page_edit50.png) no-repeat #f6e0c6 2% 50%;
234
- width: 110px;
235
- margin:0
236
- }
237
-
238
- input#form-preview-button:hover {
239
- background:url(../../images/theme/page_edit.png) no-repeat #f6e0c6 2% 50%;
240
- }
241
-
242
-
243
- input#form-submit-button {
244
- background:url(../../images/theme/accept50.png) no-repeat #f6e0c6 2% 50%;
245
- width: 110px;
246
- margin:0
247
- }
248
-
249
- input#form-submit-button:hover {
250
- background:url(../../images/theme/accept.png) no-repeat #f6e0c6 2% 50%;
251
- }
252
-
253
- ol#commentList {
254
- margin-left: 25px;
255
- }
256
-
257
- ol#commentList li {
258
- margin: 10px 0 10px 0
259
- }
260
-
261
- div.commentContent {
262
- padding:10px;
263
- background:url(../../images/theme/bg_white.png);
264
- margin:5px 0 0 0
265
-
266
- }
267
-
268
- div.author cite {
269
- font-style:normal
270
- }
271
-
272
- h2#trackbacks-title, h2#comments-title, h2#formComments-title{
273
- font-weight:normal;
274
- font-size:1.6em;
275
- margin-top:65px;
276
- line-height:0.8em;
277
- }
278
-
279
- p.trackbackurl span {
280
- font-size: 0.8em
281
- }
282
-
283
- p.buttons {
284
- clear:left;
285
- text-align:right
286
- }
287
-
288
- p.buttons input {
289
- width: 110px
290
- }
291
- /*------------------------------------------------------------------
292
- [4.2. Sidebar]
293
- */
294
- #sidebar {
295
- float:right;
296
- position: relative;
297
- right:0;
298
- top:0;
299
- width:220px;
300
- text-align:right;
301
- font-size:
302
- }
303
-
304
- h3 {
305
- margin-top:25px;
306
- font-size:1.7em;
307
- font-weight:normal;
308
- line-height:0.9em;
309
- }
310
-
311
-
312
- div.static-body, ul, #sform p {
313
- background:url(../../images/theme/bg_white.png);
314
- padding:14px
315
- }
316
-
317
- div.static-body ul {
318
- background:none;
319
- padding:0;
320
- }
321
-
322
- ul li {
323
- list-style-type:none;
324
- background:url(../../images/theme/bullet_right.png) 98% 70% no-repeat;
325
- padding-right: 17px;
326
- }
327
-
328
- #sform input {
329
- width:180px;
330
- padding:5px;
331
- }
332
-
333
- /*------------------------------------------------------------------
334
- [5. Footer]
335
- */
336
- #footer {
337
- max-width: 1000px;
338
- min-width: 400px;
339
- margin: 50px auto 0 auto;
340
- position: relative;
341
- text-align:center;
342
- padding:5px;
343
- border-top: solid 1px;
344
- font-size: 0.6em;
345
- clear:both
346
- }
@@ -1,5 +0,0 @@
1
- /* RESET */
2
- html,*{
3
- margin: 0;
4
- padding: 0;
5
- }
@@ -1,36 +0,0 @@
1
- /* CSS Document */
2
- /*------------------------------------------------------------------
3
- [Master Stylesheet]
4
-
5
- Project: TypoGraphic
6
- Version: 1.0
7
- Last change: 04/06/08 [fixed Float bug, vf]
8
- Assigned to: Helene Douchet (hdo)
9
-
10
- [Table of contents]
11
-
12
- 1. Body
13
- 2. Wrapper
14
- 3. Header / #header
15
- 4. Page
16
- 4.1. Content / #content
17
- 4.1.1. Post / .atomentry
18
- 4.2. Sidebar / #sidebar
19
- 4.2.1. Search / #search
20
- 4.2.2. Loading / #loading
21
- 4.2.4. Results / #results
22
- 4.2.5. Categories / #categories
23
- 5. Footer / #footer
24
- -------------------------------------------------------------------*/
25
-
26
- @import "reset.css";
27
- @import "layout.css";
28
- @import "colors.css";
29
- /* @import "debugging.css"; */
30
-
31
-
32
-
33
-
34
-
35
-
36
-
@@ -1,41 +0,0 @@
1
- <div class="atomentry" id="article-<%= article.id %>">
2
- <div class="title">
3
- <h2 class="title"><%= (controller.action_name.include? 'permalink') ? article.title : link_to_permalink(article,article.title) %></h2>
4
- <div class="meta">
5
- <%= _("Posted by") %> <cite><%= author_link(article) %></cite> <abbr class="published" title="<%= article.published_at.xmlschema %>"><%= js_distance_of_time_in_words_to_now article.published_at %></abbr>
6
- </div>
7
- </div>
8
- <div class="content">
9
- <%= article.html(:body) %>
10
-
11
- <% if article.extended? -%>
12
- <div class="extended">
13
- <% if controller.action_name == 'index' -%>
14
- <p><%= link_to_permalink article,_("Continue reading...") %></p>
15
- <% else -%>
16
- <%= article.html(:extended) %>
17
- <% end -%>
18
- </div>
19
- <% end -%>
20
- </div>
21
- <% if controller.controller_name == "articles" and controller.action_name == "show" %>
22
- <div class="meta">
23
- <p class="infos"><small>
24
- <%= _("This entry was posted on %s", content_tag(:abbr, js_distance_of_time_in_words_to_now (@article.published_at), {:class => 'published', :title => @article.published_at.xmlschema})) %>
25
- <%= _("and %s", category_links(@article)) unless @article.categories.empty? %>.
26
- <%= _("You can follow any any response to this entry through the %s", link_to(_("Atom feed"), @auto_discovery_url_atom)) %>.
27
- <%= _("You can leave a %s", link_to_permalink(article, _('comment'), 'comments')) if @article.allow_comments? %>
28
- <%= _("or a %s from your own site", link_to_permalink(@article, _('trackback'), 'trackbacks')) if @article.allow_pings? %>.
29
- </small></p>
30
- <p class="tags">
31
- <%= tag_links(@article) unless @article.tags.empty? %>
32
- </p>
33
- </div>
34
- <% else %>
35
- <p class="links">
36
- <%= link_to_permalink(article, _("Read full article"), nil, 'more') if controller.action_name != 'permalink' %>
37
- <%= link_to_permalink(article,pluralize(article.published_comments.size, _('comment')),'comments', 'comments') %>
38
- </p>
39
- <% end %>
40
- <br style="clear:both;" />
41
- </div>
@@ -1,14 +0,0 @@
1
- <li class="comment" id="comment-<%= comment.id %>">
2
- <div class="author">
3
- <%= content_tag(:div, gravatar_tag(comment.email)) if this_blog.use_gravatar and comment.email %>
4
- <cite><%= (comment.url.blank?) ? h(comment.author) : link_to(h(comment.author), comment.url) %></cite>
5
- <abbr title="<%= comment.created_at.xmlschema %>"><%= distance_of_time_in_words comment.article.published_at, comment.created_at %> <%= _("later")%>:</abbr>
6
- </div>
7
- <div class="commentContent">
8
- <%= comment.html %>
9
- </div>
10
- <% unless comment.published -%>
11
- <div class="spamwarning"><%= _("This comment has been flagged for moderator approval.") %></div>
12
- <% end -%>
13
- </li>
14
-
@@ -1,48 +0,0 @@
1
- <% form_remote_tag :url => comments_path(@article),
2
- :position => :bottom,
3
- :update => {:success => 'commentList'},
4
- :loading => "loading()",
5
- :complete => "complete(request)",
6
- :failure => "failure(request)",
7
- :html => {:id => 'commentform', :class => 'comments' } \
8
- do %>
9
-
10
- <div id="preview" style="display:none"></div>
11
-
12
- <h2 id="formComments-title"><%= _("Leave a comment")%></h2>
13
- <div id="respond" class="post">
14
- <p>
15
- <label for="comment_author"><%= _("Name %s", content_tag(:small, '('+_('required')+')' ))%></label>
16
- <%= text_field "comment", "author" %>
17
- </p>
18
-
19
- <p>
20
- <label for="comment_email"><%= _("Email")%> <%= content_tag('small', "(#{link_to('gravatar', 'http://gravatar.com')} "+ _("enabled") + ")") if this_blog.use_gravatar %> <small>(<%= _("never displayed") %>)</small></label>
21
- <%= text_field "comment", "email" %>
22
- </p>
23
- <p>
24
- <label><%= _("Website")%></label>
25
- <%= text_field "comment", "url" %>
26
- </p>
27
-
28
- <p>
29
- <label>
30
- <%= _("Comments")%>:
31
- <%= content_tag('small', link_to(_("Textile enabled"), "http://hobix.com/textile/")) if this_blog.comment_text_filter.include? 'textile' %>
32
- <%= content_tag('small', link_to(_("Markdown enabled"), "http://daringfireball.net/projects/markdown/")) if this_blog.comment_text_filter.include? 'markdown' %>
33
- <br />
34
- </label>
35
- <%= text_area 'comment', 'body', :rows => 10 %>
36
- </p>
37
-
38
- <p class="buttons">
39
- <%= submit_to_remote('preview', _('Preview') + '!',
40
- :update => 'preview',
41
- :complete => "Element.show('preview')",
42
- :url => preview_new_comment_path(@article),
43
- :html => {:class => 'submit', :id => 'form-preview-button'}) %>
44
- <%= submit_tag _('Submit'), :id => 'form-submit-button', :class => 'submit', :onclick => "$('commentform').onsubmit();this.disabled=true;Element.hide('preview');return false;" %>
45
- <%= image_tag '/images/theme/spinner.gif', :id => 'comment_loading', :style => 'display:none' %>
46
- </p>
47
- </div>
48
- <% end %>
@@ -1,7 +0,0 @@
1
- <ol id="commentList" class="comments">
2
- <% if @article.published_comments.any? -%>
3
- <%= render(:partial => "comment", :collection => @article.published_comments) %>
4
- <% else -%>
5
- <li class="dummy_comment" style="display:none"><%= _("No comments")%></li>
6
- <% end -%>
7
- </ol>
@@ -1,9 +0,0 @@
1
- <li class="trackback" id="trackback-<%= trackback.id %>">
2
- <div class="author">
3
- <a href="<%= trackback.url %>" rel="nofollow"><%= trackback.title %></a>
4
- <abbr><%_("From")%> <cite><%= trackback.blog_name %></cite></abbr>
5
- </div>
6
- <div class="content">
7
- <%= trackback.excerpt %>
8
- </div>
9
- </li>
@@ -1,10 +0,0 @@
1
- <div class="comment preview">
2
- <div class="author">
3
- <%= content_tag(:div, gravatar_tag(@comment.email)) if this_blog.use_gravatar and @comment.email %>
4
- <cite><%= (@comment.url.blank?) ? h(@comment.author) : link_to(h(@comment.author), @comment.url) %></cite>
5
- <abbr><%= _("is about to say")%></abbr>
6
- </div>
7
- <div class="content">
8
- <%= @comment.html %>
9
- </div>
10
- </div>
@@ -1,5 +0,0 @@
1
- <%= render :partial => 'articles/article', :collection => @articles %>
2
-
3
- <% unless @pages.item_count <= this_blog.limit_article_display -%>
4
- <p class="pagination"><%= _("Older posts")%>: <%= pagination_links @pages, :params => { :action => @controller.action_name } %></p>
5
- <% end -%>
@@ -1,42 +0,0 @@
1
- <!--
2
- <rdf:RDF
3
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
4
- xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
5
- xmlns:dc="http://purl.org/dc/elements/1.1/">
6
- <rdf:Description
7
- rdf:about=""
8
- trackback:ping="<%= @article.trackback_url %>"
9
- dc:title="<%=h @article.title.gsub(/-+/, '-') %>"
10
- dc:identifier="<%= @article.permalink_url %>"
11
- dc:description="<%=h (@article.html.strip_html[0..255]).gsub(/-+/, '-') %>"
12
- dc:creator="<%= h @article.author %>"
13
- dc:date="<%= @article.updated_at.xmlschema %>" />
14
- </rdf:RDF>
15
- -->
16
-
17
- <%= render :partial => 'article', :object => @article %>
18
-
19
-
20
- <% if @article.allow_pings? -%>
21
- <h2 id="trackbacks-title"><a id="trackbacks"><%= _("Trackbacks")%></a></h2>
22
- <p class="trackbackurl">
23
- <%= _("Use the following link to trackback from your own site")%>:<br />
24
- <%= @article.trackback_url %>
25
- </p>
26
-
27
- <% unless @article.published_trackbacks.blank? -%>
28
- <ol id="trackbacks" class="comments">
29
- <%= render(:partial => "trackback", :collection => @article.published_trackbacks) %>
30
- </ol>
31
- <% end -%>
32
- <% end -%>
33
-
34
- <% if @article.allow_comments? or @article.published_comments.size > 0 -%>
35
- <h2 id="comments-title"><a id="comments"><%= _("Comments")%></a></h2>
36
-
37
- <div id="comments_div">
38
- <%= render :partial => "comment_list" %>
39
- </div>
40
- <% end -%>
41
-
42
- <%= render :partial => 'comment_form' if @article.allow_comments? %>
@@ -1,17 +0,0 @@
1
- <div id="search" class="search">
2
- <% form_tag({ :controller => 'articles', :action => 'search' },
3
- { :method => 'get', :id => 'sform' }) do -%>
4
- <h3><%= _("Search")%></h3>
5
- <p><input type="text" id="q" name="q" value="" /></p>
6
- <% end -%>
7
-
8
- <div id="loading" class="loading" style="display:none;"><%= _("Searching")%>...</div>
9
- <div id="results" class="results"></div>
10
- <%= observe_field 'q',
11
- :url => { :controller => 'live', :action => 'search' },
12
- :frequency => 1,
13
- :loading => "Element.show('loading')",
14
- :complete => "Element.hide('loading')",
15
- :update => 'results',
16
- :with => "'q=' + encodeURIComponent($F('q'))" %>
17
- </div>
@@ -1 +0,0 @@
1
- <!-- Static View Test from standard issue -->