Compare commits

..

1 commit

Author SHA1 Message Date
btlogy 75c6ffbcf3 Remove the patern 2024-05-30 16:23:42 +00:00
33 changed files with 149 additions and 522 deletions

View file

@ -8,9 +8,8 @@ on:
env:
_UID: 1000
_GID: 1000
WEB_DOMAIN: tahoe-lafs.org
WEB_HOST: webforge.of.tahoe-lafs.org
WEB_USER: bot-www
WEB_DOMAIN: lafs.eval.latfa.net
WEB_USER: www
WEB_DIR: /var/www
jobs:
jekyll:
@ -19,7 +18,6 @@ jobs:
- name: Check out repository
id: checkout
uses: actions/checkout@v4
github-server-url: 'https://forge.of.tahoe-lafs.org/'
- name: Change file ownership
id: file_ownership
run: |
@ -46,10 +44,10 @@ jobs:
- name: Build Jekyll site
id: build_site
run: |
# Overwrite the baseurl for preview only
if [ "${{ forge.event_name }}" = 'pull_request' ]; then
echo "Overwriting baseurl for pull_request ${{ forge.event.pull_request.number }}"
sed -i -r -e 's/^baseurl:\s*"([^"]*)"/baseurl: "\1\/${{ forge.event.pull_request.number }}"/' _config.yml
# Overwrite the baseurl for previewonly
if [ "${{ gitea.event_name }}" = 'pull_request' ]; then
echo "Overwriting baseurl for pull_request ${{ gitea.event.pull_request.number }}"
sed -i -r -e 's/^baseurl:\s*"([^"]*)"/baseurl: "\1\/${{ gitea.event.pull_request.number }}"/' _config.yml
grep "^baseurl:" _config.yml
fi
docker-compose run --rm -v "${JOB_CONTAINER_NAME}:/site" -w /site \
@ -57,18 +55,17 @@ jobs:
- name: Deploy Jekyll site
id: deploy_site
run: |
if [ "${{ forge.ref }}" = 'refs/heads/main' ]; then
WEB_ROOT="${WEB_DIR}/live"
WEB_VHOST="home.of.${WEB_DOMAIN}"
if [ "${{ gitea.ref }}" = 'refs/heads/main' ]; then
WEB_ROOT="${WEB_DIR}/site"
WEB_HOST="www.${WEB_DOMAIN}"
WEB_CONTEXT='/'
else
WEB_ROOT="${WEB_DIR}/preview"
WEB_VHOST="preview.of.${WEB_DOMAIN}"
WEB_CONTEXT='/${{ forge.event.pull_request.number }}/'
WEB_HOST="preview.${WEB_DOMAIN}"
WEB_CONTEXT='/${{ gitea.event.pull_request.number }}/'
fi
# Save those variabes in the environment for the next steps
echo "WEB_HOST=${WEB_HOST}" >> $GITHUB_ENV
echo "WEB_VHOST=${WEB_VHOST}" >> $GITHUB_ENV
echo "WEB_CONTEXT=${WEB_CONTEXT}" >> $GITHUB_ENV
# Prepare ssh key
echo "${{ secrets.WWW_DEPLOY_KEY }}" > ~/.ssh/id_ed25519
@ -76,23 +73,23 @@ jobs:
# Synchronize the local and the remote site
rsync -halvi --delete \
-e "ssh -a -x -o StrictHostKeyChecking=no" \
./_site/ "${WEB_USER}@${WEB_HOST}:${WEB_ROOT}${WEB_CONTEXT}"
./_site/ "${WEB_USER}@${WEB_DOMAIN}:${WEB_ROOT}${WEB_CONTEXT}"
- name: Comment pull request
id: comment_pull_request
if: ${{ always() && forge.event_name == 'pull_request' }}
uses: https://github.com/exercism/pr-commenter-action@v1.5.1
if: ${{ always() && gitea.event_name == 'pull_request' }}
uses: exercism/pr-commenter-action@v1.5.1
with:
template-variables: |
{
"imageOutcome": "${{ steps.build_image.outcome }}",
"buildOutcome": "${{ steps.build_site.outcome }}",
"deployOutcome": "${{ steps.deploy_site.outcome }}",
"deployWebHost": "${{ env.WEB_VHOST }}",
"deployWebHost": "${{ env.WEB_HOST }}",
"deployWebContext": "${{ env.WEB_CONTEXT }}",
"gitActor": "${{ forge.actor }}",
"gitEventName": "${{ forge.event_name }}",
"gitWorkflow": "${{ forge.workflow }}",
"gitRunNumber": "${{ forge.run_number }}",
"gitRunAttempt": "${{ forge.run_attempt }}"
"gitActor": "${{ gitea.actor }}",
"gitEventName": "${{ gitea.event_name }}",
"gitWorkflow": "${{ gitea.workflow }}",
"gitRunNumber": "${{ gitea.run_number }}",
"gitRunAttempt": "${{ gitea.run_attempt }}"
}
config-file: ".forgejo/pr-commenter.yml"
config-file: ".gitea/pr-commenter.yml"

View file

@ -6,15 +6,15 @@ on:
types: [ closed ]
env:
WEB_HOST: webforge.of.tahoe-lafs.org
WEB_USER: bot-www
WEB_DOMAIN: lafs.eval.latfa.net
WEB_USER: www
WEB_ROOT: /var/www/preview
WEB_CONTEXT: "/${{ forge.event.pull_request.number }}/"
WEB_CONTEXT: "/${{ gitea.event.pull_request.number }}/"
jobs:
jekyll_cleanup:
runs-on: ubuntu-22.04
permissions:
pull-requests: read
pull-requests: write
actions: read
contents: read
steps:
@ -32,4 +32,4 @@ jobs:
chmod 600 ~/.ssh/id_ed25519
# Delete preview context from the remote site
echo -e "set sftp:connect-program ssh -a -x -o StrictHostKeyChecking=no; rm -r -f ${WEB_ROOT}${WEB_CONTEXT}\nbye" \
| lftp sftp://${WEB_USER}:unused@${WEB_HOST}
| lftp sftp://${WEB_USER}:unused@${WEB_DOMAIN}

