Compare commits

...

20 Commits

Author SHA1 Message Date
nevfy c6ee71fb49 Merge branch 'master' of https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org into set-img-size 2024-04-28 01:33:41 +03:00
nevfy a8fe258fe5 Merge branch 'set-img-size' of https://git.selfprivacy.org/nevfy/selfprivacy.org into set-img-size 2024-04-28 01:30:43 +03:00
nevfy 53b1e00ac5 fix: bad merge 2024-04-28 01:25:47 +03:00
nevfy e82b38b504 Merge branch 'master' into set-img-size 2024-04-27 15:59:17 +03:00
nevfy 7a2ce768b2 fix: center blocks on smaller screens 2024-04-27 01:06:31 +03:00
nevfy c951c3592a fix: enable windows download 2024-04-26 02:14:11 +03:00
nevfy 9be32325d0 fix(bs): download 2024-04-22 21:13:55 +03:00
nevfy 298a50ca24 fix: optimize svg 2024-04-22 21:13:55 +03:00
nevfy 51a2ccd995 fix(bs): upgrade to new defaults 2024-04-22 21:13:55 +03:00
nevfy e61c1cd8c5 fix(bs): lang selector 2024-04-22 21:13:55 +03:00
nevfy e31b2da345 fix(bs): upgrade carousel 2024-04-22 21:13:55 +03:00
nevfy a6fcff6e75 feat: upgrade theme 2024-04-22 21:13:55 +03:00
nevfy 88bdaccccc Remove unused files (#131)
- Illustrations load from the `content` folders, not from `assets`
- Screenshots load from `static/images`, not from `assets`
- `justimg` shortcode is not used anywhere

`assets/images` and `justimg.html` can be deleted.

Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org/pulls/131
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
Co-authored-by: nevfy <yaver4.0.0.0@gmail.com>
Co-committed-by: nevfy <yaver4.0.0.0@gmail.com>
2024-04-22 21:11:58 +03:00
dettlaff de9c84858e def/update_nextcloud (#127)
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org/pulls/127
Co-authored-by: dettlaff <dettlaff@riseup.net>
Co-committed-by: dettlaff <dettlaff@riseup.net>
2024-04-19 12:24:46 +03:00
def cc8f9be86a Merge pull request 'Remove .gitmodules' (#123) from nevfy/selfprivacy.org:rem-git-mod into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org/pulls/123
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2024-04-19 00:13:12 +03:00
nevfy 06f5fb9d94 Merge branch 'master' into rem-git-mod 2024-04-19 00:04:29 +03:00
nevfy f5b80082ed Update layout (#102)
This merge request solves following issues with the current layout:
- **h1 header not instantly visible on the first screen on mobile:** changed the order so it appears before the screenshot gallery
- **alternation of text and images looking weird in vertical mobile layout:** removed the alternation on mobile
- **services and advantages being spread too wide on desktop:** added space on the sides
- **advantages having repetitive layout, supporters repeating the look of services:** added variety with sliding effect and alternating background color, removed card-like background

Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org/pulls/102
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
Co-authored-by: nevfy <yaver4.0.0.0@gmail.com>
Co-committed-by: nevfy <yaver4.0.0.0@gmail.com>
2024-04-18 21:41:36 +03:00
nevfy 586da8051f Merge branch 'master' into rem-git-mod 2024-04-18 20:13:05 +03:00
nevfy e0b9f8fe9b fix: remove justimg shortcode 2024-04-16 23:45:07 +03:00
nevfy a22f5eebbb fix: remove .gitmodules 2024-04-08 02:58:03 +03:00
56 changed files with 377 additions and 1443 deletions

4
.gitmodules vendored
View File

@ -1,4 +0,0 @@
[submodule "themes/docsy"]
path = themes/docsy
url = https://github.com/google/docsy

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 57 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 68 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 47 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 165 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 285 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 328 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 282 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 50 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 91 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 136 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 10 KiB

View File

@ -23,7 +23,6 @@
.sp-footer span i {
margin: auto;
}
.rounded-img {
border-radius: 1rem;
}
@ -113,20 +112,10 @@
.sp-supported-by-list {
display: flex;
align-items: center;
justify-content: space-around;
justify-content: center;
column-gap: 5vw;
flex-wrap: wrap;
}
.sp-supported-by-card {
background: white;
box-shadow: $shadow;
border-radius: 10px;
border: none;
margin-top: 1rem;
}
body {
background-color: $bg-color;
margin-top: 2rem;
}
a.nav-link.sp-coming-soon {
@ -144,6 +133,50 @@ a.nav-link.sp-coming-soon {
}
}
html {
max-width: 100%;
overflow-x: hidden;
}
body {
background-color: $bg-color;
}
a, a.btn-link {
text-decoration: none;
}
.sp-advantages {
row-gap: 0px;
}
.sp-advantages-header {
position: sticky;
top: 10vh;
margin-bottom: 5rem;
}
.sp-feature {
position: sticky;
top: 0;
min-height: 100vh;
}
.sp-feature-green {
background-color: #e9f1da !important;
}
.sp-feature-blue {
background-color: #e1eaea !important;
}
.sp-feature-purple {
background-color: #ebe0e8 !important;
}
.container-fluid {
padding-left: 0 !important;
padding-right: 0 !important;
}
.error {
display: flex;
flex-direction: column;

View File

@ -1,6 +1,7 @@
.td-navbar {
background: $dark;
min-height: 5rem;
z-index: 15;
.navbar-brand__name {
display: none;
}
@ -192,4 +193,8 @@ li:has(input[type="checkbox"]) {
.td-sidebar-toc {
padding-top: 2.75rem;
}
}
.carousel-control-next, .carousel-control-prev {
background-image: none;
}

View File

@ -5,21 +5,12 @@ linkTitle = "SelfPrivacy"
+++
{{< blocks/section color="dark" type="section" >}}
<div class="row">
<div class="flex-md-row flex-column-reverse d-flex justify-content-center align-content-center">
<div class="col-xs-12 col-md-4">
<div class="container rounded">
<div id="screenshotsCarouselControls" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<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="2"></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="5"></li>
<li data-target="#screenshotsCarouselControls" data-slide-to="6"></li>
</ol>
<div id="screenshotsCarouselControls" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-inner rounded">
<div class="carousel-item">
<div class="carousel-item active">
<img class="d-block w-100" src="/images/screenshots/1-en.png" alt="First slide">
</div>
<div class="carousel-item">
@ -41,18 +32,27 @@ linkTitle = "SelfPrivacy"
<img class="d-block w-100" src="/images/screenshots/7-en.png" alt="Seventh slide">
</div>
</div>
<a class="carousel-control-prev" href="#screenshotsCarouselControls" role="button" data-slide="prev">
<div class="carousel-indicators">
<button type="button" data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="0" class="active" aria-current="true"></button>
<button type="button" data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="1"></button>
<button type="button" data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="2"></button>
<button type="button" data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="3"></button>
<button type="button" data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="4"></button>
<button type="button" data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="5"></button>
<button type="button" data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="6"></button>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#screenshotsCarouselControls" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#screenshotsCarouselControls" role="button" data-slide="next">
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#screenshotsCarouselControls" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
<span class="visually-hidden">Next</span>
</button>
</div>
</div>
</div>
<div class="col-xs-12 col-md-8 my-auto">
<div class="col-xs-12 col-md-8 col-lg-6 my-auto">
<div class="container my-4">
<h1>
SelfPrivacy app allows you to set up self-hosted services and manage them
@ -65,12 +65,12 @@ linkTitle = "SelfPrivacy"
</div>
{{< /blocks/section >}}
<section class="container-fluid">
<div class="row w-100">
<section class="container">
<div class="w-100">
<h2 class="mx-auto text-center font-weight-bolder">Your personal services</h2>
</div>
<div class="row w-100 mt-5 mb-3">
<div class="w-100 mt-5 mb-3">
<h3 class="mx-auto text-center">For serious business</h3>
</div>
@ -94,7 +94,7 @@ linkTitle = "SelfPrivacy"
</div>
</div>
<div class="row w-100 mt-5 mb-3">
<div class="w-100 mt-5 mb-3">
<h3 class="mx-auto text-center">For entertainment and communication</h3>
</div>
@ -118,7 +118,7 @@ linkTitle = "SelfPrivacy"
</div>
</div>
<div class="row w-100 mt-5 mb-3">
<div class="w-100 mt-5 mb-3">
<h3 class="mx-auto text-center">For a good life</h3>
</div>
@ -138,47 +138,47 @@ linkTitle = "SelfPrivacy"
</div>
</section>
<section class="container-fluid">
<div class="row w-100">
<section class="container-fluid d-flex flex-column sp-advantages">
<div class="w-100 sp-advantages-header">
<h2 class="mx-auto text-center">Advantages</h2>
</div>
{{< landing-feature privacy "Privacy" >}}
{{< landing-feature privacy "Privacy" "-green" >}}
<p class="card-text">No registration, cookies or telemetry.</p>
{{< /landing-feature >}}
{{< landing-feature zerotrust "Zero trust" "right">}}
{{< landing-feature zerotrust "Zero trust" "-blue" "right" >}}
<p class="card-text">SelfPrivacy is developed on the «zero trust» principle, even in relation to SelfPrivacy developers. That means you're the sole owner of your data.</p>
{{< /landing-feature >}}
{{< landing-feature security "Security">}}
{{< landing-feature security "Security" "-purple" >}}
<p class="card-text">Open source. The $2,000 reward for RCE vulnerability significantly increases security compared to conventional self-hosted solutions.</p>
{{< /landing-feature >}}
{{< landing-feature simplicity "Simplicity" "right">}}
{{< landing-feature simplicity "Simplicity" "-green" "right">}}
<p class="card-text">It is simple. Without console, complicated instructions, monitoring and involvement of specialists.</p>
{{< /landing-feature >}}
{{< landing-feature arrow "No license agreements">}}
{{< landing-feature arrow "No license agreements" "-blue" >}}
<p class="card-text">What is written in the license agreements that you accept without reading? It says that you allow companies to do anything with your data. SelfPrivacy has no license agreements.</p>
{{< /landing-feature >}}
{{< landing-feature coolhack3r "Save your time and money" "right">}}
{{< landing-feature coolhack3r "Save your time and money" "-purple" "right">}}
<p class="card-text">How to save $500 or two weeks of your life? Will it take the same time and money for a specialist to set everything up from scratch?</p>
<p class="card-text">SelfPrivacy team works continuously to speed up and simplify this process to a few clicks.</p>
<p class="card-text">Now anyone will be capable to set up their own data center.</p>
{{< /landing-feature >}}
{{< landing-feature thisisfine "Functionality">}}
{{< landing-feature thisisfine "Functionality" "-green">}}
<p class="card-text">Your data will not be lost thanks to regular automatic backups to a separate data center. </p>
{{< /landing-feature >}}
{{< landing-feature smartphonecomparison "Independence" "right">}}
{{< landing-feature smartphonecomparison "Independence" "-blue" "right">}}
<p class="card-text">Your communications on the internet no longer depend on Google, Facebook, Amazon and others E-Corps.</p>
<p class="card-text">Your services, your rules! You will not be blocked or disabled, accidentally or for any other reason. Your infrastructure and data will always remain with you.</p>
{{< /landing-feature >}}
{{< landing-feature datactrl "Data control">}}
{{< landing-feature datactrl "Data control" "-purple" >}}
<p class="card-text">Why do corporations need your data? To make you buy more and vote as they want. With SelfPrivacy, only you have your data.</p>
{{< /landing-feature >}}
</section>
@ -189,8 +189,8 @@ linkTitle = "SelfPrivacy"
<h2 class="mx-auto text-center">Supported by</h2>
</div>
<div class="card sp-supported-by-card h-100">
<div class="card-body sp-supported-by-list">
<div class="container-fluid">
<div class="sp-supported-by-list">
<a href="https://nlnet.nl/project/SelfPrivacy/" target="_blank" rel="noopener noreferrer">
<object role="img" aria-label="NLnet foundation" class="d-flex justify-content-center align-items-center sp-supported-by-img" type="image/svg+xml" data="/images/logos/nlnet.svg">
<div class="error">

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 148 KiB

View File

@ -2,8 +2,6 @@
title: Downloads
---
<!--add blocks of content here to add more sections to the community page -->
{{< blocks/lead >}}
<div class="row w-100 my-4">
<h1 class="mx-auto text-center w-100">Downloads</h1>
@ -12,68 +10,66 @@ title: Downloads
<p>
Get the latest version of SelfPrivacy app for your operating system.
</p>
{{< /blocks/lead >}}
{{< blocks/section color="white" type="section" >}}
<div class="row w-100">
<h1 class="mx-auto text-center w-100">Android</h1>
<div class="mx-auto row w-100">
<h1 class="text-center w-100">Android</h1>
</div>
<div class="row w-100">
<div class="mx-auto row w-100">
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="https://f-droid.org/en/packages/pro.kherel.selfprivacy/" rel="noopener noreferrer" target="_blank">
<a class="w-100 btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="https://f-droid.org/en/packages/pro.kherel.selfprivacy/" rel="noopener noreferrer" target="_blank">
F-Droid
</a>
<a class="btn btn-link w-100" href="https://fdroid.selfprivacy.org/" rel="noopener noreferrer" target="_blank">
<a class="w-100 btn btn-link w-100" href="https://fdroid.selfprivacy.org/" rel="noopener noreferrer" target="_blank">
Our F-Droid repository
</a>
</div>
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" rel="noopener noreferrer" target="_blank">
<a class="w-100 btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" rel="noopener noreferrer" target="_blank">
APK File
</a>
</div>
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="https://play.google.com/store/apps/details?id=org.selfprivacy.app" rel="noopener noreferrer" target="_blank">
<a class="w-100 btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="https://play.google.com/store/apps/details?id=org.selfprivacy.app" rel="noopener noreferrer" target="_blank">
Google Play
</a>
</div>
</div>
{{< /blocks/section >}}
{{< blocks/section color="white" type="section" >}}
<div class="row w-100">
<h1 class="mx-auto text-center w-100">iOS</h1>
<div class="mx-auto row w-100">
<h1 class="text-center w-100">iOS</h1>
</div>
<div class="row w-100">
<h4 class="mx-auto text-center w-100">Coming soon</h4>
<div class="mx-auto row w-100">
<h4 class="text-center w-100">Coming soon</h4>
</div>
{{< /blocks/section >}}
{{< blocks/section type="section" color="dark" >}}
<div class="row w-100">
<h1 class="mx-auto text-center w-100">Desktop</h1>
<div class="mx-auto row w-100">
<h1 class="text-center w-100">Desktop</h1>
</div>
<div class="row w-100">
<div class="mx-auto row w-100">
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding disabled" href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" rel="noopener noreferrer" target="_blank">
<a class="w-100 btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" rel="noopener noreferrer" target="_blank">
Windows
</a>
</div>
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" rel="noopener noreferrer" target="_blank">
<a class="w-100 btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" rel="noopener noreferrer" target="_blank">
GNU/Linux
</a>
</div>
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding disabled" href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" rel="noopener noreferrer" target="_blank">
<a class="w-100 btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding disabled" href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" rel="noopener noreferrer" target="_blank">
MacOS
</a>
</div>
@ -84,7 +80,7 @@ title: Downloads
{{< blocks/section type="section" >}}
{{< landing-feature book "What to do next?" "right" >}}
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="{{< relref "/docs/Getting started/" >}}">
<a class="w-100 btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="{{< relref "/docs/Getting started/" >}}">
Setup guide
</a>
{{< /landing-feature >}}

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@ -5,19 +5,10 @@ linkTitle = "SelfPrivacy"
+++
{{< blocks/section color="dark" type="section">}}
<div class="row">
<div class="flex-md-row flex-column-reverse d-flex justify-content-center align-content-center">
<div class="col-xs-12 col-md-4">
<div class="container rounded">
<div id="screenshotsCarouselControls" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<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="2"></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="5"></li>
<li data-target="#screenshotsCarouselControls" data-slide-to="6"></li>
</ol>
<div id="screenshotsCarouselControls" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-inner rounded">
<div class="carousel-item">
<img class="d-block w-100" src="/images/screenshots/1-ru.png" alt="Первый слайд">
@ -40,28 +31,34 @@ linkTitle = "SelfPrivacy"
<div class="carousel-item">
<img class="d-block w-100" src="/images/screenshots/7-ru.png" alt="Седьмой слайд">
</div>
</div>
<a class="carousel-control-prev" href="#screenshotsCarouselControls" role="button"
data-slide="prev">
<ol class="carousel-indicators">
<li data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="0" class="active"></li>
<li data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="1"></li>
<li data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="2"></li>
<li data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="3"></li>
<li data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="4"></li>
<li data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="5"></li>
<li data-bs-target="#screenshotsCarouselControls" data-bs-slide-to="6"></li>
</ol>
<button class="carousel-control-prev" type="button" data-bs-target="#screenshotsCarouselControls" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#screenshotsCarouselControls" role="button"
data-slide="next">
<span class="visually-hidden">Назад</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#screenshotsCarouselControls" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
<span class="visually-hidden">Далее</span>
</button>
</div>
</div>
</div>
<div class="col-xs-12 col-md-8 my-auto">
<div class="col-xs-12 col-md-8 col-lg-6 my-auto">
<div class="container my-4">
<h1>
Приложение SelfPrivacy поможет настроить селфхост-сервисы и управлять ими
</h1>
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding"
href="{{< relref "/download">}}">
href="{{< relref "/download" >}}">
Скачать
</a>
</div>
@ -69,12 +66,12 @@ linkTitle = "SelfPrivacy"
</div>
{{< /blocks/section>}}
<section class="container-fluid">
<div class="row w-100">
<h2 class="mx-auto text-center">Ваши личные сервисы</h2>
<section class="container">
<div class="w-100">
<h2 class="mx-auto text-center font-weight-bolder">Ваши личные сервисы</h2>
</div>
<div class="row w-100 mt-5 mb-3">
<div class="w-100 mt-5 mb-3">
<h3 class="mx-auto text-center">Для серьезных дел</h3>
</div>
@ -99,7 +96,7 @@ linkTitle = "SelfPrivacy"
</div>
</div>
<div class="row w-100 mt-5 mb-3">
<div class="w-100 mt-5 mb-3">
<h3 class="mx-auto text-center">Для развлечений и общения</h3>
</div>
@ -107,38 +104,36 @@ linkTitle = "SelfPrivacy"
<div class="col-md-4 col-xs-12 sp-services-row">
{{< landing-service "/images/services/deltachat.svg" "Мессенджер" >}}
<p class="card-text">Самый приватный мессенджер — это тот, у которого серверная часть находится
под вашим контролем. Это делает DeltaChat
приватнее Telegram и Signal.</p>
{{< /landing-service>}}
под вашим контролем. Это делает DeltaChat
приватнее Telegram и Signal.</p>
{{< /landing-service>}}
</div>
<div class="col-md-4 col-xs-12 sp-services-row">
{{< landing-service "/images/services/pleroma.svg" "Децентрализованная социальная сеть" >}}
<p class="card-text">Pleroma — социальная сеть в которой вы решаете, кого заблокировать и что
публиковать. Никакой больше рекламы и слежки.</p>
{{< /landing-service>}}
публиковать. Никакой больше рекламы и слежки.</p>
{{< /landing-service>}}
</div>
<div class="col-md-4 col-xs-12 sp-services-row">
{{< landing-service "/images/services/jitsi.svg" "Видеоконференция">}}
<p class="card-text">Zoom и Google-meet больше не нужны, когда есть Jitsi-meet. Очень простое и
удобное решение для видеоконференций.</p>
{{< /landing-service>}}
удобное решение для видеоконференций.</p>
{{< /landing-service>}}
</div>
</div>
<div class="row w-100 mt-5 mb-3">
<div class="w-100 mt-5 mb-3">
<h3 class="mx-auto text-center">Для хорошей жизни</h3>
</div>
<div class="row justify-content-md-center">
<div class="col-md-4 col-xs-12 sp-services-row">
{{< landing-service "/images/services/openconnect.svg" "VPN для друзей и близких" >}}
<p class=" card-text">Ни один публичный VPN не может быть приватным, если только он не расположен на вашем сервере.
OpenConnect — подключайте
неограниченное количество устройств.</p>
{{< /landing-service>}}
<p class=" card-text">Ни один публичный VPN не может быть приватным, если только он не расположен на вашем сервере. OpenConnect — подключайте неограниченное количество устройств.</p>
{{< /landing-service>}}
</div>
<div class="col-md-4 col-xs-12 sp-services-row">
@ -146,69 +141,69 @@ linkTitle = "SelfPrivacy"
<p class="card-text">Пароли больше не нужно запоминать, копировать между устройствами,
придумывать или вводить вручную.</p>
<p class="card-text">Bitwarden — надежный менеджер паролей для всех устройств.</p>
{{< /landing-service>}}
{{< /landing-service>}}
</div>
</div>
</section>
<section class="container-fluid">
<div class="row w-100">
<div class="w-100">
<h2 class="mx-auto text-center">Преимущества</h2>
</div>
{{< landing-feature privacy "Приватность">}}
{{< landing-feature privacy "Приватность" "-green">}}
<p class="card-text">Без регистрации, куков, телеметрии, логов, гугл аналитики и облаков.</p>
{{< /landing-feature>}}
{{< landing-feature zerotrust "Нулевое доверие" "right">}}
{{< landing-feature zerotrust "Нулевое доверие" "-blue" "right">}}
<p class="card-text">SelfPrivacy разработан по принципу "нулевого доверия", даже к самим разработчикам SelfPrivacy. Это значит, что вы — единственный владелец своих данных.</p>
{{< /landing-feature>}}
{{< landing-feature security "Безопасность">}}
{{< landing-feature security "Безопасность" "-purple" >}}
<p class="card-text">Открытый код. Вознаграждение $2000 за RCE-уязвимость значительно повышает безопасность в сравнении с обычными self-hosted решениями.</p>
{{< /landing-feature>}}
{{< landing-feature simplicity "Простота" "right">}}
{{< landing-feature simplicity "Простота" "-green" "right">}}
<p class="card-text">Это работает просто. Без консоли, сложных инструкций, мониторинга и привлечения специалистов.</p>
{{< /landing-feature>}}
{{< landing-feature arrow "Без лицензионных соглашений">}}
{{< landing-feature arrow "Без лицензионных соглашений" "-blue" >}}
<p class="card-text">Что написано в лицензионных соглашениях, которые вы принимаете, не читая? Там написано, что с вашими данными можно делать что угодно. В SelfPrivacy нет лицензионных соглашений.</p>
{{< /landing-feature>}}
{{< landing-feature coolhack3r "Экономия времени, денег и сил" "right">}}
{{< landing-feature coolhack3r "Экономия времени, денег и сил" "-purple" "right">}}
<p class="card-text">Как сэкономить $500 или две недели жизни? Столько понадобится времени и денег специалисту, чтобы настроить все самому с нуля?</p>
<p class="card-text">Команда SelfPrivacy непрерывно работает, чтобы ускорить и упростить этот процесс до нескольких кликов.</p>
<p class="card-text">Теперь создание личного дата-центра под силу любому желающему.</p>
{{< /landing-feature>}}
{{< landing-feature thisisfine "Функционал">}}
{{< landing-feature thisisfine "Функционал" "-green">}}
<p class="card-text">Ваши данные никуда не пропадут благодаря регулярному автоматическому резервному копированию в отдельный дата-центр.</p>
{{< /landing-feature>}}
{{< landing-feature smartphonecomparison "Независимость" "right" >}}
{{< landing-feature smartphonecomparison "Независимость" "-blue" "right" >}}
<p class="card-text">Ваши коммуникации в интернете не зависят от Google, Facebook, Amazon и прочих мегакорпораций.</p>
<p class="card-text">Ваши сервисы — ваши правила! Вас не заблокируют, не отключат, случайно или по какой-либо другой причине. Ваша инфраструктура и данные всегда останутся с вами.</p>
{{< /landing-feature>}}
{{< landing-feature datactrl "Контроль данных">}}
{{< landing-feature datactrl "Контроль данных" "-purple" >}}
<p class="card-text">Почему корпорациям так нужны ваши данные? Чтобы больше покупали, чтобы Вы голосовали, как им нужно. В SelfPrivacy ваши данные остаются только у вас.</p>
{{< /landing-feature>}}
</section>
<section class="container-fluid">
<div class="row w-100">
<div class="w-100">
<h2 class="mx-auto text-center">Нас поддерживают</h2>
</div>
<div class="card sp-supported-by-card h-100">
<div class="card-body sp-supported-by-list">
<div class="container-fluid">
<div class="sp-supported-by-list">
<a href="https://nlnet.nl/project/SelfPrivacy/" target="_blank" rel="noopener noreferrer">
<img class="sp-supperted-by-img" src="/images/logos/nlnet.svg" alt="NLnet foundation">
<img class="sp-supported-by-img" src="/images/logos/nlnet.svg" alt="NLnet foundation">
</a>
<a href="https://privacyaccelerator.org" target="_blank" rel="noopener noreferrer">
<img class="sp-supperted-by-img" src="/images/logos/PrivacyAcceleratorLogo.svg" alt="Privacy Accelerator">
<img class="sp-supported-by-img" src="/images/logos/PrivacyAcceleratorLogo.svg" alt="Privacy Accelerator">
</a>
</div>
</div>

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 148 KiB

View File

@ -90,7 +90,7 @@ description: >
1. Переходим по [ссылке](https://desec.io/domains), входим в аккаунт.
2. Нажимаем на **плюс**.
{{< imgproc dns_add_domain Fill "626x287" />}}
3. Вводим ваш домен. Нажимаем **Save**.
@ -178,7 +178,7 @@ DigitalOcean имеет [хорошую инструкцию](https://docs.digit
**_API ключи_ — это почти то же самое, что и логин с паролем, только для программы, а не человека.**
Мобильное приложение SelfPrivacy с их помощью управляет сервисами во всех учётных записях вместо вас. Удобно!
Нам не нужен токен для регистратора домена. Но нам понадобится токен DNS провайдера, чтобы управлять доменомом.
Нам не нужен токен для регистратора домена. Но нам понадобится токен DNS провайдера, чтобы управлять доменом.
{{< tabpane text=true >}}
{{% tab "deSEC" %}}
@ -186,7 +186,7 @@ DigitalOcean имеет [хорошую инструкцию](https://docs.digit
### Если вы выбрали deSEC: Как получить токен
1. Авторизуемся в [deSEC](https://desec.io/login)
2. Переходим на страницу [Domains](https://desec.io/domains)
3. Переходим на вкладку **Token management**.
@ -256,7 +256,7 @@ DigitalOcean имеет [хорошую инструкцию](https://docs.digit
13. Копируем созданный токен.
{{% /tab %}}s
{{% /tab %}}
{{% tab "DigitalOcean DNS" %}}

View File

@ -1,52 +0,0 @@
---
title: "Nextcloud"
date: 2023-01-11T17:08:23+03:00
weight: 2
description: >
Швейцарский нож в деле совместной работы
---
Совместная работа - это хранение файлов, документооборот, видеоконференции, календарь общих мероприятий и прочее в этом духе. Как правило, люди склонны доверять личную жизнь и бизнес сторонним сервисам. Однако, есть возможность держать все это на своем сервере.
Мы выбираем [Nextcloud](https://nextcloud.com/) - свободное программное обеспечение для удобного планирования и хранения файлов.
- [Официальный сайт проекта](https://nextcloud.com/)
## Аутентификация
При создании сервера создается пользователь `admin` Nextcloud с паролем, который вы использовали для
вашего основного пользователя.
Для добавления новых пользователей стоит перейти в админ панель управления пользователями, на веб-интерфейсе вашего Nextcloud.
## Рекомендуемые клиенты
- WEB-интерфейс: доступен после настройки сервера SelfPrivacy, по адресу `https://cloud.ВАШ.ДОМЕН`
- [Официальное приложение](https://nextcloud.com/install/#install-clients) (GNU/Linux, Windows, macOS, Android, iOS)
## Как сбросить админ пароль
Для следующих действий вам нужно будет подключиться по ssh к серверу с правами администратора. Минимальное понимание работы командной строки приветствуется ;)
Инструкцию по подключению вы можете [прочитать тут](http://selfprivacy.org/ru/docs/how-to-guides/root_ssh/).
После подключения введите команду:
```nextcloud-occ user:resetpassword admin```
Вас попросят ввести новый пароль, отображение символов будет скрыто.
## ЧаВо
### Не работает Nextcloud Updater
Всё нормально, так и должно быть. Nextcloud обновляется через NixOS. Обновления зависят от нашего NixOS репозитория, всё происходит без вашего участия.
### Почему я не могу использовать мой Nextcloud в сторонних сервисах?
Такое может быть, если в стороннем сервере стоит ограничение на привязку только к конкретному инстансу Nextcloud.
### Стоит ли мне использовать расширение для шифрования своего Nextcloud?
Мы не рекомендуем. Ключи шифрования будут храниться на сервере, что делает такое шифрование практически бессмысленным.

View File

@ -0,0 +1,126 @@
---
title: "Nextcloud"
date: 2023-01-11T17:08:23+03:00
description: >
Швейцарский нож в деле совместной работы
---
Совместная работа - это хранение файлов, документооборот, видеоконференции, календарь общих мероприятий и прочее в этом духе. Как правило, люди склонны доверять личную жизнь и бизнес сторонним сервисам. Однако, есть возможность держать все это на своем сервере.
Мы выбираем [Nextcloud](https://nextcloud.com/) - свободное программное обеспечение для удобного планирования и хранения файлов.
- [Официальный сайт проекта](https://nextcloud.com/)
## Аутентификация
При создании сервера создается пользователь `admin` Nextcloud с паролем, который вы использовали для вашего основного пользователя.
Для добавления новых пользователей:
1. Перейдите в админ панель управления пользователями, на веб-интерфейсе вашего Nextcloud.
{{< imgproc nextcloud1 Fill "1275x853" />}}
2. Нажмите кнопку "New user"
{{< imgproc nextcloud2 Fill "1278x415" />}}
## Рекомендуемые клиенты
- WEB-интерфейс: доступен после настройки сервера SelfPrivacy, по адресу `https://cloud.ВАШ.ДОМЕН`
- [Официальное приложение](https://nextcloud.com/install/#install-clients) (GNU/Linux, Windows, macOS, Android, iOS)
## Как сбросить админ пароль
Для следующих действий вам нужно будет подключиться по ssh к серверу с правами администратора. Минимальное понимание работы командной строки приветствуется ;)
Инструкцию по подключению вы можете [прочитать тут](http://selfprivacy.org/ru/docs/how-to-guides/root_ssh/).
После подключения введите команду:
```nextcloud-occ user:resetpassword admin```
Вас попросят ввести новый пароль, отображение символов будет скрыто.
## ЧаВо
### Не работает Nextcloud Updater
Всё нормально, так и должно быть. Nextcloud обновляется через NixOS. Обновления зависят от нашего NixOS репозитория, всё происходит без вашего участия.
### Почему я не могу использовать мой Nextcloud в сторонних сервисах?
Такое может быть, если в стороннем сервере стоит ограничение на привязку только к конкретному инстансу Nextcloud.
### Стоит ли мне использовать расширение для шифрования своего Nextcloud?
Мы не рекомендуем. Ключи шифрования будут храниться на сервере, что делает такое шифрование практически бессмысленным.
## Настройка контактов и календаря в web-клиенте Nextcloud
### Дополнение контактов
1. Откройте ваш Nextcloud, справа вверху нажмите на иконку контактов. Далее нажмите на надпись "Install the Contacts app".
{{< imgproc nextcloud_add_contact Fill "1276x610" />}}
2. Нажмите "Download and enable".
{{< imgproc nextcloud_add_contact2 Fill "1280x704" />}}
3. Теперь у вас появился новый пункт в меню.
{{< imgproc nextcloud_add_contact3 Fill "1278x726" />}}
### Дополнение календаря
1. Нажмите на аватарку вашего профиля, справа сверху.
2. В выпадающем меню нажмите "Apps".
3. Вы перешли в магазин дополнений, перейдите в категорию "Organization" и найдите там дополнение "Calendar".
4. Нажмите "Download and enable".
{{< imgproc nextcloud_add_contact4 Fill "1275x1169" />}}
5. У вас снова появился новый пункт в меню.
{{< imgproc nextcloud_add_contact5 Fill "1281x465" />}}
## Синхронизация Nextcloud на разных устройствах
Скачайте [основное приложение Nextcloud](https://nextcloud.com/install/#install-clients) (GNU/Linux, Windows, macOS, Android, iOS). Оно поможет синхронизировать файлы.
Как настроить синхронизацию контактов и календаря? Инструкции на русском для разных систем и приложений.
- [iOS](https://docs.nextcloud.com/server/latest/user_manual/ru/groupware/sync_ios.html#)
- [macOS](https://docs.nextcloud.com/server/latest/user_manual/ru/groupware/sync_osx.html)
- [Windows 10](https://docs.nextcloud.com/server/latest/user_manual/ru/groupware/sync_windows10.html)
- Android — читайте ниже
- [Thunderbird](https://docs.nextcloud.com/server/latest/user_manual/ru/groupware/sync_thunderbird.html)
- [KDE Kontact](https://docs.nextcloud.com/server/latest/user_manual/ru/groupware/sync_kde.html)
- [Рабочий стол GNOME](https://docs.nextcloud.com/server/latest/user_manual/ru/groupware/sync_gnome.html)
# Как синхронизировать Nextcloud c Android смартфоном?
1. Скачайте приложение [DAVx⁵](https://www.davx5.com/download/) на ваше Android устройство, из [F-Droid](https://f-droid.org/de/packages/at.bitfire.davdroid/) или [Google Play Store](https://play.google.com/store/apps/details?id=at.bitfire.davdroid).
2. Войдите в приложение, создайте новую учётную запись кнопкой "плюс".
3. В меню создания аккаунта, выберете последний пункт "Nextcloud".
4. Приложение предложит ввести ссылку на ваш экземпляр Nextcloud. Ссылка должна выглядить по примеру: `https://cloud.ВАШ.ДОМЕН`.
5. Откроется браузер. Вам нужно войти в свой Nextcloud аккаунт, и разрешить доступ.
{{< imgproc nextcloud3 Fill "1134x466" />}}
6. Возвращаемся назад в приложение DAVx⁵. В качестве имени, введите свою почту которая зарегистрирована в настройках аккаунта Nextcloud.
7. В пункте "Метод контактной группы" выберите вариант "Группы являются категориями контактов".
{{< imgproc nextcloud4 Fill "1200x573" />}}
8. Выберите данные, которые вы хотите синхронизировать.

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@ -2,11 +2,9 @@
title: Скачать
---
<!--add blocks of content here to add more sections to the community page -->
{{< blocks/lead>}}
<div class="row w-100 my-4">
<h1 class="mx-auto text-center w-100">Загрузки</h1>
<div class="mx-auto row w-100 my-4">
<h1 class="text-center w-100">Загрузки</h1>
</div>
<p>
@ -17,92 +15,82 @@ title: Скачать
{{< blocks/section color="white" type="section">}}
<div class="row w-100">
<h1 class="mx-auto text-center w-100">Android</h1>
<div class="mx-auto row w-100">
<h1 class="text-center w-100">Android</h1>
</div>
<div class="row w-100">
<div class="mx-auto row w-100">
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding"
<a class="w-100 btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding"
href="https://f-droid.org/en/packages/pro.kherel.selfprivacy/" rel="noopener noreferrer"
target="_blank">
F-Droid
</a>
</div>
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding"
<a class="w-100 btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding"
href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest"
rel="noopener noreferrer" target="_blank">
APK файл
</a>
</div>
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding disabled"
<a class="w-100 btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding"
href="https://play.google.com/store/apps/details?id=org.selfprivacy.app"
rel="noopener noreferrer" target="_blank">
Google Play
</a>
</div>
<div class="col-md-12">
<a class="btn btn-link w-100" href="https://fdroid.selfprivacy.org/" rel="noopener noreferrer"
<a class="w-100 btn btn-link w-100" href="https://fdroid.selfprivacy.org/" rel="noopener noreferrer"
target="_blank">
Наш F-Droid репозиторий
</a>
</div>
</div>
{{< /blocks/section>}}
{{< blocks/section color="white" type="section">}}
<div class="row w-100">
<h1 class="mx-auto text-center w-100">iOS</h1>
</div>
<div class="row w-100">
<h4 class="mx-auto text-center w-100">Ждите скоро...</h4>
</div>
{{< /blocks/section>}}
{{< blocks/section type="section" color="dark">}}
<div class="row w-100">
<h1 class="mx-auto text-center w-100">Компьютер</h1>
{{< blocks/section color="white" type="section">}}
<div class="mx-auto row w-100">
<h1 class="text-center w-100">iOS</h1>
</div>
<div class="mx-auto row w-100">
<h4 class="text-center w-100">Ждите скоро...</h4>
</div>
{{< /blocks/section>}}
{{< blocks/section type="section" color="dark">}}
<div class="mx-auto row w-100">
<h1 class="text-center w-100">Компьютер</h1>
</div>
<div class="mx-auto row w-100">
<div class="col-md-4">
<a class="w-100 btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding"
href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest"
rel="noopener noreferrer" target="_blank">
Windows
</a>
</div>
<div class="row w-100">
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding"
href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest"
rel="noopener noreferrer" target="_blank">
Windows
</a>
</div>
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding"
href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest"
rel="noopener noreferrer" target="_blank">
GNU/Linux
</a>
</div>
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding disabled"
href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest"
rel="noopener noreferrer" target="_blank">
MacOS
</a>
</div>
<div class="col-md-4">
<a class="w-100 btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding"
href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest"
rel="noopener noreferrer" target="_blank">
GNU/Linux
</a>
</div>
{{< /blocks/section>}}
{{< blocks/section type="section">}}
{{< landing-feature book "Что делать дальше то?" "right">}}
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding"
href="{{< relref "/docs/Getting started/">}}">
Гайд по установке
</a>
{{< /landing-feature>}}
{{< /blocks/section>}}
<div class="col-md-4">
<a class="w-100 btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding disabled"
href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest"
rel="noopener noreferrer" target="_blank">
MacOS
</a>
</div>
</div>
{{< /blocks/section>}}
{{< blocks/section type="section">}}
{{< landing-feature book "Что делать дальше то?" "right">}}
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding"
href="{{< relref "/docs/Getting started/">}}">
Гайд по установке
</a>
{{< /landing-feature>}}
{{< /blocks/section>}}

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

5
go.mod
View File

@ -3,7 +3,6 @@ module github.com/google/docsy-example
go 1.12
require (
github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f // indirect
github.com/google/docsy v0.5.1 // indirect
github.com/twbs/bootstrap v4.6.2+incompatible // indirect
github.com/google/docsy v0.9.1 // indirect
github.com/google/docsy/dependencies v0.5.1 // indirect
)

9
go.sum
View File

@ -1,7 +1,8 @@
github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f h1:bvkUptSRPZBr3Kxuk+bnWCEmQ5MtEJX5fjezyV0bC3g=
github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo=
github.com/google/docsy v0.5.1 h1:D/ZdFKiE29xM/gwPwQzmkyXhcbQGkReRS6aGrF7lnYk=
github.com/google/docsy v0.5.1/go.mod h1:maoUAQU5H/d+FrZIB4xg1EVWAx7RyFMGSDJyWghm31E=
github.com/FortAwesome/Font-Awesome v0.0.0-20240108205627-a1232e345536/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo=
github.com/google/docsy v0.9.1 h1:+jqges1YCd+yHeuZ1BUvD8V8mEGVtPxULg5j/vaJ984=
github.com/google/docsy v0.9.1/go.mod h1:saOqKEUOn07Bc0orM/JdIF3VkOanHta9LU5Y53bwN2U=
github.com/google/docsy/dependencies v0.5.1 h1:JVVLjnjC5i7GN2ZXKJ0QDa8UY71JMoqkeKK8CS6R/C4=
github.com/google/docsy/dependencies v0.5.1/go.mod h1:EDGc2znMbGUw0RW5kWwy2oGgLt0iVXBmoq4UOqstuNE=
github.com/twbs/bootstrap v4.6.2+incompatible h1:TDa+R51BTiy1wEHSYjmqDb8LxNl/zaEjAOpRE9Hwh/o=
github.com/twbs/bootstrap v4.6.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=

View File

@ -1,7 +1,7 @@
{{ $links := .Site.Params.links }}
<div class="bg-dark pt-4 px-5 pb-5 row sp-footer">
<div class="col-12 order-last order-md-first py-4">
<div class="col-12 py-4">
<a class="navbar-brand" href="{{ .Site.Home.RelPermalink }}">
<span class="navbar-brand__logo navbar-logo">
{{- if ne .Site.Params.ui.navbar_logo false -}}
@ -52,7 +52,7 @@
<h3 class="text-secondary">{{ T "footer_download_desktop" }}</h3>
<ul class="list-unstyled">
<li><a href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" class="nav-link" rel="noopener noreferrer" target="_blank"><span><i class="fa-brands fa-linux"></i></span> {{ T "footer_download_linux" }}</a></li>
<li><a href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" class="nav-link sp-coming-soon" rel="noopener noreferrer" target="_blank"><span><i class="fa-brands fa-windows"></i></span> {{ T "footer_download_windows" }}</a></li>
<li><a href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" class="nav-link" rel="noopener noreferrer" target="_blank"><span><i class="fa-brands fa-windows"></i></span> {{ T "footer_download_windows" }}</a></li>
<li><a href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" class="nav-link sp-coming-soon" rel="noopener noreferrer" target="_blank"><span><i class="fa-brands fa-apple"></i></span> {{ T "footer_download_macos" }}</a></li>
</ul>

View File

@ -1,10 +1,12 @@
{{/* Link directly to documentation etc., if possible. */}}
{{ $langPage := cond (gt (len .Translations) 0) . .Site.Home }}
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-globe ml-2"></i>
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
{{ range $langPage.AllTranslations }}
<a class="dropdown-item" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a>
{{ end }}
<div class="dropdown">
<a role="button" class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-globe ms-2"></i>
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
{{ range $langPage.AllTranslations }}
<li><a class="dropdown-item" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a></li>
{{ end }}
</ul>
</div>

View File

@ -1,2 +0,0 @@
{{ $original := .Page.Resources.GetMatch (printf "**%s*" (.Get 0)) }}
<img class="card-img-top rounded-img" src="{{ $original.RelPermalink }}">

View File

@ -1,30 +1,36 @@
{{ $illustration := .Page.Resources.GetMatch (printf "**%s*" (.Get 0)) }}
{{ $title := .Get 1 }}
{{ $side := .Get 2 }}
<div class="row justify-content-md-center my-2 align-items-center w-100">
{{ if eq $side "right" }}
<div class="col-md-8 col-xs-12 my-auto px-5">
{{ $bg := .Get 2 }}
{{ $side := .Get 3 }}
{{ if eq $side "right" }}
<div class="d-flex flex-column flex-lg-row flex-xl-row justify-content-center align-items-center sp-feature sp-feature{{ $bg }} my-auto">
<div class="col-xl-4 col-lg-6 col-md-8 col-xs-12 px-5">
{{ if $title }}
<h2 class="sp-feature-title">{{ $title }}</h2>
{{ end }}
{{ .Inner }}
</div>
{{ if $illustration }}
<object role="img" class="col-md-4 col-xs-12 my-auto d-flex justify-content-center align-items-center card-img-top" type="image/svg+xml" data="{{ $illustration.RelPermalink }}">
<div class="col-lg-4 col-md-6 col-sm-8 col-xs-12">
<object role="img" class="my-auto d-flex justify-content-center align-items-center card-img-top" type="image/svg+xml" data="{{ $illustration.RelPermalink }}">
<div class="error sp-feature-img">
<i class="fa-solid fa-triangle-exclamation"></i>
</div>
</object>
</div>
{{ end }}
{{ else }}
<div class="d-flex flex-column-reverse flex-lg-row flex-xl-row justify-content-center align-items-center sp-feature sp-feature{{ $bg }}">
{{ if $illustration }}
<object role="img" class="col-md-4 col-xs-12 my-auto d-flex justify-content-center align-items-center card-img-top" type="image/svg+xml" data="{{ $illustration.RelPermalink }}">
<div class="col-lg-4 col-md-6 col-sm-8 col-xs-12">
<object role="img" class="col-lg-4 col-md-6 col-sm-8 col-xs-12 my-auto d-flex justify-content-center align-items-center card-img-top" type="image/svg+xml" data="{{ $illustration.RelPermalink }}">
<div class="error sp-feature-img">
<i class="fa-solid fa-triangle-exclamation"></i>
</div>
</object>
</div>
{{ end }}
<div class="col-md-8 col-xs-12 my-auto px-5">
<div class="col-xl-4 col-lg-6 col-md-8 col-xs-12 px-5">
{{ if $title }}
<h2 class="sp-feature-title">{{ $title }}</h2>
{{ end }}

View File

@ -19,6 +19,6 @@
"devDependencies": {
"autoprefixer": "^10.4.0",
"postcss": "^8.3.7",
"postcss-cli": "^9.0.2"
"postcss-cli": "^9.1.0"
}
}