Merge remote-tracking branch 'upstream/master' into refactor-css
|
@ -1,5 +1,29 @@
|
||||||
@import "docsy_overrides";
|
@import "docsy_overrides";
|
||||||
|
|
||||||
|
.sp-footer h2,
|
||||||
|
.sp-footer h3,
|
||||||
|
.sp-footer a.nav-link {
|
||||||
|
padding: 0.3rem 1rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sp-footer a.nav-link:hover {
|
||||||
|
background-color: #61616144;
|
||||||
|
transition: background-color 0.2s ease-in-out;
|
||||||
|
border-radius: .3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sp-footer a.nav-link span {
|
||||||
|
width: 2rem;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: .1rem;
|
||||||
|
padding: .5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sp-footer span i {
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
.rounded-img {
|
.rounded-img {
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
}
|
}
|
||||||
|
@ -57,7 +81,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.sp-service-card {
|
.sp-service-card {
|
||||||
background: #FFFFFF;
|
background: white;
|
||||||
box-shadow: 0 8px 8px rgba(0, 0, 0, 0.25);
|
box-shadow: 0 8px 8px rgba(0, 0, 0, 0.25);
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
|
@ -80,7 +104,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.sp-supported-by-card {
|
.sp-supported-by-card {
|
||||||
background: #FFFFFF;
|
background: white;
|
||||||
box-shadow: $shadow;
|
box-shadow: $shadow;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
|
@ -94,11 +118,11 @@ body {
|
||||||
a.nav-link.sp-coming-soon {
|
a.nav-link.sp-coming-soon {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
color: #616161;
|
color: $gray;
|
||||||
&::after {
|
&::after {
|
||||||
content: "Coming soon!";
|
content: "Coming soon!";
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
background-color: #616161;
|
background-color: $gray;
|
||||||
color: $dark;
|
color: $dark;
|
||||||
margin-left: .5rem;
|
margin-left: .5rem;
|
||||||
padding: .1rem .5rem;
|
padding: .1rem .5rem;
|
||||||
|
|
|
@ -7,9 +7,13 @@
|
||||||
.nav-link {
|
.nav-link {
|
||||||
color: $secondary !important;
|
color: $secondary !important;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
&:hover, &.nav-link.active{
|
border-radius: 5px;
|
||||||
background-color: $gray;
|
&:hover {
|
||||||
border-radius: 5px;
|
background-color: #61616144;
|
||||||
|
transition: background-color 0.2s ease-in-out;
|
||||||
|
}
|
||||||
|
&.nav-link.active {
|
||||||
|
background-color: #616161;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.td-navbar-nav-scroll {
|
.td-navbar-nav-scroll {
|
||||||
|
@ -37,6 +41,50 @@ ul.ul-2>.td-sidebar-nav__section-title a {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ul.ul-2 {
|
||||||
|
padding: 0;
|
||||||
|
&>.td-sidebar-nav__section-title a:hover {
|
||||||
|
color: $primary !important;
|
||||||
|
background-color: #7EB07F11;
|
||||||
|
transition: background-color 0.2s ease-in-out;
|
||||||
|
transition: color 0.2s ease-in-out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.ul-0 li a.tree-root,
|
||||||
|
h5.taxonomy-title {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-item {
|
||||||
|
margin-right: .5rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-sidebar-nav-active-item {
|
||||||
|
color: $primary !important;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-sidebar-nav a.active {
|
||||||
|
color: $primary !important;
|
||||||
|
background-color: #7EB07F22;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td-sidebar-link {
|
||||||
|
&.td-sidebar-link__section, &.td-sidebar-link__page {
|
||||||
|
border-radius: .3rem;
|
||||||
|
padding: .3rem .8rem !important;
|
||||||
|
margin: .1rem !important;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: $primary !important;
|
||||||
|
background-color: #7EB07F11;
|
||||||
|
transition: background-color 0.2s ease-in-out;
|
||||||
|
transition: color 0.2s ease-in-out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.td-toc {
|
.td-toc {
|
||||||
ul {
|
ul {
|
||||||
margin-top: 1rem;
|
margin-top: 1rem;
|
||||||
|
|
16
config.toml
|
@ -16,22 +16,6 @@ enableGitInfo = true
|
||||||
# Comment out to enable taxonomies in Docsy
|
# Comment out to enable taxonomies in Docsy
|
||||||
# disableKinds = ["taxonomy", "taxonomyTerm"]
|
# disableKinds = ["taxonomy", "taxonomyTerm"]
|
||||||
|
|
||||||
# You can add your own taxonomies
|
|
||||||
[taxonomies]
|
|
||||||
tag = "tags"
|
|
||||||
category = "categories"
|
|
||||||
|
|
||||||
[params.taxonomy]
|
|
||||||
# set taxonomyCloud = [] to hide taxonomy clouds
|
|
||||||
taxonomyCloud = ["tags", "categories"]
|
|
||||||
|
|
||||||
# If used, must have same length as taxonomyCloud
|
|
||||||
taxonomyCloudTitle = ["Tag Cloud", "Categories"]
|
|
||||||
|
|
||||||
# set taxonomyPageHeader = [] to hide taxonomies on the page headers
|
|
||||||
taxonomyPageHeader = ["tags", "categories"]
|
|
||||||
|
|
||||||
|
|
||||||
# Highlighting config
|
# Highlighting config
|
||||||
pygmentsCodeFences = true
|
pygmentsCodeFences = true
|
||||||
pygmentsUseClasses = false
|
pygmentsUseClasses = false
|
||||||
|
|
|
@ -10,11 +10,13 @@ linkTitle = "SelfPrivacy"
|
||||||
<div class="container rounded">
|
<div class="container rounded">
|
||||||
<div id="screenshotsCarouselControls" class="carousel slide" data-ride="carousel">
|
<div id="screenshotsCarouselControls" class="carousel slide" data-ride="carousel">
|
||||||
<ol class="carousel-indicators">
|
<ol class="carousel-indicators">
|
||||||
<li data-target="#screenshotsCarouselControls" data-slide-to="0"></li>
|
<li data-target="#screenshotsCarouselControls" data-slide-to="0" class="active"></li>
|
||||||
<li data-target="#screenshotsCarouselControls" data-slide-to="1"></li>
|
<li data-target="#screenshotsCarouselControls" data-slide-to="1"></li>
|
||||||
<li data-target="#screenshotsCarouselControls" data-slide-to="2" class="active"></li>
|
<li data-target="#screenshotsCarouselControls" data-slide-to="2"></li>
|
||||||
<li data-target="#screenshotsCarouselControls" data-slide-to="3"></li>
|
<li data-target="#screenshotsCarouselControls" data-slide-to="3"></li>
|
||||||
<li data-target="#screenshotsCarouselControls" data-slide-to="4"></li>
|
<li data-target="#screenshotsCarouselControls" data-slide-to="4"></li>
|
||||||
|
<li data-target="#screenshotsCarouselControls" data-slide-to="5"></li>
|
||||||
|
<li data-target="#screenshotsCarouselControls" data-slide-to="6"></li>
|
||||||
</ol>
|
</ol>
|
||||||
<div class="carousel-inner rounded">
|
<div class="carousel-inner rounded">
|
||||||
<div class="carousel-item">
|
<div class="carousel-item">
|
||||||
|
@ -27,10 +29,16 @@ linkTitle = "SelfPrivacy"
|
||||||
<img class="d-block w-100" src="/images/screenshots/3-en.png" alt="Third slide">
|
<img class="d-block w-100" src="/images/screenshots/3-en.png" alt="Third slide">
|
||||||
</div>
|
</div>
|
||||||
<div class="carousel-item">
|
<div class="carousel-item">
|
||||||
<img class="d-block w-100" src="/images/screenshots/4-en.png" alt="Third slide">
|
<img class="d-block w-100" src="/images/screenshots/4-en.png" alt="Fourth slide">
|
||||||
</div>
|
</div>
|
||||||
<div class="carousel-item">
|
<div class="carousel-item">
|
||||||
<img class="d-block w-100" src="/images/screenshots/5-en.png" alt="Third slide">
|
<img class="d-block w-100" src="/images/screenshots/5-en.png" alt="Fifth slide">
|
||||||
|
</div>
|
||||||
|
<div class="carousel-item">
|
||||||
|
<img class="d-block w-100" src="/images/screenshots/6-en.png" alt="Sixth slide">
|
||||||
|
</div>
|
||||||
|
<div class="carousel-item">
|
||||||
|
<img class="d-block w-100" src="/images/screenshots/7-en.png" alt="Seventh slide">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a class="carousel-control-prev" href="#screenshotsCarouselControls" role="button" data-slide="prev">
|
<a class="carousel-control-prev" href="#screenshotsCarouselControls" role="button" data-slide="prev">
|
||||||
|
|
|
@ -13,9 +13,9 @@ Tasks in **bold** are sponsored, for example, by NlNet. Tasks in *italic* are in
|
||||||
|
|
||||||
## SP Nix flake format
|
## SP Nix flake format
|
||||||
|
|
||||||
- [ ] ***Restructure the NixOS configuration to use Nix flakes and migrate to newer NixOS version*** ([nixos-config#38](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config/issues/38))
|
- [x] **Restructure the NixOS configuration to use Nix flakes and migrate to newer NixOS version** ([nixos-config#38](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config/issues/38))
|
||||||
- [ ] *Migrate to NixOS 23.05*
|
- [x] Migrate to NixOS 23.05
|
||||||
- [ ] *Package the SelfPrivacy API into a flake* ([selfprivacy-api#63](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/issues/63))
|
- [x] Package the SelfPrivacy API into a flake ([selfprivacy-api#63](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/issues/63))
|
||||||
- [ ] ***Develop the manifest format for packaging services to work with SelfPrivacy*** ([nixos-config#40](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config/issues/40))
|
- [ ] ***Develop the manifest format for packaging services to work with SelfPrivacy*** ([nixos-config#40](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config/issues/40))
|
||||||
- [ ] **Move existing services to SP Modules**
|
- [ ] **Move existing services to SP Modules**
|
||||||
- [ ] Email server ([nixos-config#41](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config/issues/41))
|
- [ ] Email server ([nixos-config#41](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config/issues/41))
|
||||||
|
@ -119,5 +119,5 @@ While cloud server providers offer APIs that allow us to perform almost fully au
|
||||||
|
|
||||||
## Publishing
|
## Publishing
|
||||||
|
|
||||||
- [ ] Publish on Google Play
|
- [x] Publish on Google Play
|
||||||
- [ ] Publish on Apple App Store
|
- [ ] Publish on Apple App Store
|
||||||
|
|
|
@ -7,9 +7,6 @@ description: >
|
||||||
You can help with translations and programming
|
You can help with translations and programming
|
||||||
---
|
---
|
||||||
|
|
||||||
# How can you help the project?
|
|
||||||
|
|
||||||
|
|
||||||
## Help us translate
|
## Help us translate
|
||||||
|
|
||||||
We use our own [weblate instance](https://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app/) to collaborate.
|
We use our own [weblate instance](https://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app/) to collaborate.
|
||||||
|
@ -47,6 +44,6 @@ If you want to improve [our site](https://selfprivacy.org):
|
||||||
- [Main Site + Documentation](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org)
|
- [Main Site + Documentation](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org)
|
||||||
|
|
||||||
|
|
||||||
# For any help, please contact our chats:
|
## For any help, please contact our chats:
|
||||||
- [Telegram: @selfprivacy_dev](https://t.me/selfprivacy_dev)
|
- [Telegram: @selfprivacy_dev](https://t.me/selfprivacy_dev)
|
||||||
- [Matrix: @dev:selfprivacy.org](https/matrix.to/#/%23dev:selfprivacy.org)
|
- [Matrix: @dev:selfprivacy.org](https/matrix.to/#/%23dev:selfprivacy.org)
|
|
@ -7,8 +7,6 @@ description: >
|
||||||
Frequently asked questions about our project.
|
Frequently asked questions about our project.
|
||||||
---
|
---
|
||||||
|
|
||||||
# General questions
|
|
||||||
|
|
||||||
## What are self-host services and what are their advantages?
|
## What are self-host services and what are their advantages?
|
||||||
|
|
||||||
When we use centralised services, such as popular social networks, we trust the admins of the resource that stores our correspondence, our photos and even the most important secrets said in a chat with close people. We allow our interests and music preferences to be analysed, receive targeted advertising based on them, and most likely participate in unnamed audience analysis programs and all sorts of surveillance.
|
When we use centralised services, such as popular social networks, we trust the admins of the resource that stores our correspondence, our photos and even the most important secrets said in a chat with close people. We allow our interests and music preferences to be analysed, receive targeted advertising based on them, and most likely participate in unnamed audience analysis programs and all sorts of surveillance.
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
---
|
---
|
||||||
categories: ["Tutorials"]
|
|
||||||
tags: []
|
|
||||||
title: "Getting Started"
|
title: "Getting Started"
|
||||||
linkTitle: "Getting Started"
|
linkTitle: "Getting Started"
|
||||||
weight: 1
|
weight: 1
|
||||||
|
|
|
@ -5,7 +5,6 @@ weight: 2
|
||||||
date: 2023-03-14
|
date: 2023-03-14
|
||||||
description: >
|
description: >
|
||||||
Manual cleanup might be required if you need more space on system volume.
|
Manual cleanup might be required if you need more space on system volume.
|
||||||
categories: ["How-To Guides"]
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@ weight: 1
|
||||||
date: 2023-03-14
|
date: 2023-03-14
|
||||||
description: >
|
description: >
|
||||||
If you need to manually perform some tasks, you can get root access via SSH.
|
If you need to manually perform some tasks, you can get root access via SSH.
|
||||||
categories: ["How-To Guides"]
|
|
||||||
---
|
---
|
||||||
|
|
||||||
To access your server's root shell you will have to generate your SSH key and add it to your server's authorized keys.
|
To access your server's root shell you will have to generate your SSH key and add it to your server's authorized keys.
|
||||||
|
|
|
@ -10,28 +10,37 @@ linkTitle = "SelfPrivacy"
|
||||||
<div class="container rounded">
|
<div class="container rounded">
|
||||||
<div id="screenshotsCarouselControls" class="carousel slide" data-ride="carousel">
|
<div id="screenshotsCarouselControls" class="carousel slide" data-ride="carousel">
|
||||||
<ol class="carousel-indicators">
|
<ol class="carousel-indicators">
|
||||||
<li data-target="#screenshotsCarouselControls" data-slide-to="0"></li>
|
<li data-target="#screenshotsCarouselControls" data-slide-to="0" class="active"></li>
|
||||||
<li data-target="#screenshotsCarouselControls" data-slide-to="1"></li>
|
<li data-target="#screenshotsCarouselControls" data-slide-to="1"></li>
|
||||||
<li data-target="#screenshotsCarouselControls" data-slide-to="2" class="active"></li>
|
<li data-target="#screenshotsCarouselControls" data-slide-to="2"></li>
|
||||||
<li data-target="#screenshotsCarouselControls" data-slide-to="3"></li>
|
<li data-target="#screenshotsCarouselControls" data-slide-to="3"></li>
|
||||||
<li data-target="#screenshotsCarouselControls" data-slide-to="4"></li>
|
<li data-target="#screenshotsCarouselControls" data-slide-to="4"></li>
|
||||||
|
<li data-target="#screenshotsCarouselControls" data-slide-to="5"></li>
|
||||||
|
<li data-target="#screenshotsCarouselControls" data-slide-to="6"></li>
|
||||||
</ol>
|
</ol>
|
||||||
<div class="carousel-inner rounded">
|
<div class="carousel-inner rounded">
|
||||||
<div class="carousel-item">
|
<div class="carousel-item">
|
||||||
<img class="d-block w-100" src="/images/screenshots/1-en.png" alt="First slide">
|
<img class="d-block w-100" src="/images/screenshots/1-ru.png" alt="Первый слайд">
|
||||||
</div>
|
</div>
|
||||||
<div class="carousel-item">
|
<div class="carousel-item">
|
||||||
<img class="d-block w-100" src="/images/screenshots/2-en.png" alt="Second slide">
|
<img class="d-block w-100" src="/images/screenshots/2-ru.png" alt="Второй слайд">
|
||||||
</div>
|
</div>
|
||||||
<div class="carousel-item active">
|
<div class="carousel-item active">
|
||||||
<img class="d-block w-100" src="/images/screenshots/3-en.png" alt="Third slide">
|
<img class="d-block w-100" src="/images/screenshots/3-ru.png" alt="Третий слайд">
|
||||||
</div>
|
</div>
|
||||||
<div class="carousel-item">
|
<div class="carousel-item">
|
||||||
<img class="d-block w-100" src="/images/screenshots/4-en.png" alt="Third slide">
|
<img class="d-block w-100" src="/images/screenshots/4-ru.png" alt="Четвёртый слайд">
|
||||||
</div>
|
</div>
|
||||||
<div class="carousel-item">
|
<div class="carousel-item">
|
||||||
<img class="d-block w-100" src="/images/screenshots/5-en.png" alt="Third slide">
|
<img class="d-block w-100" src="/images/screenshots/5-ru.png" alt="Пятый слайд">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="carousel-item">
|
||||||
|
<img class="d-block w-100" src="/images/screenshots/6-ru.png" alt="Шестой слайд">
|
||||||
|
</div>
|
||||||
|
<div class="carousel-item">
|
||||||
|
<img class="d-block w-100" src="/images/screenshots/7-ru.png" alt="Седьмой слайд">
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="carousel-control-prev" href="#screenshotsCarouselControls" role="button"
|
<a class="carousel-control-prev" href="#screenshotsCarouselControls" role="button"
|
||||||
data-slide="prev">
|
data-slide="prev">
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
---
|
---
|
||||||
categories: ["Tutorials"]
|
|
||||||
tags: []
|
|
||||||
title: "Начало работы"
|
title: "Начало работы"
|
||||||
linkTitle: "Начало работы"
|
linkTitle: "Начало работы"
|
||||||
weight: 1
|
weight: 1
|
||||||
|
|
|
@ -5,7 +5,6 @@ weight: 2
|
||||||
date: 2023-10-21
|
date: 2023-10-21
|
||||||
description: >
|
description: >
|
||||||
Для тех кто хочет сменить своего dns провайдера уже после установки сервера.
|
Для тех кто хочет сменить своего dns провайдера уже после установки сервера.
|
||||||
categories: ["How-To Guides"]
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@ weight: 2
|
||||||
date: 2023-04-21
|
date: 2023-04-21
|
||||||
description: >
|
description: >
|
||||||
Ручная очистка может потребоваться, если вам нужно больше свободного места на системном разделе.
|
Ручная очистка может потребоваться, если вам нужно больше свободного места на системном разделе.
|
||||||
categories: ["How-To Guides"]
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@ weight: 1
|
||||||
date: 2023-04-22
|
date: 2023-04-22
|
||||||
description: >
|
description: >
|
||||||
Если вам нужно вручную выполнить административные задачи, понадобится root-доступ через SSH.
|
Если вам нужно вручную выполнить административные задачи, понадобится root-доступ через SSH.
|
||||||
categories: ["How-To Guides"]
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Чтобы получить доступ к корневой оболочке вашего сервера, вам необходимо сгенерировать SSH-ключ и добавить его в список авторизованных ключей вашего сервера.
|
Чтобы получить доступ к корневой оболочке вашего сервера, вам необходимо сгенерировать SSH-ключ и добавить его в список авторизованных ключей вашего сервера.
|
||||||
|
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 741 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 330 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 359 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 207 KiB |
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 743 KiB |
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 365 KiB |
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 301 KiB |
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 152 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 642 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 287 KiB |
BIN
static/images/screenshots/6-en.png
Normal file
After Width: | Height: | Size: 583 KiB |
BIN
static/images/screenshots/6-ru.png
Normal file
After Width: | Height: | Size: 339 KiB |
BIN
static/images/screenshots/7-en.png
Normal file
After Width: | Height: | Size: 261 KiB |
BIN
static/images/screenshots/7-ru.png
Normal file
After Width: | Height: | Size: 141 KiB |