Decap: use TOML frontmatter consistently

This commit is contained in:
Harsh Shandilya 2024-04-06 12:31:46 +05:30
parent 87a78ee034
commit ffcf8da8d0
5 changed files with 34 additions and 45 deletions

View File

@ -1,16 +1,12 @@
--- +++
title: Improving dependency sync speeds for your Gradle project title = "Improving dependency sync speeds for your Gradle project"
date: 2024-03-30T21:43:07.031Z date = "2024-03-30T21:43:07.031Z"
summary: Waiting for Gradle to download dependencies is so 2023. summary = "Waiting for Gradle to download dependencies is so 2023"
socialImage: "uploads/gradle-social.webp" socialImage = "uploads/gradle-social.webp"
categories: categories = ["gradle"]
- gradle tags = ["gradle", "kotlin-multiplatform", "perf"]
tags: draft = false
- gradle +++
- kotlin-multiplatform
- perf
---
Android developers are intimately familiar with the ritual of staring at your IDE for tens of minutes while Gradle imports a new project before they can start working on it. While not fully avoidable, there are many ways to improve the situation. For small to medium projects, the time spent on this import phase can be largely dominated by dependency downloads. Android developers are intimately familiar with the ritual of staring at your IDE for tens of minutes while Gradle imports a new project before they can start working on it. While not fully avoidable, there are many ways to improve the situation. For small to medium projects, the time spent on this import phase can be largely dominated by dependency downloads.
## Preface ## Preface

View File

