feat: Opensearch tags / descriptor
This commit is contained in:
@ -11,6 +11,7 @@ import apexRedirect from './middlewares/apexRedirect';
|
||||
import renderpage from './utils/renderpage';
|
||||
import { isCustomSubdomain, parseDomain } from '../shared/utils/domains';
|
||||
import { robotsResponse } from './utils/robots';
|
||||
import { opensearchResponse } from './utils/opensearch';
|
||||
import { NotFoundError } from './errors';
|
||||
import { Team } from './models';
|
||||
|
||||
@ -146,7 +147,14 @@ router.get('/', async ctx => {
|
||||
);
|
||||
});
|
||||
|
||||
router.get('/robots.txt', ctx => (ctx.body = robotsResponse(ctx)));
|
||||
router.get('/robots.txt', ctx => {
|
||||
ctx.body = robotsResponse(ctx);
|
||||
});
|
||||
|
||||
router.get('/opensearch.xml', ctx => {
|
||||
ctx.type = 'text/xml';
|
||||
ctx.body = opensearchResponse();
|
||||
});
|
||||
|
||||
// catch all for react app
|
||||
router.get('*', async (ctx, next) => {
|
||||
|
@ -2,6 +2,15 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Outline</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="shortcut icon" type="image/png" href="favicon-32.png" sizes="32x32" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<link
|
||||
rel="search"
|
||||
type="application/opensearchdescription+xml"
|
||||
href="/opensearch.xml"
|
||||
title="Outline"
|
||||
/>
|
||||
<style>
|
||||
body,
|
||||
html {
|
||||
|
@ -6,6 +6,12 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="shortcut icon" type="image/png" href="favicon-32.png" sizes="32x32" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<link
|
||||
rel="search"
|
||||
type="application/opensearchdescription+xml"
|
||||
href="/opensearch.xml"
|
||||
title="Outline"
|
||||
/>
|
||||
<style>
|
||||
body,
|
||||
html {
|
||||
|
17
server/utils/opensearch.js
Normal file
17
server/utils/opensearch.js
Normal file
@ -0,0 +1,17 @@
|
||||
// @flow
|
||||
export const opensearchResponse = (): string => {
|
||||
return `
|
||||
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
|
||||
<ShortName>Outline</ShortName>
|
||||
<Description>Search Outline</Description>
|
||||
<InputEncoding>UTF-8</InputEncoding>
|
||||
<Image width="16" height="16" type="image/x-icon">${
|
||||
process.env.URL
|
||||
}/favicon.ico</Image>
|
||||
<Url type="text/html" method="get" template="${
|
||||
process.env.URL
|
||||
}/search/{searchTerms}?ref=opensearch"/>
|
||||
<moz:SearchForm>${process.env.URL}/search</moz:SearchForm>
|
||||
</OpenSearchDescription>
|
||||
`;
|
||||
};
|
Reference in New Issue
Block a user