Commit 872482678be0eef25191e118b8300112735f0023
1 parent
415c0f4b
Exists in
spb-stable
and in
3 other branches
Speed up loading and add pagination to 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
| @@ -57,12 +57,16 @@ class WikiPage | @@ -57,12 +57,16 @@ class WikiPage | ||
| 57 | 57 | ||
| 58 | # The raw content of this page. | 58 | # The raw content of this page. |
| 59 | def content | 59 | def content |
| 60 | - @attributes[:content] | 60 | + @attributes[:content] ||= if @page |
| 61 | + @page.raw_data | ||
| 62 | + end | ||
| 61 | end | 63 | end |
| 62 | 64 | ||
| 63 | # The processed/formatted content of this page. | 65 | # The processed/formatted content of this page. |
| 64 | def formatted_content | 66 | def formatted_content |
| 65 | - @attributes[:formatted_content] | 67 | + @attributes[:formatted_content] ||= if @page |
| 68 | + @page.formatted_data | ||
| 69 | + end | ||
| 66 | end | 70 | end |
| 67 | 71 | ||
| 68 | # The markup format for the page. | 72 | # The markup format for the page. |
| @@ -163,8 +167,6 @@ class WikiPage | @@ -163,8 +167,6 @@ class WikiPage | ||
| 163 | def set_attributes | 167 | def set_attributes |
| 164 | attributes[:slug] = @page.escaped_url_path | 168 | attributes[:slug] = @page.escaped_url_path |
| 165 | attributes[:title] = @page.title | 169 | attributes[:title] = @page.title |
| 166 | - attributes[:content] = @page.raw_data | ||
| 167 | - attributes[:formatted_content] = @page.formatted_data | ||
| 168 | attributes[:format] = @page.format | 170 | attributes[:format] = @page.format |
| 169 | end | 171 | end |
| 170 | 172 |
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' |