[ { name = "Home"; columns = [ { size = "small"; widgets = [ { type = "calendar"; "first-day-of-week" = "monday"; } { type = "rss"; limit = 10; "collapse-after" = 3; cache = "12h"; feeds = [ { url = "https://selfh.st/rss/"; title = "selfh.st"; limit = 4; } { url = "https://ciechanow.ski/atom.xml"; } { url = "https://www.joshwcomeau.com/rss.xml"; title = "Josh Comeau"; } { url = "https://samwho.dev/rss.xml"; } { url = "https://ishadeed.com/feed.xml"; title = "Ahmad Shadeed"; } ]; } { type = "custom-api"; title = "Uptime Kuma"; title-url = "http://status.eisen"; url = "http://status.eisen/api/status-page/base"; subrequests = { heartbeats = { url = "http://status.eisen/api/status-page/heartbeat/base"; }; }; cache = "10m"; template = '' {{ $hb := .Subrequest "heartbeats" }} {{ if not (.JSON.Exists "publicGroupList") }}

Error reading response

{{ else if eq (len (.JSON.Array "publicGroupList")) 0 }}

No monitors found

{{ else }} {{ end }} ''; } ]; } { size = "full"; widgets = [ { type = "group"; widgets = [ { type = "hacker-news"; } { type = "lobsters"; } ]; } { type = "videos"; channels = [ "UCXuqSBlHAE6Xw-yeJA0Tunw" # Linus Tech Tips "UCR-DXc1voovS8nhAvccRZhg" # Jeff Geerling "UCsBjURrPoezykLs9EqgamOA" # Fireship "UCBJycsmduvYEL83R_U4JriQ" # Marques Brownlee "UCHnyfMqiRRG1u-2MsSQLbXA" # Veritasium ]; } { type = "group"; widgets = [ { type = "reddit"; subreddit = "technology"; "show-thumbnails" = true; } { type = "reddit"; subreddit = "selfhosted"; "show-thumbnails" = true; } ]; } ]; } { size = "small"; widgets = [ { type = "weather"; location = "Aarhus, Denmark"; units = "metric"; "hour-format" = "24h"; } { type = "releases"; cache = "1d"; repositories = [ "glanceapp/glance" "go-gitea/gitea" "immich-app/immich" "syncthing/syncthing" "9001/copyparty" "caddyserver/caddy" ]; } { type = "custom-api"; title = "Epic Games"; cache = "1h"; url = "https://store-site-backend-static.ak.epicgames.com/freeGamesPromotions?locale=en&country=US&allowCountries=US"; template = ''
{{ if eq .Response.StatusCode 200 }}
{{ range .JSON.Array "data.Catalog.searchStore.elements" }} {{ $price := .String "price.totalPrice.discountPrice" }} {{ $hasPromo := gt (len (.Array "promotions.promotionalOffers")) 0 }} {{ if and $hasPromo (eq $price "0") }} {{ $gamePage := .String "productSlug" }} {{ if gt (len (.Array "offerMappings")) 0 }} {{ $gamePage = .String "offerMappings.0.pageSlug" }} {{end }} {{ $title := .String "title" }} {{ range .Array "keyImages" }} {{ if eq (.String "type") "OfferImageWide" }} {{ $title }} {{ end }} {{ end }}
{{ $title }}
{{ if $hasPromo }} {{ $promotions := .Array "promotions.promotionalOffers" }} {{ if gt (len $promotions) 0 }} {{ $firstPromo := index $promotions 0 }} {{ $offers := $firstPromo.Array "promotionalOffers" }} {{ if gt (len $offers) 0 }} {{ $firstOffer := index $offers 0 }} Free until {{ slice ($firstOffer.String "endDate") 0 10 }} {{ else }} Free this week! {{ end }} {{ else }} Free this week! {{ end }} {{ end }}
{{ end }} {{ end }}
{{ else }}

Error fetching Epic Games data.

{{ end }}
''; } ]; } ]; } ]