commit 6c259616839d1aa30545a3fd342c2d17fd142ec8
Author: Michael Fabian 'Xaymar' Dirks
Date: Fri Dec 24 11:00:43 2021 +0100
Initial Public Release
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f40fbd8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+_site
+.sass-cache
+.jekyll-cache
+.jekyll-metadata
+vendor
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..22569c2
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,53 @@
+{
+ // See https://go.microsoft.com/fwlink/?LinkId=733558
+ // for the documentation about the tasks.json format
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "Build (Release)",
+ "type": "shell",
+ "command": "bundle",
+ "args": [
+ "exec",
+ "jekyll",
+ "build",
+ "--destination",
+ "build"
+ ],
+ "group": "build"
+ },
+ {
+ "label": "Build (Development)",
+ "type": "shell",
+ "command": "bundle",
+ "args": [
+ "exec",
+ "jekyll",
+ "build",
+ "--trace",
+ "--future",
+ "--unpublished",
+ "--drafts"
+ ],
+ "group": "build"
+ },
+ {
+ "label": "Serve (Development)",
+ "type": "shell",
+ "command": "bundle",
+ "args": [
+ "exec",
+ "jekyll",
+ "serve",
+ "--watch",
+ "--trace",
+ "--livereload",
+ "--future",
+ "--unpublished",
+ "--drafts"
+ ],
+ "group": "none",
+ "problemMatcher": []
+ }
+ ]
+}
diff --git a/404.html b/404.html
new file mode 100644
index 0000000..086a5c9
--- /dev/null
+++ b/404.html
@@ -0,0 +1,25 @@
+---
+permalink: /404.html
+layout: default
+---
+
+
+
+
+
404
+
+
Page not found :(
+
The requested page could not be found.
+
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..d853ec8
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,34 @@
+source "https://rubygems.org"
+# Hello! This is where you manage which Jekyll version is used to run.
+# When you want to use a different version, change it below, save the
+# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
+#
+# bundle exec jekyll serve
+#
+# This will help ensure the proper Jekyll version is running.
+# Happy Jekylling!
+gem "jekyll", "~> 4.2.1"
+# This is the default theme for new Jekyll sites. You may change this to anything you like.
+#gem "minima", "~> 2.5"
+# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
+# uncomment the line below. To upgrade, run `bundle update github-pages`.
+# gem "github-pages", group: :jekyll_plugins
+# If you have any plugins, put them here!
+group :jekyll_plugins do
+ gem "jekyll-feed", "~> 0.12"
+ gem "jekyll-paginate-v2", "~> 3.0"
+end
+
+# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
+# and associated library.
+platforms :mingw, :x64_mingw, :mswin, :jruby do
+ gem "tzinfo", "~> 1.2"
+ gem "tzinfo-data"
+end
+
+# Performance-booster for watching directories on Windows
+gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
+
+# LiveReload/Watch: Update WebRick and EventMachine
+gem "webrick", "~> 1.7"
+gem 'eventmachine', '1.2.7', git: 'https://github.com/eventmachine/eventmachine.git', tag: 'v1.2.7'
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000..561e2ae
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,91 @@
+GIT
+ remote: https://github.com/eventmachine/eventmachine.git
+ revision: 9cb13a8a62363df5ebcc414169a3deb2c1608528
+ tag: v1.2.7
+ specs:
+ eventmachine (1.2.7)
+
+GEM
+ remote: https://rubygems.org/
+ specs:
+ addressable (2.8.0)
+ public_suffix (>= 2.0.2, < 5.0)
+ colorator (1.1.0)
+ concurrent-ruby (1.1.9)
+ em-websocket (0.5.3)
+ eventmachine (>= 0.12.9)
+ http_parser.rb (~> 0)
+ ffi (1.15.4-x64-mingw32)
+ forwardable-extended (2.6.0)
+ http_parser.rb (0.8.0)
+ i18n (1.8.11)
+ concurrent-ruby (~> 1.0)
+ jekyll (4.2.1)
+ 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-v2 (3.0.0)
+ jekyll (>= 3.0, < 5.0)
+ jekyll-sass-converter (2.1.0)
+ sassc (> 2.0.1, < 3.0)
+ jekyll-watch (2.2.1)
+ listen (~> 3.0)
+ kramdown (2.3.1)
+ rexml
+ kramdown-parser-gfm (1.1.0)
+ kramdown (~> 2.0)
+ liquid (4.0.3)
+ listen (3.7.0)
+ 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.11.0)
+ rb-inotify (0.10.1)
+ ffi (~> 1.0)
+ rexml (3.2.5)
+ rouge (3.27.0)
+ safe_yaml (1.0.5)
+ sassc (2.4.0-x64-mingw32)
+ ffi (~> 1.9)
+ terminal-table (2.0.0)
+ unicode-display_width (~> 1.1, >= 1.1.1)
+ thread_safe (0.3.6)
+ tzinfo (1.2.9)
+ thread_safe (~> 0.1)
+ tzinfo-data (1.2021.5)
+ tzinfo (>= 1.0.0)
+ unicode-display_width (1.8.0)
+ wdm (0.1.1)
+ webrick (1.7.0)
+
+PLATFORMS
+ x64-mingw32
+
+DEPENDENCIES
+ eventmachine (= 1.2.7)!
+ jekyll (~> 4.2.1)
+ jekyll-feed (~> 0.12)
+ jekyll-paginate-v2 (~> 3.0)
+ tzinfo (~> 1.2)
+ tzinfo-data
+ wdm (~> 0.1.1)
+ webrick (~> 1.7)
+
+BUNDLED WITH
+ 2.2.33
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000..52c904c
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,200 @@
+# 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 edit after that. If you find
+# yourself editing this file very often, consider using Jekyll's data files
+# feature for the data you need to update frequently.
+#
+# For technical reasons, this file is *NOT* reloaded automatically when you use
+# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
+#
+# If you need help with YAML syntax, here are some quick references for you:
+# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
+# https://learnxinyminutes.com/docs/yaml/
+#
+# Site settings
+# These are used to personalize your new site. If you look in the HTML files,
+# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
+# You can create any custom variable you would like, and they will be accessible
+# in the templates via {{ site.myvariable }}.
+
+# Plugins
+plugins:
+ - jekyll-feed
+ - jekyll-paginate-v2
+
+# Exclude files
+exclude:
+ - _config.yml
+ - .git
+ - .gitignore
+ - .jekyll-cache/
+ - .sass-cache/
+ - .vscode
+ - build/
+ - Gemfile
+ - Gemfile.lock
+ - node_modules/
+ - workspace.code-workspace
+
+# General Information
+title: Xaymar
+email: info@xaymar.com
+tagline: 'Pushing 1 Pixel at a time'
+description: >- # this means to ignore newlines
+ Just another software developer in an endless pool of humans.
+author: Michael Fabian 'Xaymar' Dirks
+
+# Web-hosting
+baseurl: "" # the subpath of your site, e.g. /blog
+url: 'https://www.xaymar.com' # the base hostname & protocol for your site, e.g. http://example.com
+permalink: '/articles/:year/:month/:day/:slug/'
+
+# Themeing
+#ignore_theme_config: true
+#theme: null
+
+defaults:
+ - scope:
+ path: ""
+ type: "posts"
+ values:
+ layout: default
+ comments: true
+
+# Custom Theme Config
+xaymar:
+ data:
+ logo: '/assets/logo.svg'
+ css: '/assets/site.css'
+ js: '/assets/site.js'
+ rss: '/feed.xml'
+ home:
+ name: 'Home'
+ index:
+ readmore: 'Read More'
+ excerpt:
+ enabled: true
+ length: 100
+ opengraph:
+ excerpt:
+ enabled: true
+ length: 100
+ links:
+ category:
+ permalink: '/category/:cat'
+ slugify: 'default'
+ tag:
+ permalink: '/tag/:tag'
+ slugify: 'default'
+ meta:
+ enabled: true
+ permalink:
+ enabled: true
+ tags:
+ enabled: true
+ comments:
+ enabled: true
+ provider: "disqus"
+ disqus:
+ identifier: 'xaymars-blog'
+
+############################################################
+# Site configuration for the Jekyll 3 Pagination Gem
+# The values here represent the defaults if nothing is set
+pagination:
+
+ # Site-wide kill switch, disabled here it doesn't run at all
+ enabled: true
+
+ # Set to 'true' to enable pagination debugging. This can be enabled in the site config or only for individual pagination pages
+ debug: false
+
+ # The default document collection to paginate if nothing is specified ('posts' is default)
+ collection: 'posts'
+
+ # How many objects per paginated page, used to be `paginate` (default: 0, means all)
+ per_page: 10
+
+ # The permalink structure for the paginated pages (this can be any level deep)
+ permalink: '/page/:num/' # Pages are index.html inside this folder (default)
+ #permalink: '/page/:num.html' # Pages are simple html files
+ #permalink: '/page/:num' # Pages are html files, linked jekyll extensionless permalink style.
+
+ # Optional the title format for the paginated pages (supports :title for original page title, :num for pagination page number, :max for total number of pages)
+ title: ':title - page :num'
+
+ # Limit how many pagenated pages to create (default: 0, means all)
+ limit: 0
+
+ # Optional, defines the field that the posts should be sorted on (omit to default to 'date')
+ sort_field: 'date'
+
+ # Optional, sorts the posts in reverse order (omit to default decending or sort_reverse: true)
+ sort_reverse: true
+
+ # Optional, the default category to use, omit or just leave this as 'posts' to get a backwards-compatible behavior (all posts)
+ category: 'posts'
+
+ # Optional, the default tag to use, omit to disable
+ tag: ''
+
+ # Optional, the default locale to use, omit to disable (depends on a field 'locale' to be specified in the posts,
+ # in reality this can be any value, suggested are the Microsoft locale-codes (e.g. en_US, en_GB) or simply the ISO-639 language code )
+ locale: ''
+
+ # Optional,omit or set both before and after to zero to disable.
+ # Controls how the pagination trail for the paginated pages look like.
+ trail:
+ before: 2
+ after: 2
+
+ # Optional, the default file extension for generated pages (e.g html, json, xml).
+ # Internally this is set to html by default
+ extension: html
+
+ # Optional, the default name of the index file for generated pages (e.g. 'index.html')
+ # Without file extension
+ indexpage: 'index'
+
+autopages:
+ # Site-wide kill switch, disable here and it doesn't run at all
+ enabled: true
+
+ # Category pages, omit entire config element to disable
+ categories:
+ # Optional, the list of layouts that should be processed for every category found in the site
+ layouts:
+ - 'index.liquid'
+ # Optional, the title that each category paginate page should get (:cat is replaced by the Category name)
+ title: ':cat'
+ # Optional, the permalink for the pagination page (:cat is replaced),
+ # the pagination permalink path is then appended to this permalink structure
+ permalink: '/category/:cat'
+ # Optional, when true logging related to category pages will be supressed.
+ silent: false
+ slugify:
+ mode: 'default' # :cat is slugified. Modes: default, raw, pretty, ascii, latin
+ case: true # Whether to replace all uppercase letters with their lowercase counterparts
+
+ # Collection pages, omit to disable
+ collections:
+ layouts:
+ - 'index.liquid'
+ title: ':coll' # :coll is replaced by the collection name
+ permalink: '/collection/:coll'
+ silent: false
+ slugify:
+ mode: 'default' # :coll is slugified.
+ case: false
+
+ # Tag pages, omit to disable
+ tags:
+ layouts:
+ - 'index.liquid'
+ title: ':tag' # :tag is replaced by the tag name
+ permalink: '/tag/:tag'
+ silent: false
+ slugify:
+ mode: 'default' # :tag is slugified.
+ case: false
diff --git a/_data/navigation.json b/_data/navigation.json
new file mode 100644
index 0000000..a78eb22
--- /dev/null
+++ b/_data/navigation.json
@@ -0,0 +1,103 @@
+{
+ "home": {
+ "name": "Home",
+ "url": "/",
+ "entries": {
+ "news": {
+ "name": "News",
+ "url": "/category/news/",
+ "blank": false
+ },
+ "blog": {
+ "name": "Blogs",
+ "url": "/category/blog/",
+ "blank": false
+ },
+ "review": {
+ "name": "Reviews",
+ "url": "/category/review/",
+ "blank": false
+ }
+ }
+ },
+ "project": {
+ "name": "Projects",
+ "entries": {
+ "streamfx": {
+ "name": "StreamFX",
+ "url": "https://streamfx.xaymar.com",
+ "blank": true
+ },
+ "voicefx": {
+ "name": "VoiceFX (for VST)",
+ "url": "https://xaymar.itch.io/voicefx",
+ "blank": true
+ },
+ "obs-ocean-blue": {
+ "name": "Ocean Blue (for OBS Studio)",
+ "url": "#",
+ "blank": true
+ }
+ }
+ },
+ "guides": {
+ "name": "Guides",
+ "entries": {
+ "recording": {
+ "name": "High Quality Recording",
+ "url": "",
+ "blank": true
+ },
+ "streaming_nvenc": {
+ "name": "High Quality Streaming (with NVENC)",
+ "url": "",
+ "blank": true
+ },
+ "lost_knowledge": {
+ "name": "Lost Knowledge & Secrets",
+ "url": "",
+ "blank": true
+ }
+ }
+ },
+ "socials": {
+ "name": "Socials",
+ "entries": {
+ "twitch": {
+ "name": "Twitch",
+ "url": "https://s.xaymar.com/twitch",
+ "blank": true
+ },
+ "twitter": {
+ "name": "Twitter",
+ "url": "https://s.xaymar.com/twitter",
+ "blank": true
+ },
+ "discord": {
+ "name": "Discord",
+ "url": "https://s.xaymar.com/discord",
+ "blank": true
+ }
+ }
+ },
+ "about": {
+ "name": "About",
+ "url": "/about/",
+ "entries": {
+ "rss": {
+ "name": "RSS Feed",
+ "url": "/feed.xml",
+ "blank": true
+ },
+ "old-site": {
+ "name": "Old Website",
+ "url": "https://blog.xaymar.com/"
+ },
+ "privacy": {
+ "name": "Privacy Policy",
+ "url": "https://privacy.xaymar.com/?url=https://www.xaymar.com/",
+ "blank": true
+ }
+ }
+ }
+}
diff --git a/_includes/article.liquid b/_includes/article.liquid
new file mode 100644
index 0000000..f4f5f3e
--- /dev/null
+++ b/_includes/article.liquid
@@ -0,0 +1,53 @@
+
+ {% if include.title %}
+
+ {% endif %}
+
+ {{ include.content }}
+
+ {% if include.index %}
+
+ {% endif %}
+ {% if site.xaymar.meta.permalink.enabled and include.permalink != nil %}
+ {% assign has_meta_permalink=true %}
+ {% endif %}
+ {% if site.xaymar.meta.tags.enabled and include.tags != nil %}
+ {% assign has_meta_tags=true %}
+ {% endif %}
+ {% if site.xaymar.meta.enabled and has_meta_permalink or has_meta_tags %}
+
+ {% endif %}
+
diff --git a/_includes/blocks/_base.liquid b/_includes/blocks/_base.liquid
new file mode 100644
index 0000000..011ec59
--- /dev/null
+++ b/_includes/blocks/_base.liquid
@@ -0,0 +1,3 @@
+
+ {{ include.content }}
+
diff --git a/_includes/blocks/heading.liquid b/_includes/blocks/heading.liquid
new file mode 100644
index 0000000..51c1f0c
--- /dev/null
+++ b/_includes/blocks/heading.liquid
@@ -0,0 +1,6 @@
+{% capture content %}
+
+ {{ include.content }}
+
+{% endcapture %}
+{% include blocks/_base.liquid type=heading content=content %}
diff --git a/_includes/blocks/list.liquid b/_includes/blocks/list.liquid
new file mode 100644
index 0000000..1d65112
--- /dev/null
+++ b/_includes/blocks/list.liquid
@@ -0,0 +1,14 @@
+{% capture content %}
+{% if include.ordered %}
+
+{% else %}
+
+{% endif %}
+ {{ include.content }}
+{% if include.ordered %}
+
+{% else %}
+
+{% endif %}
+{% endcapture %}
+{% include blocks/_base.liquid type=list content=content %}
diff --git a/_includes/blocks/paragraph.liquid b/_includes/blocks/paragraph.liquid
new file mode 100644
index 0000000..00fa125
--- /dev/null
+++ b/_includes/blocks/paragraph.liquid
@@ -0,0 +1,6 @@
+{% capture content %}
+
+ {{ include.content }}
+
+{% endcapture %}
+{% include blocks/_base.liquid type=paragraph content=content %}
diff --git a/_includes/breadcrumbs.liquid b/_includes/breadcrumbs.liquid
new file mode 100644
index 0000000..dcb6b35
--- /dev/null
+++ b/_includes/breadcrumbs.liquid
@@ -0,0 +1,26 @@
+
+
+
+ {{ site.xaymar.home.name }}
+
+
+ {% if include.permalink != "/" and include.permalink != "/index.html" %}
+ »
+ {% if page.categories %}
+ {% for entry in page.categories %}
+ {% assign category=entry | slugify: site.xaymar.links.category.slugify %}
+
+
+ {{ entry }}
+
+
+ {% endfor %}
+ »
+ {% endif %}
+
+
+ {{ include.title }}
+
+
+ {% endif %}
+
diff --git a/_includes/comments.liquid b/_includes/comments.liquid
new file mode 100644
index 0000000..a56d9e9
--- /dev/null
+++ b/_includes/comments.liquid
@@ -0,0 +1,25 @@
+{% if site.xaymar.comments.enabled and page.comments %}
+
+{% endif %}
diff --git a/_includes/header.liquid b/_includes/header.liquid
new file mode 100644
index 0000000..3df04d0
--- /dev/null
+++ b/_includes/header.liquid
@@ -0,0 +1,13 @@
+
diff --git a/_includes/inline/link.liquid b/_includes/inline/link.liquid
new file mode 100644
index 0000000..c357322
--- /dev/null
+++ b/_includes/inline/link.liquid
@@ -0,0 +1 @@
+{{ include.content }}
diff --git a/_includes/navigation.liquid b/_includes/navigation.liquid
new file mode 100644
index 0000000..d09b9d2
--- /dev/null
+++ b/_includes/navigation.liquid
@@ -0,0 +1,17 @@
+
diff --git a/_includes/page_content.liquid b/_includes/page_content.liquid
new file mode 100644
index 0000000..27657f4
--- /dev/null
+++ b/_includes/page_content.liquid
@@ -0,0 +1,4 @@
+
+
+ {% include header.liquid %}
+
diff --git a/_includes/page_end.liquid b/_includes/page_end.liquid
new file mode 100644
index 0000000..faf65ca
--- /dev/null
+++ b/_includes/page_end.liquid
@@ -0,0 +1,3 @@
+
+
+