Skip to content

Instantly share code, notes, and snippets.

View bfncs's full-sized avatar

Marc Löhe bfncs

View GitHub Profile
@bfncs
bfncs / RecordDeserializationTest.java
Created December 11, 2020 08:34
Jackson: Deserializing to single-value Record from scalar values
package us.byteb.jackson;
import static org.junit.jupiter.api.Assertions.assertEquals;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonValue;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
@bfncs
bfncs / .gitignore
Last active February 7, 2020 18:33
Panini Kata
node_modules
package-lock.json
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<meta name="generator" content="Railroad Diagram Generator 1.59.1797" />
<style type="text/css">
::-moz-selection
{
color: #FFFCF0;
background: #0F0C00;
}
const request = require('request-promise-native');
const Set = require('immutable').Set;
const parseLinkHeader = require('parse-link-header');
const fetchRepos = uri =>
request({
uri,
json: true,
resolveWithFullResponse: true,
headers: { 'User-Agent': 'ghmatch' },
@bfncs
bfncs / README.md
Last active August 17, 2018 10:15
Slaying a UI Antipattern with TypeScript & TsMonad
@bfncs
bfncs / README.md
Created November 4, 2016 11:09
Login Web Testcafe

E2E-Tests für login-web mit testcafe

Failt leider rum…

@bfncs
bfncs / README.md
Last active May 25, 2016 01:34
Demo: Different page transitions based on clicked anchor with smoothState.js

Demo: Different page transitions based on clicked anchor with smoothState.js

This demo shows how to switch transitions based on initiating link with smoothState.js. This solution has been inspired by @pudgereyem's comment on smoothState.js #143.

You can view the demo here.

The demo implements a crude idea of viewports that are horizontally aligned to determine the needed animation: every anchor has a numeric data-target paramter that represents the needed viewport while every scene element provides a numeric data-viewport parameter that reprents the current viewport. If the viewport requested for the clicked target is larger then the current viewport, the scene element is moved to the left, else to the right.

The logic to determine the wanted ani

@bfncs
bfncs / PagePathHistoryLanguage.module
Created March 21, 2015 14:59
Multilanguage page name aware Page Path History module for Processwire
<?php
/**
* ProcessWire Page Path History
*
* Keeps track of past URLs where pages have lived and automatically 301 redirects
* to the new location whenever the past URL is accessed.
* This module is a fork of the original PagePathHistory by Ryan Cramer in the Processwire
* Core and should ideally be merged back there.
*
@bfncs
bfncs / readme.md
Created September 17, 2013 13:52
Gestalten für's Web

Einführung in Webgestaltung

Grundwissen anlesen

Um fürs Web gestalten zu können muss man zunächst einmal CSS verstehen, denn damit legt man fest, wie eine Seite aussieht. Dafür braucht man allerdings ein gewisses Fundament was den Aufbau von HTML angeht.

Um andere Techniken (JavaScript für Interaktivität im Browser, PHP und andere Skriptsprachen für dynamisch generierte Seiten auf dem Server) kann man erst mal einen ganz großen Bogen machen, wenn es nur um Gestaltung gehen soll.

Für das Verständnis gibt es einige ziemlich gute Seiten im Netz:

@bfncs
bfncs / HelperAuthorTags.module
Last active December 19, 2015 09:59
Processwire Module: HelperAuthorTags
<?php
class HelperAuthorTags extends WireData implements Module
{
public static function getModuleInfo()
{
return array(