Merge pull request #3794 from tgxworld/add_web_manifes

FEATURE: Add web manifest for Chrome users.
This commit is contained in:
Régis Hanol 2015-09-23 11:35:14 +02:00
commit ed717ccb6e
4 changed files with 29 additions and 0 deletions

View File

@ -0,0 +1,15 @@
class ManifestJsonController < ApplicationController
layout false
skip_before_filter :preload_json, :check_xhr
def index
manifest = {
short_name: SiteSetting.title,
display: 'browser',
orientation: 'portrait',
start_url: "#{Discourse.base_uri}/"
}
render json: manifest.to_json
end
end

View File

@ -31,6 +31,7 @@
<%- end %>
<%= render_google_universal_analytics_code %>
<link rel="manifest" href="<%= Discourse.base_uri %>/manifest.json">
<%= yield :head %>
</head>

View File

@ -534,6 +534,7 @@ Discourse::Application.routes.draw do
get "favicon/proxied" => "static#favicon", format: false
get "robots.txt" => "robots_txt#index"
get "manifest.json" => "manifest_json#index", as: :manifest
Discourse.filters.each do |filter|
root to: "list##{filter}", constraints: HomePageConstraint.new("#{filter}"), :as => "list_#{filter}"

View File

@ -0,0 +1,12 @@
require 'spec_helper'
RSpec.describe ManifestJsonController do
context 'index' do
it 'returns the right output' do
title = 'MyApp'
SiteSetting.title = title
get :index
expect(response.body).to include(title)
end
end
end