Skip to content

Commit 9aaf735

Browse files
Create a new guide for Outline, team knowledge base and wiki
1 parent fa3900a commit 9aaf735

File tree

3 files changed

+237
-0
lines changed

3 files changed

+237
-0
lines changed

content/guides/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ llmsTxtOptional: true
4848
{{< card link="/developers/guides/node-js-mongo-db" title="Node.js + MongoDB starter" subtitle= "Starter tutorial to deploy a Node.js + MongoDB application on Clever Cloud" icon="node" >}}
4949
{{< card link="/developers/guides/node-statsd-nodejs-metrics" title="node-statsd" subtitle= "Configure node-statsd package on your Node.js application to push custom metrics" icon="node" >}}
5050
{{< card link="/developers/guides/nuxt" title="Nuxt" subtitle= "Build and deploy a Nuxt application on Clever Cloud" icon="nuxt" >}}
51+
{{< card link="/developers/guides/outline" title="Outline" subtitle= "Outline install and configuration guide" icon="outline" >}}
5152
{{< card link="/developers/guides/pgpool" title="Pgpool-II" subtitle= "How to configure and use Pgpool-II for PostgreSQL add-ons" icon="pg" >}}
5253
{{< card link="/developers/guides/play-framework-1" title="Play 1 x Scala" subtitle= "Set up your Play 1 + Scala application to run on Clever Cloud" icon="play" >}}
5354
{{< card link="/developers/guides/play-framework-2" title="Play 2 x Scala" subtitle= "Set up your Play 2 + Scala application to run on Clever Cloud" icon="play" >}}

content/guides/outline.md

