Commit 313aa1d4 authored by Carl Schwan's avatar Carl Schwan 🚴
Browse files

Port Plasma Mobile to Hugo

parent 9e60822b
img/test-lfs.txt filter=lfs diff=lfs merge=lfs -text
GIT
remote: https://invent.kde.org/websites/jekyll-kde-theme.git
revision: 96ace864b4acce3f3e518138146945f25229b37d
specs:
jekyll-kde-theme (0.4.0)
jekyll (~> 4.0)
jekyll-paginate
jekyll-seo-tag
GEM
remote: https://rubygems.org/
specs:
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0)
concurrent-ruby (1.1.8)
dimensions (1.3.0)
em-websocket (0.5.2)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
ffi (1.14.2)
forwardable-extended (2.6.0)
htmlbeautifier (1.3.1)
htmlcompressor (0.4.0)
http_parser.rb (0.6.0)
i18n (1.8.9)
concurrent-ruby (~> 1.0)
jekyll (4.2.0)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (~> 2.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.4.0)
pathutil (~> 0.9)
rouge (~> 3.0)
safe_yaml (~> 1.0)
terminal-table (~> 2.0)
jekyll-feed (0.15.1)
jekyll (>= 3.7, < 5.0)
jekyll-paginate (1.1.0)
jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0)
jekyll-seo-tag (2.7.1)
jekyll (>= 3.8, < 5.0)
jekyll-tidy (0.2.2)
htmlbeautifier
htmlcompressor
jekyll
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.3.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.4.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.6)
rb-fsevent (0.10.4)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.4)
rouge (3.26.0)
safe_yaml (1.0.5)
sassc (2.4.0)
ffi (~> 1.9)
terminal-table (2.0.0)
unicode-display_width (~> 1.1, >= 1.1.1)
unicode-display_width (1.7.0)
PLATFORMS
ruby
DEPENDENCIES
dimensions
jekyll
jekyll-feed
jekyll-kde-theme!
jekyll-seo-tag
jekyll-tidy
kramdown-parser-gfm
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely need to edit after that.
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'jekyll serve'. If you change this file, please restart the server process.
# Site settings
title: Plasma Mobile
email: admin@plasma-mobile.org
description: Plasma Mobile - Plasma in your pocket
baseurl: ""
url: "https://plasma-mobile.org"
twitter:
username: kdecommunity
card: summary
# Build settings
plugins:
- jekyll-feed
- jekyll-tidy
exclude:
- vendor
- build.rb
- Gemfile
- Gemfile.lock
- build.sh
- planet.*
markdown: kramdown
theme: jekyll-kde-theme
navigation:
top:
- title: Project
url: #
subnav:
- title: Vision
url: /vision
- title: Screenshots
url: /screenshots
- title: Task Board
url: https://phabricator.kde.org/project/view/28/
- title: Documentation
url: https://docs.plasma-mobile.org
- title: FAQ
url: /faq
- title: Roadmap
url: /roadmap
- title: Community
url: #
subnav:
- title: Contributing
url: /findyourway
- title: Join
url: /join
- title: Install
url: /get
- title: Blog
url: /blog
app_icon: /img/logo.svg
favicon: /favicon.png
social:
mastodon: https://fosstodon.org/@plasmamobile
<section class="swiper-container d-flex swiper-container-initialized swiper-container-horizontal mb-5" aria-label="Screenshots role=" list="">
<div class="swiper-wrapper d-flex my-3" role="listitem">
{% for screenshot in include.screenshots %}
<div class="swiper-slide {% if forloop.first %}swiper-slide-active{% endif %}">
<figure class="text-center">
<img src="{{ screenshot.url }}" alt="{{ screenshot.name }}" {% if include.shadow %}class="shadow"{% endif %}>
<figcaption class="mt-0">{{ screenshot.name }}</figcaption>
</figure>
</div>
{% endfor %}
</div>
<div class="swiper-pagination swiper-pagination-bullets"><span class="swiper-pagination-bullet swiper-pagination-bullet-active"></span><span class="swiper-pagination-bullet"></span><span class="swiper-pagination-bullet"></span><span class="swiper-pagination-bullet"></span><span class="swiper-pagination-bullet"></span><span class="swiper-pagination-bullet"></span></div>
<div class="swiper-button-prev swiper-button-disabled" tabindex="0" role="button" aria-label="Previous slide" aria-disabled="true"></div>
<div class="swiper-button-next" tabindex="0" role="button" aria-label="Next slide" aria-disabled="false"></div>
<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>
</section>
---
layout: page
---
<h1>Posts</h1>
{% for post in site.posts %}
<h3><a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a></h3>
<span class="post-date"><p class="muted">{{ post.date | date: "%b %-d, %Y" }}</p></span>
<p class="post-conent">{{ post.content | strip_html | truncatewords: 50 }}</p>
{% endfor %}
<p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | prepend: site.baseurl }}">via RSS</a></p>
<!DOCTYPE html>
<html lang="en">
{% include head.html %}
<link href="/css/findyourway/style.css" rel="stylesheet" />
<body>
{% include header.html %}
<main class="container">
{{ content }}
</main>
{% include footer.html %}
<script type="text/javascript" src="/js/jquery/jquery.js"></script>
<script src="/js/findyourway/handlebars.runtime.js"></script>
<script src="/js/findyourway/way.js"></script>
<script src="/js/findyourway/displayRender.js"></script>
<script src="/js/findyourway/foopy.js"></script>
<script src="/js/findyourway/l10n.js"></script>
</body>
</html>
---
layout: default
---
<link href="https://cdn.kde.org/aether-devel/kde-org/applications.css" rel="stylesheet">
<style>.swiper-container, .swiper-slide picture { height: 55vw; min-height: 340px; max-height: 540px; } .swiper-slide img { height: 45vw; min-height: 260px; max-height: 460px; } .swiper-pagination-bullet { width: 12px; height: 12px; } .swiper-slide { flex-shrink: initial; } main {overflow-x: hidden }</style>
<main class="container">
<div class="w3-container">
<div class="post-header">
<h1>{{ page.title }}</h1>
<p class="meta">{{ page.date | date: "%b %-d, %Y" }}{% if page.author %} • {{ page.author }}{% endif %}{% if page.meta %} • {{ page.meta }}{% endif %}</p>
</div>
<hr>
<article class="post-content">
{{ content }}
</article>
</div>
</main>
require 'dimensions'
module Jekyll
class SectionTagBlock < Liquid::Block
def initialize(tag_name, input, tokens)
super
@input = input
end
def markdown_converter
@context.registers[:site].find_converter_instance(::Jekyll::Converters::Markdown)
end
def render(context)
text = super
direction = "left"
app_name = ""
app_img = ""
app_img_shadow = "false"
app_img_alt = ""
# Attempt to parse the JSON if any is passed in
begin
if( !@input.nil? && !@input.empty? )
jdata = JSON.parse(@input)
if( jdata.key?("direction") )
direction = jdata["direction"].strip
end
if( jdata.key?("app_img_shadow") )
app_img_shadow = jdata["app_img_shadow"].strip
end
if( jdata.key?("app_name") )
app_name = jdata["app_name"].strip
end
app_img = jdata["app_img"].strip
app_img_alt = jdata["app_img_alt"].strip
end
rescue
end
file_name = app_img
file_name[0] = ''
size = Dimensions.dimensions(file_name)
output = "<section class='app-announcement #{direction}'>"
output += "<img src='/#{app_img}' class='shadow-#{app_img_shadow}' alt='#{app_img_alt}' width='#{size[0]}' height='#{size[1]}' />"
output += "<div>"
if app_name == ""
output += "#{Kramdown::Document.new(text).to_html}"
else
output += "<h3 class='mt-0'>#{app_name}</h3>#{Kramdown::Document.new(text).to_html}"
end
output += "</div>"
output += "</section>"
return output;
end
end
end
Liquid::Template.register_tag('section', Jekyll::SectionTagBlock)
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
#wrapper { #wrapper {
font-weight: 300; font-weight: 300;
text-shadow: 0 1px 0 #fff;
color: #333;
margin-top:0px; margin-top:0px;
text-align: center; text-align: center;
padding-top: 2em; padding-top: 2em;
...@@ -94,7 +92,6 @@ ...@@ -94,7 +92,6 @@
} }
.extra { .extra {
color: #666;
font-size: 20pt; font-size: 20pt;
font-weight: 600; font-weight: 600;
padding-bottom: 1em; padding-bottom: 1em;
...@@ -102,11 +99,6 @@ ...@@ -102,11 +99,6 @@
#footer { #footer {
margin-top: 6em; margin-top: 6em;
color: #666;
}
#footer a {
color: #555;
} }
.negative { .negative {
......
// SPDX-FileCopyrightText: 2021 Carl Schwan <carlschwan@kde.org>
// SPDX-License-Identifier: CC0-1.0
main figure {
width: 4rem;
}
---
# Only the main Sass file needs front matter (the dashes are enough)
---
@charset "utf-8"; @charset "utf-8";
@import "home.scss";
@import "download.scss";
.post-content > p > img { .post-content > p > img {
max-width: 100%; max-width: 100%;
......
// SPDX-FileCopyrightText: 2021 Carl Schwan <carlschwan@kde.org>
// SPDX-License-Identifier: CC0-1.0
main li img, main li figure {
width: 2rem;
display: inline-block;
}
.swiper-container, .swiper-slide img, .screenshot img {
height: 50vw;
min-height: 300px;
max-height: 500px
}
.swiper-pagination-bullet {
width: 12px;
height: 12px;
}
.swiper-slide {
flex-shrink: initial;
}
main {
overflow-y: hidden
}
baseURL: https://plasma-mobile.org/
canonifyURLs: true
defaultContentLanguage: en
enableGitInfo: true
enableRobotsTXT: true
title: Plasma Mobile
languages:
en:
contentDir: content/
languageCode: en
languageName: English
menu:
main:
- name: Project
weight: 2
- name: Task Board
url: https://phabricator.kde.org/project/view/28/
weight: 3
parent: Project
- name: Documentation
url: https://docs.plasma-mobile.org/
weight: 4
parent: Project
- name: Community
weight: 3
weight: 1
markup:
goldmark:
renderer:
unsafe: true
module:
imports:
- path: invent.kde.org/websites/aether-sass
outputs:
home:
- HTML
- RSS
section:
- HTML
params:
comments: false
commit: true
images:
- /thumbnail.png
readingTime: true
repoName: plasma-mobile-org
logo: /img/logo.svg
rss: true
selfHosted: true
useHLJS: true
wordCount: false
madeByKDE: true
pygmentsCodeFences: true
pygmentsCodefencesGuessSyntax: true
pygmentsStyle: trac
pygmentsUseClasses: true
summaryLength: 30
permalinks:
blog: /:year/:month/:day/:filename/
module:
imports:
- path: invent.kde.org/websites/aether-sass
- path: github.com/thednp/bootstrap.native
replacements: invent.kde.org/websites/aether-sass -> ../../aether-sass
---
title: Plasma Mobile
menu:
main:
weight: 1
---
--- ---
layout: blog layout: blog
title: Plasma Mobile Blog title: Plasma Mobile Blog
permalink: /blog/ menu:
main:
weight: 5
name: Blog
--- ---
--- ---
title: "Introduction" author: Martin Kacej
created_at: 2018-04-02 14:02:21 UTC created_at: 2018-04-02 14:02:21 UTC
author: Martin Kacej date: "2018-04-02T00:00:00Z"
layout: post title: Introduction
--- ---
<p style="text-align:justify;">Hello,</p> <p style="text-align:justify;">Hello,</p>
<p>so here it is, my first blog post ever, so my first bigger project, contribution to open-source and Linux desktop ever.</p> <p>so here it is, my first blog post ever, so my first bigger project, contribution to open-source and Linux desktop ever.</p>
......
--- ---
title: "Proposed design for mobile network settings" author: Martin Kacej
created_at: 2018-04-02 20:45:57 UTC created_at: 2018-04-02 20:45:57 UTC
author: Martin Kacej date: "2018-04-02T00:00:00Z"
layout: post title: Proposed design for mobile network settings
--- ---
<h4>Design</h4>
<p>While thinking of design, i looked on biggest &#8220;competitors&#8221; on mobile OS market &#8211; Android and iOS. Mainly i am taking design ideas from Android, since i am thinking it has good proportion between usability and functionality, while i am studying/following KDE Human Interface Guidelines, <a href="https://community.kde.org/KDE_Visual_Design_Group/HIG" rel="nofollow">https://community.kde.org/KDE_Visual_Design_Group/HIG</a> and as recommended i am using Kirigami 2 framework, which implement most of HIG rules by itself.</p> ## Design
While thinking of design, i looked on biggest &#8220;competitors&#8221; on mobile OS market &#8211; Android and iOS. Mainly i am taking design ideas from Android, since i am thinking it has good proportion between usability and functionality, while i am studying/following KDE Human Interface Guidelines, <a href="https://community.kde.org/KDE_Visual_Design_Group/HIG" rel="nofollow">https://community.kde.org/KDE_Visual_Design_Group/HIG</a> and as recommended i am using Kirigami 2 framework, which implement most of HIG rules by itself.
<p><span id="more-13"></span></p> <p><span id="more-13"></span></p>
<p>These are quick mock-ups:</p> <p>These are quick mock-ups:</p>
<p>Main list view with available connections and password dialog:</p> <p>Main list view with available connections and password dialog:</p>
...@@ -23,4 +26,4 @@ layout: post ...@@ -23,4 +26,4 @@ layout: post
<p>&nbsp;</p> <p>&nbsp;</p>
<p>Comparison between current desktop KCM and my proposal<img data-attachment-id="23" data-permalink="https://mkacej.wordpress.com/2018/04/02/proposed-design/kcm/" data-orig-file="https://mkacej.files.wordpress.com/2018/04/kcm.png" data-orig-size="922,824" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="kcm" data-image-description="" data-medium-file="https://mkacej.files.wordpress.com/2018/04/kcm.png?w=300" data-large-file="https://mkacej.files.wordpress.com/2018/04/kcm.png?w=840" class=" size-full wp-image-23 alignnone" src="https://mkacej.files.wordpress.com/2018/04/kcm.png?w=840" alt="kcm" srcset="https://mkacej.files.wordpress.com/2018/04/kcm.png?w=840 840w, https://mkacej.files.wordpress.com/2018/04/kcm.png?w=150 150w, https://mkacej.files.wordpress.com/2018/04/kcm.png?w=300 300w, https://mkacej.files.wordpress.com/2018/04/kcm.png?w=768 768w, https://mkacej.files.wordpress.com/2018/04/kcm.png 922w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></p> <p>Comparison between current desktop KCM and my proposal<img data-attachment-id="23" data-permalink="https://mkacej.wordpress.com/2018/04/02/proposed-design/kcm/" data-orig-file="https://mkacej.files.wordpress.com/2018/04/kcm.png" data-orig-size="922,824" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="kcm" data-image-description="" data-medium-file="https://mkacej.files.wordpress.com/2018/04/kcm.png?w=300" data-large-file="https://mkacej.files.wordpress.com/2018/04/kcm.png?w=840" class=" size-full wp-image-23 alignnone" src="https://mkacej.files.wordpress.com/2018/04/kcm.png?w=840" alt="kcm" srcset="https://mkacej.files.wordpress.com/2018/04/kcm.png?w=840 840w, https://mkacej.files.wordpress.com/2018/04/kcm.png?w=150 150w, https://mkacej.files.wordpress.com/2018/04/kcm.png?w=300 300w, https://mkacej.files.wordpress.com/2018/04/kcm.png?w=768 768w, https://mkacej.files.wordpress.com/2018/04/kcm.png 922w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></p>
<p><img data-attachment-id="17" data-permalink="https://mkacej.wordpress.com/2018/04/02/proposed-design/details-settings/" data-orig-file="https://mkacej.files.wordpress.com/2018/04/details-settings.png" data-orig-size="362,736" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="details-settings" data-image-description="" data-medium-file="https://mkacej.files.wordpress.com/2018/04/details-settings.png?w=148" data-large-file="https://mkacej.files.wordpress.com/2018/04/details-settings.png?w=362" class=" size-full wp-image-17 aligncenter" src="https://mkacej.files.wordpress.com/2018/04/details-settings.png?w=840" alt="details-settings" srcset="https://mkacej.files.wordpress.com/2018/04/details-settings.png 362w, https://mkacej.files.wordpress.com/2018/04/details-settings.png?w=74 74w, https://mkacej.files.wordpress.com/2018/04/details-settings.png?w=148 148w" sizes="(max-width: 362px) 85vw, 362px" /></p> <p><img data-attachment-id="17" data-permalink="https://mkacej.wordpress.com/2018/04/02/proposed-design/details-settings/" data-orig-file="https://mkacej.files.wordpress.com/2018/04/details-settings.png" data-orig-size="362,736" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="details-settings" data-image-description="" data-medium-file="https://mkacej.files.wordpress.com/2018/04/details-settings.png?w=148" data-large-file="https://mkacej.files.wordpress.com/2018/04/details-settings.png?w=362" class=" size-full wp-image-17 aligncenter" src="https://mkacej.files.wordpress.com/2018/04/details-settings.png?w=840" alt="details-settings" srcset="https://mkacej.files.wordpress.com/2018/04/details-settings.png 362w, https://mkacej.files.wordpress.com/2018/04/details-settings.png?w=74 74w, https://mkacej.files.wordpress.com/2018/04/details-settings.png?w=148 148w" sizes="(max-width: 362px) 85vw, 362px" /></p>
<p>I am mostly stripping functionality which does not have meaning in phones &#8211; phone has just one user, one network device or it will be possible to set just one IP address manually (on desktop you can have set to choose from multiple addresses ).</p> <p>I am mostly stripping functionality which does not have meaning in phones &#8211; phone has just one user, one network device or it will be possible to set just one IP address manually (on desktop you can have set to choose from multiple addresses ).</p>
\ No newline at end of file
--- ---
title: "Wireless setting for Plasma Mobile" author: Martin Kacej
created_at: 2018-05-03 20:35:47 UTC created_at: 2018-05-03 20:35:47 UTC
author: Martin Kacej date: "2018-05-03T00:00:00Z"
layout: post title: Wireless setting for Plasma Mobile
--- ---
<p>Month after my proposed design (but in truth i am working on this for longer time), i am finally finished basic functionality for wireless section of mobile settings. Basics of UI is also almost done, even it&#8217;s need some polishing and good criticism of designers.</p> <p>Month after my proposed design (but in truth i am working on this for longer time), i am finally finished basic functionality for wireless section of mobile settings. Basics of UI is also almost done, even it&#8217;s need some polishing and good criticism of designers.</p>
<p><span id="more-27"></span></p> <p><span id="more-27"></span></p>
......
--- ---
title: "Find your way to Plasma Mobile" author: Bhushan Shah
created_at: 2018-06-06 08:15:00 UTC created_at: 2018-06-06 08:15:00 UTC
author: Bhushan Shah date: "2018-06-06T00:00:00Z"
layout: post title: Find your way to Plasma Mobile
--- ---
<h3 id="find-your-own-way-to-help-develop-plasma-mobile"><a href="https://www.plasma-mobile.org/findyourway/">Find your own way</a> to help develop Plasma Mobile</h3> <h3 id="find-your-own-way-to-help-develop-plasma-mobile"><a href="https://www.plasma-mobile.org/findyourway/">Find your own way</a> to help develop Plasma Mobile</h3>
......
--- ---
title: "Akademy 2018" author: Marco Martin
created_at: 2018-08-20 14:49:06 UTC created_at: 2018-08-20 14:49:06 UTC
author: Marco Martin date: "2018-08-20T00:00:00Z"
layout: post title: Akademy 2018
--- ---
<p>The time for Akademy came this year as well, this year it was in the gorgeous Vienna, Austria.<br /> <p>The time for Akademy came this year as well, this year it was in the gorgeous Vienna, Austria.<br />
This year marks my 10th Akademy in a row, starting from my first one in Belgium in 2008.<br /> This year marks my 10th Akademy in a row, starting from my first one in Belgium in 2008.<br />
......
--- ---
title: "New Kirigami communication channels" author: Marco Martin
created_at: 2018-08-21 15:13:54 UTC created_at: 2018-08-21 15:13:54 UTC
author: Marco Martin date: "2018-08-21T00:00:00Z"
layout: post title: New Kirigami communication channels
--- ---
<p>Kirigami used to have a Telegram channel as its main communication channel. this is of course not optimal being a closed service and many potential contributors not having an account on Telegram.<br />