View file

@ -1,23 +0,0 @@
# Web landing page for the Tahoe-LAFS project
The goal of this web page is to represent the Tahoe-LAFS project to the public.
It gives guidance on getting started for end-users, developers building with Tahoe-LAFS and hackers interested working on Tahoe-LAFS itself alike.
## Building
This web page is built and deployed by CI. A preview is also automaticaly genereated for PRs made from branches local to this repository (require push/write permission).
If you want to pre-view your changes on your local machine before pushing commits, you might want to start a development server.
Issuing this command on a system with Docker runs a web server on http://localhost:4000/ that re-builds and refresh the page automatically on source file change:
```sh
docker-compose up
```
## Contributing
We welcome contributions! Easiest is to open tickets or pull requests directly. If unsure, join the IRC or ask on the Tahoe-LAFS developer mailing list.

View file

@ -30,7 +30,7 @@ incremental: false
#theme: minima
theme: minimal-mistakes-jekyll
minimal_mistakes_skin: default # Out of "default", "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum" "sunrise"
minimal_mistakes_skin: dirt # Out of "default", "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum" "sunrise"
logo: "/assets/images/logo_199x300.png"
locale: "en-US"
@ -114,6 +114,7 @@ defaults:
values:
layout: single
author_profile: false
share: true
category_archive:
type: jekyll-archives

View file

@ -13,12 +13,12 @@ services:
working_dir: /appdata
ports:
- "4000:4000"
- "35729:35729"
stdin_open: true
tty: true
hostname: jekyll.local
container_name: jekyll.local
network_mode: "bridge"
networks:
- bridge
deploy:
resources:
limits:

View file

@ -1,5 +1,5 @@
# Pull base image from official repo
FROM ruby:3.3.6-slim-bookworm
FROM rubylang/ruby:3.3.0-jammy
# Install some required packages for building Gems
RUN INSTALL_PKGS="gcc g++ libyaml-dev make nodejs" && \
@ -40,4 +40,4 @@ RUN echo "gem: --no-document --user-install --bindir /home/${user}/bin" >> /home
ENV PATH=/home/${user}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENTRYPOINT ["jekyll"]
CMD ["server", "--verbose", "--host", "0.0.0.0", "--incremental", "--livereload"]
CMD ["server", "--verbose", "--host", "0.0.0.0", "--incremental"]

View file

@ -1,36 +1,32 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
autoprefixer-rails (9.8.6.5)
execjs
bigdecimal (3.1.8)
bootstrap (5.3.3)
bootstrap (5.3.2)
autoprefixer-rails (>= 9.1.0)
popper_js (>= 2.11.8, < 3)
colorator (1.1.0)
concurrent-ruby (1.3.4)
concurrent-ruby (1.2.3)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
execjs (2.7.0)
faraday (2.12.1)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-net_http (3.4.0)
net-http (>= 0.5.0)
ffi (1.17.0)
faraday (2.9.0)
faraday-net_http (>= 2.0, < 3.2)
faraday-net_http (3.1.0)
net-http
ffi (1.16.3)
forwardable-extended (2.6.0)
google-protobuf (4.28.3)
bigdecimal
google-protobuf (4.26.1)
rake (>= 13)
http_parser.rb (0.8.0)
i18n (1.14.6)
i18n (1.14.4)
concurrent-ruby (~> 1.0)
jekyll (4.3.4)
jekyll (4.3.3)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
@ -65,29 +61,27 @@ GEM
jekyll (>= 3.7, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
json (2.8.2)
kramdown (2.5.1)
rexml (>= 3.3.9)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.4)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.6.1)
mercenary (0.4.0)
minima (2.5.2)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minimal-mistakes-jekyll (4.25.1)
minimal-mistakes-jekyll (4.25.0)
jekyll (>= 3.7, < 5.0)
jekyll-feed (~> 0.1)
jekyll-gist (~> 1.5)
jekyll-include-cache (~> 0.1)
jekyll-paginate (~> 1.1)
jekyll-sitemap (~> 1.3)
net-http (0.5.0)
net-http (0.4.1)
uri
octokit (4.25.1)
faraday (>= 1, < 3)
@ -95,25 +89,25 @@ GEM
pathutil (0.16.2)
forwardable-extended (~> 2.6)
popper_js (2.11.8)
public_suffix (6.0.1)
public_suffix (5.0.5)
rake (13.2.1)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.3.9)
rouge (4.5.1)
rexml (3.2.6)
rouge (4.2.1)
safe_yaml (1.0.5)
sass-embedded (1.81.0)
google-protobuf (~> 4.28)
rake (>= 13)
sass-embedded (1.75.0)
google-protobuf (>= 3.25, < 5.0)
rake (>= 13.0.0)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.6.0)
uri (1.0.2)
webrick (1.9.0)
unicode-display_width (2.5.0)
uri (0.13.0)
webrick (1.8.1)
PLATFORMS
ruby

View file

@ -10,4 +10,4 @@ main:
- title: "About"
url: "#about"
- title: "Fork me"
url: "https://forge.of.tahoe-lafs.org/tahoe-lafs/web-landing-page/"
url: "https://code.lafs.eval.latfa.net/tahoe-lafs/web-landing-page/"

View file

@ -1,12 +1,14 @@
---
layout: single
title: "v1.20.0 is released"
date: 2024-12-19 05:48:54 +0000
excerpt: "ANNOUNCING Tahoe, the Least-Authority File Store, v1.20.0"
title: "v1.18.0 is released"
date: 2022-10-03 16:17:57 +0000
excerpt: "ANNOUNCING Tahoe, the Least-Authority File Store, v1.18.0"
header:
teaser: /assets/images/posts/release.jpg
---
The Tahoe-LAFS team is pleased to announce version 1.20.0 of
ANNOUNCING Tahoe, the Least-Authority File Store, v1.18.0
The Tahoe-LAFS team is pleased to announce version 1.18.0 of
Tahoe-LAFS, an extremely reliable decentralized storage
system. Get it with "pip install tahoe-lafs", or download a
tarball here:
@ -21,22 +23,15 @@ unique security and fault-tolerance properties:
[https://tahoe-lafs.readthedocs.org/en/latest/about.html][about]
The previous stable release of Tahoe-LAFS was v1.19.0, released on
January 18, 2024. Major new features and changes in this release:
The previous stable release of Tahoe-LAFS was v1.17.1, released on
January 7, 2022.
Declarative build system based on "hatch".
The ability to creat mutable directories with a given private-key.
Pulled in fixes from CBOR, stopped using the C version of CBOR and
fixed incompatibilities with attrs and cryptography libraries.
Besides all this there have been dozens of other bug-fixes and
improvements.
Enjoy!
This release drops support for Python 2 and for Python 3.6 and earlier.
twistd.pid is no longer used (in favour of one with pid + process creation time).
A collection of minor bugs and issues were also fixed.
[Read the full announcement][more]
[download]: https://tahoe-lafs.org/downloads
[about]: https://tahoe-lafs.readthedocs.org/en/latest/about.html
[more]: https://lists.tahoe-lafs.org/pipermail/tahoe-dev/2024-December/010111.html
[more]: https://lists.tahoe-lafs.org/pipermail/tahoe-dev/2022-October/010043.html

View file

@ -1,7 +1,7 @@
---
layout: single
title: "New landing page"
date: 2025-08-13 18:23:00 +0200
date: 2024-05-29 21:47:57 +0200
excerpt: "The old Tahoe-LAFS landing page is gone!"
header:
teaser: /assets/images/posts/old-landing-page-teaser.png
@ -9,12 +9,14 @@ gallery:
- image_path: /assets/images/posts/old-landing-page.png
alt: "original"
---
We're happy to announce that the migration from the [trac][old] landing page (see below) to the [jekyll][new] one has been completed.
We're happy to announce that the migration of the [original][old] landing page to this one has been completed.
Help us to contribute to it using this [repository][repo].
Goodbye Trac...
{% include gallery %}
[old]: https://tahoe-lafs.org/trac/tahoe-lafs/wiki/WikiStart
[new]: https://home.of.tahoe-lafs.org/
[repo]: https://forge.of.tahoe-lafs.org/tahoe-lafs/web-landing-page/
[new]: https://www.lafs.eval.latfa.net/
[repo]: https://code.lafs.eval.latfa.net/tahoe-lafs/web-landing-page/

View file

@ -1,171 +1,16 @@
.page__hero--overlay {
padding: 1em;
form {
background-color: transparent;
padding: 0em;
}
.page__hero--overlay .page__title {
text-shadow: unset;
td {
border-bottom: 10px;
}
.page__hero--overlay .page__lead {
text-shadow: unset;
.pagination--pager.disabled {
background-color: #e9dcbe;
}
.btn {
font-family: sans-serif;
font-weight: bold;
font-variant-caps: all-small-caps;
border-radius: 58px;
}
.page__hero--overlay .btn {
background-color: #fff;
color: #0075a2;
text-shadow: unset;
}
.page__hero--overlay .btn:hover {
background-color: #777;
color: #fff;
}
#main {
padding-left: 1em;
padding-right: 1em;
}
.page__content .archive__item-title {
margin-top: 2em;
}
#documentation .feature__wrapper {
display: flex;
flex-wrap: wrap;
margin-bottom: auto;
}
.feature__wrapper {
border-bottom: unset;
margin-bottom: unset;
}
.archive__item-teaser {
background-image: url('../images/icon_background.png');
}
.feature__item {
@media (max-width: 37.5em) {
width: 100%;
}
background-color: #eee;
margin-bottom: 1em;
border-radius: 4px;
}
.feature__item .archive__item-title {
text-align: center;
}
.feature__item .archive__item-body {
padding-left: 0.5em;
padding-right: 0.5em;
padding-bottom: 0.5em;
}
.feature__item .archive__item-teaser img {
height: 80px;
width: auto;
display: block;
margin-left: auto;
margin-right: auto;
}
#contribute .feature__item .archive__item-teaser img {
background-color: #fff;
padding: 10px;
border-radius: 20px;
}
.feature__item .btn:hover {
background-color: #777;
color: #fff;
}
#contribute .feature__wrapper {
display: flex;
flex-wrap: wrap;
margin-bottom: auto;
}
#blog {
margin-top: 2em;
background-color: #eee;
border-radius: 4px;
}
.entries-grid {
display: flex;
flex-wrap: wrap;
background-color: #eee;
margin-bottom: auto;
padding-left: 1em;
padding-right: 1em;
}
.grid__item {
@media (max-width: 37.5em) {
width: 100%;
}
background-color: #ccc;
padding: 0.5em;
border-radius: 4px;
}
.grid__item .archive__item-title {
text-align: center;
}
.grid__item .archive__item-excerpt {
padding-left: 0.5em;
padding-right: 0.5em;
}
.grid__item .grid__item-teaser img {
width: initial;
display: block;
margin-left: auto;
margin-right: auto;
}
#about .feature__wrapper {
display: flex;
flex-wrap: wrap;
background-color: #fff;
}
#about .feature__wrapper .btn {
background-color: #0075a2;
color: #fff;
}
#about .archive__item-title {
margin-top: 0.5em;
}
.feature__item--center {
text-align: center;
}
.page .page__inner-wrap {
background-color: #eee;
padding: 0.5em;
border-radius: 4px;
}
.page__meta + .pagination {
padding-top: 0;
background-color: #fff;
}
.page__footer {
background-color: #eee;
.pagination--pager {
background-color: #e9dcbe;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
src/assets/images/code.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

View file

@ -1,29 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-1, .cls-2, .cls-3 {
fill-rule: evenodd;
stroke-width: 0px;
}
.cls-2 {
fill: #0075a2;
}
.cls-3 {
fill: #f7b538;
}
</style>
</defs>
<g id="Icon">
<path class="cls-2" d="M56.119,3.881c-2.487-2.487-5.858-3.881-9.374-3.881H13.256c-3.516,0-6.887,1.395-9.374,3.881C1.395,6.368,0,9.739,0,13.256v33.489c0,3.516,1.395,6.887,3.881,9.374,2.487,2.487,5.858,3.881,9.374,3.881h33.489c3.516,0,6.887-1.395,9.374-3.881,2.487-2.487,3.881-5.858,3.881-9.374V13.256c0-3.516-1.395-6.887-3.881-9.374ZM21.433,35.218c.818.815.818,2.144,0,2.959-.815.818-2.144.818-2.959,0l-6.698-6.698c-.818-.818-.818-2.141,0-2.959l6.698-6.698c.815-.818,2.144-.818,2.959,0,.818.815.818,2.144,0,2.959l-5.217,5.218,5.217,5.218ZM35.336,20.615l-6.698,20.093c-.366,1.096-1.551,1.688-2.649,1.325-1.096-.366-1.688-1.551-1.325-2.649l6.698-20.093c.366-1.096,1.551-1.688,2.649-1.325,1.096.366,1.688,1.551,1.325,2.649ZM48.224,31.48l-6.698,6.698c-.815.818-2.144.818-2.959,0-.818-.815-.818-2.144,0-2.959l5.217-5.218-5.217-5.218c-.818-.815-.818-2.144,0-2.959.815-.818,2.144-.818,2.959,0l6.698,6.698c.818.818.818,2.141,0,2.959Z"/>
<path class="cls-1" d="M35.336,20.615l-6.698,20.093c-.366,1.096-1.551,1.688-2.649,1.325-1.096-.366-1.688-1.551-1.325-2.649l6.698-20.093c.366-1.096,1.551-1.688,2.649-1.325,1.096.366,1.688,1.551,1.325,2.649Z"/>
<path class="cls-3" d="M48.224,31.48l-6.698,6.698c-.815.818-2.144.818-2.959,0-.818-.815-.818-2.144,0-2.959l5.217-5.218-5.217-5.218c-.818-.815-.818-2.144,0-2.959.815-.818,2.144-.818,2.959,0l6.698,6.698c.818.818.818,2.141,0,2.959Z"/>
<path class="cls-3" d="M21.433,35.218c.818.815.818,2.144,0,2.959-.815.818-2.144.818-2.959,0l-6.698-6.698c-.818-.818-.818-2.141,0-2.959l6.698-6.698c.815-.818,2.144-.818,2.959,0,.818.815.818,2.144,0,2.959l-5.217,5.218,5.217,5.218Z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2 KiB

View file

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Discussion" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60">
<defs>
<style>
.cls-1 {
fill: #0075a2;
}
.cls-1, .cls-2, .cls-3 {
stroke-width: 0px;
}
.cls-2 {
fill: #f7b538;
}
.cls-3 {
fill: #fff;
}
</style>
</defs>
<path class="cls-1" d="M52,22.5h-24c-4.41,0-8,3.366-8,7.5v16.875c0,4.134,3.59,7.5,8,7.5h13.33l7.47,5.25c.35.244.78.375,1.2.375.3,0,.61-.066.89-.197.68-.319,1.11-.966,1.11-1.678v-3.75c4.41,0,8-3.366,8-7.5v-16.875c0-4.134-3.59-7.5-8-7.5Z"/>
<path class="cls-2" d="M32,0H8C3.59,0,0,3.366,0,7.5v16.875c0,4.134,3.59,7.5,8,7.5v3.75c0,.712.43,1.359,1.11,1.678.28.131.59.197.89.197.42,0,.85-.131,1.2-.375l7.47-5.25h13.33c4.41,0,8-3.366,8-7.5V7.5c0-4.134-3.59-7.5-8-7.5Z"/>
<g>
<path class="cls-3" d="M20.577,13.5h-8.654c-1.058,0-1.923-.787-1.923-1.75s.865-1.75,1.923-1.75h8.654c1.058,0,1.923.787,1.923,1.75s-.865,1.75-1.923,1.75Z"/>
<path class="cls-3" d="M28.182,21.875H11.818c-1,0-1.818-.787-1.818-1.75s.818-1.75,1.818-1.75h16.364c1,0,1.818.787,1.818,1.75s-.818,1.75-1.818,1.75Z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 559 B

View file

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="OBJECT" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60">
<defs>
<style>
.cls-1 {
fill: #0075a2;
}
.cls-1, .cls-2, .cls-3, .cls-4 {
stroke-width: 0px;
}
.cls-2 {
fill: #f7b538;
}
.cls-3 {
fill: #101820;
}
.cls-4 {
fill: #fff;
}
</style>
</defs>
<path class="cls-3" d="M54,0H6C2.7,0,0,2.7,0,6v6h60v-6c0-3.3-2.7-6-6-6ZM9,8h-1c-1.1,0-2-.9-2-2s.9-2,2-2h1c1.1,0,2,.9,2,2s-.9,2-2,2ZM16,8h-1c-1.1,0-2-.9-2-2s.9-2,2-2h1c1.1,0,2,.9,2,2s-.9,2-2,2ZM23,8h-1c-1.1,0-2-.9-2-2s.9-2,2-2h1c1.1,0,2,.9,2,2s-.9,2-2,2Z"/>
<path class="cls-4" d="M11,6c0,1.1-.9,2-2,2h-1c-1.1,0-2-.9-2-2s.9-2,2-2h1c1.1,0,2,.9,2,2Z"/>
<path class="cls-4" d="M18,6c0,1.1-.9,2-2,2h-1c-1.1,0-2-.9-2-2s.9-2,2-2h1c1.1,0,2,.9,2,2Z"/>
<path class="cls-4" d="M25,6c0,1.1-.9,2-2,2h-1c-1.1,0-2-.9-2-2s.9-2,2-2h1c1.1,0,2,.9,2,2Z"/>
<path class="cls-1" d="M0,16v38c0,3.3,2.7,6,6,6h22V16H0ZM7.56,23.9l.02.02c.78-.78,2.04-.78,2.82,0l2.42,2.42,4.76-4.76c.78-.78,2.04-.78,2.82,0s.78,2.04,0,2.82l-6.16,6.16c-.4.4-.9.58-1.42.58s-1.02-.2-1.42-.58l-3.84-3.84c-.78-.78-.78-2.04,0-2.82ZM21,55H7c-1.1,0-2-.9-2-2s.9-2,2-2h14c1.1,0,2,.9,2,2s-.9,2-2,2ZM21,47H7c-1.1,0-2-.9-2-2s.9-2,2-2h14c1.1,0,2,.9,2,2s-.9,2-2,2ZM21,39H7c-1.1,0-2-.9-2-2s.9-2,2-2h14c1.1,0,2,.9,2,2s-.9,2-2,2Z"/>
<path class="cls-4" d="M20.4,24.4l-6.16,6.16c-.4.4-.9.58-1.42.58s-1.02-.2-1.42-.58l-3.84-3.84c-.78-.78-.78-2.04,0-2.82l.02.02c.78-.78,2.04-.78,2.82,0l2.42,2.42,4.76-4.76c.78-.78,2.04-.78,2.82,0s.78,2.04,0,2.82Z"/>
<path class="cls-4" d="M23,37c0,1.1-.9,2-2,2H7c-1.1,0-2-.9-2-2s.9-2,2-2h14c1.1,0,2,.9,2,2Z"/>
<path class="cls-4" d="M23,45c0,1.1-.9,2-2,2H7c-1.1,0-2-.9-2-2s.9-2,2-2h14c1.1,0,2,.9,2,2Z"/>
<path class="cls-4" d="M23,53c0,1.1-.9,2-2,2H7c-1.1,0-2-.9-2-2s.9-2,2-2h14c1.1,0,2,.9,2,2Z"/>
<path class="cls-2" d="M32,16v44h22c3.3,0,6-2.7,6-6V16h-28ZM41.14,24.42h.04c-.78-.78-.78-2.04,0-2.82.78-.78,2.04-.78,2.82,0l1.98,1.98,1.98-1.98c.78-.78,2.04-.78,2.82,0,.78.78.78,2.04,0,2.82l-1.98,1.98,1.98,1.98c.78.78.78,2.04,0,2.82-.4.4-.9.58-1.42.58s-1.02-.2-1.42-.58l-1.98-1.98-1.98,1.98c-.4.4-.9.58-1.42.58s-1.02-.2-1.42-.58c-.78-.78-.78-2.04,0-2.82l1.98-1.98-1.98-1.98ZM53,55h-14c-1.1,0-2-.9-2-2s.9-2,2-2h14c1.1,0,2,.9,2,2s-.9,2-2,2ZM53,47h-14c-1.1,0-2-.9-2-2s.9-2,2-2h14c1.1,0,2,.9,2,2s-.9,2-2,2ZM53,39h-14c-1.1,0-2-.9-2-2s.9-2,2-2h14c1.1,0,2,.9,2,2s-.9,2-2,2Z"/>
<path class="cls-4" d="M55,53c0,1.1-.9,2-2,2h-14c-1.1,0-2-.9-2-2s.9-2,2-2h14c1.1,0,2,.9,2,2Z"/>
<path class="cls-4" d="M55,45c0,1.1-.9,2-2,2h-14c-1.1,0-2-.9-2-2s.9-2,2-2h14c1.1,0,2,.9,2,2Z"/>
<path class="cls-4" d="M55,37c0,1.1-.9,2-2,2h-14c-1.1,0-2-.9-2-2s.9-2,2-2h14c1.1,0,2,.9,2,2Z"/>
<path class="cls-4" d="M50.78,28.38c.78.78.78,2.04,0,2.82-.4.4-.9.58-1.42.58s-1.02-.2-1.42-.58l-1.98-1.98-1.98,1.98c-.4.4-.9.58-1.42.58s-1.02-.2-1.42-.58c-.78-.78-.78-2.04,0-2.82l1.98-1.98-1.98-1.98h.04c-.78-.78-.78-2.04,0-2.82.78-.78,2.04-.78,2.82,0l1.98,1.98,1.98-1.98c.78-.78,2.04-.78,2.82,0,.78.78.78,2.04,0,2.82l-1.98,1.98,1.98,1.98Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View file

@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80">
<defs>
<style>
.cls-1 {
fill: #0075a2;
}
.cls-1, .cls-2, .cls-3, .cls-4 {
stroke-width: 0px;
}
.cls-2 {
fill: #f7b538;
}
.cls-3 {
fill: #101820;
}
.cls-4 {
fill: #fff;
}
</style>
</defs>
<circle class="cls-4" cx="40" cy="40" r="40"/>
<g>
<path class="cls-1" d="M20.515,61.758c0,1.791,1.494,3.242,3.337,3.242h37.14c.833,0,1.508-.656,1.508-1.465v-5.02H23.852c-1.843,0-3.337,1.452-3.337,3.242h0Z"/>
<path class="cls-3" d="M24.174,55.586V15h-.322c-3.503,0-6.352,2.769-6.352,6.172v40.586c0-3.403,2.849-6.172,6.352-6.172h.322Z"/>
<path class="cls-2" d="M44.844,24.206c-4.511,0-8.181,3.566-8.181,7.949.411,10.531,15.953,10.528,16.362,0,0-4.383-3.67-7.949-8.181-7.949h0ZM44.844,26.768c.832,0,1.508.656,1.508,1.465-.075,1.941-2.941,1.94-3.015,0,0-.809.675-1.465,1.508-1.465ZM46.352,36.077c-.074,1.942-2.942,1.94-3.015,0v-3.138c.074-1.942,2.942-1.94,3.015,0v3.138Z"/>
<path class="cls-1" d="M60.992,15H27.189v40.586h35.311V16.465c0-.809-.675-1.465-1.508-1.465ZM54.533,49.31h-19.378c-1.998-.072-1.997-2.858,0-2.93h19.378c1.998.072,1.997,2.858,0,2.93ZM44.844,43.034c-6.174,0-11.196-4.88-11.196-10.879.563-14.412,21.832-14.409,22.393,0,0,5.999-5.023,10.879-11.196,10.879h0Z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

View file

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80">
<defs>
<style>
.cls-1 {
fill: #0075a2;
}
.cls-1, .cls-2, .cls-3, .cls-4 {
stroke-width: 0px;
}
.cls-2 {
fill: #f7b538;
}
.cls-3 {
fill: #101820;
}
.cls-4 {
fill: #fff;
}
</style>
</defs>
<circle class="cls-4" cx="40" cy="40" r="40"/>
<g>
<path class="cls-2" d="M58.068,26.975c.55,0,1.1.049,1.642.131v-6.177c0-1.898-1.55-3.428-3.458-3.428h-26.609c-1.917,0-3.458,1.53-3.458,3.428v31.034c0,1.89,1.542,3.428,3.458,3.428h26.609c1.908,0,3.458-1.538,3.458-3.428v-2.307c-.542.074-1.092.123-1.642.123-3.083,0-5.975-1.178-8.142-3.338-4.492-4.443-4.492-11.684,0-16.126,2.167-2.152,5.059-3.338,8.142-3.338ZM46.059,33.34c0,.851-.7,1.538-1.558,1.538h-9.65c-.858,0-1.558-.687-1.558-1.538s.7-1.546,1.558-1.546h9.65c.858,0,1.558.695,1.558,1.546ZM45.059,39.566c0,.851-.7,1.538-1.558,1.538h-8.65c-.858,0-1.558-.687-1.558-1.538,0-.859.7-1.546,1.558-1.546h8.65c.858,0,1.558.687,1.558,1.546ZM34.842,25.567h4.058c.858,0,1.55.687,1.55,1.538s-.692,1.546-1.55,1.546h-4.058c-.858,0-1.558-.695-1.558-1.546s.7-1.538,1.558-1.538ZM47.41,45.785c0,.851-.7,1.546-1.558,1.546h-11c-.858,0-1.558-.695-1.558-1.546s.7-1.538,1.558-1.538h11c.858,0,1.558.687,1.558,1.538Z"/>
<path class="cls-4" d="M47.41,45.785c0,.851-.7,1.546-1.558,1.546h-11c-.858,0-1.558-.695-1.558-1.546s.7-1.538,1.558-1.538h11c.858,0,1.558.687,1.558,1.538Z"/>
<path class="cls-4" d="M45.059,39.566c0,.851-.7,1.538-1.558,1.538h-8.65c-.858,0-1.558-.687-1.558-1.538,0-.859.7-1.546,1.558-1.546h8.65c.858,0,1.558.687,1.558,1.546Z"/>
<path class="cls-4" d="M46.059,33.34c0,.851-.7,1.538-1.558,1.538h-9.65c-.858,0-1.558-.687-1.558-1.538s.7-1.546,1.558-1.546h9.65c.858,0,1.558.695,1.558,1.546Z"/>
<path class="cls-4" d="M40.451,27.105c0,.851-.692,1.546-1.55,1.546h-4.058c-.858,0-1.558-.695-1.558-1.546s.7-1.538,1.558-1.538h4.058c.858,0,1.55.687,1.55,1.538Z"/>
<path class="cls-3" d="M68.544,46.586l-3.55-3.526c2.225-3.24,1.908-7.699-.992-10.571-3.275-3.24-8.6-3.24-11.875,0-3.275,3.248-3.275,8.525,0,11.774,1.633,1.62,3.783,2.43,5.934,2.43,1.658,0,3.308-.491,4.725-1.456l3.558,3.526c.3.303.7.45,1.1.45s.792-.147,1.1-.45c.608-.597.608-1.579,0-2.176ZM61.802,42.078c-2,1.98-5.475,1.98-7.475,0-2.058-2.037-2.058-5.367,0-7.405,1.033-1.023,2.383-1.53,3.742-1.53,1.35,0,2.7.507,3.733,1.53,2.058,2.037,2.058,5.367,0,7.405Z"/>
<path class="cls-1" d="M52.535,58.475v.589c0,1.906-1.558,3.436-3.467,3.436h-26.609c-1.9,0-3.458-1.53-3.458-3.436v-31.034c0-1.898,1.558-3.428,3.458-3.428h.608v27.36c0,3.592,2.95,6.513,6.575,6.513h22.893Z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
src/assets/images/wiki.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Bahan_copy_2" data-name="Bahan copy 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80">
<defs>
<style>
.cls-1 {
fill: #0075a2;
}
.cls-1, .cls-2, .cls-3, .cls-4 {
stroke-width: 0px;
}
.cls-2 {
fill: #f7b538;
}
.cls-3 {
fill: #101820;
}
.cls-4 {
fill: #fff;
}
</style>
</defs>
<circle class="cls-4" cx="40" cy="40" r="40"/>
<g>
<path class="cls-3" d="M54.692,59.433v-17.283c-.01-.845-.302-1.62-.795-2.223-.664-.825-1.721-1.217-2.778-1.217h-20.737l-.322-.634-1.289-2.465-.211-.412c-.443-.875-.805-1.61-.805-1.61-.08-.171-.171-.322-.282-.473-.584-.825-1.5-1.368-2.527-1.449v-.02h-6.463c-1.923,0-3.483,1.579-3.483,3.521v26.185c0,1.942,1.56,3.521,3.483,3.521h32.736c1.027,0,1.953-.453,2.597-1.177l.292-.382s.01-.01.01-.02c.05-.07.101-.151.131-.231.01-.01.02-.03.03-.04.01-.02.02-.04.03-.06.04-.07.07-.141.111-.211.05-.121.091-.241.121-.362.111-.423.141-.926.151-1.418.01-.181.01-.362.01-.543v-.302c0-.251-.01-.483-.01-.694ZM31.932,48.005c0,1.006-.805,1.821-1.792,1.821h-8.707c-.987,0-1.792-.815-1.792-1.821v-2.817c0-1.006.805-1.821,1.792-1.821h8.707c.987,0,1.792.815,1.792,1.821v2.817Z"/>
<path class="cls-3" d="M21.435,45.158h8.7v2.823h-8.7v-2.823Z"/>
<path class="cls-2" d="M31.574,19.34v17.554c-.141-.131-2.356-4.557-2.356-4.557-.533-1.097-1.601-1.821-2.809-1.921v-9.637c-.01-.754.564-1.388,1.309-1.439h3.855Z"/>
<path class="cls-2" d="M65,33.117v26.99c0,.946-.755,1.71-1.681,1.71h-7.167v-1.76c.05-.765-.01-1.559.01-2.123h2.486c1.752-.05,3.151-1.509,3.111-3.289v-22.423h2.345c.493,0,.896.392.896.895Z"/>
<path class="cls-1" d="M58.643,15.125h-23.968c-.755.05-1.339.704-1.309,1.469v20.783h19.297c1.923,0,3.483,1.579,3.493,3.521v15.21h2.486c.765-.04,1.349-.694,1.319-1.469V16.594c.03-.765-.554-1.428-1.319-1.469ZM44.258,19.642h11.949c.503,0,.896.412.896.915s-.393.905-.896.905h-11.949c-.503,0-.906-.402-.906-.905s.403-.915.906-.915ZM37.141,19.642h3.372c.503,0,.906.412.906.915s-.403.905-.906.905h-3.372c-.503,0-.906-.402-.906-.905s.403-.915.906-.915ZM37.141,24.692h11.053c.493,0,.896.402.896.905s-.403.915-.896.915h-11.053c-.503,0-.906-.412-.906-.915s.403-.905.906-.905ZM56.207,31.552h-19.066c-.503,0-.906-.402-.906-.905s.403-.915.906-.915h19.066c.503,0,.906.412.906.915s-.403.905-.906.905ZM56.207,26.513h-4.208c-.493,0-.896-.412-.896-.915s.403-.905.896-.905h4.208c.503,0,.906.402.906.905s-.403.915-.906.915Z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

View file

@ -1,64 +1,71 @@
---
title: "Welcome to <i>The</i> Least-Authority File Store"
title: "Welcome <i>The</i> Least-Authority File Store"
layout: splash
author_profile: false
header:
overlay_color: "#101820"
overlay_image: /assets/images/overlay.png
overlay_color: "#000"
overlay_filter: "0.4"
overlay_image: /assets/images/overlay.jpg
actions:
- label: "Download"
url: "https://tahoe-lafs.org/downloads"
excerpt: >-
Tahoe-LAFS is a Free and Open decentralized cloud storage system.
caption: "Photo credit: [**Unsplash**](https://unsplash.com)"
excerpt: "Tahoe-LAFS is a Free and Open decentralized cloud storage system.
It distributes your data across multiple servers.<br/>
Even if some of the servers fail or are taken over by an attacker,
the entire file store continues to function correctly, preserving your privacy and security.
the entire file store continues to function correctly, preserving your privacy and security."
documentation:
- title: "Documentation"
- title: "Read Some Nice Docs"
documentation_list:
- image_path: /assets/images/overview.svg
- image_path: /assets/images/overview.jpg
image_caption: "Image courtesy of [Unsplash](https://unsplash.com/)"
alt: "overview"
title: "Overview"
excerpt: >-
<center>
<a href="https://tahoe-lafs.readthedocs.io/en/latest/about-tahoe.html">One-page summary</a>
</center>
- image_path: /assets/images/manual.svg
excerpt: '
This [one-page summary](https://tahoe-lafs.readthedocs.io/en/latest/about-tahoe.html) explains the unique properties of this system
'
- image_path: /assets/images/manual.jpg
image_caption: "Image courtesy of [Unsplash](https://unsplash.com/)"
alt: "manual"
title: "Manual"
excerpt: >-
<center>
<p><a href="https://tahoe-lafs.readthedocs.io/en/latest/Installation/install-tahoe.html">Installation Instructions</a></p>
<p><a href="http://tahoe-lafs.readthedocs.org/">Tahoe-LAFS Manual</a></p>
</center>
- image_path: /assets/images/wiki.svg
excerpt: '<ul>
<li><a href="https://tahoe-lafs.readthedocs.io/en/latest/Installation/install-tahoe.html">Installation Instructions</a></li>
<li><a href="http://tahoe-lafs.readthedocs.org/">Tahoe-LAFS Manual</a></li>
</ul>'
- image_path: /assets/images/wiki.jpg
image_caption: "Image courtesy of [Unsplash](https://unsplash.com/)"
alt: "wiki"
title: "Wiki"
excerpt: >-
<center>
<p><a href="https://tahoe-lafs.org/trac/tahoe-lafs/wiki/Doc">Index of docs</a></p>
<p><a href="https://tahoe-lafs.org/trac/tahoe-lafs/wiki/FAQ">Frequently Asked Questions</a></p>
</center>
excerpt: '<ul>
<li><a href="https://tahoe-lafs.org/trac/tahoe-lafs/wiki/Doc">Index of docs</a></li>
<li><a href="https://tahoe-lafs.org/trac/tahoe-lafs/wiki/FAQ">Frequently Asked Questions</a></li>
</ul>'
contribute:
- title: "Contribute"
- title: "Get Involved"
excerpt: ""
contribute_list:
- image_path: /assets/images/discussions.svg
- image_path: /assets/images/messaging.jpg
image_caption: "Image courtesy of [Unsplash](https://unsplash.com/)"
alt: "discussions"
title: "Discussions"
excerpt: '<ul>
<li>Join <a href="https://lists.tahoe-lafs.org/mailman/listinfo/tahoe-dev" target="_blank">the <b>tahoe-dev</b></a> mailing list</li>
<li>Join the <a href="https://libera.chat/" target="_blank"><b>#tahoe-lafs</b></a> channel on Libera</li>
<li>Meet us on <a href="https://meet.jit.si/AccurateFiltersManipulateBefore" target="blank"><b>Tuesday</b></a> at 17:00 UTC on Jitsi </li>
<li>Join our <a href="https://meet.jit.si/AccurateFiltersManipulateBefore" target="blank"><b>Tuesday 1700 UTC meetings</b></a>
<ul>
<li>First of the month for project governance</li>
<li>Others for technical discussions</li>
</ul>'
- image_path: /assets/images/issues.svg
- image_path: /assets/images/tickets.jpg
image_caption: "Image courtesy of [Unsplash](https://unsplash.com/)"
alt: "issues"
title: "Issues"
excerpt: '<ul>
<li>Visit the <a href="https://tahoe-lafs.org/trac/tahoe-lafs"><b>issue</b></a> tracker</li>
<!--<li>Register an <a href="https://forge.of.tahoe-lafs.org/user/sign_up"><b>account</b></a> to interact</li>-->
<li>Visit the <a href="https://code.lafs.eval.latfa.net/tahoe-lafs/trac/issues"><b>issue</b></a> tracker</li>
<li>Register an <a href="https://code.lafs.eval.latfa.net/user/sign_up"><b>account</b></a> to interact</li>
</ul>'
- image_path: /assets/images/code.svg
- image_path: /assets/images/code.jpg
image_caption: "Image courtesy of [Unsplash](https://unsplash.com/)"
alt: "code"
title: "Code"
excerpt: '<ul>
@ -66,30 +73,40 @@ contribute_list:
<li>Submit pull request with a valid issue number</li>
</ul>'
blog:
- title: "Latest News"
excerpt: ""
- title: "News"
excerpt: "Find here under a list of the latest articles on the subjects that matter for us."
about:
- title: "About us"
image_path: /assets/images/aboutus.png
alt: "aboutus"
excerpt: >-
Tahoe-LAFS is an open-source project supported by donations
and maintained by a group of hardy volunteers.
We are grateful for their energy, expertise, and support.
Check out some of the main contributors to this project!
excerpt: "Here comes something about us..."
about_list:
- title: "Volunteers"
excerpt: "Tahoe-LAFS is an open-source project supported by donations and maintained by a group of hardy volunteers...<br/>"
url: "https://tahoe-lafs.org/trac/tahoe-lafs/wiki/AboutUs"
btn_label: "Our Contributors"
btn_label: "Read More"
btn_class: "btn--primary"
- title: "Donation"
excerpt: 'You can donate to the Tahoe-LAFS project via BitCoin and PayPal.<br/><br/>
<a href="https://tahoe-lafs.org/trac/tahoe-lafs/wiki/BitCoinPage" target="_blank">
<img src="assets/images/bitcoin.png"></a>
<a href="https://www.paypal.com/donate?cmd=_s-xclick&hosted_button_id=XQM2LB4UC8V2J" target="_blank">
<img src="assets/images/paypal.png"></a>'
- title: "Sponsorship"
excerpt: "Please contact *secorp at secorp dot net* if you would like to sponsor Tahoe-LAFS."
- title: "Least Authority"
excerpt: '<a href="https://leastauthority.com/community-matters/open-source-development/" target="_blank">Least Authority</a> sells service and support for LAFS as well as developing improvements for LAFS and contributing them back to the Free and Open Source project.'
- title: "Google"
excerpt: 'Google, Inc. sponsored Tahoe-LAFS through its <a href="https://www.google-melange.com/archive/gsoc/2010/orgs/tahoe_lafs" target="_blank">Google Summer of Code</a> program in 2010 and 2013.<br/>'
- title: "Atlas Networks"
excerpt: '<a href="https://atlasnet.com/" target="_blank">Atlas Networks</a> provides dedicated server hosting for scale and performance testing.<br/>'
---
<div id="documentation">
{% include feature_row id="documentation" type="center" %}
{% include feature_row id="documentation_list" %}
</div>
<div id="contribute">
{% include feature_row id="contribute" type="center" %}
{% include feature_row id="contribute_list" %}
</div>
<div id="blog">
{% include feature_row id="blog" type="center" %}
<div class="entries-grid">
@ -107,8 +124,7 @@ about:
</div>
{% endfor %}
</div>
</div>
<br/><br/><br/>
<div id="about">
{% include feature_row id="about" type="left" %}
{% include feature_row id="about" type="center" %}
{% include feature_row id="about_list" %}
</div>