Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add projects and cross-link xvowl #102

Merged
merged 1 commit into from
Sep 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions content/projects/configarr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
title: "Introducing Configarr: Streamlining Configuration Management for Sonarr and Radarr"
date: 2024-08-01T09:00:00+01:00
draft: false
language: en
featured_image: ../assets/images/featured/configarr-banner.png
page_link: https://github.com/raydak-labs/configarr
summary: Discover Configarr, a powerful tool for synchronizing configurations between Sonarr, Radarr, and TRaSH Guides, simplifying media server management.
description: Learn about Configarr, an open-source project that automates the process of keeping your Sonarr and Radarr configurations in sync with TRaSH Guides and custom settings, enhancing your media server setup.
author: raydak
authorimage: ../assets/images/global/author.webp
tags: [
"configarr",
"sonarr",
"radarr",
]
categories: [
"tools",
"media-management",
]
---

In the world of media server management, keeping your configurations up-to-date and consistent can be a challenging task. Today, we're excited to introduce Configarr, a powerful tool designed to simplify this process for Sonarr and Radarr users.

## What is Configarr?

Configarr is an open-source configuration and synchronization tool specifically created for Sonarr and Radarr, two popular media management applications. It aims to streamline the process of maintaining and updating configurations, custom formats, and quality profiles across your media server setup[8].

## Key Features

Configarr offers a range of features that make it stand out:

1. **TRaSH Guides Integration**: Easily sync custom formats and settings from the popular TRaSH Guides directly into your Sonarr and Radarr instances[8].

2. **Custom Format Support**: In addition to TRaSH Guides, Configarr allows you to include your own defined custom formats, giving you more flexibility in managing your media library[8].

3. **Multiple Configuration Sources**: Configarr supports syncing from TRaSH Guides, local files, and configurations defined directly in the tool's config file[8].

4. **Flexible Deployment Options**: Run Configarr using Docker, docker-compose, or even as a Kubernetes CronJob for regular synchronization[8].

5. **Compatibility**: Currently supports Sonarr v4 and Radarr v4, ensuring you're working with the latest versions of these applications[8].

## Why Use Configarr?

Managing media servers can be time-consuming, especially when it comes to keeping up with best practices and optimal configurations. Configarr addresses this by:

- **Automating Updates**: Stay current with the latest recommended settings from TRaSH Guides without manual intervention.
- **Enhancing Consistency**: Ensure all your instances are configured identically, reducing discrepancies and potential issues.
- **Saving Time**: Spend less time on configuration management and more time enjoying your media library.

## Getting Started

To start using Configarr, you'll need a few things:

1. A `config.yml` file to define your synchronization settings.
2. A `secrets.yml` file for storing sensitive information like API keys.
3. Optionally, custom format definitions in local files or within your config.

For a detailed setup guide and examples, visit the [Configarr GitHub repository](https://github.com/raydak-labs/configarr).

## Community and Contributions

Configarr is an open-source project, and we welcome contributions from the community. Whether you're interested in adding new features, improving documentation, or reporting bugs, your input is valuable in making Configarr even better.

## Conclusion

Configarr represents a significant step forward in simplifying media server management. By bridging the gap between Sonarr, Radarr, and community-driven configuration guides, it offers a streamlined solution for maintaining optimal settings. Give Configarr a try and experience the benefits of automated configuration management for your media server setup.

For more information and to get started with Configarr, visit the [official GitHub repository](https://github.com/raydak-labs/configarr).

Happy media managing!
58 changes: 58 additions & 0 deletions content/projects/xvowl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
author: "raydak"
title: "xVOWL: Advancing Ontology Visualization"
date: "2024-09-08"
summary: "Exploring xVOWL, an innovative project aimed at enhancing ontology visualization techniques beyond WebVOWL and LDVOWL."
page_link: "https://xvowl.raydak.de"
tags: [
"xvowl",
"ontology",
"visualization"
]
categories: [
"Semantic Web",
"Data Visualization",
"Project Development"
]
series: ["Ontology Visualization Tools"]
featured_image: "../noimage"
---

In the ever-evolving landscape of semantic web technologies, ontology visualization plays a crucial role in making complex data structures more accessible and understandable. Today, we're excited to introduce xVOWL, our cutting-edge project that aims to push the boundaries of ontology visualization beyond the capabilities of existing tools like WebVOWL and LDVOWL.

## What is xVOWL?

xVOWL is an innovative project currently under evaluation and development at [xvowl.raydak.de](https://xvowl.raydak.de). Our goal is to create a more powerful and intuitive visualization tool for ontologies, building upon the foundations laid by its predecessors.

## The Evolution of Ontology Visualization

### WebVOWL

WebVOWL, a web-based visualization of ontologies, has been a significant player in this field. It implements the Visual Notation for OWL Ontologies (VOWL) and is based on open web standards[4]. WebVOWL automatically generates visualizations from JSON files, making it a versatile tool for ontology representation[4].

### LDVOWL

While not as widely known as WebVOWL, LDVOWL has also contributed to the advancement of ontology visualization techniques. It builds upon the concepts introduced by WebVOWL, offering its own unique features and improvements.

## xVOWL: The Next Step

xVOWL aims to address limitations in existing tools and introduce new features that enhance the user experience and functionality of ontology visualization. Some key areas we're focusing on include:

1. **Improved Performance**: Handling larger and more complex ontologies with smoother rendering and interaction.
2. **Enhanced Customization**: Offering more options for users to tailor the visualization to their specific needs.
3. **Advanced Filtering**: Implementing sophisticated filtering mechanisms to focus on relevant parts of the ontology.
4. **Interactive Exploration**: Developing more intuitive ways to navigate and explore ontological relationships.

## Current Status and Future Directions

As xVOWL is still in the evaluation and development phase, we're actively working on refining our concepts and implementing core features. We're drawing inspiration from the success of WebVOWL, which has been widely adopted and even integrated into various applications and frameworks[5].

Our team is committed to creating a tool that not only visualizes ontologies but also aids in their understanding and analysis. We believe that by improving upon existing visualization techniques, xVOWL can become an invaluable asset for semantic web developers, researchers, and enthusiasts alike.

## Get Involved

We invite the community to follow our progress and contribute to the development of xVOWL. Visit our project page at [xvowl.raydak.de](https://xvowl.raydak.de) for the latest updates, documentation, and ways to get involved.

As we continue to develop xVOWL, we're excited about the potential impact it could have on the field of ontology visualization. Stay tuned for more updates as we work towards revolutionizing how we interact with and understand complex ontological structures.


9 changes: 8 additions & 1 deletion hugo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ enableInlineShortcodes: true

imaging:
quality: 95
resampleFilter: lanczos # see https://gohugo.io/content-management/image-processing/#resampling-filter
resampleFilter: Lanczos # see https://gohugo.io/content-management/image-processing/#resampling-filter

markup:
goldmark:
Expand Down Expand Up @@ -69,3 +69,10 @@ build:
target: js
- source: assets/.*\.(.*)$
target: $1

menu:
main:
- identifier: projects
name: Projekte
url: /projects/
weight: 10
98 changes: 98 additions & 0 deletions layouts/partials/nav.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,104 @@
:class="{'flex': open, 'hidden': !open}"
class="hidden flex-grow flex-col pb-4 md:flex md:flex-row md:justify-end md:pb-0"
>
{{ range site.Menus.main }}
{{ if (eq "complexdropdown" .Pre) }}
<div @click.away="open = false" class="relative" x-data="{ open: false }">
<button @click="open = !open"
class="flex flex-row items-center w-full px-4 py-2 mt-2 text-sm font-semibold text-left bg-transparent rounded-lg dark-mode:focus:text-white dark-mode:hover:text-white dark-mode:focus:bg-gray-600 dark-mode:hover:bg-gray-600 md:w-auto md:inline md:mt-0 md:ml-4 hover:text-white focus:text-white hover:bg-primary-600 focus:bg-primary-600 focus:outline-none focus:shadow-outline">
<span>{{ .Name }}</span>
<svg fill="currentColor" viewBox="0 0 20 20" :class="{'rotate-180': open, 'rotate-0': !open}"
class="inline w-4 h-4 mt-1 ml-1 transition-transform duration-200 transform md:-mt-1">
<path fill-rule="evenodd"
d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z"
clip-rule="evenodd"></path>
</svg>
</button>
<div x-show="open" x-transition:enter="transition ease-out duration-100"
x-transition:enter-start="transform opacity-0 scale-95"
x-transition:enter-end="transform opacity-100 scale-100"
x-transition:leave="transition ease-in duration-75"
x-transition:leave-start="transform opacity-100 scale-100"
x-transition:leave-end="transform opacity-0 scale-95"
class="absolute right-0 z-30 w-full mt-2 origin-top-right md:max-w-sm md:w-screen">
<div class="px-2 pt-2 pb-4 bg-white rounded-md shadow-lg text-zinc-900">
<div class="grid grid-cols-1 gap-4">
{{ range (index site.Menus .Identifier) }}
<a class="flex items-start p-2 bg-transparent rounded-lg group row hover:text-white focus:text-white hover:bg-primary-600 focus:bg-primary-700 focus:outline-none focus:shadow-outline"
href="{{ .URL | absLangURL }}">
<div class="p-3 text-white bg-primary-600 rounded-lg group-hover:bg-gray-900">
{{ if (eq .Pre "stars") }}
<svg fill="none" stroke="currentColor" stroke-linecap="round"
stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"
class="w-4 h-4 md:h-6 md:w-6">
<path
d="M5 3v4M3 5h4M6 17v4m-2-2h4m5-16l2.286 6.857L21 12l-5.714 2.143L13 21l-2.286-6.857L5 12l5.714-2.143L13 3z">
</path>
</svg>
{{ else if (eq .Pre "comments") }}
<svg fill="none" stroke="currentColor" stroke-linecap="round"
stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"
class="w-4 h-4 md:h-6 md:w-6">
<path
d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z">
</path>
</svg>
{{ else }}
<svg fill="none" stroke="currentColor" stroke-linecap="round"
stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"
class="w-4 h-4 md:h-6 md:w-6">
<path d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z">
</path>
<path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z">
</path>
</svg>
{{ end }}

</div>
<div class="ml-3">
<p class="font-semibold">{{ .Name }}</p>
<p class="text-sm">{{ .Post }}</p>
</div>
</a>
{{ end }}
</div>
</div>
</div>
</div>
{{ else if (eq "dropdown" .Pre) }}
<div @click.away="open = false" class="relative" x-data="{ open: false }">
<button @click="open = !open"
class="flex flex-row items-center w-full px-4 py-2 mt-2 text-sm font-semibold text-left bg-transparent rounded-lg md:w-auto md:inline md:mt-0 md:ml-4 hover:text-white focus:text-white hover:bg-primary-600 focus:bg-primary-600 focus:outline-none focus:shadow-outline">
<span>{{ .Name }}</span>
<svg fill="currentColor" viewBox="0 0 20 20" :class="{'rotate-180': open, 'rotate-0': !open}"
class="inline w-4 h-4 mt-1 ml-1 transition-transform duration-200 transform md:-mt-1">
<path fill-rule="evenodd"
d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z"
clip-rule="evenodd"></path>
</svg>
</button>
<div x-show="open" x-transition:enter="transition ease-out duration-100"
x-transition:enter-start="transform opacity-0 scale-95"
x-transition:enter-end="transform opacity-100 scale-100"
x-transition:leave="transition ease-in duration-75"
x-transition:leave-start="transform opacity-100 scale-100"
x-transition:leave-end="transform opacity-0 scale-95"
class="absolute right-0 z-30 w-full mt-2 origin-top-right rounded-md shadow-lg md:w-48">
<div class="px-2 py-2 text-primary-900 bg-white rounded-md shadow">
{{ range (index site.Menus .Identifier) }}
<a class="block px-4 py-2 mt-2 text-sm font-semibold bg-transparent rounded-lg md:mt-0 hover:text-white focus:text-white hover:bg-primary-600 focus:bg-primary-600 focus:outline-none focus:shadow-outline"
href="{{ .URL | absLangURL }}">{{- .Name -}}</a>
{{ end }}
</div>
</div>
</div>
{{ else }}
<a class="px-4 py-2 mt-2 text-sm font-semibold rounded-lg md:mt-0 md:ml-4 hover:text-white focus:text-white hover:bg-primary-600 focus:bg-primary-700 focus:outline-none focus:shadow-outline"
href="{{ .URL | absLangURL }}" title="{{ .Title | default .Name }}">
{{ .Name }}
</a>
{{ end }}
{{ end }}
<button
id="theme-toggle"
type="button"
Expand Down
26 changes: 19 additions & 7 deletions layouts/partials/posts-template.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,19 @@
<div class="flex flex-col overflow-hidden rounded-lg shadow-lg bg-gray-50 dark:bg-gray-900">
<a href="{{.Permalink}}">
{{ with .Params.featured_image }}
{{ with resources.Get . }}
{{ $postimage := (.Resize "500x webp q90").RelPermalink }}
<img src="{{ $postimage }}" class="object-fill overflow-hidden rounded-t-lg" width="100%" height=""
loading="lazy" alt="{{ .Title }}" />

{{ end }}
{{ if strings.HasPrefix . "http" }}
<img src="{{ . }}" class="object-fill overflow-hidden rounded-t-lg" width="100%" height=""
loading="lazy" alt="{{ $.Title }}" />
{{ else }}
{{ with resources.Get . }}
{{ $postimage := (.Resize "500x webp q90").RelPermalink }}
<img src="{{ $postimage }}" class="object-fill overflow-hidden rounded-t-lg" width="100%" height=""
loading="lazy" alt="{{ $.Title }}" />
{{ end }}
{{ end }}
{{ end }}
</a>

<div class="p-6">
<div class="flex-1">
<a href="{{.Permalink}}"
Expand All @@ -23,6 +28,13 @@
{{ .Params.summary }}
</p>
</div>
{{ with .Params.page_link }}
<div class="flex pt-6 font-medium text-indigo-600 dark:text-indigo-100 text-md">
<span class="pr-2 font-black">Link:</span>
<a href="{{.}}" target="_blank"
class="inline-flex items-center rounded-md bg-gray-300 hover:bg-indigo-200 hover:text-black px-2.5 py-0.5 text-sm font-medium text-gray-900 capitalize">Visit</a>
</div>
{{ end }}
<div class="flex pt-6 font-medium text-indigo-600 dark:text-indigo-100 text-md">
<span class="pr-2 font-black">Tags:</span>
{{ range $elem_index, $elem_val := (.GetTerms "tags") }}
Expand Down Expand Up @@ -58,4 +70,4 @@
{{ end }}
</div>
</div>
</div>
</div>