--- /dev/null
+# frozen_string_literal: true
+
+class ManifestsController < ApplicationController
+ before_action :set_instance_presenter
+
+ def show; end
+
+ def set_instance_presenter
+ @instance_presenter = InstancePresenter.new
+ end
+end
--- /dev/null
+object false
+
+node(:name) { Setting.site_title }
+node(:short_name) { Setting.site_title }
+node(:description) { strip_tags(Setting.site_description.presence || I18n.t('about.about_mastodon')) }
+node(:icons) { [{ src: '/android-chrome-192x192.png', sizes: '192x192', type: 'image/png' }] }
+node(:theme_color) { '#282c37' }
+node(:background_color) { '#d9e1e8' }
+node(:display) { 'standalone' }
+node(:start_url) { '/web/timelines/home' }
+node(:scope) { root_url }
get '.well-known/host-meta', to: 'well_known/host_meta#show', as: :host_meta, defaults: { format: 'xml' }
get '.well-known/webfinger', to: 'well_known/webfinger#show', as: :webfinger
+ get 'manifest', to: 'manifests#show', defaults: { format: 'json' }
devise_for :users, path: 'auth', controllers: {
sessions: 'auth/sessions',
+++ /dev/null
-{
- "name": "Mastodon",
- "description": "Mastodon is a free, open-source social network server.",
- "icons": [
- {
- "src": "\/android-chrome-192x192.png",
- "sizes": "192x192",
- "type": "image\/png"
- }
- ],
- "theme_color": "#282c37",
- "display": "standalone",
- "start_url": "/web/timelines/home"
-}