Commit f9d27d0b authored by Phu Nguyen's avatar Phu Nguyen
Browse files

Port to Hugo

- Share pages and the "home" style with other sites
- Ready for i18n
parent acda6dfa
_site
Gemfile.lock
.jekyll-metadata
.sass-cache
.bundle
.jekyll-cache
vendor
public
*.swp
resources
po[st]
locale
source "https://rubygems.org"
ruby RUBY_VERSION
gem "jekyll"
gem "jekyll-kde-theme", :git => 'https://invent.kde.org/websites/jekyll-kde-theme.git'
#If you have any plugins, put them here!
# group :jekyll_plugins do
# end
# Source code for website: kontact.kde.org
# Kontact Website
[Link to the website](https://kontact.kde.org)
[![Build Status](https://binary-factory.kde.org/buildStatus/icon?job=Website_kontact-kde-org)](https://binary-factory.kde.org/job/Website_kontact-kde-org/)
This is the git repository for [kontact.kde.org, the website for Kontact](https://kontact.kde.org).
## Installation instructions
As a (Hu)Go module, it requires both Hugo and Go to work.
```bash
gem install bundler --user-install
bundle install --path vendor/bundle
bundle exec jekyll serve
```
### Development
Read about the shared theme at [kde-hugo wiki](https://invent.kde.org/websites/aether-sass/-/wikis/Hugo)
## License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
A copy of the GNU Affero General Public License should be available at [kontact.kde.org/LICENSE/AGPL-3.0-or-later.txt](https://kontact.kde.org/LICENSES/AGPL-3.0-or-later.txt).
The content of the website (text and image) is also available under the Creative Commons Attribution Share Alike 4.0 International license. A copy of the license is availabe at [kontact.kde.org/LICENSES/CC-BY-SA-4.0.txt](https://kontact.kde.org/LICENSES/CC-BY-SA-4.0.txt).
For more information, see [KDE Licensing policy](https://community.kde.org/Policies/Licensing_Policy).
### I18n
See [hugoi18n](https://invent.kde.org/websites/hugo-i18n)
#!/usr/bin/env bash
export FILENAME="kontact-kde-org"
function export_pot_file # First parameter is the path of the pot file we have to create, containing $FILENAME
{
potfile=$1
hugoi18n extract $potfile
}
function import_po_files # First parameter is the path of a directory containing several .po files named as $lang.po
{
export LANG=en_US.UTF-8
podir=$1
hugoi18n -q compile $podir
hugoi18n -q generate
}
# Site settings
title: Kontact Suite - The Powerful PIM Solution
email: kde-pim@kde.org
description: >
Kontact: handle your emails, calendars and contacts within a single window
baseurl: "" # the subpath of your site, e.g. /blog
url: "https://kontact.kde.org"
twitter_username: kde_community
github_username: kde
source-code: https://invent.kde.org/websites/kontact-kde-org
git: https://invent.kde.org/pim/kontact.git
forum: http://forum.kde.org/
app_icon: "assets/img/icon-kontact.svg"
hide-title-nav: true
# Build settings
markdown: kramdown
theme: jekyll-kde-theme
sass:
style: compressed
defaults:
- scope:
path: "assets/img"
values:
image: true
collections:
components:
output: true
navigation:
top:
- title: Kontact
url: /
components:
- title: Kontact Features
url: /components/kontact.html
large: true
background: '/assets/img/kontact-menu-features.png'
- title: KMail
url: /components/kmail.html
background: '/assets/img/icon-kmail.svg'
- title: KOrganizer
url: /components/korganizer.html
background: '/assets/img/icon-korganizer.svg'
- title: KAddressBook
url: /components/kaddressbook.html
background: '/assets/img/icon-kaddressbook.svg'
- title: Akregator
url: /components/akregator.html
background: '/assets/img/icon-akregator.svg'
- title: KNotes
url: /components/knotes.html
background: '/assets/img/icon-knotes.svg'
- title: Akonadi
url: /components/akonadi.html
background: '/assets/img/icon-akonadi.png'
- title: Download
url: /download.html
- title: Get Involved
url: /get-involved.html
- title: For Users
url: /users.html
- title: Donate
url: https://www.kde.org/donate
bottom:
- name: Community
items:
- title: Forums
url: https://forum.kde.org/
- name: News & Press
items:
- title: KDE Announcements
url: https://www.kde.org/announcements/
- title: KDE.news
url: https://dot.kde.org/
- title: Planet KDE
url: https://planet.kde.org/
- name: Privacy
items:
- title: Privacy Policy
url: https://community.kde.org/KDE_PIM/Privacy_Policy
announcements: ""
exclude:
- Gemfile
- Gemfile.lock
- vendor
<svg width="48" xmlns="http://www.w3.org/2000/svg" height="48" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="a" y1="543.8" y2="503.8" x2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.125 0 0 1-51.07 0)">
<stop stop-color="#c6cdd1"/>
<stop offset="1" stop-color="#e0e5e7"/>
</linearGradient>
<linearGradient id="b" y1="543.8" y2="503.8" x2="0" gradientUnits="userSpaceOnUse">
<stop stop-color="#1d1e1e"/>
<stop offset="1" stop-color="#44484c"/>
</linearGradient>
<linearGradient xlink:href="#a" id="c" y1="506.8" y2="504.8" x2="0" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#a" id="d" y1="508.8" y2="506.8" gradientUnits="userSpaceOnUse" x2="0"/>
<linearGradient xlink:href="#a" id="e" y1="510.8" y2="508.8" gradientUnits="userSpaceOnUse" x2="0"/>
<linearGradient xlink:href="#a" id="f" y1="512.8" y2="510.8" gradientUnits="userSpaceOnUse" x2="0"/>
<linearGradient xlink:href="#a" id="g" y1="514.8" y2="512.8" gradientUnits="userSpaceOnUse" x2="0"/>
<linearGradient xlink:href="#a" id="h" y1="516.8" y2="514.8" gradientUnits="userSpaceOnUse" x2="0"/>
<linearGradient xlink:href="#a" id="i" y1="518.8" y2="516.8" gradientUnits="userSpaceOnUse" x2="0"/>
<linearGradient xlink:href="#a" id="j" y1="520.8" y2="518.8" gradientUnits="userSpaceOnUse" x2="0"/>
<linearGradient xlink:href="#a" id="k" y1="523.8" y2="520.8" gradientUnits="userSpaceOnUse" x2="0"/>
<linearGradient xlink:href="#a" id="l" y1="33" y2="25" x2="0" gradientUnits="userSpaceOnUse"/>
<linearGradient id="m" y1="7" x1="10" y2="32" x2="35" gradientUnits="userSpaceOnUse">
<stop stop-color="#383e51"/>
<stop offset="1" stop-color="#655c6f" stop-opacity="0"/>
</linearGradient>
</defs>
<g transform="translate(-384.57-499.8)">
<g stroke-opacity=".55" stroke-width="2.8">
<rect width="36" x="390.57" y="503.8" fill="url(#a)" height="40"/>
<rect width="8" x="404.57" y="503.8" fill="url(#b)" height="40"/>
</g>
<path opacity=".2" fill="url(#m)" fill-rule="evenodd" d="m28 7v3h-3l3 3v1h-3l3 3v1h-3l3 3v1h-3l17 17v-18l-2-2zm-2 18v4h-1v4h-2l11 11h8v-3l-2-2z" transform="translate(384.57 499.8)"/>
<g stroke-opacity=".55" stroke-width="2.8">
<path fill="url(#c)" d="m404.57 504.8v3h3v-1h1v-1h-1v-1z"/>
<path fill="url(#d)" d="m412.57 506.8v3h-3v-1h-1v-1h1v-1z"/>
<path fill="url(#e)" d="m404.57 508.8v3h3v-1h1v-1h-1v-1z"/>
<path fill="url(#f)" d="m412.57 510.8v3h-3v-1h-1v-1h1v-1z"/>
<path fill="url(#g)" d="m404.57 512.8v3h3v-1h1v-1h-1v-1z"/>
<path fill="url(#h)" d="m412.57 514.8v3h-3v-1h-1v-1h1v-1z"/>
<path fill="url(#i)" d="m404.57 516.8v3h3v-1h1v-1h-1v-1z"/>
<path fill="url(#j)" d="m412.57 518.8v3h-3v-1h-1v-1h1v-1z"/>
<path fill="url(#k)" d="m404.57 520.8v3h3v-1h1v-1h-1v-1z"/>
<path fill="url(#l)" d="m22 25v4h1v4h2v-4h1v-4zm1 1h2v2h-2z" transform="translate(384.57 499.8)"/>
<rect width="36" x="390.57" y="542.8" fill="#99a1a7" height="1"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 122.52 122.52"
height="122.52"
width="122.52"
xml:space="preserve"
id="svg2"
version="1.1"><metadata
id="metadata8"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs6" /><g
transform="matrix(1.3333333,0,0,-1.3333333,0,122.52)"
id="g10"><g
transform="scale(0.1)"
id="g12"><path
id="path14"
style="fill:#f05033;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 901.543,500.352 500.352,901.527 c -23.094,23.11 -60.567,23.11 -83.692,0 L 333.359,818.211 439.031,712.535 c 24.563,8.293 52.727,2.727 72.297,-16.847 19.688,-19.696 25.203,-48.102 16.699,-72.75 L 629.883,521.094 c 24.648,8.496 53.066,3.004 72.754,-16.711 27.5,-27.492 27.5,-72.059 0,-99.574 -27.52,-27.516 -72.078,-27.516 -99.61,0 -20.683,20.703 -25.8,51.097 -15.312,76.582 l -95,94.992 V 326.414 c 6.699,-3.32 13.027,-7.742 18.613,-13.312 27.5,-27.497 27.5,-72.059 0,-99.598 -27.5,-27.488 -72.09,-27.488 -99.57,0 -27.5,27.539 -27.5,72.101 0,99.598 6.797,6.789 14.668,11.925 23.066,15.363 v 252.281 c -8.398,3.438 -16.25,8.531 -23.066,15.367 -20.828,20.821 -25.84,51.395 -15.156,76.977 L 292.422,777.285 17.3242,502.211 c -23.10545,-23.129 -23.10545,-60.602 0,-83.711 L 418.535,17.3242 c 23.098,-23.10545 60.559,-23.10545 83.692,0 L 901.543,416.641 c 23.113,23.113 23.113,60.605 0,83.711" /></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 88 88"><path d="m0 12.402 35.687-4.8602.0156 34.423-35.67.20313zm35.67 33.529.0277 34.453-35.67-4.9041-.002-29.78zm4.3261-39.025 47.318-6.906v41.527l-47.318.37565zm47.329 39.349-.0111 41.34-47.318-6.6784-.0663-34.739z" fill="#00adef"/></svg>
\ No newline at end of file
.overlay::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.3);
}
.product-anchor {
display: block;
position: relative;
top: -52px; /* compensate for sticky header */
visibility: hidden;
}
.main {
.block:nth-of-type(odd) {
background-color: #eff1f1;
}
.block:nth-of-type(even) {
background-color: #fff;
}
}
.light-text {
h1 {
color: #EEE;
}
a {
color: #abdaf9;
}
}
.kAppInfo {
display: flex;
flex-direction: column-reverse;
img {
max-width: 100%;
@media(min-width: 768px) {
max-width: 40%;
height: auto;
margin: 15px;
}
}
.kappInfo-content {
margin: 15px;
}
@media(min-width: 768px) {
flex-direction: row;
align-items: center;
}
}
#akonadi-logo {
width: 50%;
height: auto;
margin: auto;
@media(min-width: 768px) {
max-width: 30%;
}
}
// Description of Application Suite in box
#kWelcome {
font-size: 18px;
border-radius: 2px;
border: solid 1px #abdaf9;
background-color: #e1f2ff;
color: #375a7d;
padding: 10px 20px;
margin-top: 60px;
margin-bottom: 60px;
text-align: center;
p {
padding: 0;
margin: 0;
}
}
@media (min-width: 768px) {
div.block:nth-of-type(odd) .kAppInfo {
flex-direction: row-reverse;
}
}
baseURL: https://kontact.kde.org
canonifyURLs: true
defaultContentLanguage: en
enableGitInfo: true
enableRobotsTXT: true
i18n:
content:
default:
globs:
- content/*.md
- content/components/*.md
genToOtherDir: true
others:
- title
- description
- menu
- strings
languages:
en:
languageCode: en
languageName: English
menu:
main:
- name: Donate
url: https://kde.org/donate
weight: 5
params:
description: Kontact - handle your emails, calendars and contacts within a single window
title: Kontact Suite
weight: 1
markup:
goldmark:
renderer:
unsafe: true
highlight:
noClasses: false
module:
imports:
- path: invent.kde.org/websites/aether-sass
outputs:
home:
- HTML
- RSS
section:
- HTML
params:
images:
- /assets/img/kontact-summary.png
- /assets/img/kontact-kmail.png
- /assets/img/kontact-kaddressbook.png
- /assets/img/kontact-korganizer.png
- /assets/img/kontact-akregator.png
logo: /assets/img/icon-kontact.svg
repoName: kontact-kde-org
showPatrons: false
rssLimit: 4
summaryLength: 30
module:
imports:
- path: invent.kde.org/websites/aether-sass
- path: github.com/thednp/bootstrap.native
replacements: invent.kde.org/websites/aether-sass -> ../../aether-sass
---
menu:
main:
name: Kontact
weight: 1
params:
components:
- name: Kontact Features
url: /components/kontact
large: true
background: '/assets/img/kontact-menu-features.png'
- name: KMail
url: /components/kmail
background: '/assets/img/icon-kmail.svg'
- name: KOrganizer
url: /components/korganizer
background: '/assets/img/icon-korganizer.svg'
- name: KAddressBook
url: /components/kaddressbook
background: '/assets/img/icon-kaddressbook.svg'
- name: Akregator
url: /components/akregator
background: '/assets/img/icon-akregator.svg'
- name: KNotes
url: /components/knotes
background: '/assets/img/icon-knotes.svg'
- name: Akonadi
url: /components/akonadi
background: '/assets/img/icon-akonadi.png'
title: Kontact Suite - The Powerful PIM Solution
---
---
layout: component
name: Akonadi
title: Akonadi
shortDescription:
description:
screenshot: /assets/img/akonadi.png
css-include: /css/component.css
order: 70
weight: 70
---
The Akonadi framework, named after the oracle goddess of justice in Ghana
......
---
layout: component
name: Akregator
title: Akregator
screenshot: /assets/img/kontact-akregator.png
shortDescription: Stay on top of the news with our RSS reader.
description: >
Akregator is an RSS feed reader. It can automatically download RSS feeds
from your favorite sites and allows you to read the articles even when you
are offline. Also provides rich search functionality and archiving features.
css-include: /css/component.css
order: 40
weight: 40
---
Akregator helps you to keep informed about new stories on websites like KDE
......
---
layout: component
name: KAddressBook
title: KAddressBook
screenshot: /assets/img/kontact-kaddressbook.png
shortDescription: Manage your contacts easily.
description: >
KAddressBook allows you to manage your contacts easily. It is deeply
integrated with the rest of Kontact, allowing you to easily pick your
contacts when sending an email or creating a meeting invitation.
css-include: /css/component.css
order: 30
weight: 30
---
KAddressBook stores all the personal details of your family, friends and
......@@ -22,12 +21,12 @@ server.
* **Duplicate detection and merging.** KAdressbook can find duplicated contacts
from multiple sources can merge them into a single contact.
* **Integration.** Integrates with other Kontact components, e.g. exporting
Birthday reminders to [KOrganizer](korganizer.html).
Birthday reminders to [KOrganizer](../korganizer).
* **QR codes.** KAddressbook can display a QR code for each contact to quickly
scan it into your phone or send to someone.
* **Good standard support.** KAddresbook can import and export contacts from
and to nearly every address book standard.
* **LDAP integration.** Can connect to multiple LDAP servers, which can then
be used for contact autocompletion when composing emails in
[KMail](kmail.html).
[KMail](../kmail).
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment