EliteJournal 1.9.403 → 1.9.480

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.
Files changed (37) hide show
  1. data/app/controllers/application.rb +6 -4
  2. data/app/controllers/atom_controller.rb +10 -17
  3. data/app/controllers/post_controller.rb +67 -36
  4. data/app/controllers/rss_controller.rb +12 -17
  5. data/app/controllers/tags_controller.rb +2 -2
  6. data/app/controllers/users_controller.rb +9 -3
  7. data/app/helpers/application_helper.rb +13 -23
  8. data/app/helpers/pagination_helper.rb +487 -0
  9. data/app/helpers/tags_helper.rb +1 -1
  10. data/app/models/post.rb +2 -0
  11. data/app/models/user.rb +4 -4
  12. data/app/views/account/info.rhtml +4 -0
  13. data/app/views/atom/feed.rxml +2 -2
  14. data/app/views/css/edit.rhtml +1 -1
  15. data/app/views/layouts/application.rhtml +5 -5
  16. data/app/views/{journal → post}/_comment.rhtml +1 -1
  17. data/app/views/{journal → post}/_post.rhtml +3 -3
  18. data/app/views/{journal → post}/_trackback.rhtml +0 -0
  19. data/app/views/{journal → post}/error.rhtml +0 -0
  20. data/app/views/post/index.rhtml +5 -0
  21. data/app/views/post/reply.rhtml +21 -12
  22. data/app/views/post/replyxml.rxml +2 -2
  23. data/app/views/{journal → post}/view.rhtml +0 -0
  24. data/app/views/rss/{index.rxml → feed.rxml} +1 -1
  25. data/app/views/users/index.rhtml +1 -1
  26. data/config/environment.rb +22 -9
  27. data/config/routes.rb +36 -0
  28. data/db/db-mysql.sql +2 -0
  29. data/db/db-postgresql.sql +2 -0
  30. data/db/db-sqlite.sql +2 -0
  31. data/db/development_structure.sql +67 -65
  32. data/elitejournal +3 -40
  33. data/public/dispatch.rb +2 -2
  34. metadata +12 -22
  35. data/app/controllers/journal_controller.rb +0 -53
  36. data/app/helpers/journal_helper.rb +0 -2
  37. data/app/views/journal/index.rhtml +0 -1
@@ -1,7 +1,7 @@
1
1
  module TagsHelper
2
2
  def show_tags(tags)
3
3
  links = []
4
- tags.each { |t| links << link_to(t.tag, :controller => 'journal', :action => 'tag', :params => {'tag' => t.tag})}
4
+ tags.each { |t| links << link_to(t.tag, :controller => 'tags', :action => 'show', :tag => t.tag)}
5
5
  links.join(', ')
6
6
  end
7
7
  end
data/app/models/post.rb CHANGED
@@ -17,6 +17,8 @@ class Post < ActiveRecord::Base
17
17
  RedCloth.new(section).to_html.gsub(/\t/, '')
18
18
  end
19
19
  self.rendered = @sections.join(SECTION_DELIMITER)
20
+
21
+ self.slug = self.subject.downcase.gsub(/[^a-z0-9 _-]+/, '').gsub(/ +/, '-').gsub(/-+/, '-')
20
22
  end
21
23
 
22
24
  def updated?
data/app/models/user.rb CHANGED
@@ -11,6 +11,7 @@ class User < ActiveRecord::Base
11
11
  validates_presence_of :username, :name
12
12
  validates_uniqueness_of :username
13
13
  validates_confirmation_of :password
14
+ validates_inclusion_of :posts_per_page, :in => 1..25
14
15
 
15
16
  def before_save
16
17
  self.password = password.empty? ? self.class.find(id).password : Digest::MD5.hexdigest(password)
@@ -22,10 +23,9 @@ class User < ActiveRecord::Base
22
23
  end
23
24
 
24
25
  def top_posters(n=5)
25
- posters = find_by_sql("SELECT u.id FROM users u, posts p " +
26
- "WHERE u.id = p.user_id GROUP BY u.id " +
27
- "ORDER BY COUNT(p.id) DESC LIMIT #{n}").flatten
28
- posters.map { |p| find(p) }
26
+ find_by_sql ["SELECT u.*, COUNT(p.id) FROM #{table_name} u, " +
27
+ "#{Post.table_name} p WHERE u.id = p.user_id " +
28
+ "GROUP BY u.id ORDER_BY post_count DESC LIMIT ?", n]
29
29
  end
30
30
  end
31
31
 
@@ -12,6 +12,10 @@
12
12
 
13
13
  <p><label for="user_subtitle">Journal Subtitle</label><br /><%= text_field('user', 'subtitle') %></p>
14
14
 
15
+ <p><label>Show the &nbsp;
16
+ <%= text_field 'user', 'posts_per_page', :size => 2, :style => 'width: auto' %>
17
+ &nbsp; most recent posts on my user page</label></p>
18
+
15
19
  <p><label for="user_allows_comments">Allow Commenting?</label>&nbsp;&nbsp;<%= check_box('user', 'allows_comment', 'style' => 'width: auto;') %></p>
16
20
  <p><label for="user_password">Password</label><br />
17
21
  <input type="password" name="user[password]" id="user_password" size="30" /></p>
@@ -5,8 +5,8 @@ xml.feed('version' => '0.3', 'xmlns' => 'http://purl.org/atom/ns#') do
5
5
  @posts.each do |p|
6
6
  xml.entry do
7
7
  xml.title p.subject
8
- xml.link 'rel' => 'alternate', 'type' => 'text/html', 'href' => "http://#{@request.host}#{@app_config['main']['app_base']}view/#{p.id}"
9
- xml.author { xml.name p.user.name }
8
+ xml.link 'rel' => 'alternate', 'type' => 'text/html', 'href' => "#{@request.protocol}#{@request.host_with_port}/user/#{@user ? @user.name : p.user.username}/#{p.slug}"
9
+ xml.author { xml.name @user ? @user.name : p.user.name }
10
10
  xml.issued p.created_at.xmlschema
11
11
  xml.modified p.updated_at.xmlschema
12
12
  xml.content({'type' => 'text/html', 'mode' => 'escaped'}, p.rendered)
@@ -2,7 +2,7 @@
2
2
  <h1>Editing stylesheet</h1>
3
3
 
4
4
  <div id="example_post">
5
- <%= render_partial 'journal/post', @lastpost %>
5
+ <%= render_partial 'post/post', @lastpost %>
6
6
  </div>
7
7
 
8
8
  <%= error_messages_for 'stylesheet' %>
@@ -29,7 +29,7 @@
29
29
  <ul id="menu">
30
30
  <% if logged_in? -%>
31
31
  <li id="logout"><%= current_user.name %> | <%= link_to 'Log Out', :controller => 'auth', :action => 'logout' %></li>
32
- <li><%= link_to('Home', :controller => 'journal', :action => 'index' ) %></li>
32
+ <li><%= link_to('Home', :controller => 'post', :action => 'index' ) %></li>
33
33
  <li><%= link_to('Users', :controller => 'users', :action => 'index' ) %></li>
34
34
  <li><%= link_to('Post', :controller => 'post', :action => 'new' ) %></li>
35
35
  <li><%= link_to('My Drafts', :controller => 'draft', :action => 'list' ) %></li>
@@ -41,7 +41,7 @@
41
41
  <% end -%>
42
42
  <% else -%>
43
43
  <li id="logout"><%= link_to 'Log In', :controller => 'auth', :action => 'login' %></li>
44
- <li><%= link_to 'Home', :controller => 'journal', :action => 'index' %></li>
44
+ <li><%= link_to 'Home', :controller => 'post', :action => 'index' %></li>
45
45
  <li><%= link_to('Users', :controller => 'users', :action => 'index' ) %></li>
46
46
  <% end -%>
47
47
  </ul>
@@ -61,8 +61,8 @@
61
61
  <% if user_page? -%>
62
62
  <h2>Links</h2>
63
63
  <ul>
64
- <li><%= link_to 'Atom', :controller => 'atom', :action => @user.username %></li>
65
- <li><%= link_to 'RSS', :controller => 'rss', :action => @user.username %></li>
64
+ <li><%= link_to 'Atom', :controller => 'atom', :action => 'feed', :user => @user.username %></li>
65
+ <li><%= link_to 'RSS', :controller => 'rss', :action => 'index', :user => @user.username %></li>
66
66
  <% @user.links.each do |l| -%>
67
67
  <li><a href="<%= l.link_url %>"><%= l.link_text %></a></li>
68
68
  <% end -%>
@@ -73,7 +73,7 @@
73
73
  <h2>Related Tags</h2>
74
74
  <ul>
75
75
  <% @tag.related_tags.each do |t| -%>
76
- <li><%= link_to t.tag, :controller => 'tags', :action => 'show', :params => {'tag', CGI.escape(t.tag)} %></li>
76
+ <li><%= link_to t.tag, :controller => 'tags', :action => 'show', :tag => CGI.escape(t.tag) %></li>
77
77
  <% end -%>
78
78
  </ul>
79
79
 
