#45 API ぼちぼち
This commit is contained in:
@@ -49,4 +49,22 @@ class WikiPagesController < ApplicationController
|
||||
|
||||
render json: q.limit(20)
|
||||
end
|
||||
|
||||
def changes
|
||||
id = params[:id]
|
||||
log = id.present? ? wiki.page("#{ id }.md").versions : wiki.repo.log('main', nil, max_count: 50)
|
||||
render json: log.map { |commit|
|
||||
{ sha: commit.id,
|
||||
author: commit.author.name,
|
||||
message: commit.message,
|
||||
timestamp: commit.authored_date } }
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
WIKI_PATH = Rails.root.join('wiki').to_s
|
||||
|
||||
def wiki
|
||||
@wiki ||= Gollum::Wiki.new(WIKI_PATH)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -6,6 +6,7 @@ Rails.application.routes.draw do
|
||||
get 'preview/thumbnail', to: 'preview#thumbnail'
|
||||
get 'wiki/title/:title', to: 'wiki_pages#show_by_title'
|
||||
get 'wiki/search', to: 'wiki_pages#search'
|
||||
get 'wiki/changes', to: 'wiki_pages#changes'
|
||||
get 'wiki/:id', to: 'wiki_pages#show'
|
||||
post 'wiki', to: 'wiki_pages#create'
|
||||
put 'wiki/:id', to: 'wiki_pages#update'
|
||||
|
||||
Reference in New Issue
Block a user