Verified Commit 82718026 authored by Gabriele Musco's avatar Gabriele Musco
Browse files

website v2 based on hugo and hugo-ada-project-showcase

parent aecd3b3f
website/style.css
*__pycache__*
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
resources/
.deploy*/
image: registry.gitlab.com/pages/hugo/hugo_extended
variables:
GIT_SUBMODULE_STRATEGY: recursive
test:
script:
- hugo
pages:
image: alpine:latest
stage: deploy
script:
- apk add sassc
- sassc website/style.scss website/style.css
- mkdir .public
- cp -r website/* .public
- mv .public public
- hugo
artifacts:
paths:
- public
......
[submodule "themes/ada-project-showcase"]
path = themes/ada-project-showcase
url = https://gitlab.com/gabmus/hugo-ada-project-showcase.git
This diff is collapsed.
This diff is collapsed.
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---
baseURL = "https://hydrapaper.gabmus.org/"
languageCode = "en-us"
title = "HydraPaper"
theme = "ada-project-showcase"
copyright = "Gabriele Musco"
disableKinds = ["RSS", "section", "categories", "tags"]
[params]
links = [
["Features", "#features"],
["Install", "#install"],
["Hack", "#hack"],
["Support", "#support"]
]
logo = "/logo-symbolic.svg"
favicon = "favicon.png"
license = "CC-BY-SA-4.0"
licenseLink = "https://creativecommons.org/licenses/by-sa/4.0/"
# Features
## Add any folder to your collection
Manage your collection simply with folders, then add all of them to HydraPaper. You can enable or disable them with just a click.
![](/screenshots/folders.png)
## Pick your favorites
We all have favorite wallpapers for any mood. Add them as favorites, and quickly find them back in the *Favorites* section.
![](/screenshots/favorites.png)
## Adapt your wallpapers
Set your wallpapers as zoomed, centered, or fitted, with either a black background or a blurred version of the selected wallpaper.
![](/screenshots/modes.png)
## Go random
You can quickly set random wallpapers, even from the app launcher. Fresh wallpapers in seconds.
![](/screenshots/random.png)
![](/screenshots/randomshortcut.png)
## Do it your way
Many available options allow you to customize your experience to your liking.
![](/screenshots/preferences.png)
## HydraPaper ❤️ CLI
Most of what the GUI allows you to do, you can do from the command line. Great for custom scripts.
![](/screenshots/cli.png)
# Hack
HydraPaper is written using Python 3 and GTK. It’s free software, released under the GPL3 license. Feel free to browse the source code on the [GitLab repository](https://gitlab.gnome.org/gabmus/hydrapaper), fork it, make changes or open issues!
# Support
Have you found a bug? Do you want a new feature? Whatever the case, opening an issue is never a bad idea. You can do that on [HydraPaper's issues page](https://gitlab.gnome.org/GabMus/hydrapaper/-/issues)
- title: My other projects
links:
- title: Feeds
link: https://gfeeds.gabmus.org
- title: Giara
link: https://giara.gabmus.org
- title: What IP
link: https://whatip.gabmus.org
- title: Notorious
link: https://notorious.gabmus.org
- title: Ada UI
link: https://gitlab.com/gabmus/ada-ui
- title: About me
links:
- title: My personal website
link: https://gabmus.org
- title: My GitLab
link: https://gitlab.com/gabmus
- title: My GNOME GitLab
link: https://gitlab.gnome.org/gabmus
- title: Donate on LiberaPay
link: https://liberapay.com/gabmus/
enabled: true
title: Install
downloads:
- distro: Flathub
button_title: Download on Flathub
button_link: https://flathub.org/apps/details/org.gabmus.hydrapaper
- distro: Arch Linux
icon: arch
button_title: View the AUR page
button_link: https://aur.archlinux.org/packages/hydrapaper-git/
commands: |
yay -S hydrapaper-git
- distro: Fedora
commands: |
sudo dnf install hydrapaper
- distro: Debian (unstable)
icon: debian
commands: |
sudo apt install hydrapaper
- distro: Source code
icon: gitlab
button_title: Browse the GitLab repository
button_link: https://gitlab.gnome.org/gabmus/hydrapaper
- type: markdown
data: features
- type: downloads
data: install
- type: markdown
data: hack_support
enabled: true
icon: /logo.svg
title: HydraPaper
subtitle: Wallpaper manager with multi monitor support
picture: /screenshots/mainwindow.png
gradient:
angle: -55deg
stop1: "#3584e4"
stop2: "#33d17a"
buttons:
- title: Install
link: "#install"
- title: Discover the features
link: "#features"
outline: true
......@@ -6,4 +6,4 @@
<path d="m4 3c-0.55078 0-1 0.44922-1 1v5c0 0.55078 0.44922 1 1 1h1v-5h8v-1c0-0.55078-0.44922-1-1-1z"/>
<path d="m1 0c-0.55078 0-1 0.44922-1 1v5c0 0.55078 0.44922 1 1 1h1v-5h8v-1c0-0.55078-0.44922-1-1-1z"/>
</g>
</svg>
<script xmlns=""/></svg>
\ No newline at end of file
......@@ -118,4 +118,4 @@
</g>
</g>
</g>
</svg>
<script xmlns=""/></svg>
\ No newline at end of file
#!/bin/bash
meson . build
meson configure -Dprefix=$PWD/build/testdir build
ninja -C build
ninja -C build install
GTK_THEME=Adwaita ninja -C build run &
sleep 5
gnome-screenshot -w -f website/screenshots/mainwindow.png
xdotool key --delay 100 Tab Shift+Tab Shift+Tab Shift+Tab Shift+Tab Shift+Tab Shift+Tab Return
sleep 0.5
gnome-screenshot -w -f website/screenshots/folders.png
sleep 3
xdotool key --delay 100 Escape Tab Tab Tab Return
sleep 0.5
gnome-screenshot -w -f website/screenshots/favorites.png
sleep 3
xdotool key --delay 100 Shift+Tab Return Tab Tab Return
sleep 0.5
gnome-screenshot -w -f website/screenshots/random.png
sleep 3
xdotool key --delay 100 Down Return
sleep 0.5
gnome-screenshot -w -f website/screenshots/preferences.png
xdotool key Alt+F4
sleep 3
xdotool key Alt+F4
Subproject commit 6a2d2dfe487d2eb27c9d93c10beb07004fd1f4e2
function getCookie(name) {
for (let cookie of document.cookie.split(';')) {
cookie = cookie.trim();
if (cookie.split('=')[0] == name) {
return cookie.split('=')[1].replace(';', '').trim();
}
}
console.log('no cookie');
return null;
}
function setCookie(name, value) {
document.cookie = `${name}=${value}`;
}
function darktoggle() {
let body = document.getElementsByTagName('body')[0];
body.className = body.className == 'darkmode' ? '' : 'darkmode';
setCookie(
'org.gabmus.darkmode',
body.className == 'darkmode' ? '1' : '0'
);
}
var browserPrefersDarkMode = window.getComputedStyle(
document.getElementById('color_preference_detector')
).content === '"dark"';
if (getCookie('org.gabmus.darkmode') == null) {
setCookie(
'org.gabmus.darkmode',
browserPrefersDarkMode ? '1' : '0'
);
}
if (getCookie('org.gabmus.darkmode') == '1') {
darktoggle();
}
const debounce = (fn) => {
let frame;
return (...params) => {
if (frame) {
cancelAnimationFrame(frame);
}
frame = requestAnimationFrame(() => {
fn(...params);
});
}
};
const storeScroll = () => {
document.documentElement.dataset.scroll = window.scrollY;
}
document.addEventListener('scroll', debounce(storeScroll), { passive: true });
storeScroll();
/* latin */
@font-face {
font-family: 'Red Hat Display';
font-style: italic;
font-weight: 400;
font-display: swap;
src: local('Red Hat Display It'), local('RedHatDisplay-Italic'), url('./RedHatDisplay-Italic.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
font-family: 'Red Hat Display';
font-style: italic;
font-weight: 500;
font-display: swap;
src: local('Red Hat Display Medium It'), local('RedHatDisplay-MediumItalic'), url('./RedHatDisplay-MediumItalic.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
font-family: 'Red Hat Display';
font-style: italic;
font-weight: 700;
font-display: swap;
src: local('Red Hat Display Bold It'), local('RedHatDisplay-BoldItalic'), url('./RedHatDisplay-BoldItalic.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
font-family: 'Red Hat Display';
font-style: italic;
font-weight: 900;
font-display: swap;
src: local('Red Hat Display Black It'), local('RedHatDisplay-BlackItalic'), url('./RedHatDisplay-BlackItalic.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
font-family: 'Red Hat Display';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Red Hat Display'), local('RedHatDisplay-Regular'), url('./RedHatDisplay-Regular.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
font-family: 'Red Hat Display';
font-style: normal;
font-weight: 500;
font-display: swap;
src: local('Red Hat Display Medium'), local('RedHatDisplay-Medium'), url('./RedHatDisplay-Medium.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
font-family: 'Red Hat Display';
font-style: normal;
font-weight: 700;
font-display: swap;
src: local('Red Hat Display Bold'), local('RedHatDisplay-Bold'), url('./RedHatDisplay-Bold.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
font-family: 'Red Hat Display';
font-style: normal;
font-weight: 900;
font-display: swap;
src: local('Red Hat Display Black'), local('RedHatDisplay-Black'), url('./RedHatDisplay-Black.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
<?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"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
sodipodi:docname="bug.svg"
id="svg4"
viewBox="0 0 128 128"
version="1.1"
height="128"
width="128">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
inkscape:current-layer="svg4"
inkscape:window-maximized="1"
inkscape:window-y="27"
inkscape:window-x="0"
inkscape:cy="113.31382"
inkscape:cx="-32.016375"
inkscape:zoom="1.4169757"
inkscape:snap-page="true"
showgrid="false"
id="namedview6"
inkscape:window-height="1376"
inkscape:window-width="2560"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10"
gridtolerance="10"
objecttolerance="10"
borderopacity="1"
bordercolor="#666666"
pagecolor="#ffffff" />
<rect
ry="20"
y="0"
x="0"
height="128"
width="128"
id="rect835"
style="fill:#3584e4;stroke-width:3;stroke-dashoffset:50;paint-order:fill markers stroke" />
<path
style="fill:#ffffff"
id="path2"
stroke-width="7.1111"
fill="#555555"
d="M 76.222089,64.000258 H 51.777912 V 51.778169 h 24.444177 m 0,36.667126 H 51.777912 V 76.223206 H 76.222089 M 112.88921,39.55608 H 95.717103 C 92.96709,34.789363 89.178173,30.695023 84.595019,27.578055 L 94.556082,17.616992 85.939088,8.999999 72.67801,22.261077 c -2.811115,-0.672223 -5.622229,-1.038903 -8.678009,-1.038903 -3.055608,0 -5.866723,0.36667 -8.616995,1.038903 L 42.060913,8.999999 l -8.616994,8.616993 9.900046,9.961063 c -4.522224,3.11671 -8.31114,7.211136 -11.061067,11.978025 H 15.110786 v 12.222089 h 12.772092 c -0.305562,2.016704 -0.550003,4.033324 -0.550003,6.111131 v 6.11113 H 15.110786 v 12.222089 h 12.222089 v 6.11113 c 0,2.077806 0.244441,4.094425 0.550003,6.11113 H 15.110786 V 100.66687 H 32.282898 C 38.638521,111.6059 50.432984,119 64.000001,119 c 13.567017,0 25.361134,-7.39444 31.717102,-18.33313 H 112.88921 V 88.444779 h -12.77209 c 0.30555,-2.016705 0.55,-4.033324 0.55,-6.11113 v -6.11113 h 12.22209 V 64.00043 H 100.66712 V 57.8893 c 0,-2.077807 -0.24445,-4.094427 -0.55,-6.111131 h 12.77209 z" />
</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"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
sodipodi:docname="code.svg"
id="svg4"
viewBox="0 0 128 128"
version="1.1"
height="128"
width="128">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
inkscape:current-layer="svg4"
inkscape:window-maximized="1"
inkscape:window-y="27"
inkscape:window-x="0"
inkscape:cy="91.206549"
inkscape:cx="75.623763"
inkscape:zoom="2.8339514"
showgrid="false"
id="namedview6"
inkscape:window-height="1376"
inkscape:window-width="2560"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10"
gridtolerance="10"
objecttolerance="10"
borderopacity="1"
bordercolor="#666666"
pagecolor="#ffffff" />
<rect
rx="20"
style="fill:#3584e4;stroke-width:3;stroke-dashoffset:50;paint-order:fill markers stroke"
id="rect835"
width="128"
height="128"
x="-4.7045899e-07"
y="-3.6901855e-07"
ry="20" />
<path
style="fill:#ffffff"
id="path2"
stroke-width="6.0952"
fill="#555555"
d="M 37.678594,61.380832 H 79.583602 V 71.856656 H 37.678594 V 61.380832 M 48.154416,103.28584 H 27.201912 V 19.475825 H 63.869009 V 45.66624 H 90.059424 V 61.904195 L 100.53525,51.428373 V 40.428328 L 69.10692,9.0000025 H 27.201912 A 10.475822,10.475822 0 0 0 16.72609,19.475825 v 83.810015 a 10.475822,10.475822 0 0 0 10.475822,10.47582 H 48.154416 V 103.28584 M 37.678594,92.810017 H 59.15446 l 4.714291,-4.714291 v -5.76196 H 37.678336 V 92.809588 M 101.58343,66.619174 c 0.52381,0 1.57146,0.523809 2.09525,1.047582 l 6.80954,6.809543 c 1.04759,1.047582 1.04759,3.142832 0,4.190501 l -5.23808,5.238083 -11.000042,-11.000043 5.23808,-5.238084 c 0.523812,-0.523808 1.047582,-1.047582 2.095252,-1.047582 m 0,20.428282 L 69.630883,119 H 58.63084 V 107.99996 L 90.583387,76.047414 Z" />
</svg>
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>HydraPaper - Wallpaper manager with multi monitor support</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="./style.css">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<span id="color_preference_detector"></span>
<nav>
<ul>
<li><a href="#">
<img src="./logo-symbolic.svg" />
<strong>HydraPaper</strong>
</a></li>
<li class="spacer"></li>
<li><a href="#features">Features</a></li>
<li><a href="#install">Install</a></li>
<li><a href="#hack">Hack</a></li>
<li><a href="#support">Support</a></li>
<li>
<a id="darkmodetoggle" onclick="darktoggle()">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
<path d="M6.81 1.102A7 7 0 0 0 1 8a7 7 0 0 0 7 7 7 7 0 0 0 4.594-1.729A8.797 8.797 0 0 1 6 4.766a8.797 8.797 0 0 1 .81-3.664z" style="isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1;marker:none" color="#000" overflow="visible" fill="#fff"/>
</svg>
</a>
</li>
</ul>
</nav>
<div id="jumbotron" style="background-image: linear-gradient(-55deg, #3584e4, #33d17a);">
<div class="content">
<div>
<div class="hbox">
<img src="logo.svg" alt="Logo" />
<div class="title">
<h1>HydraPaper</h1>
<p>Wallpaper manager with multi monitor support</p>
</div>
</div>
<a class="link_button" href="#install">Install</a>
<a class="link_button link_button_border" href="#features">Discover the features</a>
</div>
<img src="screenshots/mainwindow.png" alt="Main Window" />
</div>
</div>
<main>
<div id="mainContent">
</div>
</main>
<footer>
<h4>My other projects</h4>
<ul>
<li><a target="_blank" href="https://gabmus.gitlab.io/gnome-feeds">Feeds</a></li>
<li><a target="_blank" href="https://gabmus.gitlab.io/notorious">Notorious</a></li>
<li><a target="_blank" href="https://gabmus.gitlab.io/whatip">What IP</a></li>
</ul>
<p>
<span id="yearspan">2020</span> © Gabriele Musco -
<a href="https://creativecommons.org/licenses/by-sa/4.0/">CC-BY-SA-4.0</a>
</p>
</footer>
<script>