@@ -1,6 +1,6 @@
1
1
  <div class="comment">
2
2
  <a name="comment_<%= comment.id %>"></a>
3
- <b><%= comment.subject %></b> (<%= link_to('Reply', :controller => 'post', :action => 'reply', :id => comment.post_id, :params => {'comment_id' => comment.id }) %>) <% if owns_post?(comment.post) %>(<%= link_to 'Delete', :controller => 'post', :action => 'destroy_comment', :id => comment.id %>)<% end %><br />
3
+ <b><%= comment.subject %></b> (<%= link_to('Reply', :controller => 'post', :action => 'reply', :user => comment.post.user.username, :id => comment.id, :slug => comment.post.slug) %>) <% if owns_post?(comment.post) %>(<%= link_to 'Delete', :controller => 'post', :action => 'destroy_comment', :id => comment.id %>)<% end %><br />
4
4
  Posted <%= distance_of_time_in_words comment.post.created_at, comment.created_at %> later by <em><%= comment.posted_by %></em><br /><br />
5
5
  <%= comment.rendered %>
6
6
 
@@ -3,8 +3,8 @@
3
3
  xmlns:dc="http://purl.org/dc/elements/1.1/"
4
4
  xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
5
5
  <rdf:Description
6
- rdf:about="<%= url_for :controller => 'journal', :action => 'view', :id => post.id %>"
7
- dc:identifier="<%= url_for :controller => 'journal', :action => 'view', :id => post.id %>"
6
+ rdf:about="<%= url_for :controller => 'post', :action => 'view', :user => post.user.username, :slug => post.slug %>"
7
+ dc:identifier="<%= url_for :controller => 'post', :action => 'view', :user => post.user.username, :slug => post.slug %>"
8
8
  dc:title="<%= post.subject %>"
9
9
  trackback:ping="<%= url_for :controller => 'ping', :action => 'trackback', :id => post.id, :only_path => false %>" />
10
10
  </rdf:RDF>
@@ -14,7 +14,7 @@ trackback:ping="<%= url_for :controller => 'ping', :action => 'trackback', :id =
14
14
  <div class="face"><%= user_face(post.user) %></div>
15
15
 
16
16
  <ul class="postdata" id="postdata_<%= post.id %>">
17
- <li>Posted by <%= link_user(post.user) %> on <%= sexifytime post.created_at %>.</li>
17
+ <li>Posted by <%= link_user(post.user) %> on <%= sexifytime post.created_at, post.user.username %>.</li>
18
18
  <% if post.has_tags? %><li id="posttags_<%= post.id %>">Tags: <%= tag_links(post) %></li><% end %>
19
19
  <li>Trackback URL: <%= url_for :controller => 'ping', :action => 'trackback', :id => post.id, :only_path => false %></li>
20
20
  <% if owns_post?(post) -%>
File without changes
File without changes
@@ -0,0 +1,5 @@
1
+ <%= render_collection_of_partials 'post/post', @posts %>
2
+
3
+ <% if @post_pages %>
4
+ <%= @post_pages.basic_html(self) %>
5
+ <% end %>
@@ -1,22 +1,31 @@
1
- <div class="post">
2
- <h2><%= @post.subject %></h2>
3
- <ul class="postdata">
4
- <li>Posted On <%= @post.created_at %></li>
1
+ <div class="postsubject" id="postsubject_<%= @post.id %>"><h2><%= @post.subject %></h2></div>
2
+ <div id="postdiv_<%= @post.id %>" class="post">
3
+ <div class="face"><%= user_face(@post.user) %></div>
4
+
5
+ <ul class="postdata" id="postdata_<%= @post.id %>">
6
+ <li>Posted by <%= link_user(@post.user) %> on <%= sexifytime @post.created_at, @post.user.username %>.</li>
7
+ <% if @post.has_tags? %><li id="posttags_<%= @post.id %>">Tags: <%= tag_links(@post) %></li><% end %>
5
8
  <li>Trackback URL: <%= url_for :controller => 'ping', :action => 'trackback', :id => @post.id, :only_path => false %></li>
6
- <% if @post.updated? -%>
7
- <li>Update On <%= @post.updated_at %></li>
8
- <% end -%>
9
+ <% if owns_post?(@post) -%>
10
+ <li>Admin &nbsp;&nbsp;&nbsp;<%= link_to('Edit', {:controller => 'post', :action => 'edit', :id => @post.id}, {'onclick' => "return setupEditInPlace('#{@post.id}')"}) %>&nbsp;&nbsp;&nbsp;<%= link_to('Delete', {:controller => 'post', :action => 'destroy', :id => @post.id}, {'onclick' => "return deletePost('#{@post.id}')"}) %></li>
11
+ <li id="togglecomment_<%= @post.id %>"><%= comment_toggle_link(@post) %></li>
12
+ <% end -%>
9
13
  </ul>
