1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/outline_ynh.git synced 2024-09-03 19:56:12 +02:00

First pass

This commit is contained in:
Limezy 2023-02-26 16:03:51 +07:00
parent 161f5aba78
commit fa40c9b545
6 changed files with 236 additions and 26 deletions

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/outline/outline/archive/cb90f07c3924d14d644006e77559e3c716a8a698.zip SOURCE_URL=https://github.com/outline/outline/archive/b813f20f8f3f7dafe872dea28f80776f6f43d5ed.zip
SOURCE_SUM=538cbda198a36267760443f2ba7ee2de4cce9f9410be96719c0317a1ed12a7f0 SOURCE_SUM=80314d88d0cca232d2db9aad1377a8d143704757f9a8d475cd826f10704eb4b2
SOURCE_SUM_PRG=sha256sum SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true SOURCE_IN_SUBDIR=true

View file

@ -6,7 +6,7 @@
"en": "Wiki and knowledge base for teams", "en": "Wiki and knowledge base for teams",
"fr": "Wiki et base de connaissances pour les équipes" "fr": "Wiki et base de connaissances pour les équipes"
}, },
"version": "0.68.0~ynh1", "version": "0.68.0~ynh2",
"url": "www.getoutline.com", "url": "www.getoutline.com",
"upstream": { "upstream": {
"license": "BUSL-1.1", "license": "BUSL-1.1",

View file

@ -0,0 +1,32 @@
diff --git a/app/scenes/Document/components/Document.tsx b/app/scenes/Document/components/Document.tsx
index 3d55a359e..50510b816 100644
--- a/app/scenes/Document/components/Document.tsx
+++ b/app/scenes/Document/components/Document.tsx
@@ -632,11 +632,6 @@ class DocumentScene extends React.Component<Props> {
</Flex>
</React.Suspense>
</MaxWidth>
- {isShare &&
- !parseDomain(window.location.origin).custom &&
- !auth.user && (
- <Branding href="//www.getoutline.com?ref=sharelink" />
- )}
</Container>
{!isShare && (
<Footer>
diff --git a/app/components/Icons/OutlineIcon.tsx b/app/components/Icons/OutlineIcon.tsx
index 05fa32927..33fc7ee21 100644
--- a/app/components/Icons/OutlineIcon.tsx
+++ b/app/components/Icons/OutlineIcon.tsx
@@ -22,7 +22,10 @@ export default function OutlineIcon({
viewBox={cover ? "2 2 20 20" : "0 0 24 24"}
version="1.1"
>
- <path d="M14.6667 20.2155V20.7163C14.6667 21.4253 14.0697 22 13.3333 22C13.1044 22 12.8792 21.9432 12.6797 21.8351L4.67965 17.5028C4.25982 17.2754 4 16.8478 4 16.384V7.61623C4 7.15248 4.25982 6.72478 4.67965 6.49742L12.6797 2.16508C13.3215 1.81751 14.1344 2.03666 14.4954 2.65456C14.6077 2.8467 14.6667 3.06343 14.6667 3.28388V3.78471L15.6169 3.51027C16.3222 3.30655 17.0655 3.69189 17.2771 4.37093C17.3144 4.49059 17.3333 4.61486 17.3333 4.73979V5.26091L18.5013 5.12036C19.232 5.03242 19.8984 5.53141 19.9897 6.23488C19.9966 6.2877 20 6.34088 20 6.3941V17.6061C20 18.3151 19.403 18.8898 18.6667 18.8898C18.6114 18.8898 18.5561 18.8865 18.5013 18.8799L17.3333 18.7393V19.2604C17.3333 19.9694 16.7364 20.5441 16 20.5441C15.8702 20.5441 15.7412 20.5259 15.6169 20.49L14.6667 20.2155ZM14.6667 18.8753L16 19.2604V4.73979L14.6667 5.12488V18.8753ZM17.3333 6.55456V17.4457L18.6667 17.6061V6.3941L17.3333 6.55456ZM5.33333 7.61623V16.384L13.3333 20.7163V3.28388L5.33333 7.61623ZM6.66667 8.47006L8 7.82823V16.172L6.66667 15.5302V8.47006Z" />
+ <path
+ d="m 20.289859,11.238917 c 1.1839,-0.602335 1.765465,-1.4746827 1.765465,-2.6378124 0,-0.9346579 -0.332322,-1.7031547 -0.996968,-2.2847194 -0.685416,-0.6023353 -1.557763,-0.913888 -2.617042,-0.913888 -1.350062,0 -2.388571,0.3946336 -3.136297,1.1839 -0.643876,0.6854159 -1.14236,1.495453 -1.433142,2.4508809 -0.290783,0.9761979 -0.436174,2.2639489 -0.436174,3.8424829 v 8.017288 c 0,1.495452 -0.145391,2.533961 -0.436174,3.136296 h 2.907825 c 0.270012,-0.685416 0.415404,-1.723925 0.415404,-3.136296 v -1.370832 c 0.602335,0.373863 1.24621,0.540025 1.931626,0.540025 1.246211,0 2.305489,-0.415404 3.177837,-1.246211 1.017739,-0.976198 1.516223,-2.222409 1.516223,-3.738632 0,-1.993936 -0.893118,-3.260917 -2.679353,-3.800942 z M 16.322756,9.4942219 c 0,-1.1839 0.08308,-2.035477 0.270012,-2.5339614 0.207702,-0.6231053 0.623105,-0.9138877 1.22544,-0.9138877 0.456944,0 0.810037,0.353093 1.059279,1.0592788 0.207702,0.581565 0.290783,1.2877513 0.290783,2.097788 0,0.3530929 -0.02077,0.7061859 -0.103851,1.0385084 -0.103851,0.436174 -0.228472,0.664646 -0.373863,0.664646 l -0.934658,-0.186931 c -0.664646,0 -0.996969,0.186931 -0.996969,0.560794 0,0.353093 0.270012,0.540025 0.830808,0.540025 l 0.893117,-0.186932 c 0.228472,0 0.498484,0.270013 0.768496,0.768497 0.415404,0.747726 0.623106,1.682384 0.623106,2.866284 0,1.474682 -0.103851,2.492421 -0.311553,3.094756 -0.249242,0.706186 -0.747726,1.059279 -1.474682,1.059279 -0.789267,0 -1.391602,-0.373863 -1.765465,-1.14236 z M 4.7941133,15.254891 Q 4.50597,15.041916 4.2303546,14.929164 q -0.2630873,-0.12528 -0.6389264,-0.12528 -0.400895,0 -0.9395978,0.150336 -0.5261747,0.137807 -1.3530207,0.425951 -0.087696,-0.0877 -0.1879196,-0.238032 Q 1.0231943,14.991803 0.98561039,14.82894 1.3739774,14.528269 1.8500403,14.190013 2.3386312,13.851758 2.9023899,13.500975 2.4639109,13.024912 2.1632396,12.624017 1.8625683,12.223122 1.6746488,11.884867 1.4867292,11.534084 1.3990334,11.208357 q -0.075168,-0.325728 -0.075168,-0.651455 0,-0.400895 0.1127517,-0.8268457 Q 1.561897,9.2915774 1.8124565,8.7904584 2.0755438,8.2768117 2.4764389,7.687997 2.8773339,7.0866545 3.4410926,6.3475042 3.0903094,5.9716651 2.7771101,5.658466 2.4764389,5.3452666 2.2384074,5.0571236 2.012904,4.7689802 1.8750963,4.5058928 1.7498166,4.2302774 1.7498166,3.9296061 q 0,-0.3633111 0.1628636,-0.7015663 Q 2.2008235,2.6266973 2.5140228,2.0879945 2.83975,1.5367639 3.1654772,0.9730052 3.3032849,0.9354213 3.4786765,0.9604772 q 0.1753915,0.012528 0.3131992,0.0751677 -0.012528,0.1002238 -0.012528,0.2129756 0,0.1127517 0,0.2004475 0,0.2630873 0.037584,0.5136467 0.037584,0.2380315 0.1378077,0.4885909 Q 4.054963,2.701865 4.2303546,2.9774804 4.4057462,3.2530957 4.6938895,3.578823 5.2200642,4.1425816 5.808879,4.7439241 6.4102214,5.3327389 7.0240919,5.9215533 7.6379623,6.4978401 8.2518332,7.0615985 8.8657036,7.6128292 9.4294624,8.1264762 9.8303572,7.700525 10.105973,7.3747979 q 0.288143,-0.3382551 0.463534,-0.5888148 0.18792,-0.2505593 0.263088,-0.4510069 0.08769,-0.2004472 0.08769,-0.3883668 0,-0.2881434 -0.200447,-0.5387027 Q 10.531923,5.1448193 10.068388,4.7439241 9.6925497,4.4181971 9.454518,4.1926935 9.2164867,3.96719 9.0786789,3.7917984 8.9533994,3.6038789 8.9032873,3.4535433 8.8657036,3.3032076 8.8657036,3.127816 q 0,-0.3006713 0.3633112,-0.839374 0.3758391,-0.5512306 1.2778532,-1.37807665 0.100223,-0.0250559 0.263087,0.0250559 0.162863,0.0501119 0.288143,0.11275175 -0.01253,0.1252797 -0.02506,0.2129755 0,0.087696 0,0.1628636 0,0.1378077 0.03758,0.2505594 0.03758,0.1127518 0.150336,0.2505594 0.112752,0.1252797 0.313199,0.3131993 0.200448,0.1879195 0.526175,0.4760628 0.726622,0.6514545 1.014766,1.0398216 0.288143,0.375839 0.288143,0.6890381 0,0.2380317 -0.112752,0.5888148 -0.100224,0.3507831 -0.438479,0.8769578 -0.338255,0.5136467 -0.964653,1.240269 -0.613871,0.7266222 -1.641164,1.7163319 0.538702,0.4885909 0.914541,0.8519021 0.388367,0.3507827 0.663983,0.6138707 0.275615,0.263087 0.463535,0.451007 0.200447,0.187919 0.363311,0.338255 0.488591,0.451007 0.751678,0.814318 0.263087,0.363311 0.263087,0.651454 0,0.225504 -0.100223,0.463535 -0.25056,0.576287 -0.476063,1.127517 -0.225504,0.551231 -0.463535,1.165102 -0.313199,0.02506 -0.551231,-0.03758 -0.187919,-0.501119 -0.451007,-0.92707 -0.250559,-0.425951 -0.55123,-0.80179 Q 10.744899,13.200304 10.419172,12.862049 10.093445,12.523794 9.7677178,12.198066 9.1037353,11.546612 8.3270013,10.81999 7.5627949,10.093367 6.811117,9.4043289 6.0594387,8.7152906 5.3829281,8.1139482 4.7189459,7.5126054 4.242883,7.0991825 3.6916523,7.8258048 3.5037328,8.3519795 3.3283412,8.8656262 3.3283412,9.3291611 q 0,0.3758392 0.1628636,0.7642059 0.1753916,0.388367 0.5387027,0.851902 0.3758391,0.463535 0.9646538,1.027294 0.5888144,0.563759 1.4407165,1.315437 0.025055,0.06264 0,0.125279 z"
+ id="path11"
+ style="stroke-width:0.36652" />
</svg>
);
}

View file

@ -1,17 +1,56 @@
diff --git a/server/routes/auth/providers/req.ts b/server/routes/auth/providers/req.ts diff --git a/package.json b/package.json
index 5cf338265..0c05d9dab 100644
--- a/package.json
+++ b/package.json
@@ -143,6 +143,7 @@
"passport": "^0.6.0",
"passport-google-oauth2": "^0.2.0",
"passport-oauth2": "^1.6.1",
+ "passport-req": "^0.1.1",
"passport-slack-oauth2": "^1.1.1",
"patch-package": "^6.5.1",
"pg": "^8.8.0",
diff --git a/plugins/req/plugin.json b/plugins/req/plugin.json
new file mode 100644 new file mode 100644
index 000000000..be344d2e2 index 000000000..2f50562e5
--- /dev/null --- /dev/null
+++ b/server/routes/auth/providers/req.ts +++ b/plugins/req/plugin.json
@@ -0,0 +1,62 @@ @@ -0,0 +1,4 @@
+{
+ "name": "Req",
+ "description": "Adds an req compatible authentication provider."
+}
diff --git a/plugins/req/server/.babelrc b/plugins/req/server/.babelrc
new file mode 100644
index 000000000..c87001bc4
--- /dev/null
+++ b/plugins/req/server/.babelrc
@@ -0,0 +1,3 @@
+{
+ "extends": "../../../server/.babelrc"
+}
diff --git a/plugins/req/server/auth/req.ts b/plugins/req/server/auth/req.ts
new file mode 100644
index 000000000..bc03fc6d3
--- /dev/null
+++ b/plugins/req/server/auth/req.ts
@@ -0,0 +1,70 @@
+import passport from "@outlinewiki/koa-passport"; +import passport from "@outlinewiki/koa-passport";
+import type { Context } from "koa";
+import Router from "koa-router"; +import Router from "koa-router";
+import { capitalize } from "lodash"; +import { capitalize } from "lodash";
+import { Strategy as ReqStrategy } from "passport-req"; +import { Strategy as ReqStrategy } from "passport-req";
+import { slugifyDomain } from "@shared/utils/domains";
+import accountProvisioner from "@server/commands/accountProvisioner"; +import accountProvisioner from "@server/commands/accountProvisioner";
+import env from "@server/env"; +import env from "@server/env";
+import passportMiddleware from "@server/middlewares/passport"; +import passportMiddleware from "@server/middlewares/passport";
+import { StateStore } from "@server/utils/passport"; +import { User } from "@server/models";
+import { AuthenticationResult } from "@server/types";
+import {
+ StateStore,
+ getTeamFromContext,
+ getClientFromContext,
+} from "@server/utils/passport";
+ +
+const router = new Router(); +const router = new Router();
+const providerName = "req"; +const providerName = "req";
@ -67,10 +106,10 @@ index 000000000..be344d2e2
+ +
+export default router; +export default router;
diff --git a/yarn.lock b/yarn.lock diff --git a/yarn.lock b/yarn.lock
index 352d1993a..5e3c24636 100644 index 524d96791..a0c1cc51f 100644
--- a/yarn.lock --- a/yarn.lock
+++ b/yarn.lock +++ b/yarn.lock
@@ -10760,6 +10760,14 @@ passport-oauth@1.0.x: @@ -10179,6 +10179,14 @@ passport-oauth@1.0.x:
passport-oauth1 "1.x.x" passport-oauth1 "1.x.x"
passport-oauth2 "1.x.x" passport-oauth2 "1.x.x"
@ -85,7 +124,7 @@ index 352d1993a..5e3c24636 100644
passport-slack-oauth2@^1.1.1: passport-slack-oauth2@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/passport-slack-oauth2/-/passport-slack-oauth2-1.1.1.tgz#d831ffc3f1e968fcc3622e6ecf41643c8d8f9cbc" resolved "https://registry.yarnpkg.com/passport-slack-oauth2/-/passport-slack-oauth2-1.1.1.tgz#d831ffc3f1e968fcc3622e6ecf41643c8d8f9cbc"
@@ -10782,6 +10790,14 @@ passport@^0.6.0: @@ -10201,6 +10209,14 @@ passport@^0.6.0:
pause "0.0.1" pause "0.0.1"
utils-merge "^1.0.1" utils-merge "^1.0.1"
@ -100,7 +139,7 @@ index 352d1993a..5e3c24636 100644
passthrough-counter@^1.0.0: passthrough-counter@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/passthrough-counter/-/passthrough-counter-1.0.0.tgz#1967d9e66da572b5c023c787db112a387ab166fa" resolved "https://registry.yarnpkg.com/passthrough-counter/-/passthrough-counter-1.0.0.tgz#1967d9e66da572b5c023c787db112a387ab166fa"
@@ -11005,6 +11021,11 @@ pkg-up@^3.1.0: @@ -10410,6 +10426,11 @@ pkg-up@^3.1.0:
dependencies: dependencies:
find-up "^3.0.0" find-up "^3.0.0"
@ -112,15 +151,3 @@ index 352d1993a..5e3c24636 100644
pkginfo@^0.4.1: pkginfo@^0.4.1:
version "0.4.1" version "0.4.1"
resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff" resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff"
diff --git a/package.json b/package.json
index 787991dc1..7d610c010 100644
--- a/package.json
+++ b/package.json
@@ -150,6 +150,7 @@
"passport": "^0.6.0",
"passport-google-oauth2": "^0.2.0",
"passport-oauth2": "^1.6.1",
+ "passport-req": "^0.1.1",
"passport-slack-oauth2": "^1.1.1",
"pg": "^8.8.0",
"pg-hstore": "^2.3.4",

View file

@ -1,5 +1,5 @@
diff --git a/app/scenes/Login/AuthenticationProvider.tsx b/app/scenes/Login/AuthenticationProvider.tsx diff --git a/app/scenes/Login/AuthenticationProvider.tsx b/app/scenes/Login/AuthenticationProvider.tsx
index 7e124c124..0deb00a85 100644 index af218c06c..b2d93d994 100644
--- a/app/scenes/Login/AuthenticationProvider.tsx --- a/app/scenes/Login/AuthenticationProvider.tsx
+++ b/app/scenes/Login/AuthenticationProvider.tsx +++ b/app/scenes/Login/AuthenticationProvider.tsx
@@ -91,7 +91,7 @@ function AuthenticationProvider(props: Props) { @@ -91,7 +91,7 @@ function AuthenticationProvider(props: Props) {
@ -27,7 +27,7 @@ index 7e124c124..0deb00a85 100644
)} )}
</Form> </Form>
@@ -120,7 +120,7 @@ function AuthenticationProvider(props: Props) { @@ -120,7 +120,7 @@ function AuthenticationProvider(props: Props) {
icon={<AuthLogo providerName={id} />} icon={<PluginIcon id={id} />}
fullwidth fullwidth
> >
- {t("Continue with {{ authProviderName }}", { - {t("Continue with {{ authProviderName }}", {

View file

@ -0,0 +1,151 @@
diff --git a/app/editor/menus/block.tsx b/app/editor/menus/block.tsx
index 42269b5e4..174c84c02 100644
--- a/app/editor/menus/block.tsx
+++ b/app/editor/menus/block.tsx
@@ -19,6 +19,7 @@ import {
ClockIcon,
CalendarIcon,
MathIcon,
+ BookmarkedIcon,
} from "outline-icons";
import * as React from "react";
import styled from "styled-components";
@@ -187,6 +188,13 @@ export default function blockMenuItems(dictionary: Dictionary): MenuItem[] {
keywords: "notice card suggestion",
attrs: { style: "tip" },
},
+ {
+ name: "container_notice",
+ title: dictionary.bibleNotice,
+ icon: <BookmarkedIcon />,
+ keywords: "notice card bible",
+ attrs: { style: "bible" },
+ },
{
name: "separator",
},
diff --git a/app/hooks/useDictionary.ts b/app/hooks/useDictionary.ts
index 088d40e71..42cdcdb33 100644
--- a/app/hooks/useDictionary.ts
+++ b/app/hooks/useDictionary.ts
@@ -76,6 +76,8 @@ export default function useDictionary() {
showSource: t("Show source"),
warning: t("Warning"),
warningNotice: t("Warning notice"),
+ bible: t("Bible"),
+ bibleNotice: t("Bible quote"),
insertDate: t("Current date"),
insertTime: t("Current time"),
insertDateTime: t("Current date and time"),
diff --git a/app/scenes/Document/components/Document.tsx b/app/scenes/Document/components/Document.tsx
index 3d55a359e..50510b816 100644
--- a/app/scenes/Document/components/Document.tsx
+++ b/app/scenes/Document/components/Document.tsx
@@ -632,11 +632,6 @@ class DocumentScene extends React.Component<Props> {
</Flex>
</React.Suspense>
</MaxWidth>
- {isShare &&
- !parseDomain(window.location.origin).custom &&
- !auth.user && (
- <Branding href="//www.getoutline.com?ref=sharelink" />
- )}
</Container>
{!isShare && (
<Footer>
diff --git a/app/typings/styled-components.d.ts b/app/typings/styled-components.d.ts
index c9a41b710..812dc1612 100644
--- a/app/typings/styled-components.d.ts
+++ b/app/typings/styled-components.d.ts
@@ -53,6 +53,8 @@ declare module "styled-components" {
noticeTipText: string;
noticeWarningBackground: string;
noticeWarningText: string;
+ noticeBibleBackground: string;
+ noticeBibleText: string;
}
interface Colors {
diff --git a/shared/editor/components/Styles.ts b/shared/editor/components/Styles.ts
index 71f28bed3..1dce0bf0a 100644
--- a/shared/editor/components/Styles.ts
+++ b/shared/editor/components/Styles.ts
@@ -646,6 +646,20 @@ h6 {
}
}
+.notice-block.bible {
+ background: ${transparentize(0.9, props.theme.noticeBibleBackground)};
+ border-left: 4px solid ${props.theme.noticeBibleBackground};
+ color: ${props.theme.noticeBibleText};
+
+ .icon {
+ color: ${props.theme.noticeBibleBackground};
+ }
+
+ a {
+ color: ${props.theme.noticeBibleText};
+ }
+}
+
blockquote {
margin: 0;
padding-left: 1.5em;
diff --git a/shared/editor/nodes/Notice.tsx b/shared/editor/nodes/Notice.tsx
index 158a0dfb9..f297c3433 100644
--- a/shared/editor/nodes/Notice.tsx
+++ b/shared/editor/nodes/Notice.tsx
@@ -1,5 +1,5 @@
import Token from "markdown-it/lib/token";
-import { WarningIcon, InfoIcon, StarredIcon } from "outline-icons";
+import { WarningIcon, InfoIcon, StarredIcon, BookmarkedIcon } from "outline-icons";
import { wrappingInputRule } from "prosemirror-inputrules";
import { NodeSpec, Node as ProsemirrorNode, NodeType } from "prosemirror-model";
import * as React from "react";
@@ -15,6 +15,7 @@ export default class Notice extends Node {
info: this.options.dictionary.info,
warning: this.options.dictionary.warning,
tip: this.options.dictionary.tip,
+ bible: this.options.dictionary.bible,
});
}
@@ -47,6 +48,8 @@ export default class Notice extends Node {
? "tip"
: dom.className.includes("warning")
? "warning"
+ : dom.className.includes("bible")
+ ? "bible"
: undefined,
}),
},
@@ -75,6 +78,8 @@ export default class Notice extends Node {
component = <StarredIcon color="currentColor" />;
} else if (node.attrs.style === "warning") {
component = <WarningIcon color="currentColor" />;
+ } else if (node.attrs.style === "bible") {
+ component = <BookmarkedIcon color="currentColor" />;
} else {
component = <InfoIcon color="currentColor" />;
}
diff --git a/shared/styles/theme.ts b/shared/styles/theme.ts
index c6da8afcf..6bf6a8479 100644
--- a/shared/styles/theme.ts
+++ b/shared/styles/theme.ts
@@ -92,6 +92,8 @@ const buildBaseTheme = (input: Partial<Colors>) => {
noticeTipText: colors.almostBlack,
noticeWarningBackground: "#d73a49",
noticeWarningText: colors.almostBlack,
+ noticeBibleBackground: "#996633",
+ noticeBibleText: colors.almostBlack,
breakpoints,
...colors,
...spacing,
@@ -233,6 +235,7 @@ export const buildDarkTheme = (input: Partial<Colors>): DefaultTheme => {
noticeInfoText: colors.white,
noticeTipText: colors.white,
noticeWarningText: colors.white,
+ noticeBibleText: colors.white,
progressBarBackground: colors.slate,
scrollbarBackground: colors.black,
scrollbarThumb: colors.lightBlack,