Reorganize docs and adapt ordering

This commit is contained in:
this.ven 2024-06-13 14:09:28 +02:00
parent 97568d8186
commit 9a19dbfbfa
23 changed files with 291 additions and 34 deletions

View file

@ -3,8 +3,8 @@ title: 'Privacy'
date: 2024-01-01T19:43:28+01:00
---
The hosting[^1] and [the way this site is built](/docs/website/) allows a high
degree of data minimization in addition to privacy.
The hosting[^1] and [the way this site is built](/docs/infrastructure/hugo/)
allows a high degree of data minimization in addition to privacy.
## Privacy policy
@ -27,7 +27,7 @@ legal obligation to retain it.
### Use of this Website
In general, you can browse this site without providing any personal data. The
chosen [Hugo theme](/docs/website/hugo/#choosing-a-theme) provides some
chosen [Hugo theme](/docs/infrastructure/hugo/#choosing-a-theme) provides some
convenient functions, including a search bar, a dark and light mode, a code copy
and scroll-to-top button, which are implemented using JavaScript (JS)[^4]. Feel
free to turn JS off or block certain scripts, if this is your security model.

View file

@ -96,12 +96,13 @@ control and site building automation.
## Know why, know what, know how
[Hugo](/docs/website/hugo/) is what I have found to be a sufficient solution to
address the aforementioned needs. I migrated the content of the former site[^9]
and added new documentation on [graphics](/docs/graphics/) design, for exmaple,
while I was recreating the color scheme, logo, and profile image. This way I can
share my experiences and knowledge together with the music I am able to create
absolutely independently through the people contributing to software freedom.
[Hugo](/docs/infrastructure/hugo/) is what I have found to be a sufficient
solution to address the aforementioned needs. I migrated the content of the
former site[^9] and added new documentation on [graphics](/docs/graphics/)
design, for exmaple, while I was recreating the color scheme, logo, and profile
image. This way I can share my experiences and knowledge together with the music
I am able to create absolutely independently through the people contributing to
software freedom.
{{< cards >}}
{{< card link="/about/" image="/images/profile.jpg" title="this.ven"

View file

@ -15,6 +15,4 @@ You can find the field of endeavour in the left pane and below.
subtitle="Infrastructural tools" >}}
{{< card link="tinkering/" title="Tinkering" icon="light-bulb"
subtitle="Do-It-Yourself Constructions" >}}
{{< card link="website/" title="Website" icon="globe"
subtitle="Website setup and customization" >}}
{{< /cards >}}

View file

@ -2,8 +2,7 @@
title: 'Computer'
date: 2024-03-31T17:27:21+02:00
next: /docs/computer/system-preparation
sidebar:
open: true
weight: 1
---
By the way, I use

View file

@ -0,0 +1,257 @@
---
title: 'Multimedia and web'
date: 2024-06-07T14:57:09+02:00
weight: 6
prev: /docs/computer/xfce-desktop
next: /docs/computer/office-tools
---
The multimedia category[^1] and the list of (Internet) applications[^2] provides
broad information on different software you can try. During the installation and
customization of the desktop environment in the previous guide you may have
noticed that I like to remove some of the Xfce applications. This is on purpose
as basic multimedia capabilities and essential internet applications are going
to be discussed here as follows:
1. Configuring the basic [#Sound system](#sound-system)
2. [#Media player](#media-player), codecs and tools installation
3. Playing and burning [#Optical discs](#optical-discs)
4. Applications for [#Image viewing and editing](#image-viewing-and-editing)
5. Setting up essential [#Internet applications](#internet-applications)
## Sound system
Since ALSA[^3] modules are included in the Linux kernel no manual installation
is necessary. The [alsa-utils](https://archlinux.org/packages/?name=alsa-utils)
package provides `amixer`, which is required for unmuting the channels, as they
are muted by default. Hence, I install the package via:
```bash
sudo pacman -Sy alsa-utils
```
and unmute typical channels of built-in audio interfaces:
```bash
amixer sset Master unmute
amixer sset Speaker unmute
amixer sset Headphone unmute
```
PulseAudio[^4] (PA) or just *pulse* is a general purpose sound server providing
modules for extended functionalities, such as support for bluetooth audio.
However, [PipeWire](https://wiki.archlinux.org/title/PipeWire) also implements
its features and is a simple and more modern successor to it. To manage pulse
clients a replacement service can be installed as follows:
```bash
sudo pacman -Sy pipewire-pulse
```
Normally, no further configuration is needed. The service is enabled by default
and will start on re-login or after rebooting. I start it immediatly executing:
```bash
systemctl --user start pipewire-pulse.service
```
To control the volume and other levels graphically I can use `alsamixer` in a
terminal or open the Xfce panel applet xfce4-pulseaudio-plugin[^5] leveraging
[pavucontrol](https://archlinux.org/packages/?name=pavucontrol). Both packages
might have been installed already in the previous guide due to dependencies of
the [xfce4-goodies](https://archlinux.org/groups/x86_64/xfce4-goodies/) package:
```bash
sudo pacman -Sy pavucontrol xfce4-pulseaudio-plugin
```
In the [Items](http://docs.xfce.org/xfce/xfce4-panel/preferences#items) tab of
panel preferences, I add the applet *PulseAudio-Module*. Additionally, I like to
activate multimedia key support in the preferences of the applet for keyboard
volume control. If this does not work for you, consider using `pactl` commands
and bind these to specific keys in the *Application shortcuts* tab of the
[Keyboard](https://docs.xfce.org/xfce/xfce4-settings/keyboard) preferences.
## Media player
As a substitute to Parole I like [mpv](https://wiki.archlinux.org/title/Mpv) to
be used as default media player to watch streams by leveraging the terminal app
[yt-dlp](https://wiki.archlinux.org/title/yt-dlp), for example. In addition, the
popular [VLC media player](https://wiki.archlinux.org/title/VLC_media_player) is
employed for other use cases such as DVD menus and media recording.
I Install their packages by invoking:
```bash
sudo pacman -Sy mpv vlc yt-dlp
```
{{< callout type="warning" >}}
Again, keep attention at the dialog with preset selection and opt to install
[pipewire-jack](https://archlinux.org/packages/?name=pipewire-jack) at first.
Details on JACK support are described in the [pro-audio](../pro-audio) guide.
{{< /callout >}}
### mpv configuration
Mpv can be configured to use hardware video acceleration, to create reproducible
screenshots and choose the best quality open codecs (VP9 and Opus) first during
streaming. I create a user configuration file `$HOME/.config/mpv/mpv.conf` and
set the aforementioned options using the following contents:
```{filename="~/.config/mpv/mpv.conf"}
hwdec=auto
screenshot-template="%F - [%P]v%#01n"
ytdl-format="((bestvideo[vcodec^=vp9]/bestvideo)+(bestaudio[acodec=opus]/bestaudio[acodec=vorbis]/bestaudio[acodec=aac]/bestaudio))/best"
```
[Custom profiles](https://wiki.archlinux.org/title/Mpv#Custom_profiles) and
[scripts](https://wiki.archlinux.org/title/Mpv#Scripts) maybe considered for any
more advanced features and use cases.
### Codecs
[Codecs and containers](https://wiki.archlinux.org/title/Codecs_and_containers)
are diverse and broadly supported by mpv and VLC media player. I like to use
[FLAC](https://xiph.org/flac) and [Opus](https://opus-codec.org) for audio, and
VP9[^6] and Matroska[^7] (MKV) for video. However, MP3 is still a popular audio
format and [H.264](https://en.wikipedia.org/wiki/H.264) or the High Efficiency
Video Coding (HVEC/H.265) the for MP4 container[^8] is a de facto video format
standard. Additionally, the Advanced Audio Coding (AAC) and Xvid codecs provide
interoperability with older media. For this reason, I install the following
packages, if they are not already installed due to dependencies:
```bash
sudo pacman -Sy faac flac lame libvorbis opus
sudo pacman -Sy libtheora libvpx x264 x265 xvidcore
```
## Optical discs
### Playing CD, DVD and Blu-ray
Playing [CD](https://wiki.archlinux.org/title/Optical_disc_drive#CD), [DVD](https://wiki.archlinux.org/title/Optical_disc_drive#DVD) and [Blu-ray](https://wiki.archlinux.org/title/Blu-ray#Playback) media requires access libraries installed as follows if not provided by dependencies already:
sudo pacman -Sy libaacs libbluray libcdio libdvdcss libdvdnav libdvdread libmpeg2
**Note:** Adding the user account to the `optical` group is not necessary anymore to play optical media.
### Rip Audio CDs
By default Audio CDs can be mounted in the same way other block devices are mounted and show [Compact Disc Digital Audio](https://en.wikipedia.org/wiki/Compact_Disc_Digital_Audio) tracks as [WAV](https://en.wikipedia.org/wiki/WAV) files using [cdfs](https://en.wikipedia.org/wiki/CDfs). You can copy those WAV files to rip the Audio CD and convert them hereafter (see [Post-processing](https://wiki.archlinux.org/title/Rip_Audio_CDs#Post-processing)). For tagging audio files I install the package [kid3-qt](https://archlinux.org/packages/?name=kid3-qt) to use the [KDE](https://wiki.archlinux.org/title/KDE) independent Qt version of [Kid3](https://kid3.kde.org):
sudo pacman -Sy kid3-qt
### CD, DVD and Blu-ray burning
Although Xfce comes with [Xfburn](https://docs.xfce.org/apps/xfburn/start), in my oppinion [Brasero](https://wiki.gnome.org/Apps/Brasero) provides essential features regarding audio CD creation (such as [CD-Text](https://en.wikipedia.org/wiki/CD-Text) editing). Install the package [brasero](https://archlinux.org/packages/?name=brasero):
sudo pacman -Sy brasero
## Image viewing and editing
A fast [image viewer](https://wiki.archlinux.org/title/List_of_applications/Multimedia#Image_viewers) with support for [Raw image format](https://en.wikipedia.org/wiki/Raw_image_format) and capable of typical modifications (crop, resize, rotate, etc.) is [nomacs](https://nomacs.org) provided by a package with the same name installable with:
yay -Sy nomacs
### Meta data stripping
Other editing tasks include stripping [meta data]() (capture device information and [GPS]() positional data). This can be achieved using the [exiftool](https://sno.phy.queensu.ca/~phil/exiftool), a [Perl](https://wiki.archlinux.org/title/Perl) script. After the following installation command just run `exiftool -all= *` in the directory of images you want to process:
sudo pacman -Sy perl-image-exiftool
### Graphics editing
More advanced graphics editing employs [GIMP](https://wiki.archlinux.org/title/GIMP), [Inkscape](https://wiki.archlinux.org/title/Inkscape) and maybe [Scribus](https://www.scribus.net) for [desktop publishing](https://en.wikipedia.org/wiki/Desktop_publishing). Install their packages using:
sudo pacman -Sy gimp inkscape scribus
To use advanced filters and decorations use [Gmic](https://www.gmic.eu). Additionally, install the [poppler-glib](https://archlinux.org/packages/?name=poppler-glib) package for enabling PDF support:
sudo pacman -Sy gimp-plugin-gmic poppler-glib
Creating new projects from templates in Inkscape also requires the following installation of a [Python](https://wiki.archlinux.org/title/Python) library if it is not installed due to dependencies of Inkscape:
sudo pacman -Sy python-lxml
### QR code generation
Instead of using web services like [Free QR Code Generator](https://qr-code-generator.org) to generate a [QR code](https://en.wikipedia.org/wiki/QR_code), you can use `qrencode --output=example_url_qr-code.png --size=10 'https://example.org'` to create a PNG graphic for the URL [https://example.org](https://example.org) using 10 dots (pixels) per module after installation of its package:
sudo pacman -Sy qrencode
## Internet applications
Browsing a [website](https://en.wikipedia.org/wiki/Website), receiving and sending [email](https://en.wikipedia.org/wiki/Email) or using instant messaging are fairly common Internet applications and almost indispensable these days.
**Note:** These subsections only cover basic installation and setup. Further configuration for improved security and privacy is discussed in the guides of [/cybersec](cybersec/README.md).
### Web browser
Though [Firefox](https://wiki.archlinux.org/title/Firefox) by [Mozilla](https://www.mozilla.org) is a standards and privacy respecting web browser, I prefer [LibreWolf](https://librewolf.net) for even greater privacy, security and freedom as primary web browser. Install the package [librewolf-bin](https://aur.archlinux.org/packages/librewolf-bin) as follows:
yay -Sy librewolf-bin
#### Spell checking
[Spell-checking](https://wiki.archlinux.org/title/Firefox#Spell_checking) is provided by [hunspell](https://wiki.archlinux.org/title/Language_checking#Spell_checkers) and its directories packages installed for German as follows:
sudo pacman -Sy hunspell hunspell-de
#### Blob download
Some websites embed content such as videos in blob format. [Video Download Helper](https://www.downloadhelper.net) can be used for downloading blobs. Open LibreWolf and install the [Video Download Helper add-on](https://addons.mozilla.org/de/firefox/addon/video-downloadhelper/). A precompiled binary version of the necessary companion application can be installed via the AUR package [vdhcoapp-bin](https://aur.archlinux.org/packages/vdhcoapp-bin/) as follows:
yay -Sy vdhcoapp-bin
### Email client
[Thunderbird](https://wiki.archlinux.org/title/Thunderbird), as a popular email client besides other communication capabilities, manages retrieving and sending of emails as well as [news feeds](https://en.wikipedia.org/wiki/Web_feed). Similar to Firefox its GUI translation is provided by a language pack for e.g. German and both packages are installed using:
sudo pacman -Sy thunderbird thunderbird-i18n-de
**Note:** For [spell-checking](https://wiki.archlinux.org/title/Thunderbird#Spell_checking) Thunderbird uses hunspell and its directories similar to Firefox as previously described in [#Spell checking](#spell-checking).
### Instant messaging
#### IRC client
Text-based chat known as [Internet Relay Chat](https://en.wikipedia.org/wiki/Internet_Relay_Chat) (IRC) has already been used since the early years of the internet and is still favored in project communities (e.g. [Arch IRC channels](https://wiki.archlinux.org/title/Arch_IRC_channels)). For that reason I recommend an IRC client such as [HexChat](https://wiki.archlinux.org/title/HexChat). The package [hexchat](https://archlinux.org/packages/?name=hexchat) is installed by:
sudo pacman -Sy hexchat
#### Mattermost client
[Mattermost](https://www.mattermost.org) is a self-hostable solution for team communication and alternative to the propietary Slack. Install the package [mattermost-desktop](https://archlinux.org/packages/?name=mattermost-desktop) to use the client application:
sudo pacman -Sy mattermost-desktop
#### Other clients
Other messaging solutions like [Matrix](https://matrix.org), [XMPP](https://xmpp.org) (previously Jabber) or [Signal](https://signal.org) provide packages for clients (sometimes through AUR). [Element](https://element.io) is a reference Matrix client and available as package [element-desktop](https://archlinux.org/packages/?name=element-desktop). For XMPP I prefer [Dino](https://dino.im) which offers [Off-the-Record Messaging](https://en.wikipedia.org/wiki/Off-the-Record_Messaging) and is very streamlined. The [signal-desktop](https://archlinux.org/packages/?name=signal-desktop) package provides the desktop application which needs to be connected to the App installed on a smartphone or tablet. To install all of those packages use the following command:
sudo pacman -Sy dino element-desktop signal-desktop
**Note:** A comparison of messengers focused on privacy and security and can be found in the [Messenger-Matrix](https://www.messenger-matrix.de).
### Cloud services
Some applications benefit from being connected to cloud services. As these imply further considerations there are no instructions at this point. Instructions on bookmark synchronization in LibreWolf or calendar and contacts synchronization in Thunderbird can be found in the [/cybersec](cybersec/README.md) guides.
## Next up
The next guide deals with [Maintainance and peripherals](04-maintainance_and_peripherals.md) to get an overview on the system state, automating reoccuring tasks, using several utilities and configuring peripherals.
[^1]: [Category:Multimedia](https://wiki.archlinux.org/title/Category:Multimedia)
in the ArchWiki
[^2]: [List_of_applications/Internet](https://wiki.archlinux.org/title/List_of_applications/Internet)
in the ArchWiki
[^3]: [Advanced Linux Sound Architecture](https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture)
in the ArchWiki
[^4]: [PulseAudio](https://wiki.archlinux.org/title/PulseAudio) in the ArchWiki
[^5]: The [xfce4-pulseaudio-plugin](https://docs.xfce.org/panel-plugins/xfce4-pulseaudio-plugin/start)
in the Xfce Developer Wiki
[^6]: [VP9](https://en.wikipedia.org/wiki/VP9) in the Wikipedia
[^7]: [Matroska](https://en.wikipedia.org/wiki/Matroska) in the Wikipedia
[^8]: [MP4 file format](https://en.wikipedia.org/wiki/MP4_file_format) in the
Wikipedia

View file

@ -3,7 +3,7 @@ title: 'Xfce desktop'
date: 2024-05-19T16:20:19+02:00
weight: 5
prev: /docs/computer/advanced-networking
next: /docs/computer/multimedia-internet
next: /docs/computer/multimedia-web
---
[Xfce](https://wiki.archlinux.org/title/Xfce) is a lightweight but full-featured
@ -318,7 +318,7 @@ xfdesktop &
```
For setting up multimedia capabilities and Internet technologies proceed with
the next guide [Multimedia and Internet](../multimedia-internet).
the next guide [Multimedia and web](../multimedia-web).
[^1]: [Desktop Environment](https://wiki.archlinux.org/title/Desktop_environment)
in the ArchWiki

View file

@ -1,6 +1,7 @@
---
title: 'Graphics'
date: 2024-02-03T10:56:13+01:00
weight: 2
---
{{< cards >}}

View file

@ -1,6 +1,7 @@
---
title: 'Colors'
date: 2024-03-03T01:28:02+01:00
weight: 1
---
A color scheme[^1] is used to create the style and appeal of a project. It adds
@ -43,9 +44,9 @@ be exported into several formats. A handy visual reference is the SVG (Figma):
caption="10 shades of the Persley color" >}}
However, the Tailwind (HSL) export provides the values for Hue, Saturation, and
Lighting to set the [Hugo theme colors](/docs/website/hugo/custom-css/#colors),
for example. Thus, I copy and paste the text of each export option
into single `.css` files in addition to the `.svg` (Figma) export:
Lighting to set [custom colors](/docs/infrastructure/hugo/custom-css/#colors)
for a Hugo theme, for example. Thus, I copy and paste the text of each export
option into single `.css` files in addition to the `.svg` (Figma) export:
{{< filetree/container >}}
{{< filetree/folder name="colors" >}}

View file

@ -1,6 +1,7 @@
---
title: 'Logo Design'
date: 2024-01-27T20:13:10+01:00
weight: 2
---
I'm not that much into graphics design and this is not supposed to be a full

View file

@ -1,6 +1,7 @@
---
title: 'Profile Image'
date: 2024-01-31T22:19:42+01:00
weight: 3
---
In addition to a [logo design](../logo-design/) a profile image is another means

View file

@ -1,11 +1,13 @@
---
title: 'Infrastructure'
date: 2024-02-06T22:25:56+01:00
weight: 3
---
Self-hosting[^1] is a great way for decentralization, autonomy and privacy. As
I'm trying to be a good role model I share my knowledge by documenting the whole
infrastructure setup.
infrastructure setup. [Uberspace](https://uberspace.de/) is used for hosting and
enables running additional services by myself, too.
{{< cards >}}
{{< card link="eturnal/" title="eturnal"
@ -16,6 +18,10 @@ infrastructure setup.
image="forgejo/img/forgejo-wordmark.svg"
imageStyle="aspect-ratio: 16/9; object-fit:contain;"
subtitle="Using Forgejo for version control" >}}
{{< card link="hugo/" title="Hugo"
image="hugo/img/hugo-logo-wide.svg"
imageStyle="aspect-ratio: 16/9; object-fit:contain;"
subtitle="Website building using Hugo, a static site generator" >}}
{{< card link="icecast/" title="Icecast"
image="icecast/img/icecast-logo.svg"
imageStyle="aspect-ratio: 16/9; object-fit:contain;"

View file

@ -1,6 +1,7 @@
---
title: 'eturnal'
date: 2024-02-25T19:46:23+01:00
weight: 1
---
As issues with coturn[^1] rendered it unusable most of the time, I researched

View file

@ -1,6 +1,7 @@
---
title: 'Forgejo'
date: 2024-02-04T17:52:58+01:00
weight: 2
---
[Forgejo](https://forgejo.org/) enables me to share the sources of my projects

View file

@ -1,6 +1,7 @@
---
title: 'Hugo'
date: 2024-02-04T17:41:46+01:00
weight: 3
---
After some years of manually creating`.html` source files I switch to using a

View file

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View file

@ -1,6 +1,7 @@
---
title: 'Icecast'
date: 2024-02-26T07:41:44+01:00
weight: 4
---
[Icecast](https://icecast.org/) is a streaming media server supporting open

View file

@ -1,6 +1,7 @@
---
title: 'Matrix'
date: 2024-02-25T11:24:58+01:00
weight: 5
---
[Matrix](https://matrix.org/) aims to be a secure but simple standard featuring

View file

@ -1,6 +1,7 @@
---
title: 'Nextcloud'
date: 2024-02-25T13:48:03+01:00
weight: 6
---
[Nextcloud](https://nextcloud.com/), written in PHP[^1] primarily serves as a

View file

@ -1,6 +1,7 @@
---
title: 'Tinkering'
date: 2024-02-28T12:10:00+01:00
weight: 4
---
The art of tinkering[^1] is a great way to construct yourself tools and learn

View file

@ -1,15 +0,0 @@
---
title: 'Website'
date: 2024-02-04T17:26:52+01:00
---
Find information on how I build this site. [Uberspace](https://uberspace.de/) is
used for hosting and enables running [infrastructure](/docs/infrastructure/) by
myself, too.
{{< cards >}}
{{< card link="hugo/" title="Hugo"
image="hugo/img/hugo-logo-wide.svg"
imageStyle="aspect-ratio: 16/9; object-fit:contain;"
subtitle="Website building using Hugo, a static site generator" >}}
{{< /cards >}}