14
+
15
+ <div class="postbody" id="postbody_<%= @post.id %>">
10
16
  <%= render_body(@post) %>
17
+ </div>
11
18
 
12
19
  <% if @comment -%>
13
- <b><%= @comment.subject %></b><br />
14
- Posted On <%= @comment.created_at %> By <%= @comment.posted_by %><br />
15
- <%= @comment.rendered %>
16
- <br />
20
+ <div class="commentreply">
21
+ <b><%= @comment.subject %></b><br />
22
+ Posted On <%= @comment.created_at %> By <%= @comment.posted_by %><br />
23
+ <%= @comment.rendered %>
24
+ <br />
25
+ </div>
17
26
  <% end -%>
18
27
 
19
- <form id="postreply" action="<%= url_for :controller => 'post', :action => 'reply', :id => @post.id %>" method="post">
28
+ <form id="postreply" action="<%= url_for :controller => 'post', :action => 'reply', :user => @post.user.username, :slug => @post.slug %>" method="post">
20
29
  <div style="visibility: hidden;">
21
30
  <% if @comment -%>
22
31
  <input type="hidden" name="newcomment[comment_id]" value="<%= @comment.id %>" />
@@ -1,5 +1,5 @@
1
1
  xml.result do
2
2
  xml.postid @post.id
3
3
  xml.comments @post.comments.count
4
- xml.message link_to("Reply Posted (View)", :controller => 'journal', :action => 'view', :id => @post.id, :anchor => "comment_#{@comment.id}")
5
- end
4
+ xml.message link_to("Reply Posted (View)", :controller => 'post', :action => 'view', :user => post.user.username, :slug => post.slug, :anchor => "comment_#{@comment.id}")
5
+ end
File without changes
@@ -6,7 +6,7 @@ xml.rss('version' => '2.0') do
6
6
  @posts.each { |p|
7
7
  xml.item do
8
8
  xml.title(p.subject)
9
- xml.link("#{@request.protocol}#{@request.host_with_port}/journal/view/#{p.id}")
9
+ xml.link("#{@request.protocol}#{@request.host_with_port}/user/#{@user ? @user.username : p.user.username}/#{p.slug}")
10
10
  xml.description(p.rendered)
11
11
  xml.pubDate(p.updated_at)
12
12
  end
@@ -1,6 +1,6 @@
1
1
  <dl>
2
2
  <% @users.each do |u| -%>
3
3
  <dt><%= link_to u.username, :controller => 'users', :action => u.username %></dt>
4
- <dd><%= u.name %>, <%= u.posts.count %> posts. <% if u.posts.first %>Last posted on <%= link_to u.posts.first.created_at.strftime('%D'), :controller => 'journal', :action => 'view', :id => u.posts.first.id %>.<% end %></dd>
4
+ <dd><%= u.name %>, <%= u.posts.count %> posts. <% if u.posts.first %>Last posted on <%= link_to u.posts.first.created_at.strftime('%D'), :controller => 'post', :action => 'view', :user => u.username, :slug => u.posts.first.slug %>.<% end %></dd>
5
5
  <% end -%>
6
6
  </dl>
@@ -1,4 +1,4 @@
1
- RAILS_ROOT = File.expand_path(File.dirname(__FILE__) + "/../")
1
+ RAILS_ROOT = File.dirname(__FILE__) + "/../"
2
2
  RAILS_ENV = ENV['RAILS_ENV'] || 'development'
3
3
 
4
4
 
@@ -14,6 +14,7 @@ ADDITIONAL_LOAD_PATHS.concat %w(
14
14
  app/models
15
15
  app/controllers
16
16
  app/helpers
17
+ app/apis
17
18
  config
18
19
  lib
19
20
  vendor
@@ -25,9 +26,11 @@ ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(di
25
26
 
26
27
  # Require Rails gems.
27
28
  require 'rubygems'
29
+ require_gem 'activesupport'
28
30
  require_gem 'activerecord'
29
31
  require_gem 'actionpack'
30
32
  require_gem 'actionmailer'
33
+ require_gem 'actionwebservice'
31
34
  require_gem 'rails'
32
35
 
33
36
 
@@ -40,19 +43,29 @@ if RAILS_ENV == 'geminstall'
40
43
  else
41
44
  ActiveRecord::Base.configurations = YAML::load(File.open("#{RAILS_ROOT}/config/database.yml"))
42
45
  end
43
-
44
46
  ActiveRecord::Base.establish_connection
45
47
 
46
-
47
48
  # Configure defaults if the included environment did not.
48
- RAILS_DEFAULT_LOGGER = Logger.new("#{RAILS_ROOT}/log/#{RAILS_ENV}.log") unless RAILS_ENV == 'geminstall'
49
- [ActiveRecord::Base, ActionController::Base, ActionMailer::Base].each do |klass|
50
- klass.logger ||= RAILS_DEFAULT_LOGGER
51
- end
52
- [ActionController::Base, ActionMailer::Base].each do |klass|
53
- klass.template_root ||= "#{RAILS_ROOT}/app/views/"
49
+ begin
50
+ RAILS_DEFAULT_LOGGER = Logger.new("#{RAILS_ROOT}/log/#{RAILS_ENV}.log") unless RAILS_ENV == 'geminstall'
51
+ rescue StandardError
52
+ RAILS_DEFAULT_LOGGER = Logger.new(STDERR)
53
+ RAILS_DEFAULT_LOGGER.level = Logger::WARN
54
+ RAILS_DEFAULT_LOGGER.warn(
55
+ "Rails Error: Unable to access log file. Please ensure that log/#{RAILS_ENV}.log exists and is chmod 0666. " +
56
+ "The log level has been raised to WARN and the output directed to STDERR until the problem is fixed."
57
+ )
54
58
  end
55
59
 
60
+ [ActiveRecord, ActionController, ActionMailer].each { |mod| mod::Base.logger ||= RAILS_DEFAULT_LOGGER }
61
+ [ActionController, ActionMailer].each { |mod| mod::Base.template_root ||= "#{RAILS_ROOT}/app/views/" }
62
+ ActionController::Routing::Routes.reload
63
+
64
+ Controllers = Dependencies::LoadingModule.root(
65
+ File.expand_path(File.join(RAILS_ROOT, 'app', 'controllers')),
66
+ File.expand_path(File.join(RAILS_ROOT, 'components'))
67
+ )
68
+
56
69
 
57
70
  # Include your app's configuration here:
58
71
  #ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:database_manager => CGI::Session::ActiveRecordStore)
data/config/routes.rb ADDED
@@ -0,0 +1,36 @@
1
+ ActionController::Routing::Routes.draw do |map|
2
+ map.connect '', :controller => 'post', :action => 'index'
3
+
4
+ map.connect ':user/:slug/view', :controller => 'post', :action => 'view'
5
+
6
+ map.connect ':year/:month/:day', :controller => 'post', :action => 'range', :year => /\d{4}/, :month => /\d{1,2}/, :day => /\d{1,2}/, :defaults => {:month => nil, :day => nil}
7
+
8
+ map.connect ':user/:year/:month/:day', :controller => 'post', :action => 'range', :year => /\d{4}/, :month => /\d{1,2}/, :day => /\d{1,2}/, :defaults => {:month => nil, :day => nil }
9
+
10
+ map.connect ':user/rss', :controller => 'rss', :action => 'feed'
11
+
12
+ map.connect ':user/atom', :controller => 'atom', :action => 'feed'
13
+
14
+ map.connect 'rss/master', :controller => 'rss', :action => 'feed'
15
+
16
+ map.connect 'atom/master', :controller => 'atom', :action => 'feed'
17
+
18
+ map.connect 'tag/:tag', :controller => 'tags', :action => 'show'
19
+
20
+ map.connect ':user/:slug/reply', :controller => 'post', :action => 'reply'
21
+
22
+ map.connect ':user/:slug/comment/:id/reply', :controller => 'post', :action => 'reply'
23
+
24
+ map.connect ':user/:slug/tag', :controller => 'post', :action => 'tag'
25
+
26
+ map.connect 'drafts', :controller => 'draft', :action => 'list'
27
+
28
+ map.connect 'me', :controller => 'account', :action => 'info'
29
+
30
+ map.connect 'links', :controller => 'link', :action => 'index'
31
+
32
+ map.connect 'css', :controller => 'css', :action => 'edit'
33
+
34
+ map.connect ':controller/:action/:id'
35
+
36
+ end
data/db/db-mysql.sql CHANGED
@@ -4,6 +4,7 @@ CREATE TABLE posts (
4
4
  created_at DATETIME,
5
5
  updated_at DATETIME,
6
6
  subject VARCHAR(255) NOT NULL,
7
+ slug VARCHAR(255) NOT NULL,
7
8
  body TEXT NOT NULL,
8
9
  rendered TEXT NOT NULL DEFAULT '',
9
10
  allows_comment TINYINT NOT NULL DEFAULT 1,
@@ -51,6 +52,7 @@ CREATE TABLE users (
51
52
  name VARCHAR(255) NOT NULL,
52
53
  is_admin TINYINT NOT NULL DEFAULT 0,
53
54
  allows_comment TINYINT NOT NULL DEFAULT 1,
55
+ posts_per_page INT NOT NULL DEFAULT 10,
54
56
  title VARCHAR(255) DEFAULT '',
55
57
  subtitle VARCHAR(255) DEFAULT '',
56
58
  PRIMARY KEY (id)
data/db/db-postgresql.sql CHANGED
@@ -4,6 +4,7 @@ CREATE TABLE posts (
4
4
  created_at TIMESTAMP,
5
5
  updated_at TIMESTAMP,
6
6
  subject VARCHAR(255) NOT NULL,
7
+ slug VARCHAR(255) NOT NULL,
7
8
  body TEXT NOT NULL,
8
9
  rendered TEXT NOT NULL DEFAULT '',
9
10
  allows_comment BOOLEAN NOT NULL DEFAULT 't',
@@ -51,6 +52,7 @@ CREATE TABLE users (
51
52
  name VARCHAR(255) NOT NULL,
52
53
  is_admin BOOLEAN NOT NULL DEFAULT 'f',
53
54
  allows_comment BOOLEAN NOT NULL DEFAULT 't',
55
+ posts_per_page INT NOT NULL DEFAULT 10,
54
56
  title VARCHAR(255) DEFAULT '',
55
57
  subtitle VARCHAR(255) DEFAULT '',
56
58
  PRIMARY KEY (id)
data/db/db-sqlite.sql CHANGED
@@ -4,6 +4,7 @@ CREATE TABLE posts (
4
4
  created_at DATETIME,
5
5
  updated_at DATETIME,
6
6
  subject VARCHAR(255) NOT NULL,
7
+ slug VARCHAR(255) NOT NULL,
7
8
  body TEXT NOT NULL,
8
9
  rendered TEXT NOT NULL DEFAULT '',
9
10
  allows_comment TINYINT NOT NULL DEFAULT '1',
@@ -51,6 +52,7 @@ CREATE TABLE users (
51
52
  name VARCHAR(255) NOT NULL,
52
53
  is_admin TINYINT NOT NULL DEFAULT '0',
53
54
  allows_comment TINYINT NOT NULL DEFAULT '1',
55
+ posts_per_page INTEGER NOT NULL DEFAULT 10,
54
56
  title VARCHAR(255) DEFAULT '',
55
57
  subtitle VARCHAR(255) DEFAULT '',
56
58
  PRIMARY KEY (id)
@@ -21,7 +21,7 @@ SET SESSION AUTHORIZATION 'scott';
21
21
  SET search_path = public, pg_catalog;
22
22
 
23
23
  --
24
- -- TOC entry 5 (OID 520573)
24
+ -- TOC entry 5 (OID 731131)
25
25
  -- Name: posts; Type: TABLE; Schema: public; Owner: scott
26
26
  --
27
27
 
@@ -31,6 +31,7 @@ CREATE TABLE posts (
31
31
  created_at timestamp without time zone,
32
32
  updated_at timestamp without time zone,
33
33
  subject character varying(255) NOT NULL,
34
+ slug character varying(255) NOT NULL,
34
35
  body text NOT NULL,
35
36
  rendered text DEFAULT ''::text NOT NULL,
36
37
  allows_comment boolean DEFAULT true NOT NULL
@@ -38,7 +39,7 @@ CREATE TABLE posts (
38
39
 
39
40
 
40
41
  --
41
- -- TOC entry 6 (OID 520585)
42
+ -- TOC entry 6 (OID 731143)
42
43
  -- Name: tags; Type: TABLE; Schema: public; Owner: scott
43
44
  --
44
45
 
@@ -50,7 +51,7 @@ CREATE TABLE tags (
50
51
 
51
52
 
52
53
  --
53
- -- TOC entry 7 (OID 520591)
54
+ -- TOC entry 7 (OID 731149)
54
55
  -- Name: posts_tags; Type: TABLE; Schema: public; Owner: scott
55
56
  --
56
57
 
@@ -61,7 +62,7 @@ CREATE TABLE posts_tags (
61
62
 
62
63
 
63
64
  --
64
- -- TOC entry 8 (OID 520595)
65
+ -- TOC entry 8 (OID 731153)
65
66
  -- Name: drafts; Type: TABLE; Schema: public; Owner: scott
66
67
  --
67
68
 
@@ -76,7 +77,7 @@ CREATE TABLE drafts (
76
77
 
77
78
 
78
79
  --
79
- -- TOC entry 9 (OID 520606)
80
+ -- TOC entry 9 (OID 731164)
80
81
  -- Name: comments; Type: TABLE; Schema: public; Owner: scott
81
82
  --
82
83
 
@@ -93,81 +94,82 @@ CREATE TABLE comments (
93
94
 
94
95
 
95
96
  --
96
- -- TOC entry 10 (OID 520642)
97
- -- Name: pings; Type: TABLE; Schema: public; Owner: scott
97
+ -- TOC entry 10 (OID 731179)
98
+ -- Name: users; Type: TABLE; Schema: public; Owner: scott
98
99
  --
99
100
 
100
- CREATE TABLE pings (
101
+ CREATE TABLE users (
101
102
  id serial NOT NULL,
102
- post_id integer DEFAULT 0 NOT NULL,
103
+ username character varying(255) NOT NULL,
104
+ "password" character varying(255) NOT NULL,
105
+ name character varying(255) NOT NULL,
106
+ is_admin boolean DEFAULT false NOT NULL,
107
+ allows_comment boolean DEFAULT true NOT NULL,
108
+ posts_per_page integer DEFAULT 10 NOT NULL,
103
109
  title character varying(255) DEFAULT ''::character varying,
104
- excerpt character varying(255) DEFAULT ''::character varying,
105
- url character varying(255) DEFAULT ''::character varying,
106
- blog_name character varying(255) DEFAULT ''::character varying
110
+ subtitle character varying(255) DEFAULT ''::character varying
107
111
  );
108
112
 
109
113
 
110
114
  --
111
- -- TOC entry 11 (OID 520654)
112
- -- Name: links; Type: TABLE; Schema: public; Owner: scott
115
+ -- TOC entry 11 (OID 731191)
116
+ -- Name: images; Type: TABLE; Schema: public; Owner: scott
113
117
  --
114
118
 
115
- CREATE TABLE links (
119
+ CREATE TABLE images (
116
120
  id serial NOT NULL,
121
+ "type" character varying(25) NOT NULL,
117
122
  user_id integer NOT NULL,
118
- link_text character varying(255) NOT NULL,
119
- link_url character varying(255) NOT NULL
123
+ picture bytea NOT NULL,
124
+ content_type character varying(255) NOT NULL,
125
+ height character varying(4) NOT NULL,
126
+ width character varying(4) NOT NULL,
127
+ updated_at timestamp without time zone
120
128
  );
121
129
 
122
130
 
123
131
  --
124
- -- TOC entry 12 (OID 520661)
125
- -- Name: stylesheets; Type: TABLE; Schema: public; Owner: scott
132
+ -- TOC entry 12 (OID 731201)
133
+ -- Name: pings; Type: TABLE; Schema: public; Owner: scott
126
134
  --
127
135
 
128
- CREATE TABLE stylesheets (
136
+ CREATE TABLE pings (
129
137
  id serial NOT NULL,
130
- user_id integer NOT NULL,
131
- data text DEFAULT ''::text NOT NULL
138
+ post_id integer DEFAULT 0 NOT NULL,
139
+ title character varying(255) DEFAULT ''::character varying,
140
+ excerpt character varying(255) DEFAULT ''::character varying,
141
+ url character varying(255) DEFAULT ''::character varying,
142
+ blog_name character varying(255) DEFAULT ''::character varying
132
143
  );
133
144
 
134
145
 
135
146
  --
136
- -- TOC entry 13 (OID 520674)
137
- -- Name: images; Type: TABLE; Schema: public; Owner: scott
147
+ -- TOC entry 13 (OID 731213)
148
+ -- Name: links; Type: TABLE; Schema: public; Owner: scott
138
149
  --
139
150
 
140
- CREATE TABLE images (
151
+ CREATE TABLE links (
141
152
  id serial NOT NULL,
142
- "type" character varying(25) NOT NULL,
143
153
  user_id integer NOT NULL,
144
- picture bytea NOT NULL,
145
- content_type character varying(255) NOT NULL,
146
- height character varying(4) NOT NULL,
147
- width character varying(4) NOT NULL,
148
- updated_at timestamp without time zone
154
+ link_text character varying(255) NOT NULL,
155
+ link_url character varying(255) NOT NULL
149
156
  );
150
157
 
151
158
 
152
159
  --
153
- -- TOC entry 14 (OID 584889)
154
- -- Name: users; Type: TABLE; Schema: public; Owner: scott
160
+ -- TOC entry 14 (OID 731220)
161
+ -- Name: stylesheets; Type: TABLE; Schema: public; Owner: scott
155
162
  --
156
163
 
157
- CREATE TABLE users (
164
+ CREATE TABLE stylesheets (
158
165
  id serial NOT NULL,
159
- username character varying(255) NOT NULL,
160
- "password" character varying(255) NOT NULL,
161
- name character varying(255) NOT NULL,
162
- is_admin boolean DEFAULT false NOT NULL,
163
- allows_comment boolean DEFAULT true NOT NULL,
164
- title character varying(255) DEFAULT ''::character varying,
165
- subtitle character varying(255) DEFAULT ''::character varying
166
+ user_id integer NOT NULL,
167
+ data text DEFAULT ''::text NOT NULL
166
168
  );
167
169
 
168
170
 
169
171
  --
170
- -- TOC entry 15 (OID 520581)
172
+ -- TOC entry 15 (OID 731139)
171
173
  -- Name: posts_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
172
174
  --
173
175
 
@@ -176,7 +178,7 @@ ALTER TABLE ONLY posts
176
178
 
177
179
 
178
180
  --
179
- -- TOC entry 16 (OID 520589)
181
+ -- TOC entry 16 (OID 731147)
180
182
  -- Name: tags_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
181
183
  --
182
184
 
@@ -185,7 +187,7 @@ ALTER TABLE ONLY tags
185
187
 
186
188
 
187
189
  --
188
- -- TOC entry 17 (OID 520602)
190
+ -- TOC entry 17 (OID 731160)
189
191
  -- Name: drafts_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
190
192
  --
191
193
 
@@ -194,7 +196,7 @@ ALTER TABLE ONLY drafts
194
196
 
195
197
 
196
198
  --
197
- -- TOC entry 18 (OID 520617)
199
+ -- TOC entry 18 (OID 731175)
198
200
  -- Name: comments_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
199
201
  --
200
202
 
@@ -203,48 +205,48 @@ ALTER TABLE ONLY comments
203
205
 
204
206
 
205
207
  --
206
- -- TOC entry 19 (OID 520650)
207
- -- Name: pings_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
208
+ -- TOC entry 19 (OID 731187)
209
+ -- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
208
210
  --
209
211
 
210
- ALTER TABLE ONLY pings
211
- ADD CONSTRAINT pings_pkey PRIMARY KEY (id);
212
+ ALTER TABLE ONLY users
213
+ ADD CONSTRAINT users_pkey PRIMARY KEY (id);
212
214
 
213
215
 
214
216
  --
215
- -- TOC entry 20 (OID 520657)
216
- -- Name: links_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
217
+ -- TOC entry 20 (OID 731197)
218
+ -- Name: images_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
217
219
  --
218
220
 
219
- ALTER TABLE ONLY links
220
- ADD CONSTRAINT links_pkey PRIMARY KEY (id);
221
+ ALTER TABLE ONLY images
222
+ ADD CONSTRAINT images_pkey PRIMARY KEY (id);
221
223
 
222
224
 
223
225
  --
224
- -- TOC entry 21 (OID 520668)
225
- -- Name: stylesheets_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
226
+ -- TOC entry 21 (OID 731209)
227
+ -- Name: pings_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
226
228
  --
227
229
 
228
- ALTER TABLE ONLY stylesheets
229
- ADD CONSTRAINT stylesheets_pkey PRIMARY KEY (id);
230
+ ALTER TABLE ONLY pings
231
+ ADD CONSTRAINT pings_pkey PRIMARY KEY (id);
230
232
 
231
233
 
232
234
  --
233
- -- TOC entry 22 (OID 520680)
234
- -- Name: images_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
235
+ -- TOC entry 22 (OID 731216)
236
+ -- Name: links_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
235
237
  --
236
238
 
237
- ALTER TABLE ONLY images
238
- ADD CONSTRAINT images_pkey PRIMARY KEY (id);
239
+ ALTER TABLE ONLY links
240
+ ADD CONSTRAINT links_pkey PRIMARY KEY (id);
239
241
 
240
242
 
241
243
  --
242
- -- TOC entry 23 (OID 584896)
243
- -- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
244
+ -- TOC entry 23 (OID 731227)
245
+ -- Name: stylesheets_pkey; Type: CONSTRAINT; Schema: public; Owner: scott
244
246
  --
245
247
 
246
- ALTER TABLE ONLY users
247
- ADD CONSTRAINT users_pkey PRIMARY KEY (id);
248
+ ALTER TABLE ONLY stylesheets
249
+ ADD CONSTRAINT stylesheets_pkey PRIMARY KEY (id);
248
250
 
249
251
 
250
252
  --