Commit 2ed56ce9d445e0ab22b5c20ec0d28342396d01cf
Exists in
spb-stable
and in
3 other branches
Merge branch 'speed_up_wiki_pages' into 'master'
Speed up wiki pages page
Showing
3 changed files
with
8 additions
and
5 deletions
Show diff stats
app/controllers/projects/wikis_controller.rb
@@ -7,7 +7,7 @@ class Projects::WikisController < Projects::ApplicationController | @@ -7,7 +7,7 @@ class Projects::WikisController < Projects::ApplicationController | ||
7 | before_filter :load_project_wiki | 7 | before_filter :load_project_wiki |
8 | 8 | ||
9 | def pages | 9 | def pages |
10 | - @wiki_pages = @project_wiki.pages | 10 | + @wiki_pages = Kaminari.paginate_array(@project_wiki.pages).page(params[:page]).per(30) |
11 | end | 11 | end |
12 | 12 | ||
13 | def show | 13 | def show |
app/models/wiki_page.rb
@@ -61,12 +61,16 @@ class WikiPage | @@ -61,12 +61,16 @@ class WikiPage | ||
61 | 61 | ||
62 | # The raw content of this page. | 62 | # The raw content of this page. |
63 | def content | 63 | def content |
64 | - @attributes[:content] | 64 | + @attributes[:content] ||= if @page |
65 | + @page.raw_data | ||
66 | + end | ||
65 | end | 67 | end |
66 | 68 | ||
67 | # The processed/formatted content of this page. | 69 | # The processed/formatted content of this page. |
68 | def formatted_content | 70 | def formatted_content |
69 | - @attributes[:formatted_content] | 71 | + @attributes[:formatted_content] ||= if @page |
72 | + @page.formatted_data | ||
73 | + end | ||
70 | end | 74 | end |
71 | 75 | ||
72 | # The markup format for the page. | 76 | # The markup format for the page. |
@@ -167,8 +171,6 @@ class WikiPage | @@ -167,8 +171,6 @@ class WikiPage | ||
167 | def set_attributes | 171 | def set_attributes |
168 | attributes[:slug] = @page.escaped_url_path | 172 | attributes[:slug] = @page.escaped_url_path |
169 | attributes[:title] = @page.title | 173 | attributes[:title] = @page.title |
170 | - attributes[:content] = @page.raw_data | ||
171 | - attributes[:formatted_content] = @page.formatted_data | ||
172 | attributes[:format] = @page.format | 174 | attributes[:format] = @page.format |
173 | end | 175 | end |
174 | 176 |
app/views/projects/wikis/pages.html.haml
@@ -9,3 +9,4 @@ | @@ -9,3 +9,4 @@ | ||
9 | %small (#{wiki_page.format}) | 9 | %small (#{wiki_page.format}) |
10 | .pull-right | 10 | .pull-right |
11 | %small Last edited #{time_ago_with_tooltip(wiki_page.commit.created_at)} | 11 | %small Last edited #{time_ago_with_tooltip(wiki_page.commit.created_at)} |
12 | += paginate @wiki_pages, theme: 'gitlab' |