@ -1,18 +1,11 @@
--- +++
categories: title = "Tips and tricks for using Renovate"
- automation date = "2023-01-17T19:32:18.074Z"
date: 2023-01-17T19:32:18.074Z summary = "Renovate is an extremely powerful tool for keeping your dependencies up-to-date, and its flexibility is often left unexplored. I'm hoping to change that"
summary: Renovate is an extremely powerful tool for keeping your dependencies categories = ["automation"]
up-to-date, and its flexibility is often left unexplored. I'm hoping to change tags = ["dependency-management", "renovate"]
that. draft = false
draft: false +++
slug: tips-and-tricks-for-using-renovate
tags:
- dependency-management
- renovate
title: Tips and tricks for using Renovate
---
[Mend Renovate](https://www.mend.io/free-developer-tools/renovate/) is a free to use dependency update management service powered by the open-source [renovate](https://github.com/renovatebot/renovate), and is a compelling alternative to GitHub's blessed solution for this problem space: [Dependabot](https://docs.github.com/en/code-security/dependabot). Renovate offers a significantly larger suite of supported language ecosystems compared to Dependabot as well as fine-grained control over where it finds dependencies, how it chooses updated versions, and a lot more. TL;DR: Renovate is a massive upgrade over Dependabot and you should evaluate it if _any_ aspect of Dependabot has caused you grief, there's a good chance Renovate does it better. [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/) is a free to use dependency update management service powered by the open-source [renovate](https://github.com/renovatebot/renovate), and is a compelling alternative to GitHub's blessed solution for this problem space: [Dependabot](https://docs.github.com/en/code-security/dependabot). Renovate offers a significantly larger suite of supported language ecosystems compared to Dependabot as well as fine-grained control over where it finds dependencies, how it chooses updated versions, and a lot more. TL;DR: Renovate is a massive upgrade over Dependabot and you should evaluate it if _any_ aspect of Dependabot has caused you grief, there's a good chance Renovate does it better.
I'm collecting some tips here about "fancy" things I've done using Renovate that may be helpful to other folks. You'll be able to find more details about all of these in their very high quality docs at [docs.renovatebot.com](https://docs.renovatebot.com/). I'm collecting some tips here about "fancy" things I've done using Renovate that may be helpful to other folks. You'll be able to find more details about all of these in their very high quality docs at [docs.renovatebot.com](https://docs.renovatebot.com/).

View File

@ -1,11 +1,9 @@
--- +++
title: Using containers in NixOS title = "Using containers in NixOS"
date: 2023-12-08T11:27:39.010Z date = "2023-12-08T11:27:39.010Z"
summary: NixOS allows running arbitrary Docker containers declaratively, these summary = "NixOS allows running arbitrary Docker containers declaratively, these are some of my notes on my usage of this functionality."
are some of my notes on my usage of this functionality. draft = true
draft: true +++
---
NixOS comes with the ability to [declaratively manage docker containers](https://nixos.wiki/wiki/NixOS_Containers#Declarative_docker_containers), which functions as a nice escape hatch when something you want to run doesn't have a native Nix package or is not easy to run within NixOS. NixOS comes with the ability to [declaratively manage docker containers](https://nixos.wiki/wiki/NixOS_Containers#Declarative_docker_containers), which functions as a nice escape hatch when something you want to run doesn't have a native Nix package or is not easy to run within NixOS.
All the available configuration options can be found [here](https://search.nixos.org/options?channel=unstable&from=0&size=50&sort=alpha_desc&query=virtualisation.oci-containers.containers), so rather than explain all of it I'll just walk through my own experience of getting a container up for [Linkding](https://github.com/sissbruecker/linkding). All the available configuration options can be found [here](https://search.nixos.org/options?channel=unstable&from=0&size=50&sort=alpha_desc&query=virtualisation.oci-containers.containers), so rather than explain all of it I'll just walk through my own experience of getting a container up for [Linkding](https://github.com/sissbruecker/linkding).

View File

@ -1,11 +1,9 @@
--- +++
title: Using Retrofit to disguise scraping as a REST API title = "Using Retrofit to disguise scraping as a REST API"
date: 2023-09-13T07:08:10.659Z date = "2023-09-13T07:08:10.659Z"
summary: We've all used Retrofit to interact with REST APIs for as long as we summary = "We've all used Retrofit to interact with REST APIs for as long as we can remember, but what if there was no API?"
can remember, but what if there was no API? draft = true
draft: true +++
---
Square's Retrofit is best known for being the gold standard of REST clients in the JVM/Android ecosystem, but it's excellent API design also lends itself to great extensibility which we will leverage today. Square's Retrofit is best known for being the gold standard of REST clients in the JVM/Android ecosystem, but it's excellent API design also lends itself to great extensibility which we will leverage today.
While trying to implement post search functionality in [Claw](https://msfjarvis.dev/g/compose-lobsters), my [lobste.rs](https://lobste.rs) client I stumbled into a _tiny_ problem: there was no API! lobste.rs has a [web-based search](https://lobste.rs/search) but no equivalent mechanism via the JSON API I was using for doing everything else within the app. While trying to implement post search functionality in [Claw](https://msfjarvis.dev/g/compose-lobsters), my [lobste.rs](https://lobste.rs) client I stumbled into a _tiny_ problem: there was no API! lobste.rs has a [web-based search](https://lobste.rs/search) but no equivalent mechanism via the JSON API I was using for doing everything else within the app.

View File

@ -12,9 +12,13 @@ collections:
slug: '{{slug}}' slug: '{{slug}}'
editor: editor:
preview: false preview: false
format: toml-frontmatter
fields: fields:
- { label: 'Title', name: 'title', widget: 'string' } - { label: 'Title', name: 'title', widget: 'string' }
- { label: 'Publish Date', name: 'date', widget: 'datetime', picker_utc: true } - { label: 'Publish Date', name: 'date', widget: 'datetime', picker_utc: true }
- { label: 'Description', name: 'summary', widget: 'string' } - { label: 'Description', name: 'summary', widget: 'string' }
- { label: 'Draft', name: 'draft', widget: 'boolean' } - { label: 'Categories', name: 'categories', widget: 'list' }
- { label: 'Tags', name: 'tags', widget: 'list' }
- { label: 'Social image', name: 'socialImage', widget: 'image' }
- { label: 'Draft', name: 'draft', widget: 'boolean', required: false }
- { label: 'Body', name: 'body', widget: 'markdown' } - { label: 'Body', name: 'body', widget: 'markdown' }