Lines changed: 235 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,235 @@
1+
---
2+
type: docs
3+
linkTitle: Moodle
4+
title: Moodle
5+
description: Deploy Outline team knowledge base and wiki on Clever Cloud with detailed tutorials and best practices
6+
keywords:
7+
- outline
8+
- knowledge base
9+
- wiki
10+
- collaborative
11+
- Node.js
12+
- postgresql
13+
aliases:
14+
- /outline
15+
draft: false
16+
---
17+
18+
[Outline](https://getoutline.com) is an open source team knowledge base and wiki that helps teams organize, share, and collaborate on documentation. Built for modern teams, it offers a clean, fast interface with powerful features for creating and maintaining company knowledge.
19+
20+
This doc explains how to configure Outline from source, using the Clever Cloud console. For an alternative using the [Clever Cloud CLI](https://github.com/CleverCloud/clever-tools) there is a complete example in [this repository](https://github.com/CleverCloud/outline-example).
21+
22+
23+
24+
25+
## How to Configure and Deploy Outline on Clever Cloud
26+
27+
{{% steps %}}
28+
29+
### Initialize repository and download Outline
30+
31+
Create a new `outline` folder for Outline and, inside it, initialize a Git repository with `git init`.
32+
33+
Download the latest release of Outline from [https://github.com/outline/outline/releases](GitHub) and expand it in `outline` folder.
34+
35+
36+
### Create a Node application
37+
38+
On Clever Cloud Console, click **Create** > **An application** and choose a [Node.js](/developers/doc/applications/nodejs) application with Git deployment.
39+
40+
Select at least an `S` plan. Smaller instances can make the build to fail.
41+
42+
43+
### Create a PostgreSQL add-on
44+
45+
On Clever Cloud Console, click **Create** > **An add-on** and choose a [PostgreSQL](/developers/doc/addons/postgresql/) add-on.
46+
47+
Select at least an `XSS` plan.
48+
49+
Link the add-on to the application previously created.
50+
51+
52+
### Create a Redis add-on
53+
54+
On Clever Cloud Console, click **Create** > **An add-on** and choose a [Redis](/developers/doc/addons/redis/) add-on.
55+
56+
Link the add-on to the application previously created.
57+
58+
59+
### Create a Cellar S3 Object Storage add-on
60+
61+
On Clever Cloud Console, click **Create** > **An add-on** and choose a [Cellar S3 Object Storage](/developers/doc/addons/cellar/) add-on.
62+
63+
Link the add-on to the application previously created.
64+
65+
66+
### Set Up Domain
67+
68+
Outline needs an URL declared in variables to work properly. You can set it up in **Domains names**, from your application menu. If you don't have a domain name yet, you can use a `cleverapp.io` subdomain provided by Clever Cloud for test purposes.
69+
70+
### Generate a <secret_key> and an <utils_secret>
71+
72+
Using for example [OpenSSL](https://openssl-library.org/).
73+
74+
In a Linux/Mac shell:
75+
76+
```bash
77+
SECRET_KEY=$( openssl rand -hex 32 )
78+
UTILS_SECRET=$( openssl rand -hex 32 )
79+
echo "<secret_key>: $SECRET_KEY \n<utils_secret>: $UTILS_SECRET"
80+
```
81+
82+
### Choose a S3 bucket name
83+
84+
As explained in the [Cellar S3 doc](https://www.clever.cloud/developers/doc/addons/cellar/), Buckets' names are global for every region. You can’t give the same name to two different buckets in the same region, because the URL already exists in the Cellar cluster on this region.
85+
86+
Unless you have a better option, use the Outline domain as bucket name.
87+
88+
### Configure environment variables
89+
90+
In the Clever Cloud console, go to the Outline Node.js application you've created and, in the **Environment variables** section, inject the following environment variables into the application:
91+
92+
```env
93+
URL="<outline_domain>"
94+
NODE_ENV="production"
95+
PORT="8080"
96+
CC_NODE_DEV_DEPENDENCIES="install"
97+
CC_POST_BUILD_HOOK="NODE_ENV=production && yarn build"
98+
WEB_CONCURRENCY="2"
99+
DEFAULT_LANGUAGE="en_US"
100+
SECRET_KEY="<secret_key>
101+
UTILS_SECRET="<utils_secret>"
102+
```
103+
104+
Now inject the add-ons credentials:
105+
106+
```env
107+
DATABASE_URL "<POSTGRESQL_ADDON_URI value>"
108+
REDIS_URL "<REDIS_URL value>"
109+
FILE_STORAGE="s3"
110+
AWS_S3_UPLOAD_BUCKET_URL="https://<CELLAR_ADDON_HOST value>"
111+
AWS_S3_UPLOAD_BUCKET_NAME=<bucket_name>
112+
AWS_ACCESS_KEY_ID="<CELLAR_ADDON_KEY_ID value>"
113+
AWS_SECRET_ACCESS_KEY="<CELLAR_ADDON_KEY_SECRET value>"
114+
AWS_S3_FORCE_PATH_STYLE="true"
115+
AWS_S3_ACL="private"
116+
AWS_REGION="us"
117+
```
118+
119+
### Setting the S3 policies
120+
121+
For Outline to use Cellar S3 as storage for its content files, you need to configure specific S3 bucket policies. These policies ensure that Outline can properly read, write, and manage files in your Cellar bucket.
122+
123+
Unless you have a better option, use [s3cmd](https://s3tools.org/s3cmd) to apply these policies to your bucket. Here are the required policies:
124+
125+
```json
126+
{
127+
"Version": "2012-10-17",
128+
"Statement": [
129+
{
130+
"Sid": "PublicReadForGetBucketObjects",
131+
"Effect": "Allow",
132+
"Principal": "*",
133+
"Action": ["s3:GetObject"],
134+
"Resource": ["arn:aws:s3:::$BUCKET/*"]
135+
}
136+
]
137+
}
138+
```
139+
140+
First, configure s3cmd with your Cellar credentials:
141+
142+
```bash
143+
s3cmd --configure
144+
```
145+
146+
When prompted, use the following values:
147+
- Access Key: Your `CELLAR_ADDON_KEY_ID`
148+
- Secret Key: Your `CELLAR_ADDON_KEY_SECRET`
149+
- Default Region: `us-east-1`
150+
- S3 Endpoint: Your `CELLAR_ADDON_HOST`
151+
- DNS-style bucket: Yes
152+
153+
Then apply the policy using s3cmd:
154+
155+
```bash
156+
s3cmd setpolicy policy.json s3://<bucket_name>
157+
```
158+
159+
You also need to configure CORS (Cross-Origin Resource Sharing) for your bucket. Create a `cors.xml` file with the following configuration:
160+
161+
```xml
162+
<CORSConfiguration>
163+
<CORSRule>
164+
<AllowedOrigin>*</AllowedOrigin>
165+
<AllowedMethod>GET</AllowedMethod>
166+
<AllowedMethod>PUT</AllowedMethod>
167+
<AllowedMethod>POST</AllowedMethod>
168+
<AllowedMethod>DELETE</AllowedMethod>
169+
<AllowedHeader>*</AllowedHeader>
170+
<ExposeHeader>ETag</ExposeHeader>
171+
<MaxAgeSeconds>3000</MaxAgeSeconds>
172+
</CORSRule>
173+
</CORSConfiguration>
174+
```
175+
176+
Apply the CORS configuration using s3cmd:
177+
178+
```bash
179+
s3cmd setcors cors.xml s3://<bucket_name>
180+
```
181+
182+
### Configure Authentication
183+
184+
<!-- vale off -->
185+
At least **one of either** Google, Slack, Discord, or Microsoft is required for a working installation or you'll have no sign-in options.
186+
<!-- vale on -->
187+
188+
Choose one or more of the following authentication providers and add the corresponding environment variables to your Clever Cloud application:
189+
190+
#### Google OAuth
191+
192+
```env
193+
GOOGLE_CLIENT_ID="<your_google_client_id>"
194+
GOOGLE_CLIENT_SECRET="<your_google_client_secret>"
195+
```
196+
197+
#### Slack OAuth
198+
199+
```env
200+
SLACK_CLIENT_ID="<your_slack_client_id>"
201+
SLACK_CLIENT_SECRET="<your_slack_client_secret>"
202+
```
203+
204+
#### Discord OAuth
205+
206+
```env
207+
DISCORD_CLIENT_ID="<your_discord_client_id>"
208+
DISCORD_CLIENT_SECRET="<your_discord_client_secret>"
209+
```
210+
211+
#### Microsoft OAuth
212+
213+
```env
214+
AZURE_CLIENT_ID="<your_azure_client_id>"
215+
AZURE_CLIENT_SECRET="<your_azure_client_secret>"
216+
```
217+
218+
219+
### Deploy
220+
221+
Get the remote in your application menu > **Information** > **Deployment URL** and add it to Git with `git remote add clever <clever-remote-url>`. Then, push your code with `git push clever -u master`
222+
223+
💡 If you get a reference error when pushing, try this: `git push clever main:master`.
224+
225+
{{% /steps %}}
226+
227+
228+
## 🎓 Further Help
229+
230+
{{< cards >}}
231+
{{< card link="/developers/doc/applications/nodejs" title="Node.js" subtitle="Deploy a Node.js application on Clever Cloud" icon="node" >}}
232+
{{< card link="/developers/doc/addons/cellar" title="Cellar S3 Object Storage" subtitle="Object Storage for your apps" icon="fsbucket" >}}
233+
{{< card link="/developers/doc/addons/postgresql" title="PostgreSQL" icon="mysql" subtitle="Your self-hosted managed relational database" >}}
234+
{{< card link="https://docs.getoutline.com/s/hosting/doc/from-source-BlBxrNzMIP" title="Installing Outline from source" subtitle="Check Outline installation guide" icon="outline" >}}
235+
{{< /cards >}}

data/icons.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ metabase: <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox
100100
meteor: <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="m2.8 3l16.87 15.82s.33.45-.09.89c-.41.44-.95.06-.95.06L2.8 3m5.01 1.59l13.1 12.05s.32.44-.09.86c-.42.47-.96.09-.96.09l-12.05-13M4.29 8l13.1 12.03s.32.44-.09.88c-.42.45-.96.09-.96.09L4.29 8m7.76-2.04l9.15 8.41s.22.31-.07.63c-.28.3-.66.03-.66.03l-8.42-9.07m-6.6 5.95l9.15 8.42s.22.31-.06.62c-.29.31-.67.05-.67.05l-8.42-9.09m10.93-3.99l4.17 3.82s.11.14-.05.29c-.12.14-.31.02-.31.02l-3.81-4.13M7.56 16.1l4.18 3.81s.11.15-.04.29c-.14.15-.33.02-.33.02L7.56 16.1Z"/></svg>
101101
maven: <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="M4.237.001c-.312-.013-.665.072-.828.457c-.158.374-.283 1.188-.34 2.276l1.223.591c-.02-.737.007-1.43.076-2.066c-.026.299-.056.96.006 2.039c.019.342.049.725.088 1.15c.002.024.002.047.007.069a45.485 45.485 0 0 0 .309 2.412c.057.368.126.752.195 1.16l-.01.01c.014.01.015.018.014.023l.03.16c.03.162.06.328.093.494l.108.553l.056.289a61.72 61.72 0 0 0 .457 2.068c.09.382.186.78.287 1.186c.098.386.199.783.309 1.193c.096.362.199.735.303 1.117c.003.018.012.036.015.055a145.826 145.826 0 0 0 .34 1.185l.049.174c.078.261.158.533.242.805a4.2 4.2 0 0 1-.293-.135l-.19-.654c-.02-.077-.042-.148-.062-.225l-.002-.004l-.004-.002c-.087-.3-.17-.607-.257-.916c-.023-.087-.044-.173-.069-.263l-.314-1.178c-.1-.381-.194-.765-.29-1.154c-.094-.39-.185-.78-.277-1.172c-.093-.401-.181-.8-.265-1.203c-.085-.396-.161-.798-.24-1.193a50.315 50.315 0 0 1-.211-1.17c-.004-.013-.006-.03-.01-.041l.004-.002c-.057-.386-.116-.77-.174-1.15a60.905 60.905 0 0 1-.154-1.204a27.447 27.447 0 0 1-.172-2.41l-1.22-.59c-.004.074-.01.15-.013.23c-.012.294-.02.605-.023.93a45.3 45.3 0 0 0 .006 1.157c.009.37.025.755.045 1.148c.02.336.042.675.07 1.022l.002.039l.006.004c.003.023.007.05.006.076c.033.368.064.739.107 1.115a34.493 34.493 0 0 0 .303 2.125c.01.064.024.131.035.195a23.418 23.418 0 0 0 .547 2.32c.07.237.14.464.21.68c.063.182.13.365.194.545c.155.422.327.832.512 1.232l.006.004a.318.318 0 0 0 .02.05c.225.485.475.95.755 1.395c.01.013.02.033.03.047c-.455-.183-1.259-.098-1.253-.097c.83.288 1.557.64 2.016 1.175c-.183.2-.523.352-.953.477c.594.064.924-.039 1.045-.092c-.31.26-.483.732-.635 1.24c.35-.57.696-.949 1.033-1.094c.078.258.162.524.244.788A147.532 147.532 0 0 0 5.157 24a.56.56 0 0 0 .43-.312c.13-.282.83-1.775 1.908-3.875c.413 1.303.88 2.679 1.386 4.109a.494.494 0 0 0 .076-.465a103.735 103.735 0 0 1-1.308-3.945c.154-.299.316-.612.484-.932c.125.04.255.094.389.155c.203.186.352.491.482.84a1.515 1.515 0 0 0-.334-1.098c1.335.258 2.547.09 3.287-.81a3.97 3.97 0 0 0 .192-.258c-.325.304-.682.404-1.313.273c.996-.281 1.523-.617 2.035-1.22c.12-.145.244-.303.371-.48c-.943.722-1.927.822-2.9.493l-.045-.018c.914.02 2.203-.474 3.092-1.189c.41-.33.796-.73 1.17-1.21c.28-.359.55-.76.82-1.216c.234-.393.468-.824.7-1.293a2.83 2.83 0 0 1-.74.137l-.144.008c-.048.002-.093 0-.146.002c.885-.198 1.5-.74 1.994-1.447c-.24.117-.628.262-1.07.297c-.058.006-.12.006-.182.006c-.013-.002-.028 0-.047-.002c.306-.078.574-.178.81-.309a3.363 3.363 0 0 0 .358-.236c.044-.037.088-.07.13-.106c.099-.086.193-.18.28-.287c.028-.034.056-.063.08-.098c.036-.05.073-.098.104-.146a8.388 8.388 0 0 0 .51-.828c.015-.031.032-.057.046-.088c.04-.084.08-.16.11-.227c.042-.099.074-.179.092-.238a.515.515 0 0 1-.108.051c-.273.112-.727.187-1.086.201c-.004 0-.008 0-.013.004h-.067c.72-.214 1.067-.45 1.422-.818a13.883 13.883 0 0 0 1.154-1.428c.264-.37.505-.738.692-1.072a6.5 6.5 0 0 0 .298-.592c.066-.157.122-.305.172-.45c-.466.01-.986.011-1.48 0c.495.01 1.015.007 1.484-.005c.5-1.485.063-2.262.063-2.262s-.526-1.212-1.4-.851c-.426.175-1.172.73-2.083 1.56l.514 1.45a17.561 17.561 0 0 1 1.703-1.602c-.257.22-.807.726-1.615 1.644c-.256.29-.537.624-.844.997c-.017.02-.035.038-.047.06a51.435 51.435 0 0 0-1.666 2.187c-.248.34-.498.704-.765 1.088h-.016c.002.02-.004.028-.01.032l-.101.152c-.104.155-.213.31-.318.47l-.352.534c-.061.09-.124.181-.186.277c-.184.282-.367.573-.558.873a97.351 97.351 0 0 0-1.428 2.338a96.866 96.866 0 0 0-1.341 2.343c-.012.017-.02.04-.034.057a197.256 197.256 0 0 0-.668 1.223l-.097.181c-.17.318-.346.642-.52.979c0 .004-.005.008-.006.013c-.026.048-.05.093-.072.141c-.117.222-.218.424-.45.87a1.352 1.352 0 0 0-.233-.182l.345-.65c.047-.089.096-.177.143-.27l.04-.077l.546-1.001l.13-.233v-.006l-.001-.006c.169-.31.345-.62.52-.94c.051-.087.102-.173.153-.265c.224-.395.454-.794.684-1.197a91.685 91.685 0 0 1 2.135-3.504c.247-.386.503-.77.754-1.152c.092-.138.182-.272.279-.41a72.9 72.9 0 0 1 .48-.701c.007-.012.019-.024.026-.037h.006c.26-.356.517-.713.773-1.065c.278-.373.554-.735.83-1.09a31.075 31.075 0 0 1 1.777-2.075l-.515-1.446c-.06.057-.126.116-.192.178a32.37 32.37 0 0 0-.758.729c-.295.294-.597.606-.912.935a46.032 46.032 0 0 0-1.632 1.838l-.03.033l.002.008c-.017.02-.033.044-.054.064c-.266.323-.538.649-.801.985a39.105 39.105 0 0 0-1.445 1.95c-.043.06-.085.126-.127.186a26.458 26.458 0 0 0-1.403 2.303c-.13.247-.256.485-.37.715c-.096.195-.187.395-.278.591c-.21.463-.398.93-.566 1.399l.002.006a.36.36 0 0 0-.026.058c-.108.303-.203.608-.29.914c-.14.174-.302.325-.483.46a3.505 3.505 0 0 0-.131-.153a5.148 5.148 0 0 0 .824-2.211a6.4 6.4 0 0 0-.016-1.488c-.046-.4-.126-.82-.238-1.274c-.097-.393-.217-.81-.363-1.248c-.091.185-.22.367-.379.545l-.086.094c-.029.032-.06.06-.092.094c.434-.674.486-1.397.358-2.148a2.722 2.722 0 0 1-.49.85c-.033.038-.072.077-.11.116c-.01.007-.019.018-.033.028c.144-.24.25-.467.318-.698a1.29 1.29 0 0 0 .04-.146a2.85 2.85 0 0 0 .038-.225l.018-.146a2.11 2.11 0 0 0-.002-.354c-.003-.04-.004-.076-.01-.113c-.01-.055-.016-.105-.027-.154a7.416 7.416 0 0 0-.193-.84c-.01-.028-.015-.056-.026-.084c-.027-.079-.048-.149-.072-.209a2.1 2.1 0 0 0-.09-.209a.455.455 0 0 1-.035.1c-.102.24-.34.57-.557.8c-.003.003-.007.005-.007.01l-.04.043c.318-.58.39-.946.385-1.398a12.274 12.274 0 0 0-.16-1.615a10.68 10.68 0 0 0-.232-1.104a5.853 5.853 0 0 0-.18-.558a6.337 6.337 0 0 0-.172-.391a26.18 26.18 0 0 0 .002-.004C5.576.341 4.82.124 4.82.124s-.27-.11-.582-.123zm3.38 15.783l.032.082v.002c-.06.033-.116.067-.178.097c-.012.004-.024.012-.039.018a2.41 2.41 0 0 0 .186-.2zm-.603 1.626c.13.136.25.242.354.32l.07.227a1.866 1.866 0 0 0-.246.053l-.03-.098c-.024-.084-.048-.17-.076-.257l-.021-.073zm.26.875a2.34 2.34 0 0 1 .271.01l.07.229a.778.778 0 0 1 .247-.004l-.326.627a127.643 127.643 0 0 1-.262-.862z"/></svg>
102102
moodle: <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 512 512"><path fill="currentColor" d="M337.179 86.713C195.049 104.138 130.417 116.483 8 187.447l1.136 3.223l9.729.099c-.892 9.798-2.447 34.016-.461 70.433c-13.583 39.31-.345 66.015 12.087 95.065c1.97-30.216 1.768-63.31-7.512-96.246c-1.943-36.172-.347-59.956.53-69.207l81.152.775a371.222 371.222 0 0 0 2.403 47.57l.006.002c-1.134 6.657-1.703 13.71-1.703 21.161v164.964h79.367V269.517c-.013-8.703.945-16.233 2.858-22.611c20.455-3.355 39.75-10.883 56.958-22.184c13.423 6.674 20.14 21.6 20.14 44.795v155.77h79.353v-155.77c.058-32.575 13.514-48.857 40.373-48.847c26.858.01 40.287 16.291 40.287 48.847v155.77H504V260.322c-.01-33.995-11.815-59.715-35.412-77.164c-20.758-15.587-48.833-23.38-84.229-23.38c-38.714 0-65.392 9.202-80.03 27.61c-3.877-4.202-8.25-7.917-13.113-11.16c-10.753-12.04-31.792-28.45-31.792-28.45l78.763-57.555z"/></svg>
103+
outline: <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><path d="M32 57.6v1.56a4 4 0 0 1-5.961 3.487l-24-13.5A4 4 0 0 1 0 45.66V18.339a4 4 0 0 1 2.039-3.486l24-13.5A4 4 0 0 1 32 4.84V6.4l2.85-.855A4 4 0 0 1 40 9.376V11l3.504-.438A4 4 0 0 1 48 14.532v34.937a4 4 0 0 1-4.496 3.969L40 53v1.624a4 4 0 0 1-5.15 3.831L32 57.6Zm0-4.176 4 1.2V9.376l-4 1.2v42.848Zm8-38.393V48.97l4 .5V14.53l-4 .5ZM0 44.47V19.53 44.47Zm4-26.13v27.322l24 13.5V4.839L4 18.34ZM8 21l4-2v26l-4-2V21Z"/></svg>
103104
docs-suite: <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 32 33" aria-label="Logo Docs" width="32"><path fill="currentColor" d="M21.63 29.581c1.168-.327 2.287-.925 3.02-1.98.725-1.035.929-2.346.929-3.608V5.5q0-.492-.057-.98.87.344 1.34 1.131.556.898.556 2.362v18.782q0 1.983-.972 2.969-.973.984-2.93.985H16.42l.505-.091a54 54 0 0 0 4.693-1.074z"></path><path fill="currentColor" fill-rule="evenodd" d="M4.582 26.405V7.598q0-1.718.922-2.602.934-.885 2.476-.973a77 77 0 0 0 4.307-.379 77 77 0 0 0 7.528-1.313q1.819-.43 2.791.43.973.858.973 2.74v18.492q0 1.654-.569 2.463-.569.82-1.92 1.2-2.4.656-4.521 1.035a51 51 0 0 1-4.143.594q-2.021.202-4.143.316-1.755.1-2.728-.733-.973-.82-.973-2.463m4.627-15.393q2.781-.177 5.099-.544a84 84 0 0 0 1.121-.19.816.816 0 0 0 .672-.805.826.826 0 0 0-.966-.811q-.434.074-.871.144a54 54 0 0 1-5.069.542c-.277.018-.497.104-.639.276a.9.9 0 0 0-.2.581q0 .342.23.587l.002.002a.76.76 0 0 0 .62.218m-.001 4.194q2.783-.178 5.1-.544a82 82 0 0 0 4.603-.885c.308-.069.539-.177.654-.344a.93.93 0 0 0 .17-.55q-.001-.347-.259-.59c-.184-.174-.441-.215-.746-.152h-.002a70 70 0 0 1-4.465.858 54 54 0 0 1-5.068.542c-.277.018-.497.104-.639.277a.87.87 0 0 0-.2.568q0 .353.23.6l.004.004a.82.82 0 0 0 .616.216zm0 4.193a58 58 0 0 0 5.1-.556 75 75 0 0 0 4.603-.873c.309-.069.54-.18.655-.357a.9.9 0 0 0 .169-.536c0-.23-.088-.43-.259-.59-.184-.175-.441-.215-.746-.152h-.001q-2.17.48-4.465.845a57 57 0 0 1-5.069.555c-.277.018-.497.104-.639.276a.87.87 0 0 0-.2.569q0 .353.23.599l.004.004a.82.82 0 0 0 .616.217zm5.1 3.608a55 55 0 0 1-5.1.544.76.76 0 0 1-.62-.218l-.002-.002a.83.83 0 0 1-.23-.587q0-.336.2-.581c.142-.172.362-.259.64-.277a54 54 0 0 0 5.939-.685c.503-.086.966.3.966.811a.816.816 0 0 1-.672.804q-.56.1-1.122.191" clip-rule="evenodd"></path></svg>
104105

105106
drupal: <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-3 -2 24 24"><path fill="currentColor" d="M13.134 3.711c-1.022-.635-1.989-.884-2.953-1.52C9.583 1.788 8.754.827 8.058 0c-.134 1.327-.54 1.866-1.003 2.251c-.982.768-1.6.998-2.45 1.46c-.714.366-4.592 2.673-4.592 7.634S4.201 19.96 8.85 19.96c4.65 0 8.683-3.365 8.683-8.46c0-5.096-3.782-7.403-4.4-7.788zm.078 14.308c-.097.096-.984.711-2.026.808c-1.042.096-2.45.153-3.299-.616c-.135-.135-.097-.326 0-.402c.096-.079.173-.136.29-.136c.116 0 .095 0 .154.038c.386.308.964.557 2.198.557c1.236 0 2.105-.344 2.49-.634c.174-.134.25-.019.27.058c.02.077.058.193-.077.327zm-3.344-1.618c.213-.193.56-.501.89-.635c.327-.135.499-.116.809-.116c.308 0 .637.02.868.174c.231.154.367.5.442.69c.078.194 0 .309-.153.386c-.134.076-.154.038-.289-.211c-.134-.25-.25-.5-.926-.5c-.675 0-.887.23-1.215.5c-.328.269-.444.365-.56.211c-.116-.153-.077-.308.134-.5zm6.964-3.666c0 .596-.192 1.672-.656 2.345c-.462.674-.75.925-1.293.886c-.695-.059-2.084-2.212-2.971-2.252c-1.118-.037-3.55 2.33-5.46 2.33c-1.159 0-1.505-.174-1.89-.425c-.58-.404-.87-1.019-.85-1.865c.02-1.5 1.427-2.903 3.203-2.922c2.256-.02 3.821 2.229 4.958 2.21c.965-.017 2.818-1.903 3.725-1.903c.964 0 1.234.998 1.234 1.596z"/></svg>

0 commit comments

Comments
 (0)